@spottoai/types-package 1.0.2-beta.30 → 1.0.2-beta.300

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 (321) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -13
  3. package/dist/accounts/accounts.d.ts +450 -3
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/accounts/accounts.js +123 -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 +76 -0
  16. package/dist/accounts/readPermissions.d.ts.map +1 -0
  17. package/dist/accounts/readPermissions.js +202 -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 +1002 -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/assessments/artifact.d.ts +84 -0
  32. package/dist/assessments/artifact.d.ts.map +1 -0
  33. package/dist/assessments/artifact.js +3 -0
  34. package/dist/assessments/artifact.js.map +1 -0
  35. package/dist/assessments/catalogue.d.ts +53 -0
  36. package/dist/assessments/catalogue.d.ts.map +1 -0
  37. package/dist/assessments/catalogue.js +16 -0
  38. package/dist/assessments/catalogue.js.map +1 -0
  39. package/dist/assessments/common.d.ts +27 -0
  40. package/dist/assessments/common.d.ts.map +1 -0
  41. package/dist/assessments/common.js +3 -0
  42. package/dist/assessments/common.js.map +1 -0
  43. package/dist/assessments/evidence.d.ts +78 -0
  44. package/dist/assessments/evidence.d.ts.map +1 -0
  45. package/dist/assessments/evidence.js +3 -0
  46. package/dist/assessments/evidence.js.map +1 -0
  47. package/dist/assessments/export.d.ts +27 -0
  48. package/dist/assessments/export.d.ts.map +1 -0
  49. package/dist/assessments/export.js +3 -0
  50. package/dist/assessments/export.js.map +1 -0
  51. package/dist/assessments/index.d.ts +11 -0
  52. package/dist/assessments/index.d.ts.map +1 -0
  53. package/dist/assessments/index.js +27 -0
  54. package/dist/assessments/index.js.map +1 -0
  55. package/dist/assessments/queue.d.ts +20 -0
  56. package/dist/assessments/queue.d.ts.map +1 -0
  57. package/dist/assessments/queue.js +6 -0
  58. package/dist/assessments/queue.js.map +1 -0
  59. package/dist/assessments/review.d.ts +36 -0
  60. package/dist/assessments/review.d.ts.map +1 -0
  61. package/dist/assessments/review.js +3 -0
  62. package/dist/assessments/review.js.map +1 -0
  63. package/dist/assessments/run.d.ts +62 -0
  64. package/dist/assessments/run.d.ts.map +1 -0
  65. package/dist/assessments/run.js +3 -0
  66. package/dist/assessments/run.js.map +1 -0
  67. package/dist/assessments/sow.d.ts +30 -0
  68. package/dist/assessments/sow.d.ts.map +1 -0
  69. package/dist/assessments/sow.js +3 -0
  70. package/dist/assessments/sow.js.map +1 -0
  71. package/dist/assessments/status.d.ts +27 -0
  72. package/dist/assessments/status.d.ts.map +1 -0
  73. package/dist/assessments/status.js +27 -0
  74. package/dist/assessments/status.js.map +1 -0
  75. package/dist/azure/activityLogs.d.ts +65 -0
  76. package/dist/azure/activityLogs.d.ts.map +1 -0
  77. package/dist/azure/activityLogs.js +6 -0
  78. package/dist/azure/activityLogs.js.map +1 -0
  79. package/dist/azure/advisorScore.d.ts +39 -0
  80. package/dist/azure/advisorScore.d.ts.map +1 -0
  81. package/dist/azure/advisorScore.js +3 -0
  82. package/dist/azure/advisorScore.js.map +1 -0
  83. package/dist/azure/benefits.d.ts +161 -0
  84. package/dist/azure/benefits.d.ts.map +1 -0
  85. package/dist/azure/benefits.js +3 -0
  86. package/dist/azure/benefits.js.map +1 -0
  87. package/dist/azure/billingPlots.d.ts +249 -0
  88. package/dist/azure/billingPlots.d.ts.map +1 -0
  89. package/dist/azure/billingPlots.js +6 -0
  90. package/dist/azure/billingPlots.js.map +1 -0
  91. package/dist/azure/budgets.d.ts +4 -0
  92. package/dist/azure/budgets.d.ts.map +1 -1
  93. package/dist/azure/commitmentsPlanning.d.ts +590 -0
  94. package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
  95. package/dist/azure/commitmentsPlanning.js +3 -0
  96. package/dist/azure/commitmentsPlanning.js.map +1 -0
  97. package/dist/azure/common.d.ts +44 -0
  98. package/dist/azure/common.d.ts.map +1 -1
  99. package/dist/azure/configs.d.ts +75 -2
  100. package/dist/azure/configs.d.ts.map +1 -1
  101. package/dist/azure/costEstimation.d.ts +78 -0
  102. package/dist/azure/costEstimation.d.ts.map +1 -0
  103. package/dist/azure/costEstimation.js +3 -0
  104. package/dist/azure/costEstimation.js.map +1 -0
  105. package/dist/azure/dataProtection.d.ts +229 -0
  106. package/dist/azure/dataProtection.d.ts.map +1 -0
  107. package/dist/azure/dataProtection.js +9 -0
  108. package/dist/azure/dataProtection.js.map +1 -0
  109. package/dist/azure/governance.d.ts +942 -0
  110. package/dist/azure/governance.d.ts.map +1 -0
  111. package/dist/azure/governance.js +18 -0
  112. package/dist/azure/governance.js.map +1 -0
  113. package/dist/azure/licensing.d.ts +370 -0
  114. package/dist/azure/licensing.d.ts.map +1 -0
  115. package/dist/azure/licensing.js +3 -0
  116. package/dist/azure/licensing.js.map +1 -0
  117. package/dist/azure/metrics.d.ts +81 -4
  118. package/dist/azure/metrics.d.ts.map +1 -1
  119. package/dist/azure/payloads.d.ts +293 -1
  120. package/dist/azure/payloads.d.ts.map +1 -1
  121. package/dist/azure/portalArtifacts.d.ts +16 -0
  122. package/dist/azure/portalArtifacts.d.ts.map +1 -0
  123. package/dist/azure/portalArtifacts.js +5 -0
  124. package/dist/azure/portalArtifacts.js.map +1 -0
  125. package/dist/azure/prices.d.ts +230 -0
  126. package/dist/azure/prices.d.ts.map +1 -1
  127. package/dist/azure/publicIpAddresses.d.ts +171 -0
  128. package/dist/azure/publicIpAddresses.d.ts.map +1 -0
  129. package/dist/azure/publicIpAddresses.js +6 -0
  130. package/dist/azure/publicIpAddresses.js.map +1 -0
  131. package/dist/azure/recommendationAudit.d.ts +113 -0
  132. package/dist/azure/recommendationAudit.d.ts.map +1 -0
  133. package/dist/azure/recommendationAudit.js +10 -0
  134. package/dist/azure/recommendationAudit.js.map +1 -0
  135. package/dist/azure/recommendationState.d.ts +93 -4
  136. package/dist/azure/recommendationState.d.ts.map +1 -1
  137. package/dist/azure/recommendationWorkflow.d.ts +124 -0
  138. package/dist/azure/recommendationWorkflow.d.ts.map +1 -0
  139. package/dist/azure/recommendationWorkflow.js +15 -0
  140. package/dist/azure/recommendationWorkflow.js.map +1 -0
  141. package/dist/azure/recommendations.d.ts +548 -7
  142. package/dist/azure/recommendations.d.ts.map +1 -1
  143. package/dist/azure/recommendations.js.map +1 -1
  144. package/dist/azure/relationships.d.ts +193 -0
  145. package/dist/azure/relationships.d.ts.map +1 -0
  146. package/dist/azure/relationships.js +6 -0
  147. package/dist/azure/relationships.js.map +1 -0
  148. package/dist/azure/reportingTemplates.d.ts +70 -0
  149. package/dist/azure/reportingTemplates.d.ts.map +1 -0
  150. package/dist/azure/reportingTemplates.js +5 -0
  151. package/dist/azure/reportingTemplates.js.map +1 -0
  152. package/dist/azure/reports.d.ts +280 -2
  153. package/dist/azure/reports.d.ts.map +1 -1
  154. package/dist/azure/reports.js +13 -0
  155. package/dist/azure/reports.js.map +1 -1
  156. package/dist/azure/resourceHealth.d.ts +264 -0
  157. package/dist/azure/resourceHealth.d.ts.map +1 -0
  158. package/dist/azure/resourceHealth.js +16 -0
  159. package/dist/azure/resourceHealth.js.map +1 -0
  160. package/dist/azure/resources.d.ts +80 -0
  161. package/dist/azure/resources.d.ts.map +1 -1
  162. package/dist/azure/reviewChecklist.d.ts +139 -0
  163. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  164. package/dist/azure/reviewChecklist.js +3 -0
  165. package/dist/azure/reviewChecklist.js.map +1 -0
  166. package/dist/azure/security.d.ts +11 -1
  167. package/dist/azure/security.d.ts.map +1 -1
  168. package/dist/azure/serviceRetirement.d.ts +28 -0
  169. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  170. package/dist/azure/serviceRetirement.js +3 -0
  171. package/dist/azure/serviceRetirement.js.map +1 -0
  172. package/dist/azure/serviceRetirementState.d.ts +22 -0
  173. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  174. package/dist/azure/serviceRetirementState.js +3 -0
  175. package/dist/azure/serviceRetirementState.js.map +1 -0
  176. package/dist/azure/storage-inventory.d.ts +241 -0
  177. package/dist/azure/storage-inventory.d.ts.map +1 -0
  178. package/dist/azure/storage-inventory.js +3 -0
  179. package/dist/azure/storage-inventory.js.map +1 -0
  180. package/dist/azure/subscriptions.d.ts +74 -17
  181. package/dist/azure/subscriptions.d.ts.map +1 -1
  182. package/dist/azure/views.d.ts +639 -6
  183. package/dist/azure/views.d.ts.map +1 -1
  184. package/dist/common/index.d.ts +1 -0
  185. package/dist/common/index.d.ts.map +1 -1
  186. package/dist/common/index.js +1 -0
  187. package/dist/common/index.js.map +1 -1
  188. package/dist/common/pagination.d.ts +3 -0
  189. package/dist/common/pagination.d.ts.map +1 -1
  190. package/dist/common/provider.d.ts +9 -0
  191. package/dist/common/provider.d.ts.map +1 -0
  192. package/dist/common/provider.js +9 -0
  193. package/dist/common/provider.js.map +1 -0
  194. package/dist/company/billingAccount.d.ts +30 -0
  195. package/dist/company/billingAccount.d.ts.map +1 -0
  196. package/dist/company/billingAccount.js +3 -0
  197. package/dist/company/billingAccount.js.map +1 -0
  198. package/dist/company/company.d.ts +71 -1
  199. package/dist/company/company.d.ts.map +1 -1
  200. package/dist/company/companyHierarchy.d.ts +53 -0
  201. package/dist/company/companyHierarchy.d.ts.map +1 -0
  202. package/dist/company/companyHierarchy.js +3 -0
  203. package/dist/company/companyHierarchy.js.map +1 -0
  204. package/dist/company/companyNotes.d.ts +288 -0
  205. package/dist/company/companyNotes.d.ts.map +1 -0
  206. package/dist/company/companyNotes.js +42 -0
  207. package/dist/company/companyNotes.js.map +1 -0
  208. package/dist/company/index.d.ts +3 -0
  209. package/dist/company/index.d.ts.map +1 -1
  210. package/dist/company/index.js +3 -0
  211. package/dist/company/index.js.map +1 -1
  212. package/dist/company/notification.d.ts +34 -1
  213. package/dist/company/notification.d.ts.map +1 -1
  214. package/dist/company/notification.js +27 -12
  215. package/dist/company/notification.js.map +1 -1
  216. package/dist/company/survey.d.ts +3 -0
  217. package/dist/company/survey.d.ts.map +1 -1
  218. package/dist/events/alertDefinitionRun.d.ts +23 -0
  219. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  220. package/dist/events/alertDefinitionRun.js +3 -0
  221. package/dist/events/alertDefinitionRun.js.map +1 -0
  222. package/dist/events/baseAlert.d.ts +130 -0
  223. package/dist/events/baseAlert.d.ts.map +1 -0
  224. package/dist/events/baseAlert.js +3 -0
  225. package/dist/events/baseAlert.js.map +1 -0
  226. package/dist/events/cost.d.ts +371 -0
  227. package/dist/events/cost.d.ts.map +1 -0
  228. package/dist/events/cost.js +3 -0
  229. package/dist/events/cost.js.map +1 -0
  230. package/dist/events/costAnomalies.d.ts +47 -0
  231. package/dist/events/costAnomalies.d.ts.map +1 -0
  232. package/dist/events/costAnomalies.js +3 -0
  233. package/dist/events/costAnomalies.js.map +1 -0
  234. package/dist/events/costViews.d.ts +23 -0
  235. package/dist/events/costViews.d.ts.map +1 -0
  236. package/dist/events/costViews.js +3 -0
  237. package/dist/events/costViews.js.map +1 -0
  238. package/dist/events/eventStatus.d.ts +67 -0
  239. package/dist/events/eventStatus.d.ts.map +1 -0
  240. package/dist/events/eventStatus.js +3 -0
  241. package/dist/events/eventStatus.js.map +1 -0
  242. package/dist/events/index.d.ts +7 -0
  243. package/dist/events/index.d.ts.map +1 -0
  244. package/dist/events/index.js +23 -0
  245. package/dist/events/index.js.map +1 -0
  246. package/dist/features-and-permissions/access.d.ts +137 -0
  247. package/dist/features-and-permissions/access.d.ts.map +1 -0
  248. package/dist/features-and-permissions/access.js +3 -0
  249. package/dist/features-and-permissions/access.js.map +1 -0
  250. package/dist/features-and-permissions/index.d.ts +2 -0
  251. package/dist/features-and-permissions/index.d.ts.map +1 -0
  252. package/dist/features-and-permissions/index.js +18 -0
  253. package/dist/features-and-permissions/index.js.map +1 -0
  254. package/dist/feedbacks/feedback.d.ts +9 -0
  255. package/dist/feedbacks/feedback.d.ts.map +1 -1
  256. package/dist/identity/apikey.d.ts +84 -0
  257. package/dist/identity/apikey.d.ts.map +1 -0
  258. package/dist/identity/apikey.js +3 -0
  259. package/dist/identity/apikey.js.map +1 -0
  260. package/dist/identity/index.d.ts +2 -0
  261. package/dist/identity/index.d.ts.map +1 -0
  262. package/dist/identity/index.js +18 -0
  263. package/dist/identity/index.js.map +1 -0
  264. package/dist/index.d.ts +28 -0
  265. package/dist/index.d.ts.map +1 -1
  266. package/dist/index.js +28 -1
  267. package/dist/index.js.map +1 -1
  268. package/dist/index.vite.d.ts +48 -0
  269. package/dist/index.vite.d.ts.map +1 -0
  270. package/dist/index.vite.js +64 -0
  271. package/dist/index.vite.js.map +1 -0
  272. package/dist/integrations/autotask.d.ts +90 -0
  273. package/dist/integrations/autotask.d.ts.map +1 -0
  274. package/dist/integrations/autotask.js +3 -0
  275. package/dist/integrations/autotask.js.map +1 -0
  276. package/dist/integrations/azureDevOps.d.ts +130 -0
  277. package/dist/integrations/azureDevOps.d.ts.map +1 -0
  278. package/dist/integrations/azureDevOps.js +3 -0
  279. package/dist/integrations/azureDevOps.js.map +1 -0
  280. package/dist/integrations/github.d.ts +96 -0
  281. package/dist/integrations/github.d.ts.map +1 -0
  282. package/dist/integrations/github.js +3 -0
  283. package/dist/integrations/github.js.map +1 -0
  284. package/dist/integrations/halo.d.ts +76 -0
  285. package/dist/integrations/halo.d.ts.map +1 -0
  286. package/dist/integrations/halo.js +3 -0
  287. package/dist/integrations/halo.js.map +1 -0
  288. package/dist/integrations/index.d.ts +6 -0
  289. package/dist/integrations/index.d.ts.map +1 -0
  290. package/dist/integrations/index.js +22 -0
  291. package/dist/integrations/index.js.map +1 -0
  292. package/dist/integrations/integrationTickets.d.ts +67 -0
  293. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  294. package/dist/integrations/integrationTickets.js +3 -0
  295. package/dist/integrations/integrationTickets.js.map +1 -0
  296. package/dist/scheduler/index.d.ts +2 -0
  297. package/dist/scheduler/index.d.ts.map +1 -0
  298. package/dist/scheduler/index.js +18 -0
  299. package/dist/scheduler/index.js.map +1 -0
  300. package/dist/scheduler/scheduler.d.ts +263 -0
  301. package/dist/scheduler/scheduler.d.ts.map +1 -0
  302. package/dist/scheduler/scheduler.js +3 -0
  303. package/dist/scheduler/scheduler.js.map +1 -0
  304. package/dist/tags/index.d.ts +2 -0
  305. package/dist/tags/index.d.ts.map +1 -0
  306. package/dist/tags/index.js +18 -0
  307. package/dist/tags/index.js.map +1 -0
  308. package/dist/tags/tags.d.ts +37 -0
  309. package/dist/tags/tags.d.ts.map +1 -0
  310. package/dist/tags/tags.js +10 -0
  311. package/dist/tags/tags.js.map +1 -0
  312. package/dist/unknown/services.d.ts +12 -0
  313. package/dist/unknown/services.d.ts.map +1 -0
  314. package/dist/unknown/services.js +3 -0
  315. package/dist/unknown/services.js.map +1 -0
  316. package/dist/users/companyUser.d.ts +12 -0
  317. package/dist/users/companyUser.d.ts.map +1 -1
  318. package/dist/users/companyUser.js.map +1 -1
  319. package/dist/users/user.d.ts +18 -1
  320. package/dist/users/user.d.ts.map +1 -1
  321. package/package.json +5 -4
@@ -1,15 +1,35 @@
1
1
  import { ActiveDates, SpecItem } from './common.js';
2
2
  import { DailyMetrics, DisplayMetric } from './metrics.js';
3
+ import type { SpendDataSource } from './subscriptions.js';
4
+ export type ResourceCostSource = SpendDataSource;
5
+ export type CostSourceConfidence = 'high' | 'unknown';
6
+ export interface CostDateRangeMetadata {
7
+ startDate: number;
8
+ endDate: number;
9
+ }
3
10
  export interface CostDetails {
11
+ /** the amount spend on the resource over the last 30 days */
4
12
  dailySpend?: ResourceSpend[];
13
+ /** the spend items aggregated for the last 30 days */
5
14
  spendSummary?: ResourceSpend[];
15
+ /** the spend items aggregated for the previous 30 days */
6
16
  spendSummaryPrevious?: ResourceSpend[];
17
+ /** the total amount spend on the resource over the last 30 days */
7
18
  totalSpend30Days?: number;
19
+ /** the total amount spend on the resource over the previous 30 days */
8
20
  totalSpend30DaysPrevious?: number;
21
+ /** the total amount spend on the resource over the last 30 days, taking into account reserved instances and savings plans */
9
22
  totalSpend30DaysAmortized?: number;
23
+ /** the total amount spend on the resource over the previous 30 days, taking into account reserved instances and savings plans */
10
24
  totalSpend30DaysAmortizedPrevious?: number;
11
25
  retailPrices?: AzurePrice[];
12
26
  }
27
+ export type BusinessHoursEstimateSource = 'company-business-hours' | 'fallback-business-hours-only';
28
+ export interface BusinessHoursEstimateMetadata {
29
+ source: BusinessHoursEstimateSource;
30
+ windowSummary: string;
31
+ fallbackTemplate?: 'business-hours-only';
32
+ }
13
33
  export interface AzurePrice {
14
34
  currencyCode: string;
15
35
  tierMinimumUnits: number;
@@ -18,6 +38,7 @@ export interface AzurePrice {
18
38
  unitPrice: number;
19
39
  armRegionName: string;
20
40
  location: string;
41
+ /** ISO 8601 date string */
21
42
  effectiveStartDate: string;
22
43
  meterId: string;
23
44
  meterName: string;
@@ -30,16 +51,22 @@ export interface AzurePrice {
30
51
  serviceId: string;
31
52
  serviceFamily: string;
32
53
  unitOfMeasure: string;
54
+ /** Consumption, Reservation */
33
55
  type: string;
34
56
  isPrimaryMeterRegion: boolean;
35
57
  armSkuName: string;
36
58
  savingsPlan: SavingsPlan[];
37
59
  monthlyPrice?: number;
60
+ /** Use this property to set alternative Azure pricing SKU */
38
61
  targetAzurePrices?: AzurePrice[];
62
+ /** Reserved instances for this price level */
39
63
  reservedInstances?: SavingsCostSummary[];
40
64
  savingsPlanSummary?: SavingsCostSummary[];
65
+ /** Amount of money saved compared to the parent */
41
66
  targetMonthlySavings?: number;
67
+ /** Percentage of money saved compared to the parent */
42
68
  targetSavingsPercent?: number;
69
+ /** Show the display percent such as -10% */
43
70
  targetSavingsPercentDisplay?: string;
44
71
  targetSavings?: number;
45
72
  targetSavingsDisplay?: string;
@@ -51,88 +78,287 @@ export interface AzurePrice {
51
78
  displayUnitPrice?: string;
52
79
  displayTotalPrice?: number;
53
80
  displayQuantity?: number;
81
+ /** Reference to the recommendation that this target cost is associated with */
54
82
  recommendationId?: string;
83
+ /** Optional provenance for schedule estimates derived from configured or fallback business hours. */
84
+ businessHoursEstimate?: BusinessHoursEstimateMetadata;
55
85
  }
56
86
  export interface SavingsPlan {
57
87
  unitPrice: number;
58
88
  retailPrice: number;
89
+ /** e.g., "1 Year", "3 Years" */
59
90
  term: string;
60
91
  }
61
92
  export interface CostSummaryDetails {
93
+ /** Last 30 days */
62
94
  total?: number;
95
+ /** Total cost in the previous 30 days */
63
96
  totalPrevious?: number;
97
+ /** Last 30 days, taking into account reserved instances and savings plans */
64
98
  amortizedTotal?: number;
99
+ /** Total cost in the previous 30 days, taking into account reserved instances and savings plans */
65
100
  amortizedTotalPrevious?: number;
101
+ /** Optional active-day coverage for the 30-day spend window (e.g. 18 means 18/30 active days). */
102
+ coverageDays?: number;
66
103
  items?: ResourceCostSummary[];
104
+ savingsRange?: SavingsRange;
105
+ }
106
+ export interface ResourceCostPeriodRollingMetadata {
107
+ kind: 'rolling';
108
+ name: 'cost-last-30-days';
109
+ label: string;
110
+ }
111
+ export interface ResourceCostPeriodDailyMetadata {
112
+ kind: 'daily';
113
+ name: string;
114
+ label: string;
115
+ date: string;
116
+ startDate: number;
117
+ endDate: number;
118
+ }
119
+ export interface ResourceCostPeriodMonthMetadata {
120
+ kind: 'month';
121
+ name: string;
122
+ label: string;
123
+ month: string;
124
+ startDate: number;
125
+ endDate: number;
126
+ }
127
+ export type ResourceCostPeriodMetadata = ResourceCostPeriodRollingMetadata | ResourceCostPeriodDailyMetadata | ResourceCostPeriodMonthMetadata;
128
+ export interface AzureResourceCostPeriodsCatalog {
129
+ resourceId: string;
130
+ periods: ResourceCostPeriodMetadata[];
67
131
  }
132
+ export type ResourceCostPeriodDetails = ResourceCostPeriodMetadata & {
133
+ resourceId: string;
134
+ total: number;
135
+ amortizedTotal: number;
136
+ items: ResourceCostSummary[];
137
+ billingActualThroughDate?: number;
138
+ estimationCutoffStartDate?: number;
139
+ };
68
140
  export interface ResourceCostSummary {
141
+ /** e.g. "Basic Plan (B2 App)" */
69
142
  label1: string;
143
+ /** e.g. "Azure App Service" */
70
144
  label2: string;
71
145
  label3?: string;
72
146
  label4?: string;
147
+ /** e.g. "Bandwidth", "Defender for Cloud" */
73
148
  category?: string;
149
+ /** e.g. Cores: 2 | RAM: 3.5GB | Storage: 10GB */
74
150
  specs: SpecItem[];
151
+ /** name of the reservation if it's a reserved instance */
75
152
  reservation?: string;
153
+ /** e.g. true means the resource is active, false means the resource was active (old SKU) */
76
154
  active: boolean;
155
+ /** e.g. true means the resource is an addon such as Defender for Cloud, Backups, Disks, IP address, ASR */
77
156
  addon: boolean;
157
+ /** e.g. 66.09 (rounded to 2 decimal places) - the amount of money spent on the resource based on the date range */
78
158
  spend: number;
159
+ /** e.g. 66.09 (rounded to 2 decimal places) - the amount of money spent on the resource based on the date range, taking into account reserved instances and savings plans */
79
160
  spendAmortized: number;
161
+ /** e.g. 217.21 (rounded to 2 decimal places) */
80
162
  quantity: number;
163
+ /** e.g. [ { startDate: 20250601, endDate: 20250610 } ] */
81
164
  dates?: ActiveDates[];
165
+ /** e.g. 0.304140 1/Hour */
82
166
  unitPrice: string;
167
+ /** e.g. 0.304140 1/Hour */
83
168
  unitPriceAmortized: string;
169
+ /** e.g. 730.00 (rounded to 2 decimal places) */
84
170
  monthlyPrice?: number;
171
+ /** e.g. -4% */
85
172
  retailDiscount: string;
86
173
  retailCost?: RetailCostSummary;
87
174
  dailyMetrics?: DailyMetrics[];
88
175
  summaryMetrics?: DisplayMetric[];
176
+ /** Reference to the actual Azure resource */
89
177
  resourceId?: string;
178
+ /** Human-readable resource name */
90
179
  resourceName?: string;
180
+ /** Azure resource type */
91
181
  resourceType?: string;
182
+ savingsRange?: SavingsRange;
183
+ /** Reference to the recommendation that this target cost is associated with */
184
+ recommendationId?: string;
185
+ /** Billing and estimated split metadata */
186
+ costSource?: ResourceCostSource;
187
+ costSourceConfidence?: CostSourceConfidence;
188
+ costSourceDetail?: string;
189
+ spendActual?: number;
190
+ spendEstimated?: number;
191
+ spendAmortizedActual?: number;
192
+ spendAmortizedEstimated?: number;
193
+ /** Explainability metadata for estimated/blended rows */
194
+ estimationMethod?: string;
195
+ estimatedDaysSource?: 'metrics' | 'ma7' | 'ma14' | 'ma' | string;
196
+ pricingSource?: 'billing' | 'retail' | 'manual' | string;
197
+ estimationFormula?: string;
198
+ estimationInputs?: Record<string, unknown>;
199
+ estimationRates?: Record<string, number>;
200
+ estimationDetails?: Record<string, unknown>;
201
+ /** Per-source date ranges derived from daily records */
202
+ billingDateRange?: CostDateRangeMetadata;
203
+ estimatedDateRange?: CostDateRangeMetadata;
204
+ /** Canonical disjoint billing-backed coverage segments. Prefer over the legacy single range when present. */
205
+ billingDateRanges?: CostDateRangeMetadata[];
206
+ /** Canonical disjoint estimated coverage segments. Prefer over the legacy single range when present. */
207
+ estimatedDateRanges?: CostDateRangeMetadata[];
208
+ /** Optional resource-level cutoff markers (when attached at item level) */
209
+ billingActualThroughDate?: number;
210
+ estimationCutoffStartDate?: number;
211
+ /** Unit normalization/debug metadata */
212
+ quantityRaw?: number;
213
+ unitOfMeasureRaw?: string;
214
+ unitPriceRaw?: string;
215
+ unitPriceAmortizedRaw?: string;
216
+ quantityNormalized?: number;
217
+ unitOfMeasureNormalized?: string;
218
+ unitNormalizationFactor?: number;
219
+ }
220
+ export interface SavingsRange {
221
+ min: SavingsDetail;
222
+ max: SavingsDetail;
223
+ currentMonthly: number;
224
+ lowestPossibleMonthly: number;
225
+ /** Optional breakdown of savings scenarios (e.g. SKU changes, reservations, savings plans). */
226
+ metadata?: SavingsRangeOption[];
227
+ }
228
+ export interface SavingsDetail {
229
+ monthly: number;
230
+ percent: number;
231
+ }
232
+ export interface SavingsRangeOption {
233
+ /** Unique key for the scenario, stable within the savings response. */
234
+ key: string;
235
+ /** Human-readable description of the savings option. */
236
+ label: string;
237
+ /** Category of the savings source (target-cost, reserved-instance, savings-plan). */
238
+ sourceType?: 'target-cost' | 'reserved-instance' | 'savings-plan';
239
+ /** Commitment term if applicable (e.g. "1 Year"). */
240
+ term?: string;
241
+ /** Indicates whether pricing/savings were normalized across recommended commitments. */
242
+ normalized?: boolean;
243
+ /** Total monthly price for this option after normalization. */
244
+ targetMonthlyPrice: number;
245
+ /** Monthly savings relative to the observed spend. */
246
+ monthlySavings: number;
247
+ /** Savings percent relative to the observed spend. */
248
+ savingsPercent: number;
249
+ /** Baseline commitments inferred from current usage (reserved instances or savings plans). */
250
+ baselineCommitmentCount?: number;
251
+ /** Total commitments recommended to cover the workload. */
252
+ recommendedCommitmentCount?: number;
253
+ /** Hours that remain on PAYG after applying commitments. */
254
+ paygRemainderHours?: number;
92
255
  }
93
256
  export interface RetailCostSummary {
257
+ /** e.g. 0.304140 1/Hour */
94
258
  unitPrice: string;
259
+ /** e.g. 730.00 (rounded to 2 decimal places) */
95
260
  monthlyPrice: number;
261
+ /** e.g. 66.09 (rounded to 2 decimal places) */
96
262
  cost: number;
97
263
  savingsPlans?: SavingsCostSummary[];
98
264
  reservedInstances?: SavingsCostSummary[];
265
+ /** This is for a multi-level target (e.g. From Windows To Linux from P2 SKU to P1 SKU) */
99
266
  targetCost?: TargetCostSummary[];
100
267
  }
101
268
  export interface SavingsCostSummary {
269
+ /** e.g. 0.304140 1/Hour */
102
270
  unitPrice: string;
271
+ /** e.g. "1 Year", "3 Years" */
103
272
  term: string;
273
+ /** e.g. 730.00 (rounded to 2 decimal places) */
104
274
  monthlyPrice: number;
275
+ /** e.g. 10% */
105
276
  savingsPercent: string;
277
+ /** e.g. 100.00 (rounded to 2 decimal places) */
106
278
  monthlySavings: number;
279
+ /**
280
+ * Hours covered per commitment (for example 730 hours per month for hourly commitments).
281
+ * Provided so callers can scale savings for multiple concurrently running instances.
282
+ */
283
+ commitmentHoursPerInstance?: number;
284
+ /**
285
+ * Recommended number of commitments to cover the observed usage (ceil(billedHours / commitmentHoursPerInstance)).
286
+ */
287
+ recommendedCommitmentCount?: number;
288
+ /** Monthly price normalized for the recommended commitment count. */
289
+ normalizedMonthlyPrice?: number;
290
+ /** Monthly savings normalized for the recommended commitment count. */
291
+ normalizedMonthlySavings?: number;
292
+ /** Savings percent normalized for the recommended commitment count. */
293
+ normalizedSavingsPercent?: number;
294
+ /** Baseline commitments derived from observed usage (before new recommendations). */
295
+ baselineCommitmentCount?: number;
296
+ /** Number of hours left on PAYG after commitments are applied. */
297
+ paygRemainderHours?: number;
107
298
  }
108
299
  export interface TargetCostSummary {
300
+ /** e.g. Windows to Linux migration */
109
301
  targetLabel?: string;
302
+ /** e.g. Windows to Linux migration */
110
303
  targetLabel2?: string;
304
+ /** Stable short title for rendering a specific optimization option */
305
+ targetTitle?: string;
306
+ /** Stable optimization kind for rendering and grouping */
307
+ optimizationKind?: string;
308
+ /** Stable target SKU or plan identifier when available */
309
+ targetSkuName?: string;
310
+ /** e.g. "Basic Plan (B2 App)" */
111
311
  label1: string;
312
+ /** e.g. "Azure App Service" */
112
313
  label2: string;
113
314
  label3?: string;
114
315
  label4?: string;
316
+ /** e.g. Cores: 2 | RAM: 3.5GB | Storage: 10GB */
115
317
  specs: SpecItem[];
318
+ /** e.g. 66.09 (rounded to 2 decimal places) */
116
319
  cost: number;
320
+ /** e.g. 100.00 (rounded to 2 decimal places) */
117
321
  savings: number;
322
+ /** e.g. 0.304140 1/Hour */
118
323
  unitPrice: string;
324
+ /** e.g. 730.00 (rounded to 2 decimal places) */
119
325
  monthlyPrice: number;
326
+ /** e.g. 100.00 (rounded to 2 decimal places) */
120
327
  monthlySavings: number;
328
+ /** e.g. 10% */
121
329
  monthlySavingsPercent: string;
330
+ /** Retail unit price before tenant discounts are applied */
331
+ unitPriceRetail?: string;
332
+ /** Retail monthly price before tenant discounts are applied */
333
+ monthlyPriceRetail?: number;
334
+ /** Retail cost before tenant discounts are applied */
335
+ costRetail?: number;
336
+ /** This is for a multi-level target (e.g. From Windows To Linux from P2 SKU to P1 SKU) */
122
337
  targetCost?: TargetCostSummary[];
338
+ /** This is for reserved intances if it's available */
123
339
  reservedInstances?: SavingsCostSummary[];
340
+ /** This is for savings plans if it's available */
124
341
  savingsPlans?: SavingsCostSummary[];
342
+ /** Reference to the recommendation that this target cost is associated with */
125
343
  recommendationId?: string;
344
+ /** Resource Type */
126
345
  resourceType?: string;
346
+ /** Optional provenance for schedule estimates derived from configured or fallback business hours. */
347
+ businessHoursEstimate?: BusinessHoursEstimateMetadata;
127
348
  }
128
349
  export interface ResourceSpend {
350
+ /** the actual cost spent on the resource. We can't rename this to spend because it comes from the cost API */
129
351
  cost: number;
352
+ /** the amount spent on the resource based on the amortized cost (this takes reserved instances and savings plans into account) */
130
353
  costAmortized?: number;
131
354
  quantity: number;
132
355
  date?: number;
133
356
  activeDates?: ActiveDates[];
357
+ /** e.g. true means the resource is active, false means the resource was active (old SKU) */
134
358
  active?: boolean;
359
+ /** e.g. true means the resource is an addon such as Defender for Cloud, Backups, Disks, IP address, ASR */
135
360
  addon?: boolean;
361
+ /** e.g. Backup, Data Storage, Log Storage, Advanced Threat Protection, Vulnerability Assessment, Long-term Retention Backups */
136
362
  referenceName?: string;
137
363
  resourceId?: string;
138
364
  meterCategory: string;
@@ -145,6 +371,7 @@ export interface ResourceSpend {
145
371
  reservationName?: string;
146
372
  label?: string;
147
373
  label2?: string;
374
+ /** e.g. Cores: 2 | RAM: 3.5GB | Storage: 10GB | IOPS: 1000 | Throughput: 100MB/s */
148
375
  specs?: SpecItem[];
149
376
  displayCost?: number;
150
377
  displayQuantity?: number;
@@ -154,6 +381,9 @@ export interface ResourceSpend {
154
381
  retailDiscountPercentDisplay?: string;
155
382
  dailyMetrics?: DailyMetrics[];
156
383
  summaryMetrics?: DisplayMetric[];
384
+ benefitId?: string;
385
+ benefitName?: string;
386
+ reservationId?: string;
157
387
  }
158
388
  export interface PricingResponse {
159
389
  Items: AzurePrice[];
@@ -1 +1 @@
1
- {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/azure/prices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/azure/prices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ export declare const PUBLIC_IP_ADDRESSES_SCHEMA_VERSION: "2026-05-02.public-ip-addresses-v1";
2
+ export declare const PUBLIC_IP_ADDRESSES_PORTAL_FILE: "public-ip-addresses.json";
3
+ export type PublicIpAddressesJsonPrimitive = string | number | boolean | null;
4
+ export type PublicIpAddressesJsonValue = PublicIpAddressesJsonPrimitive | PublicIpAddressesJsonValue[] | {
5
+ [key: string]: PublicIpAddressesJsonValue;
6
+ };
7
+ export type PublicIpAddressesUseClassification = 'assigned' | 'unassigned' | 'unresolved';
8
+ export type PublicIpAddressesExposureKind = 'rdp' | 'ssh' | 'https';
9
+ export type PublicIpAddressesExposureEvidenceSource = 'nsg_rule' | 'lb_rule' | 'appgw_listener' | 'direct_rule' | 'derived';
10
+ export type PublicIpAddressesExposureConfidence = 'high' | 'medium' | 'low';
11
+ export type PublicIpAddressesExposureSourceKind = 'internet' | 'restricted_public' | 'private' | 'service_tag' | 'application_security_group' | 'unknown';
12
+ export type PublicIpAddressesExposureProtocol = 'tcp' | 'udp' | 'icmp' | 'ah' | 'esp' | 'any' | 'unknown';
13
+ export type PublicIpAddressesExposureScopeKind = 'nic' | 'subnet' | 'load_balancer' | 'app_gateway' | 'direct' | 'derived';
14
+ export type PublicIpAddressesEffectiveReachability = 'effective' | 'possible' | 'not_reachable' | 'unknown';
15
+ export type PublicIpAddressesRuleDirection = 'inbound' | 'outbound' | 'unknown';
16
+ export type PublicIpAddressesRuleAccess = 'allow' | 'deny' | 'unknown';
17
+ export type PublicIpAddressesRemediationOptionKind = 'azure_bastion' | 'vpn_gateway' | 'jit_vm_access' | 'azure_virtual_desktop' | 'cloudflare_tunnel' | 'restrict_nsg_allowlist' | 'remove_public_ip' | 'front_with_app_gateway_waf' | 'document_exception';
18
+ export type PublicIpAddressesRemediationSuitability = 'recommended' | 'suitable' | 'conditional' | 'not_recommended';
19
+ export type PublicIpAddressesRemediationLevel = 'low' | 'medium' | 'high' | 'unknown';
20
+ export type PublicIpAddressesAssignmentVia = 'relationship_graph' | 'direct_ip_configuration' | 'reverse_consumer_lookup' | 'nat_gateway_reference' | 'prefix_membership' | 'unassigned' | 'unresolved';
21
+ export type PublicIpAddressesAssociatedService = 'bastion' | 'azure_firewall' | 'application_gateway' | 'load_balancer' | 'network_interface' | 'nat_gateway' | 'unknown_network_consumer' | 'unknown' | 'unassigned';
22
+ export type PublicIpAddressesConcern = 'unused_public_ip' | 'dynamic_unassigned' | 'basic_sku_retiring' | 'missing_assignment_resolution' | 'attached_to_direct_nic' | 'attached_to_bastion' | 'attached_to_azure_firewall' | 'attached_to_app_gateway' | 'attached_to_load_balancer' | 'attached_to_nat_gateway' | 'orphaned_graph_reference' | 'rdp_exposed' | 'ssh_exposed' | 'https_exposed';
23
+ export interface PublicIpAddressesSubscriptionProperties {
24
+ secureScore?: number;
25
+ currency?: string;
26
+ currencySymbol?: string;
27
+ foundCurrency?: boolean;
28
+ showAmortizedCosts?: boolean;
29
+ [key: string]: PublicIpAddressesJsonValue | undefined;
30
+ }
31
+ export interface PublicIpAddressesSubscription {
32
+ companyId?: string;
33
+ tenantId?: string;
34
+ subscriptionId: string;
35
+ displayName: string;
36
+ properties?: PublicIpAddressesSubscriptionProperties;
37
+ }
38
+ export interface PublicIpAddressesSummary {
39
+ total: number;
40
+ assigned: number;
41
+ unassigned: number;
42
+ dynamicUnassigned: number;
43
+ basicSku: number;
44
+ exposedRdp: number;
45
+ exposedSsh: number;
46
+ exposedHttps: number;
47
+ byService: Record<string, number>;
48
+ byConcern: Record<string, number>;
49
+ byLocation: Record<string, number>;
50
+ byPrefix: Record<string, number>;
51
+ broadManagementExposure?: number;
52
+ restrictedManagementExposure?: number;
53
+ remediationOptionCounts?: Record<string, number>;
54
+ }
55
+ export interface PublicIpAddressesSku {
56
+ name: string | null;
57
+ tier: string | null;
58
+ }
59
+ export interface PublicIpAddressesAssignment {
60
+ via: PublicIpAddressesAssignmentVia;
61
+ resourceId: string | null;
62
+ resourceName: string | null;
63
+ resourceType: string | null;
64
+ parentResourceId: string | null;
65
+ parentResourceName: string | null;
66
+ parentResourceType: string | null;
67
+ evidence: string[];
68
+ }
69
+ export interface PublicIpAddressesPrefix {
70
+ id: string;
71
+ name: string | null;
72
+ ipPrefix: string | null;
73
+ }
74
+ export interface PublicIpAddressesPortRange {
75
+ value: string;
76
+ from: number | null;
77
+ to: number | null;
78
+ }
79
+ export interface PublicIpAddressesNsgRuleMetadata {
80
+ id?: string;
81
+ name?: string;
82
+ networkSecurityGroupId?: string;
83
+ networkSecurityGroupName?: string;
84
+ priority?: number;
85
+ direction?: PublicIpAddressesRuleDirection;
86
+ access?: PublicIpAddressesRuleAccess;
87
+ sourceAddressPrefixes?: string[];
88
+ sourcePortRanges?: string[];
89
+ destinationAddressPrefixes?: string[];
90
+ destinationPortRanges?: string[];
91
+ protocol?: PublicIpAddressesExposureProtocol;
92
+ description?: string;
93
+ }
94
+ export interface PublicIpAddressesExposureScope {
95
+ kind: PublicIpAddressesExposureScopeKind;
96
+ resourceId?: string;
97
+ resourceName?: string;
98
+ resourceType?: string;
99
+ }
100
+ export interface PublicIpAddressesExposure {
101
+ kind: PublicIpAddressesExposureKind;
102
+ evidenceSource: PublicIpAddressesExposureEvidenceSource;
103
+ evidence: string;
104
+ confidence: PublicIpAddressesExposureConfidence;
105
+ sourceKind?: PublicIpAddressesExposureSourceKind;
106
+ sourcePrefixes?: string[];
107
+ destinationPortRanges?: PublicIpAddressesPortRange[];
108
+ protocol?: PublicIpAddressesExposureProtocol;
109
+ nsgRule?: PublicIpAddressesNsgRuleMetadata;
110
+ scope?: PublicIpAddressesExposureScope;
111
+ effectiveReachability?: PublicIpAddressesEffectiveReachability;
112
+ reason?: string;
113
+ }
114
+ export interface PublicIpAddressesReferenceLink {
115
+ label: string;
116
+ url: string;
117
+ }
118
+ export interface PublicIpAddressesCostRange {
119
+ currency?: string;
120
+ minMonthly?: number;
121
+ maxMonthly?: number;
122
+ billingPeriod?: 'monthly' | 'one_time' | 'usage_based' | 'unknown';
123
+ summary?: string;
124
+ }
125
+ export interface PublicIpAddressesRemediationAction {
126
+ label: string;
127
+ summary?: string;
128
+ links?: PublicIpAddressesReferenceLink[];
129
+ }
130
+ export interface PublicIpAddressesRemediationOption {
131
+ kind: PublicIpAddressesRemediationOptionKind;
132
+ label: string;
133
+ summary: string;
134
+ suitability: PublicIpAddressesRemediationSuitability;
135
+ estimatedMonthlyCostRange?: PublicIpAddressesCostRange;
136
+ effort?: PublicIpAddressesRemediationLevel;
137
+ risk?: PublicIpAddressesRemediationLevel;
138
+ impact?: PublicIpAddressesRemediationLevel;
139
+ actions?: PublicIpAddressesRemediationAction[];
140
+ links?: PublicIpAddressesReferenceLink[];
141
+ }
142
+ export interface PublicIpAddressesItem {
143
+ id: string;
144
+ name: string;
145
+ resourceGroup: string | null;
146
+ location: string;
147
+ sku: PublicIpAddressesSku;
148
+ zones: string[];
149
+ allocationMethod: string | null;
150
+ ipVersion: string | null;
151
+ ipAddress: string | null;
152
+ fqdn: string | null;
153
+ use: PublicIpAddressesUseClassification;
154
+ assignment: PublicIpAddressesAssignment;
155
+ associatedResource: string | null;
156
+ associatedResourceType: string | null;
157
+ associatedService: PublicIpAddressesAssociatedService;
158
+ prefix: PublicIpAddressesPrefix | null;
159
+ exposures: PublicIpAddressesExposure[];
160
+ remediationOptions?: PublicIpAddressesRemediationOption[];
161
+ concerns: PublicIpAddressesConcern[];
162
+ tags: Record<string, string>;
163
+ }
164
+ export interface PublicIpAddressesReport {
165
+ schemaVersion?: typeof PUBLIC_IP_ADDRESSES_SCHEMA_VERSION;
166
+ subscription: PublicIpAddressesSubscription;
167
+ timestamp: string;
168
+ summary: PublicIpAddressesSummary;
169
+ items: PublicIpAddressesItem[];
170
+ }
171
+ //# sourceMappingURL=publicIpAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicIpAddresses.d.ts","sourceRoot":"","sources":["../../src/azure/publicIpAddresses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PUBLIC_IP_ADDRESSES_PORTAL_FILE = exports.PUBLIC_IP_ADDRESSES_SCHEMA_VERSION = void 0;
4
+ exports.PUBLIC_IP_ADDRESSES_SCHEMA_VERSION = '2026-05-02.public-ip-addresses-v1';
5
+ exports.PUBLIC_IP_ADDRESSES_PORTAL_FILE = 'public-ip-addresses.json';
6
+ //# sourceMappingURL=publicIpAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicIpAddresses.js","sourceRoot":"","sources":["../../src/azure/publicIpAddresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,kCAAkC,GAAG,mCAA4C,CAAC;AAElF,QAAA,+BAA+B,GAAG,0BAAmC,CAAC"}