@burdenoff/microfe-assethandler 2026.510.104

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 (270) hide show
  1. package/README.md +12 -0
  2. package/dist/assethandler/AssetHandlerRoot.d.ts +5 -0
  3. package/dist/assethandler/AssetHandlerRoot.d.ts.map +1 -0
  4. package/dist/assethandler/AssetHandlerRoot.js +159 -0
  5. package/dist/assethandler/AssetHandlerRoot.js.map +1 -0
  6. package/dist/assethandler/AssetHandlerRoutes.d.ts +2 -0
  7. package/dist/assethandler/AssetHandlerRoutes.d.ts.map +1 -0
  8. package/dist/assethandler/AssetHandlerRoutes.js +255 -0
  9. package/dist/assethandler/AssetHandlerRoutes.js.map +1 -0
  10. package/dist/assethandler/index.d.ts +5 -0
  11. package/dist/assethandler/index.d.ts.map +1 -0
  12. package/dist/assethandler/index.js +3 -0
  13. package/dist/assethandler/pages/AiPredictionsPage.d.ts +2 -0
  14. package/dist/assethandler/pages/AiPredictionsPage.d.ts.map +1 -0
  15. package/dist/assethandler/pages/AiPredictionsPage.js +133 -0
  16. package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -0
  17. package/dist/assethandler/pages/AnalyticsPage.d.ts +2 -0
  18. package/dist/assethandler/pages/AnalyticsPage.d.ts.map +1 -0
  19. package/dist/assethandler/pages/AnalyticsPage.js +576 -0
  20. package/dist/assethandler/pages/AnalyticsPage.js.map +1 -0
  21. package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts +2 -0
  22. package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts.map +1 -0
  23. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +162 -0
  24. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -0
  25. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts +2 -0
  26. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts.map +1 -0
  27. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +249 -0
  28. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -0
  29. package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts +2 -0
  30. package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts.map +1 -0
  31. package/dist/assethandler/pages/AssetsAssetCreatePage.js +323 -0
  32. package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -0
  33. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts +2 -0
  34. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -0
  35. package/dist/assethandler/pages/AssetsAssetDetailPage.js +392 -0
  36. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -0
  37. package/dist/assethandler/pages/AssetsAssetEditPage.d.ts +2 -0
  38. package/dist/assethandler/pages/AssetsAssetEditPage.d.ts.map +1 -0
  39. package/dist/assethandler/pages/AssetsAssetEditPage.js +341 -0
  40. package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -0
  41. package/dist/assethandler/pages/AssetsAssetListPage.d.ts +2 -0
  42. package/dist/assethandler/pages/AssetsAssetListPage.d.ts.map +1 -0
  43. package/dist/assethandler/pages/AssetsAssetListPage.js +459 -0
  44. package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -0
  45. package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts +2 -0
  46. package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts.map +1 -0
  47. package/dist/assethandler/pages/AssetsAssetTrackingPage.js +166 -0
  48. package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -0
  49. package/dist/assethandler/pages/AuditTrailPage.d.ts +2 -0
  50. package/dist/assethandler/pages/AuditTrailPage.d.ts.map +1 -0
  51. package/dist/assethandler/pages/AuditTrailPage.js +197 -0
  52. package/dist/assethandler/pages/AuditTrailPage.js.map +1 -0
  53. package/dist/assethandler/pages/CmdbBrowserPage.d.ts +2 -0
  54. package/dist/assethandler/pages/CmdbBrowserPage.d.ts.map +1 -0
  55. package/dist/assethandler/pages/CmdbBrowserPage.js +75 -0
  56. package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -0
  57. package/dist/assethandler/pages/DashboardPage.d.ts +2 -0
  58. package/dist/assethandler/pages/DashboardPage.d.ts.map +1 -0
  59. package/dist/assethandler/pages/DashboardPage.js +336 -0
  60. package/dist/assethandler/pages/DashboardPage.js.map +1 -0
  61. package/dist/assethandler/pages/DigitalTwinPage.d.ts +2 -0
  62. package/dist/assethandler/pages/DigitalTwinPage.d.ts.map +1 -0
  63. package/dist/assethandler/pages/DigitalTwinPage.js +71 -0
  64. package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -0
  65. package/dist/assethandler/pages/DiscoveryJobsPage.d.ts +2 -0
  66. package/dist/assethandler/pages/DiscoveryJobsPage.d.ts.map +1 -0
  67. package/dist/assethandler/pages/DiscoveryJobsPage.js +115 -0
  68. package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -0
  69. package/dist/assethandler/pages/EsgDashboardPage.d.ts +2 -0
  70. package/dist/assethandler/pages/EsgDashboardPage.d.ts.map +1 -0
  71. package/dist/assethandler/pages/EsgDashboardPage.js +130 -0
  72. package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -0
  73. package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts +2 -0
  74. package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts.map +1 -0
  75. package/dist/assethandler/pages/FinanceBudgetDetailPage.js +182 -0
  76. package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -0
  77. package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts +2 -0
  78. package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts.map +1 -0
  79. package/dist/assethandler/pages/FinanceFinanceHubPage.js +324 -0
  80. package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -0
  81. package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts +2 -0
  82. package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts.map +1 -0
  83. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +172 -0
  84. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -0
  85. package/dist/assethandler/pages/IotDevicesPage.d.ts +2 -0
  86. package/dist/assethandler/pages/IotDevicesPage.d.ts.map +1 -0
  87. package/dist/assethandler/pages/IotDevicesPage.js +80 -0
  88. package/dist/assethandler/pages/IotDevicesPage.js.map +1 -0
  89. package/dist/assethandler/pages/ItilChangeDetailPage.d.ts +2 -0
  90. package/dist/assethandler/pages/ItilChangeDetailPage.d.ts.map +1 -0
  91. package/dist/assethandler/pages/ItilChangeDetailPage.js +221 -0
  92. package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -0
  93. package/dist/assethandler/pages/ItilChangeManagementPage.d.ts +2 -0
  94. package/dist/assethandler/pages/ItilChangeManagementPage.d.ts.map +1 -0
  95. package/dist/assethandler/pages/ItilChangeManagementPage.js +179 -0
  96. package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -0
  97. package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts +2 -0
  98. package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts.map +1 -0
  99. package/dist/assethandler/pages/ItilIncidentDetailPage.js +222 -0
  100. package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -0
  101. package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts +2 -0
  102. package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts.map +1 -0
  103. package/dist/assethandler/pages/ItilIncidentManagementPage.js +265 -0
  104. package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -0
  105. package/dist/assethandler/pages/ItilItilhubPage.d.ts +2 -0
  106. package/dist/assethandler/pages/ItilItilhubPage.d.ts.map +1 -0
  107. package/dist/assethandler/pages/ItilItilhubPage.js +374 -0
  108. package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -0
  109. package/dist/assethandler/pages/ItilProblemDetailPage.d.ts +2 -0
  110. package/dist/assethandler/pages/ItilProblemDetailPage.d.ts.map +1 -0
  111. package/dist/assethandler/pages/ItilProblemDetailPage.js +177 -0
  112. package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -0
  113. package/dist/assethandler/pages/ItilProblemManagementPage.d.ts +2 -0
  114. package/dist/assethandler/pages/ItilProblemManagementPage.d.ts.map +1 -0
  115. package/dist/assethandler/pages/ItilProblemManagementPage.js +167 -0
  116. package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -0
  117. package/dist/assethandler/pages/KnowledgeBasePage.d.ts +2 -0
  118. package/dist/assethandler/pages/KnowledgeBasePage.d.ts.map +1 -0
  119. package/dist/assethandler/pages/KnowledgeBasePage.js +116 -0
  120. package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -0
  121. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts +2 -0
  122. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts.map +1 -0
  123. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +185 -0
  124. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -0
  125. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts +2 -0
  126. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts.map +1 -0
  127. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +133 -0
  128. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -0
  129. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts +2 -0
  130. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts.map +1 -0
  131. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +166 -0
  132. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -0
  133. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts +2 -0
  134. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts.map +1 -0
  135. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +155 -0
  136. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -0
  137. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts +2 -0
  138. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts.map +1 -0
  139. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +126 -0
  140. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -0
  141. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts +2 -0
  142. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts.map +1 -0
  143. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +157 -0
  144. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -0
  145. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts +2 -0
  146. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts.map +1 -0
  147. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +179 -0
  148. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -0
  149. package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts +2 -0
  150. package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts.map +1 -0
  151. package/dist/assethandler/pages/OperationsOperationsHubPage.js +291 -0
  152. package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -0
  153. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts +2 -0
  154. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts.map +1 -0
  155. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +172 -0
  156. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -0
  157. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts +2 -0
  158. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts.map +1 -0
  159. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +203 -0
  160. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -0
  161. package/dist/assethandler/pages/ProvenancePage.d.ts +2 -0
  162. package/dist/assethandler/pages/ProvenancePage.d.ts.map +1 -0
  163. package/dist/assethandler/pages/ProvenancePage.js +118 -0
  164. package/dist/assethandler/pages/ProvenancePage.js.map +1 -0
  165. package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts +2 -0
  166. package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts.map +1 -0
  167. package/dist/assethandler/pages/ReportsReportBuilderPage.js +201 -0
  168. package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -0
  169. package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts +2 -0
  170. package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts.map +1 -0
  171. package/dist/assethandler/pages/ReportsReportsDashboardPage.js +201 -0
  172. package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -0
  173. package/dist/assethandler/pages/ReportsReportsListPage.d.ts +2 -0
  174. package/dist/assethandler/pages/ReportsReportsListPage.d.ts.map +1 -0
  175. package/dist/assethandler/pages/ReportsReportsListPage.js +128 -0
  176. package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -0
  177. package/dist/assethandler/pages/SamLicensesPage.d.ts +2 -0
  178. package/dist/assethandler/pages/SamLicensesPage.d.ts.map +1 -0
  179. package/dist/assethandler/pages/SamLicensesPage.js +79 -0
  180. package/dist/assethandler/pages/SamLicensesPage.js.map +1 -0
  181. package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts +2 -0
  182. package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts.map +1 -0
  183. package/dist/assethandler/pages/SecurityComplianceDetailPage.js +109 -0
  184. package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -0
  185. package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts +2 -0
  186. package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts.map +1 -0
  187. package/dist/assethandler/pages/SecurityPolicyDetailPage.js +133 -0
  188. package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -0
  189. package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts +2 -0
  190. package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts.map +1 -0
  191. package/dist/assethandler/pages/SecurityScheduleBackupPage.js +143 -0
  192. package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -0
  193. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts +2 -0
  194. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts.map +1 -0
  195. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +135 -0
  196. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -0
  197. package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts +2 -0
  198. package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts.map +1 -0
  199. package/dist/assethandler/pages/SecuritySecurityHubPage.js +355 -0
  200. package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -0
  201. package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts +2 -0
  202. package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts.map +1 -0
  203. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +281 -0
  204. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -0
  205. package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts +2 -0
  206. package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts.map +1 -0
  207. package/dist/assethandler/pages/TransactionsTransactionListPage.js +220 -0
  208. package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -0
  209. package/dist/assethandler/pages/UsersPage.d.ts +2 -0
  210. package/dist/assethandler/pages/UsersPage.d.ts.map +1 -0
  211. package/dist/assethandler/pages/UsersPage.js +183 -0
  212. package/dist/assethandler/pages/UsersPage.js.map +1 -0
  213. package/dist/assethandler/pages/UsersUserCreatePage.d.ts +2 -0
  214. package/dist/assethandler/pages/UsersUserCreatePage.d.ts.map +1 -0
  215. package/dist/assethandler/pages/UsersUserCreatePage.js +213 -0
  216. package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -0
  217. package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts +2 -0
  218. package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts.map +1 -0
  219. package/dist/assethandler/pages/UsersUserManagementHubPage.js +325 -0
  220. package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -0
  221. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts +2 -0
  222. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts.map +1 -0
  223. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +246 -0
  224. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -0
  225. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts +2 -0
  226. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts.map +1 -0
  227. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +188 -0
  228. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -0
  229. package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts +2 -0
  230. package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts.map +1 -0
  231. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +163 -0
  232. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -0
  233. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts +2 -0
  234. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts.map +1 -0
  235. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +158 -0
  236. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -0
  237. package/dist/assethandler/providers/AssetHandlerProvider.d.ts +6 -0
  238. package/dist/assethandler/providers/AssetHandlerProvider.d.ts.map +1 -0
  239. package/dist/assethandler/providers/AssetHandlerProvider.js +214 -0
  240. package/dist/assethandler/providers/AssetHandlerProvider.js.map +1 -0
  241. package/dist/assethandler/store/assethandlerStore.d.ts +635 -0
  242. package/dist/assethandler/store/assethandlerStore.d.ts.map +1 -0
  243. package/dist/assethandler/store/assethandlerStore.js +2337 -0
  244. package/dist/assethandler/store/assethandlerStore.js.map +1 -0
  245. package/dist/assethandler/types/index.d.ts +56 -0
  246. package/dist/assethandler/types/index.d.ts.map +1 -0
  247. package/dist/assethandler/utils/cn.d.ts +4 -0
  248. package/dist/assethandler/utils/cn.d.ts.map +1 -0
  249. package/dist/assethandler/utils/i18n.d.ts +6 -0
  250. package/dist/assethandler/utils/i18n.d.ts.map +1 -0
  251. package/dist/assethandler/utils/i18n.js +9 -0
  252. package/dist/assethandler/utils/i18n.js.map +1 -0
  253. package/dist/assethandler/utils/navigation.d.ts +2 -0
  254. package/dist/assethandler/utils/navigation.d.ts.map +1 -0
  255. package/dist/assethandler/utils/navigation.js +8 -0
  256. package/dist/assethandler/utils/navigation.js.map +1 -0
  257. package/dist/dev/main.d.ts +2 -0
  258. package/dist/dev/main.d.ts.map +1 -0
  259. package/dist/generated/global-operations.d.ts +2 -0
  260. package/dist/generated/global-operations.d.ts.map +1 -0
  261. package/dist/generated/global-types.d.ts +20716 -0
  262. package/dist/generated/global-types.d.ts.map +1 -0
  263. package/dist/generated/wspace-operations.d.ts +210 -0
  264. package/dist/generated/wspace-operations.d.ts.map +1 -0
  265. package/dist/generated/wspace-types.d.ts +53363 -0
  266. package/dist/generated/wspace-types.d.ts.map +1 -0
  267. package/dist/index.d.ts +2 -0
  268. package/dist/index.d.ts.map +1 -0
  269. package/dist/index.js +5 -0
  270. package/package.json +108 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assethandlerStore.js","names":[],"sources":["../../../src/assethandler/store/assethandlerStore.ts"],"sourcesContent":["import { create } from 'zustand';\n\n// ─── Core Types ───────────────────────────────────────────────────\nexport interface OverviewMetric {\n label: string;\n value: string;\n trend: string;\n}\n\nexport interface WorkItem {\n id: string;\n title: string;\n status: 'active' | 'planned' | 'at_risk' | 'completed';\n owner: string;\n updatedAt: string;\n}\n\n// ─── Asset Types ──────────────────────────────────────────────────\nexport type AssetCategory =\n | 'electronics'\n | 'it_hardware'\n | 'furniture'\n | 'vehicles'\n | 'equipment'\n | 'software'\n | 'networking'\n | 'servers';\nexport type AssetStatus =\n | 'active'\n | 'inactive'\n | 'under_maintenance'\n | 'disposed'\n | 'reserved'\n | 'in_transit';\nexport type AssetCondition = 'excellent' | 'good' | 'fair' | 'poor' | 'non_functional';\n\nexport interface Asset {\n id: string;\n name: string;\n description: string;\n category: AssetCategory;\n status: AssetStatus;\n condition: AssetCondition;\n serialNumber: string;\n assetTag: string;\n value: number;\n currentValue: number;\n purchaseDate: string;\n warrantyExpiry: string;\n location: string;\n department: string;\n assignedTo: string;\n vendor: string;\n model: string;\n manufacturer: string;\n depreciationRate: number;\n lastAuditDate: string;\n tags: string[];\n maintenanceHistory: MaintenanceRecord[];\n}\n\n// ─── ITIL Types ───────────────────────────────────────────────────\nexport type IncidentPriority = 'critical' | 'high' | 'medium' | 'low';\nexport type IncidentStatus = 'new' | 'in_progress' | 'resolved' | 'closed' | 'escalated';\nexport type ChangeStatus =\n | 'draft'\n | 'submitted'\n | 'approved'\n | 'in_progress'\n | 'completed'\n | 'rejected';\nexport type ChangeRisk = 'low' | 'medium' | 'high' | 'critical';\nexport type ProblemStatus = 'open' | 'investigating' | 'known_error' | 'resolved' | 'closed';\n\nexport interface Incident {\n id: string;\n title: string;\n description: string;\n category: string;\n priority: IncidentPriority;\n status: IncidentStatus;\n assignedTo: string;\n reportedBy: string;\n affectedAssets: string[];\n createdAt: string;\n updatedAt: string;\n resolvedAt?: string;\n slaBreached: boolean;\n resolution?: string;\n}\n\nexport interface ChangeRequest {\n id: string;\n title: string;\n description: string;\n type: 'normal' | 'standard' | 'emergency';\n status: ChangeStatus;\n risk: ChangeRisk;\n requestedBy: string;\n assignedTo: string;\n affectedAssets: string[];\n scheduledStart: string;\n scheduledEnd: string;\n createdAt: string;\n approvals: { name: string; status: string; date: string }[];\n}\n\nexport interface Problem {\n id: string;\n title: string;\n description: string;\n status: ProblemStatus;\n priority: IncidentPriority;\n category: string;\n assignedTo: string;\n relatedIncidents: string[];\n rootCause?: string;\n workaround?: string;\n createdAt: string;\n updatedAt: string;\n}\n\n// ─── Finance Types ────────────────────────────────────────────────\nexport type TransactionType =\n | 'purchase'\n | 'lease'\n | 'disposal'\n | 'transfer'\n | 'maintenance'\n | 'depreciation';\nexport type TransactionStatus = 'pending' | 'approved' | 'completed' | 'rejected' | 'cancelled';\n\nexport interface FinanceTransaction {\n id: string;\n type: TransactionType;\n amount: number;\n currency: string;\n description: string;\n category: string;\n date: string;\n status: TransactionStatus;\n vendor?: string;\n relatedAsset?: string;\n department: string;\n approvedBy?: string;\n poNumber?: string;\n invoiceNumber?: string;\n}\n\nexport interface Budget {\n id: string;\n name: string;\n category: string;\n allocated: number;\n spent: number;\n remaining: number;\n period: string;\n department: string;\n status: 'on_track' | 'over_budget' | 'under_budget';\n}\n\nexport interface Invoice {\n id: string;\n number: string;\n vendor: string;\n amount: number;\n currency: string;\n issueDate: string;\n dueDate: string;\n status: 'draft' | 'sent' | 'paid' | 'overdue' | 'cancelled';\n items: { description: string; qty: number; unitPrice: number; total: number }[];\n relatedPO?: string;\n}\n\n// ─── Maintenance Types ────────────────────────────────────────────\nexport type MaintenanceType = 'preventive' | 'corrective' | 'predictive' | 'emergency';\nexport type MaintenancePriority = 'critical' | 'high' | 'medium' | 'low';\nexport type MaintenanceStatus = 'scheduled' | 'in_progress' | 'completed' | 'overdue' | 'cancelled';\n\nexport interface MaintenanceRecord {\n id: string;\n assetId: string;\n assetName: string;\n type: MaintenanceType;\n priority: MaintenancePriority;\n status: MaintenanceStatus;\n title: string;\n description: string;\n scheduledDate: string;\n completedDate?: string;\n estimatedDuration: number;\n actualDuration?: number;\n assignedTo: string;\n cost: number;\n location: string;\n checklist: { task: string; completed: boolean }[];\n notes?: string;\n}\n\nexport interface MaintenanceTemplate {\n id: string;\n name: string;\n type: MaintenanceType;\n estimatedDuration: number;\n checklist: string[];\n cost: number;\n category: string;\n}\n\n// ─── Marketplace Types ────────────────────────────────────────────\nexport interface MarketplaceListing {\n id: string;\n title: string;\n description: string;\n price: number;\n originalPrice: number;\n condition: AssetCondition;\n category: string;\n seller: string;\n sellerRating: number;\n location: string;\n images: string[];\n status: 'active' | 'sold' | 'reserved' | 'expired';\n listedDate: string;\n views: number;\n tags: string[];\n specifications: Record<string, string>;\n}\n\nexport interface MarketplaceOrder {\n id: string;\n listingId: string;\n listingTitle: string;\n buyer: string;\n seller: string;\n amount: number;\n status: 'pending' | 'confirmed' | 'shipped' | 'delivered' | 'cancelled' | 'returned';\n orderDate: string;\n deliveryDate?: string;\n paymentMethod: string;\n}\n\n// ─── Workflow Types ───────────────────────────────────────────────\nexport type WorkflowStatus = 'active' | 'paused' | 'draft' | 'archived';\n\nexport interface Workflow {\n id: string;\n name: string;\n description: string;\n status: WorkflowStatus;\n category: string;\n triggerType: string;\n createdBy: string;\n createdAt: string;\n updatedAt: string;\n lastRun?: string;\n totalRuns: number;\n successRate: number;\n nodes: number;\n tags: string[];\n}\n\nexport interface WorkflowExecution {\n id: string;\n workflowId: string;\n workflowName: string;\n status: 'running' | 'completed' | 'failed' | 'cancelled';\n startedAt: string;\n completedAt?: string;\n triggeredBy: string;\n duration?: number;\n error?: string;\n}\n\nexport interface WorkflowTemplate {\n id: string;\n name: string;\n description: string;\n category: string;\n rating: number;\n usageCount: number;\n tags: string[];\n}\n\n// ─── Security Types ───────────────────────────────────────────────\nexport interface SecurityEvent {\n id: string;\n type:\n | 'login'\n | 'access_violation'\n | 'data_export'\n | 'config_change'\n | 'threat_detected'\n | 'policy_violation';\n severity: 'critical' | 'high' | 'medium' | 'low' | 'info';\n title: string;\n description: string;\n source: string;\n userId?: string;\n ipAddress?: string;\n timestamp: string;\n resolved: boolean;\n}\n\nexport interface ComplianceFramework {\n id: string;\n name: string;\n version: string;\n status: 'compliant' | 'non_compliant' | 'partial' | 'under_review';\n score: number;\n totalControls: number;\n passedControls: number;\n failedControls: number;\n lastAssessment: string;\n nextAssessment: string;\n}\n\nexport interface SecurityPolicy {\n id: string;\n name: string;\n description: string;\n category: string;\n status: 'active' | 'draft' | 'deprecated' | 'under_review';\n version: string;\n effectiveDate: string;\n reviewDate: string;\n owner: string;\n applicableTo: string[];\n}\n\n// ─── Reports Types ────────────────────────────────────────────────\nexport interface ReportConfig {\n id: string;\n name: string;\n description: string;\n category: string;\n type: 'chart' | 'tabular' | 'dashboard' | 'document';\n schedule?: string;\n lastRun?: string;\n createdBy: string;\n tags: string[];\n}\n\nexport interface ReportExecution {\n id: string;\n reportId: string;\n reportName: string;\n status: 'completed' | 'running' | 'failed' | 'queued';\n executedBy: string;\n executedAt: string;\n duration: number;\n format: string;\n fileSize?: number;\n}\n\n// ─── User Types ───────────────────────────────────────────────────\nexport interface UserRecord {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n role: 'admin' | 'manager' | 'technician' | 'viewer' | 'auditor';\n department: string;\n status: 'active' | 'inactive' | 'suspended' | 'pending';\n lastLogin: string;\n createdAt: string;\n assetsAssigned: number;\n phone: string;\n location: string;\n permissions: string[];\n}\n\n// ─── Notification Types ───────────────────────────────────────────\nexport type NotificationPriority = 'critical' | 'high' | 'medium' | 'low';\nexport type NotificationCategory =\n | 'asset'\n | 'maintenance'\n | 'security'\n | 'workflow'\n | 'transaction'\n | 'system'\n | 'compliance';\n\nexport interface AppNotification {\n id: string;\n title: string;\n message: string;\n priority: NotificationPriority;\n category: NotificationCategory;\n isRead: boolean;\n isPinned: boolean;\n createdAt: string;\n actionUrl?: string;\n actionLabel?: string;\n source: string;\n}\n\n// ─── Audit Types ──────────────────────────────────────────────────\nexport interface AuditEntry {\n id: string;\n action: string;\n entityType: string;\n entityId: string;\n entityName: string;\n userId: string;\n userName: string;\n timestamp: string;\n changes: { field: string; oldValue: string; newValue: string }[];\n ipAddress: string;\n module: string;\n}\n\n// ─── Portfolio Types ──────────────────────────────────────────────\nexport interface PortfolioSummary {\n totalAssets: number;\n totalValue: number;\n depreciatedValue: number;\n byCategory: { category: string; count: number; value: number }[];\n byDepartment: { department: string; count: number; value: number }[];\n byStatus: { status: string; count: number }[];\n depreciationTrend: { month: string; value: number }[];\n acquisitionTrend: { month: string; count: number; value: number }[];\n}\n\n// ─── Operations Types ─────────────────────────────────────────────\nexport interface WorkOrder {\n id: string;\n title: string;\n description: string;\n priority: 'critical' | 'high' | 'medium' | 'low';\n status: 'open' | 'in_progress' | 'on_hold' | 'completed' | 'cancelled';\n assignedTo: string;\n relatedAsset: string;\n relatedAssetName: string;\n createdAt: string;\n dueDate: string;\n estimatedHours: number;\n actualHours?: number;\n cost: number;\n type: string;\n}\n\n// ─── Tracking Types ───────────────────────────────────────────────\nexport interface AssetLocation {\n assetId: string;\n assetName: string;\n latitude: number;\n longitude: number;\n lastUpdated: string;\n building: string;\n floor: string;\n room: string;\n status: AssetStatus;\n}\n\n// ─── CheckInOut Types ─────────────────────────────────────────────\nexport interface CheckInOutRecord {\n id: string;\n assetId: string;\n assetName: string;\n type: 'check_out' | 'check_in';\n userId: string;\n userName: string;\n date: string;\n expectedReturn?: string;\n actualReturn?: string;\n condition: AssetCondition;\n notes: string;\n status: 'active' | 'returned' | 'overdue';\n}\n\n// ─── Settings Types ───────────────────────────────────────────────\nexport interface BackupSchedule {\n id: string;\n name: string;\n frequency: 'daily' | 'weekly' | 'monthly';\n time: string;\n destination: string;\n retention: number;\n lastRun?: string;\n nextRun: string;\n status: 'active' | 'paused' | 'failed';\n size?: string;\n}\n\n// ═══════════════════════════════════════════════════════════════════\n// MOCK DATA\n// ═══════════════════════════════════════════════════════════════════\n\nconst mockAssets: Asset[] = [\n {\n id: 'AST-001',\n name: 'Dell OptiPlex 7090 Desktop',\n description: 'High-performance desktop for engineering department',\n category: 'it_hardware',\n status: 'active',\n condition: 'excellent',\n serialNumber: 'DELL-7090-X1A2B3',\n assetTag: 'IT-HW-001',\n value: 1650,\n currentValue: 1320,\n purchaseDate: '2024-01-15',\n warrantyExpiry: '2027-01-15',\n location: 'Building A, Floor 3, Desk 15',\n department: 'Information Technology',\n assignedTo: 'john.smith@company.com',\n vendor: 'Dell Technologies',\n model: 'OptiPlex 7090',\n manufacturer: 'Dell',\n depreciationRate: 20,\n lastAuditDate: '2025-12-01',\n tags: ['desktop', 'engineering', 'high-performance'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-002',\n name: 'MacBook Pro 16\" M3 Max',\n description: 'Development workstation with Apple Silicon',\n category: 'electronics',\n status: 'active',\n condition: 'excellent',\n serialNumber: 'C02X-MBP-7K9L',\n assetTag: 'IT-LAP-042',\n value: 3499,\n currentValue: 3150,\n purchaseDate: '2024-06-20',\n warrantyExpiry: '2027-06-20',\n location: 'Building B, Floor 2, Desk 8',\n department: 'Engineering',\n assignedTo: 'jane.doe@company.com',\n vendor: 'Apple Inc.',\n model: 'MacBook Pro 16\"',\n manufacturer: 'Apple',\n depreciationRate: 15,\n lastAuditDate: '2025-11-15',\n tags: ['laptop', 'development', 'apple', 'M3'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-003',\n name: 'Cisco Catalyst 9300 Switch',\n description: '48-port managed network switch for server room',\n category: 'networking',\n status: 'active',\n condition: 'good',\n serialNumber: 'CSC-9300-48P-AB12',\n assetTag: 'NET-SW-007',\n value: 8500,\n currentValue: 6800,\n purchaseDate: '2023-03-10',\n warrantyExpiry: '2028-03-10',\n location: 'Server Room A, Rack 3',\n department: 'Network Operations',\n assignedTo: 'net.admin@company.com',\n vendor: 'Cisco Systems',\n model: 'Catalyst 9300-48P',\n manufacturer: 'Cisco',\n depreciationRate: 12,\n lastAuditDate: '2025-10-20',\n tags: ['switch', 'networking', 'cisco', 'managed'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-004',\n name: 'HP LaserJet Pro M404dn',\n description: 'Departmental laser printer with duplex printing',\n category: 'equipment',\n status: 'under_maintenance',\n condition: 'fair',\n serialNumber: 'HP-M404-DN-XY99',\n assetTag: 'PRN-001',\n value: 450,\n currentValue: 270,\n purchaseDate: '2023-08-15',\n warrantyExpiry: '2025-08-15',\n location: 'Building A, Floor 2, Print Station',\n department: 'General Office',\n assignedTo: 'facilities@company.com',\n vendor: 'HP Inc.',\n model: 'LaserJet Pro M404dn',\n manufacturer: 'HP',\n depreciationRate: 25,\n lastAuditDate: '2025-09-30',\n tags: ['printer', 'laser', 'duplex'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-005',\n name: 'Dell PowerEdge R750xs',\n description: 'Production database server with redundant power',\n category: 'servers',\n status: 'active',\n condition: 'excellent',\n serialNumber: 'DELL-R750-SRV-001',\n assetTag: 'SRV-DB-001',\n value: 12500,\n currentValue: 10000,\n purchaseDate: '2024-02-28',\n warrantyExpiry: '2029-02-28',\n location: 'Server Room A, Rack 1',\n department: 'Infrastructure',\n assignedTo: 'sre.team@company.com',\n vendor: 'Dell Technologies',\n model: 'PowerEdge R750xs',\n manufacturer: 'Dell',\n depreciationRate: 10,\n lastAuditDate: '2025-12-15',\n tags: ['server', 'database', 'production', 'dell'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-006',\n name: 'Herman Miller Aeron Chair',\n description: 'Ergonomic office chair Size B, Graphite',\n category: 'furniture',\n status: 'active',\n condition: 'good',\n serialNumber: 'HM-AERON-B-4521',\n assetTag: 'FUR-CH-089',\n value: 1395,\n currentValue: 1116,\n purchaseDate: '2024-04-10',\n warrantyExpiry: '2036-04-10',\n location: 'Building B, Floor 4, Office 12',\n department: 'Product Design',\n assignedTo: 'sarah.wilson@company.com',\n vendor: 'Herman Miller',\n model: 'Aeron Remastered',\n manufacturer: 'Herman Miller',\n depreciationRate: 8,\n lastAuditDate: '2025-11-01',\n tags: ['chair', 'ergonomic', 'herman-miller'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-007',\n name: 'Palo Alto PA-460 Firewall',\n description: 'Next-gen firewall for perimeter security',\n category: 'networking',\n status: 'active',\n condition: 'excellent',\n serialNumber: 'PA-460-FW-001',\n assetTag: 'SEC-FW-003',\n value: 5200,\n currentValue: 4680,\n purchaseDate: '2024-09-01',\n warrantyExpiry: '2027-09-01',\n location: 'Server Room B, Rack 1',\n department: 'Security Operations',\n assignedTo: 'secops@company.com',\n vendor: 'Palo Alto Networks',\n model: 'PA-460',\n manufacturer: 'Palo Alto',\n depreciationRate: 15,\n lastAuditDate: '2025-12-01',\n tags: ['firewall', 'security', 'palo-alto', 'ngfw'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-008',\n name: 'Microsoft Surface Hub 2S 85\"',\n description: 'Interactive whiteboard for conference room',\n category: 'electronics',\n status: 'active',\n condition: 'excellent',\n serialNumber: 'MS-SH2S-85-A001',\n assetTag: 'AV-HUB-002',\n value: 21999,\n currentValue: 17599,\n purchaseDate: '2024-03-15',\n warrantyExpiry: '2027-03-15',\n location: 'Building A, Conference Room 301',\n department: 'General Office',\n assignedTo: 'facilities@company.com',\n vendor: 'Microsoft',\n model: 'Surface Hub 2S 85\"',\n manufacturer: 'Microsoft',\n depreciationRate: 20,\n lastAuditDate: '2025-10-15',\n tags: ['display', 'conference', 'interactive', 'microsoft'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-009',\n name: 'Ford Transit Connect Van',\n description: 'Company vehicle for IT field service operations',\n category: 'vehicles',\n status: 'active',\n condition: 'good',\n serialNumber: 'NM0GE9E28R1234567',\n assetTag: 'VEH-VAN-003',\n value: 32500,\n currentValue: 24375,\n purchaseDate: '2023-06-01',\n warrantyExpiry: '2026-06-01',\n location: 'Parking Lot B, Bay 12',\n department: 'Field Services',\n assignedTo: 'field.ops@company.com',\n vendor: 'Ford Motor Company',\n model: 'Transit Connect XLT',\n manufacturer: 'Ford',\n depreciationRate: 18,\n lastAuditDate: '2025-11-20',\n tags: ['vehicle', 'van', 'field-service'],\n maintenanceHistory: [],\n },\n {\n id: 'AST-010',\n name: 'Adobe Creative Cloud Enterprise',\n description: '50-seat enterprise license for design team',\n category: 'software',\n status: 'active',\n condition: 'excellent',\n serialNumber: 'ADBE-CC-ENT-50-2025',\n assetTag: 'SW-LIC-015',\n value: 39900,\n currentValue: 39900,\n purchaseDate: '2025-01-01',\n warrantyExpiry: '2025-12-31',\n location: 'Cloud/SaaS',\n department: 'Creative Services',\n assignedTo: 'design.lead@company.com',\n vendor: 'Adobe Inc.',\n model: 'Creative Cloud Enterprise',\n manufacturer: 'Adobe',\n depreciationRate: 100,\n lastAuditDate: '2025-12-01',\n tags: ['software', 'license', 'adobe', 'creative'],\n maintenanceHistory: [],\n },\n];\n\nconst mockIncidents: Incident[] = [\n {\n id: 'INC-001',\n title: 'Server Room Temperature Alert',\n description: 'Temperature in Server Room A exceeded 28C threshold',\n category: 'Hardware',\n priority: 'critical',\n status: 'in_progress',\n assignedTo: 'john.smith@company.com',\n reportedBy: 'monitoring@company.com',\n affectedAssets: ['AST-005', 'AST-003'],\n createdAt: '2026-02-10T10:30:00Z',\n updatedAt: '2026-02-10T11:15:00Z',\n slaBreached: false,\n },\n {\n id: 'INC-002',\n title: 'Email Service Outage',\n description: 'Users unable to send/receive via corporate email system',\n category: 'Software',\n priority: 'high',\n status: 'resolved',\n assignedTo: 'jane.doe@company.com',\n reportedBy: 'helpdesk@company.com',\n affectedAssets: ['AST-005'],\n createdAt: '2026-02-09T09:00:00Z',\n updatedAt: '2026-02-09T11:30:00Z',\n resolvedAt: '2026-02-09T11:30:00Z',\n slaBreached: false,\n resolution: 'Restarted email service and cleared message queue backlog',\n },\n {\n id: 'INC-003',\n title: 'Network Printer Not Responding',\n description: 'HP LaserJet on Floor 2 not accepting print jobs',\n category: 'Hardware',\n priority: 'medium',\n status: 'new',\n assignedTo: '',\n reportedBy: 'marketing@company.com',\n affectedAssets: ['AST-004'],\n createdAt: '2026-02-10T08:15:00Z',\n updatedAt: '2026-02-10T08:15:00Z',\n slaBreached: false,\n },\n {\n id: 'INC-004',\n title: 'VPN Connection Drops',\n description: 'Remote users experiencing intermittent VPN disconnections',\n category: 'Network',\n priority: 'high',\n status: 'in_progress',\n assignedTo: 'net.admin@company.com',\n reportedBy: 'helpdesk@company.com',\n affectedAssets: ['AST-007'],\n createdAt: '2026-02-09T14:20:00Z',\n updatedAt: '2026-02-10T09:00:00Z',\n slaBreached: false,\n },\n {\n id: 'INC-005',\n title: 'Database Performance Degradation',\n description: 'Production DB query times increased by 400%',\n category: 'Performance',\n priority: 'critical',\n status: 'escalated',\n assignedTo: 'dba.team@company.com',\n reportedBy: 'monitoring@company.com',\n affectedAssets: ['AST-005'],\n createdAt: '2026-02-10T06:45:00Z',\n updatedAt: '2026-02-10T07:30:00Z',\n slaBreached: true,\n },\n];\n\nconst mockChanges: ChangeRequest[] = [\n {\n id: 'CHG-001',\n title: 'Upgrade Database Server Memory',\n description: 'Increase RAM from 64GB to 128GB on production DB server',\n type: 'normal',\n status: 'approved',\n risk: 'medium',\n requestedBy: 'dba@company.com',\n assignedTo: 'john.smith@company.com',\n affectedAssets: ['AST-005'],\n scheduledStart: '2026-02-15T20:00:00Z',\n scheduledEnd: '2026-02-15T23:00:00Z',\n createdAt: '2026-02-05T10:00:00Z',\n approvals: [{ name: 'IT Manager', status: 'approved', date: '2026-02-07T14:30:00Z' }],\n },\n {\n id: 'CHG-002',\n title: 'Deploy Security Patch CVE-2026-1234',\n description: 'Apply critical security patch to all web servers',\n type: 'emergency',\n status: 'completed',\n risk: 'low',\n requestedBy: 'security@company.com',\n assignedTo: 'jane.doe@company.com',\n affectedAssets: ['AST-005'],\n scheduledStart: '2026-02-08T15:00:00Z',\n scheduledEnd: '2026-02-08T16:00:00Z',\n createdAt: '2026-02-08T12:00:00Z',\n approvals: [{ name: 'CISO', status: 'approved', date: '2026-02-08T14:45:00Z' }],\n },\n {\n id: 'CHG-003',\n title: 'Network Switch Firmware Update',\n description: 'Update Cisco Catalyst firmware to version 17.12.1',\n type: 'normal',\n status: 'submitted',\n risk: 'high',\n requestedBy: 'net.admin@company.com',\n assignedTo: 'net.admin@company.com',\n affectedAssets: ['AST-003'],\n scheduledStart: '2026-02-22T22:00:00Z',\n scheduledEnd: '2026-02-23T02:00:00Z',\n createdAt: '2026-02-10T09:00:00Z',\n approvals: [],\n },\n];\n\nconst mockProblems: Problem[] = [\n {\n id: 'PRB-001',\n title: 'Recurring Network Connectivity Issues - Building A',\n description: 'Multiple incidents of intermittent network drops in Building A, Floors 2-4',\n status: 'investigating',\n priority: 'high',\n category: 'Network',\n assignedTo: 'net.admin@company.com',\n relatedIncidents: ['INC-004', 'INC-006', 'INC-007'],\n createdAt: '2026-01-28T14:00:00Z',\n updatedAt: '2026-02-10T16:30:00Z',\n },\n {\n id: 'PRB-002',\n title: 'Slow CRM Application Performance',\n description: 'CRM response times degrading during peak hours (10am-2pm)',\n status: 'known_error',\n priority: 'medium',\n category: 'Performance',\n assignedTo: 'app.admin@company.com',\n relatedIncidents: ['INC-005', 'INC-008'],\n rootCause: 'Inefficient database queries on large customer datasets',\n workaround: 'Users can work during off-peak hours or use cached views',\n createdAt: '2026-01-20T09:00:00Z',\n updatedAt: '2026-02-08T11:00:00Z',\n },\n];\n\nconst mockTransactions: FinanceTransaction[] = [\n {\n id: 'TXN-001',\n type: 'purchase',\n amount: 24750,\n currency: 'USD',\n description: 'Dell OptiPlex 9020 - Batch Purchase (15 units)',\n category: 'Hardware',\n date: '2026-01-15T10:30:00Z',\n status: 'completed',\n vendor: 'Dell Technologies',\n relatedAsset: 'AST-001',\n department: 'Information Technology',\n approvedBy: 'Michael Chen',\n poNumber: 'PO-2026-001',\n invoiceNumber: 'INV-DELL-4521',\n },\n {\n id: 'TXN-002',\n type: 'purchase',\n amount: 15600,\n currency: 'USD',\n description: 'Microsoft 365 Enterprise License Renewal (200 seats)',\n category: 'Software',\n date: '2026-01-20T09:00:00Z',\n status: 'completed',\n vendor: 'Microsoft Corporation',\n department: 'All Departments',\n approvedBy: 'Sarah Johnson',\n poNumber: 'PO-2026-002',\n invoiceNumber: 'INV-MS-8821',\n },\n {\n id: 'TXN-003',\n type: 'maintenance',\n amount: 3200,\n currency: 'USD',\n description: 'Quarterly server room HVAC maintenance',\n category: 'Services',\n date: '2026-02-01T08:00:00Z',\n status: 'approved',\n vendor: 'CoolAir Systems',\n relatedAsset: 'AST-005',\n department: 'Facilities',\n approvedBy: 'Robert Taylor',\n },\n {\n id: 'TXN-004',\n type: 'disposal',\n amount: -850,\n currency: 'USD',\n description: 'E-waste recycling - 20 decommissioned monitors',\n category: 'Hardware',\n date: '2026-02-05T14:00:00Z',\n status: 'completed',\n vendor: 'EcoRecycle Inc.',\n department: 'IT Operations',\n },\n {\n id: 'TXN-005',\n type: 'lease',\n amount: 4500,\n currency: 'USD',\n description: 'Monthly copier fleet lease (12 devices)',\n category: 'Equipment',\n date: '2026-02-01T00:00:00Z',\n status: 'completed',\n vendor: 'Xerox Business Solutions',\n department: 'General Office',\n invoiceNumber: 'INV-XRX-2026-02',\n },\n {\n id: 'TXN-006',\n type: 'purchase',\n amount: 8500,\n currency: 'USD',\n description: 'Cisco Catalyst 9300 replacement switch',\n category: 'Networking',\n date: '2026-02-08T11:00:00Z',\n status: 'pending',\n vendor: 'Cisco Systems',\n relatedAsset: 'AST-003',\n department: 'Network Operations',\n poNumber: 'PO-2026-015',\n },\n];\n\nconst mockBudgets: Budget[] = [\n {\n id: 'BUD-001',\n name: 'IT Equipment - Q1 2026',\n category: 'Hardware',\n allocated: 75000,\n spent: 42250,\n remaining: 32750,\n period: 'Q1 2026',\n department: 'Information Technology',\n status: 'on_track',\n },\n {\n id: 'BUD-002',\n name: 'Software Licensing',\n category: 'Software',\n allocated: 50000,\n spent: 55600,\n remaining: -5600,\n period: 'FY 2026',\n department: 'All Departments',\n status: 'over_budget',\n },\n {\n id: 'BUD-003',\n name: 'Maintenance & Repairs',\n category: 'Services',\n allocated: 30000,\n spent: 12800,\n remaining: 17200,\n period: 'Q1 2026',\n department: 'Facilities',\n status: 'under_budget',\n },\n {\n id: 'BUD-004',\n name: 'Network Infrastructure',\n category: 'Networking',\n allocated: 40000,\n spent: 8500,\n remaining: 31500,\n period: 'Q1 2026',\n department: 'Network Operations',\n status: 'on_track',\n },\n];\n\nconst mockInvoices: Invoice[] = [\n {\n id: 'INV-001',\n number: 'INV-DELL-4521',\n vendor: 'Dell Technologies',\n amount: 24750,\n currency: 'USD',\n issueDate: '2026-01-15',\n dueDate: '2026-02-15',\n status: 'paid',\n items: [{ description: 'Dell OptiPlex 9020 Desktop', qty: 15, unitPrice: 1650, total: 24750 }],\n relatedPO: 'PO-2026-001',\n },\n {\n id: 'INV-002',\n number: 'INV-MS-8821',\n vendor: 'Microsoft Corporation',\n amount: 15600,\n currency: 'USD',\n issueDate: '2026-01-20',\n dueDate: '2026-02-20',\n status: 'paid',\n items: [{ description: 'Microsoft 365 E3 License', qty: 200, unitPrice: 78, total: 15600 }],\n relatedPO: 'PO-2026-002',\n },\n {\n id: 'INV-003',\n number: 'INV-XRX-2026-02',\n vendor: 'Xerox Business Solutions',\n amount: 4500,\n currency: 'USD',\n issueDate: '2026-02-01',\n dueDate: '2026-03-01',\n status: 'sent',\n items: [\n { description: 'WorkCentre 6515 Lease', qty: 8, unitPrice: 375, total: 3000 },\n { description: 'AltaLink C8070 Lease', qty: 4, unitPrice: 375, total: 1500 },\n ],\n },\n {\n id: 'INV-004',\n number: 'INV-CSC-9921',\n vendor: 'Cisco Systems',\n amount: 8500,\n currency: 'USD',\n issueDate: '2026-02-08',\n dueDate: '2026-03-10',\n status: 'overdue',\n items: [{ description: 'Catalyst 9300-48P Switch', qty: 1, unitPrice: 8500, total: 8500 }],\n relatedPO: 'PO-2026-015',\n },\n];\n\nconst mockMaintenanceRecords: MaintenanceRecord[] = [\n {\n id: 'MNT-001',\n assetId: 'AST-001',\n assetName: 'Dell OptiPlex 7090',\n type: 'preventive',\n priority: 'medium',\n status: 'scheduled',\n title: 'Quarterly System Maintenance',\n description: 'Clean internals, update OS, run diagnostics',\n scheduledDate: '2026-03-15',\n estimatedDuration: 120,\n assignedTo: 'john.doe@company.com',\n cost: 150,\n location: 'Building A, Floor 3',\n checklist: [\n { task: 'Clean internal components', completed: false },\n { task: 'Update operating system', completed: false },\n { task: 'Run hardware diagnostics', completed: false },\n { task: 'Update antivirus definitions', completed: false },\n ],\n },\n {\n id: 'MNT-002',\n assetId: 'AST-004',\n assetName: 'HP LaserJet Pro M404dn',\n type: 'corrective',\n priority: 'high',\n status: 'in_progress',\n title: 'Printer Paper Jam Fix & Cleaning',\n description: 'Resolve recurring paper jams and clean print mechanism',\n scheduledDate: '2026-02-10',\n estimatedDuration: 60,\n assignedTo: 'sarah.wilson@company.com',\n cost: 85,\n location: 'Building A, Floor 2',\n checklist: [\n { task: 'Clear paper jam', completed: true },\n { task: 'Clean rollers', completed: true },\n { task: 'Replace pickup roller', completed: false },\n { task: 'Run test prints', completed: false },\n ],\n },\n {\n id: 'MNT-003',\n assetId: 'AST-003',\n assetName: 'Cisco Catalyst 9300',\n type: 'preventive',\n priority: 'low',\n status: 'completed',\n title: 'Monthly Network Switch Health Check',\n description: 'Check port status, temperature, firmware version',\n scheduledDate: '2026-02-01',\n completedDate: '2026-02-01',\n estimatedDuration: 30,\n actualDuration: 25,\n assignedTo: 'net.admin@company.com',\n cost: 0,\n location: 'Server Room A',\n checklist: [\n { task: 'Check port utilization', completed: true },\n { task: 'Verify temperature readings', completed: true },\n { task: 'Review error logs', completed: true },\n ],\n },\n {\n id: 'MNT-004',\n assetId: 'AST-009',\n assetName: 'Ford Transit Connect Van',\n type: 'preventive',\n priority: 'medium',\n status: 'scheduled',\n title: 'Vehicle Service - Oil Change & Inspection',\n description:\n 'Scheduled 15,000 mile service including oil change, tire rotation, brake inspection',\n scheduledDate: '2026-02-20',\n estimatedDuration: 180,\n assignedTo: 'fleet.mgr@company.com',\n cost: 350,\n location: 'AutoService Center, Bay 4',\n checklist: [\n { task: 'Oil and filter change', completed: false },\n { task: 'Tire rotation', completed: false },\n { task: 'Brake inspection', completed: false },\n { task: 'Fluid level check', completed: false },\n { task: 'Safety inspection', completed: false },\n ],\n },\n];\n\nconst mockMaintenanceTemplates: MaintenanceTemplate[] = [\n {\n id: 'MT-001',\n name: 'Desktop Computer Maintenance',\n type: 'preventive',\n estimatedDuration: 90,\n checklist: [\n 'Clean internal components',\n 'Update software',\n 'Run diagnostics',\n 'Check thermal paste',\n ],\n cost: 100,\n category: 'IT Equipment',\n },\n {\n id: 'MT-002',\n name: 'Printer Maintenance',\n type: 'preventive',\n estimatedDuration: 45,\n checklist: [\n 'Clean print mechanism',\n 'Check consumables',\n 'Calibrate print quality',\n 'Update firmware',\n ],\n cost: 50,\n category: 'Office Equipment',\n },\n {\n id: 'MT-003',\n name: 'Server Health Check',\n type: 'preventive',\n estimatedDuration: 60,\n checklist: [\n 'Check disk health',\n 'Review system logs',\n 'Verify backup status',\n 'Test failover',\n 'Update firmware',\n ],\n cost: 200,\n category: 'Infrastructure',\n },\n {\n id: 'MT-004',\n name: 'Network Switch Audit',\n type: 'preventive',\n estimatedDuration: 30,\n checklist: [\n 'Check port status',\n 'Review error counters',\n 'Verify spanning tree',\n 'Check firmware version',\n ],\n cost: 0,\n category: 'Networking',\n },\n];\n\nconst mockMarketplaceListings: MarketplaceListing[] = [\n {\n id: 'MKT-001',\n title: 'Dell Latitude 5520 Laptop - Refurbished',\n description: 'Refurbished enterprise laptop, i7-1165G7, 16GB RAM, 512GB SSD. 180-day warranty.',\n price: 649,\n originalPrice: 1299,\n condition: 'good',\n category: 'Electronics',\n seller: 'IT Surplus Dept.',\n sellerRating: 4.8,\n location: 'Building A Warehouse',\n images: [],\n status: 'active',\n listedDate: '2026-02-01',\n views: 234,\n tags: ['laptop', 'dell', 'refurbished'],\n specifications: {\n Processor: 'Intel i7-1165G7',\n RAM: '16GB DDR4',\n Storage: '512GB NVMe SSD',\n Display: '15.6\" FHD IPS',\n },\n },\n {\n id: 'MKT-002',\n title: 'Cisco SG350 28-Port Managed Switch',\n description: 'Decommissioned network switch in good working condition. Updated firmware.',\n price: 320,\n originalPrice: 850,\n condition: 'good',\n category: 'Networking',\n seller: 'Network Ops',\n sellerRating: 4.9,\n location: 'Server Room B',\n images: [],\n status: 'active',\n listedDate: '2026-01-28',\n views: 89,\n tags: ['switch', 'cisco', 'networking'],\n specifications: { Ports: '28x GbE', PoE: 'No', Management: 'Full L3', Firmware: 'v2.5.9' },\n },\n {\n id: 'MKT-003',\n title: 'Herman Miller Embody Chair - Black',\n description: 'Lightly used ergonomic chair from executive office. All adjustments work.',\n price: 895,\n originalPrice: 1695,\n condition: 'excellent',\n category: 'Furniture',\n seller: 'Facilities Dept.',\n sellerRating: 4.7,\n location: 'Building B, Floor 5',\n images: [],\n status: 'active',\n listedDate: '2026-02-05',\n views: 156,\n tags: ['chair', 'ergonomic', 'herman-miller'],\n specifications: { Color: 'Black Rhythm', Size: 'Standard', Warranty: '8 years remaining' },\n },\n {\n id: 'MKT-004',\n title: 'APC Smart-UPS 1500VA',\n description: 'Battery replaced 6 months ago, all self-tests passed.',\n price: 425,\n originalPrice: 950,\n condition: 'good',\n category: 'Infrastructure',\n seller: 'Data Center Ops',\n sellerRating: 5.0,\n location: 'Warehouse',\n images: [],\n status: 'sold',\n listedDate: '2026-01-15',\n views: 312,\n tags: ['ups', 'power', 'apc', 'battery-backup'],\n specifications: {\n Capacity: '1500VA / 1000W',\n Runtime: '~24min half load',\n Outlets: '8x IEC C13',\n Battery: 'Replaced Aug 2025',\n },\n },\n];\n\nconst mockMarketplaceOrders: MarketplaceOrder[] = [\n {\n id: 'ORD-001',\n listingId: 'MKT-004',\n listingTitle: 'APC Smart-UPS 1500VA',\n buyer: 'mike.johnson@company.com',\n seller: 'Data Center Ops',\n amount: 425,\n status: 'delivered',\n orderDate: '2026-01-20',\n deliveryDate: '2026-01-22',\n paymentMethod: 'Internal Transfer',\n },\n {\n id: 'ORD-002',\n listingId: 'MKT-001',\n listingTitle: 'Dell Latitude 5520 Laptop',\n buyer: 'sarah.wilson@company.com',\n seller: 'IT Surplus Dept.',\n amount: 649,\n status: 'confirmed',\n orderDate: '2026-02-08',\n paymentMethod: 'Department Budget',\n },\n];\n\nconst mockWorkflows: Workflow[] = [\n {\n id: 'WF-001',\n name: 'Asset Maintenance Reminder',\n description: 'Send maintenance reminders 7 days before due date',\n status: 'active',\n category: 'Maintenance',\n triggerType: 'Scheduled (Daily 9AM)',\n createdBy: 'admin@company.com',\n createdAt: '2025-06-15',\n updatedAt: '2026-02-01',\n lastRun: '2026-02-10T09:00:00Z',\n totalRuns: 245,\n successRate: 97.1,\n nodes: 5,\n tags: ['maintenance', 'email', 'automation'],\n },\n {\n id: 'WF-002',\n name: 'New Asset Onboarding',\n description: 'Auto-create tasks when new high-value assets are registered',\n status: 'active',\n category: 'Asset Management',\n triggerType: 'Event (Asset Created)',\n createdBy: 'manager@company.com',\n createdAt: '2025-08-20',\n updatedAt: '2026-01-15',\n lastRun: '2026-02-08T14:15:00Z',\n totalRuns: 67,\n successRate: 94.0,\n nodes: 8,\n tags: ['onboarding', 'approval', 'high-value'],\n },\n {\n id: 'WF-003',\n name: 'Compliance Report Generation',\n description: 'Generate monthly compliance reports for stakeholders',\n status: 'paused',\n category: 'Compliance',\n triggerType: 'Scheduled (1st of month)',\n createdBy: 'compliance@company.com',\n createdAt: '2025-11-01',\n updatedAt: '2026-01-31',\n lastRun: '2026-01-01T07:00:00Z',\n totalRuns: 3,\n successRate: 100,\n nodes: 6,\n tags: ['compliance', 'reporting', 'monthly'],\n },\n {\n id: 'WF-004',\n name: 'Incident Auto-Assignment',\n description: 'Route incidents to appropriate team based on category and priority',\n status: 'active',\n category: 'ITIL',\n triggerType: 'Event (Incident Created)',\n createdBy: 'admin@company.com',\n createdAt: '2025-09-10',\n updatedAt: '2026-02-05',\n lastRun: '2026-02-10T10:30:00Z',\n totalRuns: 189,\n successRate: 98.4,\n nodes: 12,\n tags: ['itil', 'incident', 'auto-routing'],\n },\n];\n\nconst mockWorkflowExecutions: WorkflowExecution[] = [\n {\n id: 'EX-001',\n workflowId: 'WF-001',\n workflowName: 'Asset Maintenance Reminder',\n status: 'completed',\n startedAt: '2026-02-10T09:00:00Z',\n completedAt: '2026-02-10T09:01:48Z',\n triggeredBy: 'system',\n duration: 1.8,\n },\n {\n id: 'EX-002',\n workflowId: 'WF-004',\n workflowName: 'Incident Auto-Assignment',\n status: 'completed',\n startedAt: '2026-02-10T10:30:00Z',\n completedAt: '2026-02-10T10:30:05Z',\n triggeredBy: 'system',\n duration: 0.08,\n },\n {\n id: 'EX-003',\n workflowId: 'WF-002',\n workflowName: 'New Asset Onboarding',\n status: 'running',\n startedAt: '2026-02-10T14:15:00Z',\n triggeredBy: 'john.doe@company.com',\n },\n {\n id: 'EX-004',\n workflowId: 'WF-001',\n workflowName: 'Asset Maintenance Reminder',\n status: 'failed',\n startedAt: '2026-02-09T09:00:00Z',\n completedAt: '2026-02-09T09:00:30Z',\n triggeredBy: 'system',\n duration: 0.5,\n error: 'SMTP server connection timeout',\n },\n];\n\nconst mockWorkflowTemplates: WorkflowTemplate[] = [\n {\n id: 'TPL-001',\n name: 'Asset Lifecycle Automation',\n description: 'Complete asset lifecycle from procurement to disposal',\n category: 'Asset Management',\n rating: 4.8,\n usageCount: 156,\n tags: ['lifecycle', 'automation'],\n },\n {\n id: 'TPL-002',\n name: 'Compliance Monitoring',\n description: 'Automated compliance checking and reporting',\n category: 'Compliance',\n rating: 4.6,\n usageCount: 89,\n tags: ['compliance', 'monitoring'],\n },\n {\n id: 'TPL-003',\n name: 'Predictive Maintenance',\n description: 'Smart maintenance scheduling based on usage patterns',\n category: 'Maintenance',\n rating: 4.9,\n usageCount: 203,\n tags: ['maintenance', 'predictive', 'AI'],\n },\n];\n\nconst mockSecurityEvents: SecurityEvent[] = [\n {\n id: 'SEC-001',\n type: 'login',\n severity: 'info',\n title: 'Successful Admin Login',\n description: 'Admin user john.smith logged in from corporate VPN',\n source: 'Auth System',\n userId: 'john.smith',\n ipAddress: '10.0.1.45',\n timestamp: '2026-02-10T08:30:00Z',\n resolved: true,\n },\n {\n id: 'SEC-002',\n type: 'access_violation',\n severity: 'high',\n title: 'Unauthorized Export Attempt',\n description: 'User tried to export confidential asset report without permission',\n source: 'DLP System',\n userId: 'temp.contractor',\n ipAddress: '10.0.3.12',\n timestamp: '2026-02-09T15:22:00Z',\n resolved: false,\n },\n {\n id: 'SEC-003',\n type: 'threat_detected',\n severity: 'critical',\n title: 'Malware Detected on Workstation',\n description: 'Trojan detected on AST-042 workstation during scheduled scan',\n source: 'Endpoint Protection',\n userId: 'dave.brown',\n ipAddress: '10.0.2.88',\n timestamp: '2026-02-10T03:15:00Z',\n resolved: false,\n },\n {\n id: 'SEC-004',\n type: 'config_change',\n severity: 'medium',\n title: 'Firewall Rule Modified',\n description: 'Outbound rule modified on PA-460 firewall by net.admin',\n source: 'SIEM',\n userId: 'net.admin',\n ipAddress: '10.0.0.5',\n timestamp: '2026-02-09T11:45:00Z',\n resolved: true,\n },\n {\n id: 'SEC-005',\n type: 'policy_violation',\n severity: 'medium',\n title: 'Password Policy Violation',\n description: '3 users have passwords older than 90-day policy maximum',\n source: 'IAM System',\n timestamp: '2026-02-10T06:00:00Z',\n resolved: false,\n },\n];\n\nconst mockComplianceFrameworks: ComplianceFramework[] = [\n {\n id: 'CF-001',\n name: 'ISO 27001',\n version: '2022',\n status: 'compliant',\n score: 94,\n totalControls: 93,\n passedControls: 87,\n failedControls: 6,\n lastAssessment: '2025-12-15',\n nextAssessment: '2026-06-15',\n },\n {\n id: 'CF-002',\n name: 'SOC 2 Type II',\n version: '2024',\n status: 'compliant',\n score: 97,\n totalControls: 64,\n passedControls: 62,\n failedControls: 2,\n lastAssessment: '2025-11-01',\n nextAssessment: '2026-05-01',\n },\n {\n id: 'CF-003',\n name: 'NIST CSF',\n version: '2.0',\n status: 'partial',\n score: 78,\n totalControls: 108,\n passedControls: 84,\n failedControls: 24,\n lastAssessment: '2025-10-20',\n nextAssessment: '2026-04-20',\n },\n {\n id: 'CF-004',\n name: 'GDPR',\n version: '2018',\n status: 'under_review',\n score: 88,\n totalControls: 45,\n passedControls: 40,\n failedControls: 5,\n lastAssessment: '2025-09-30',\n nextAssessment: '2026-03-30',\n },\n];\n\nconst mockSecurityPolicies: SecurityPolicy[] = [\n {\n id: 'POL-001',\n name: 'Asset Classification Policy',\n description: 'Guidelines for classifying assets by sensitivity and criticality',\n category: 'Asset Management',\n status: 'active',\n version: '3.2',\n effectiveDate: '2025-07-01',\n reviewDate: '2026-07-01',\n owner: 'CISO',\n applicableTo: ['All Departments'],\n },\n {\n id: 'POL-002',\n name: 'Acceptable Use Policy',\n description: 'Rules governing the use of company IT assets',\n category: 'General',\n status: 'active',\n version: '5.0',\n effectiveDate: '2025-01-01',\n reviewDate: '2026-01-01',\n owner: 'IT Director',\n applicableTo: ['All Employees'],\n },\n {\n id: 'POL-003',\n name: 'Data Retention Policy',\n description: 'Specifies how long different data types must be retained',\n category: 'Data Governance',\n status: 'under_review',\n version: '2.1',\n effectiveDate: '2024-06-01',\n reviewDate: '2025-12-01',\n owner: 'DPO',\n applicableTo: ['IT', 'Legal', 'Compliance'],\n },\n {\n id: 'POL-004',\n name: 'Incident Response Policy',\n description: 'Procedures for responding to security incidents',\n category: 'Security',\n status: 'active',\n version: '4.0',\n effectiveDate: '2025-09-01',\n reviewDate: '2026-09-01',\n owner: 'CISO',\n applicableTo: ['IT', 'Security', 'Management'],\n },\n];\n\nconst mockReports: ReportConfig[] = [\n {\n id: 'RPT-001',\n name: 'Asset Utilization Report',\n description: 'Analysis of asset utilization across departments',\n category: 'Operational',\n type: 'chart',\n schedule: 'Weekly',\n lastRun: '2026-02-07T09:00:00Z',\n createdBy: 'admin@company.com',\n tags: ['utilization', 'assets'],\n },\n {\n id: 'RPT-002',\n name: 'Financial Summary Dashboard',\n description: 'Executive financial metrics and trends',\n category: 'Financial',\n type: 'dashboard',\n schedule: 'Monthly',\n lastRun: '2026-02-01T08:00:00Z',\n createdBy: 'finance@company.com',\n tags: ['financial', 'executive'],\n },\n {\n id: 'RPT-003',\n name: 'Maintenance Compliance Report',\n description: 'Track maintenance schedules and compliance',\n category: 'Compliance',\n type: 'tabular',\n schedule: 'Monthly',\n lastRun: '2026-02-01T07:00:00Z',\n createdBy: 'maintenance@company.com',\n tags: ['maintenance', 'compliance'],\n },\n {\n id: 'RPT-004',\n name: 'ITIL Service Performance',\n description: 'Incident, change, and problem management KPIs',\n category: 'Performance',\n type: 'chart',\n lastRun: '2026-02-06T14:15:00Z',\n createdBy: 'service@company.com',\n tags: ['itil', 'kpi'],\n },\n {\n id: 'RPT-005',\n name: 'Asset Inventory Audit',\n description: 'Complete inventory audit with discrepancies',\n category: 'Inventory',\n type: 'document',\n createdBy: 'inventory@company.com',\n tags: ['inventory', 'audit'],\n },\n];\n\nconst mockReportExecutions: ReportExecution[] = [\n {\n id: 'EXE-001',\n reportId: 'RPT-001',\n reportName: 'Asset Utilization Report',\n status: 'completed',\n executedBy: 'admin@company.com',\n executedAt: '2026-02-07T09:00:00Z',\n duration: 12.5,\n format: 'PDF',\n fileSize: 2456789,\n },\n {\n id: 'EXE-002',\n reportId: 'RPT-002',\n reportName: 'Financial Summary Dashboard',\n status: 'completed',\n executedBy: 'finance@company.com',\n executedAt: '2026-02-01T08:00:00Z',\n duration: 8.2,\n format: 'PNG',\n fileSize: 1876543,\n },\n {\n id: 'EXE-003',\n reportId: 'RPT-003',\n reportName: 'Maintenance Compliance Report',\n status: 'failed',\n executedBy: 'maintenance@company.com',\n executedAt: '2026-02-01T07:00:00Z',\n duration: 45.0,\n format: 'Excel',\n },\n {\n id: 'EXE-004',\n reportId: 'RPT-004',\n reportName: 'ITIL Service Performance',\n status: 'running',\n executedBy: 'service@company.com',\n executedAt: '2026-02-10T14:15:00Z',\n duration: 0,\n format: 'PDF',\n },\n];\n\nconst mockUsers: UserRecord[] = [\n {\n id: 'USR-001',\n email: 'john.smith@company.com',\n firstName: 'John',\n lastName: 'Smith',\n role: 'admin',\n department: 'Information Technology',\n status: 'active',\n lastLogin: '2026-02-10T08:30:00Z',\n createdAt: '2024-01-15',\n assetsAssigned: 12,\n phone: '+1-555-0123',\n location: 'New York, NY',\n permissions: ['assets.full', 'users.full', 'reports.full', 'settings.full'],\n },\n {\n id: 'USR-002',\n email: 'jane.doe@company.com',\n firstName: 'Jane',\n lastName: 'Doe',\n role: 'manager',\n department: 'Engineering',\n status: 'active',\n lastLogin: '2026-02-10T09:15:00Z',\n createdAt: '2024-02-20',\n assetsAssigned: 8,\n phone: '+1-555-0234',\n location: 'San Francisco, CA',\n permissions: ['assets.full', 'reports.read', 'users.read'],\n },\n {\n id: 'USR-003',\n email: 'mike.johnson@company.com',\n firstName: 'Mike',\n lastName: 'Johnson',\n role: 'technician',\n department: 'IT Support',\n status: 'active',\n lastLogin: '2026-02-10T07:45:00Z',\n createdAt: '2024-05-10',\n assetsAssigned: 3,\n phone: '+1-555-0345',\n location: 'New York, NY',\n permissions: ['assets.read', 'assets.update', 'maintenance.full'],\n },\n {\n id: 'USR-004',\n email: 'sarah.wilson@company.com',\n firstName: 'Sarah',\n lastName: 'Wilson',\n role: 'viewer',\n department: 'Finance',\n status: 'active',\n lastLogin: '2026-02-09T16:30:00Z',\n createdAt: '2024-08-01',\n assetsAssigned: 2,\n phone: '+1-555-0456',\n location: 'New York, NY',\n permissions: ['assets.read', 'reports.read'],\n },\n {\n id: 'USR-005',\n email: 'david.brown@company.com',\n firstName: 'David',\n lastName: 'Brown',\n role: 'technician',\n department: 'Facilities',\n status: 'inactive',\n lastLogin: '2025-12-15T10:00:00Z',\n createdAt: '2024-03-15',\n assetsAssigned: 0,\n phone: '+1-555-0567',\n location: 'New York, NY',\n permissions: ['assets.read'],\n },\n {\n id: 'USR-006',\n email: 'lisa.chen@company.com',\n firstName: 'Lisa',\n lastName: 'Chen',\n role: 'auditor',\n department: 'Compliance',\n status: 'active',\n lastLogin: '2026-02-10T10:00:00Z',\n createdAt: '2025-01-10',\n assetsAssigned: 1,\n phone: '+1-555-0678',\n location: 'Los Angeles, CA',\n permissions: ['assets.read', 'audit.full', 'reports.full', 'compliance.full'],\n },\n];\n\nconst mockNotifications: AppNotification[] = [\n {\n id: 'NOTIF-001',\n title: 'Asset Maintenance Due',\n message: 'Routine maintenance for Dell OptiPlex 7090 (AST-001) is due in 3 days.',\n priority: 'high',\n category: 'maintenance',\n isRead: false,\n isPinned: true,\n createdAt: '2026-02-10T09:30:00Z',\n actionUrl: '/maintenance/maintenance-scheduler',\n actionLabel: 'Schedule Now',\n source: 'Maintenance System',\n },\n {\n id: 'NOTIF-002',\n title: 'Transaction Approved',\n message: 'Your purchase request for Cisco switch (PO-2026-015) was approved by Finance.',\n priority: 'medium',\n category: 'transaction',\n isRead: true,\n isPinned: false,\n createdAt: '2026-02-09T15:00:00Z',\n actionUrl: '/transactions/transaction-detail',\n actionLabel: 'View Details',\n source: 'Michael Chen',\n },\n {\n id: 'NOTIF-003',\n title: 'Security Alert: Malware Detected',\n message:\n 'Endpoint protection detected a trojan on workstation AST-042. Immediate review required.',\n priority: 'critical',\n category: 'security',\n isRead: false,\n isPinned: false,\n createdAt: '2026-02-10T03:15:00Z',\n actionUrl: '/security/security-event-detail',\n actionLabel: 'Review Alert',\n source: 'Endpoint Protection',\n },\n {\n id: 'NOTIF-004',\n title: 'Workflow Failed',\n message: 'Asset Maintenance Reminder workflow failed due to SMTP connection timeout.',\n priority: 'high',\n category: 'workflow',\n isRead: false,\n isPinned: false,\n createdAt: '2026-02-09T09:01:00Z',\n actionUrl: '/workflows/workflow-executions',\n actionLabel: 'View Logs',\n source: 'Workflow Engine',\n },\n {\n id: 'NOTIF-005',\n title: 'Weekly Report Ready',\n message: 'Your weekly asset utilization report for Feb 3-9 is available for download.',\n priority: 'low',\n category: 'system',\n isRead: false,\n isPinned: false,\n createdAt: '2026-02-10T06:00:00Z',\n actionUrl: '/reports/reports-list',\n actionLabel: 'Download',\n source: 'Report System',\n },\n {\n id: 'NOTIF-006',\n title: 'Budget Overrun Warning',\n message: 'Software Licensing budget (BUD-002) is $5,600 over the allocated amount.',\n priority: 'high',\n category: 'transaction',\n isRead: true,\n isPinned: false,\n createdAt: '2026-02-08T10:00:00Z',\n actionUrl: '/finance/budget-detail',\n actionLabel: 'Review Budget',\n source: 'Finance System',\n },\n {\n id: 'NOTIF-007',\n title: 'Compliance Assessment Due',\n message: 'GDPR compliance assessment is due on March 30. Begin preparation now.',\n priority: 'medium',\n category: 'compliance',\n isRead: false,\n isPinned: true,\n createdAt: '2026-02-07T08:00:00Z',\n actionUrl: '/security/compliance-detail',\n actionLabel: 'Start Assessment',\n source: 'Compliance System',\n },\n];\n\nconst mockAuditEntries: AuditEntry[] = [\n {\n id: 'AUD-001',\n action: 'Asset Created',\n entityType: 'Asset',\n entityId: 'AST-010',\n entityName: 'Adobe Creative Cloud Enterprise',\n userId: 'USR-001',\n userName: 'John Smith',\n timestamp: '2026-02-10T10:30:00Z',\n changes: [\n { field: 'status', oldValue: '', newValue: 'active' },\n { field: 'value', oldValue: '', newValue: '$39,900' },\n ],\n ipAddress: '10.0.1.45',\n module: 'Asset Management',\n },\n {\n id: 'AUD-002',\n action: 'Incident Resolved',\n entityType: 'Incident',\n entityId: 'INC-002',\n entityName: 'Email Service Outage',\n userId: 'USR-002',\n userName: 'Jane Doe',\n timestamp: '2026-02-09T11:30:00Z',\n changes: [{ field: 'status', oldValue: 'in_progress', newValue: 'resolved' }],\n ipAddress: '10.0.2.12',\n module: 'ITIL',\n },\n {\n id: 'AUD-003',\n action: 'User Permission Changed',\n entityType: 'User',\n entityId: 'USR-004',\n entityName: 'Sarah Wilson',\n userId: 'USR-001',\n userName: 'John Smith',\n timestamp: '2026-02-09T09:00:00Z',\n changes: [\n { field: 'permissions', oldValue: 'assets.read', newValue: 'assets.read, reports.read' },\n ],\n ipAddress: '10.0.1.45',\n module: 'User Management',\n },\n {\n id: 'AUD-004',\n action: 'Budget Updated',\n entityType: 'Budget',\n entityId: 'BUD-002',\n entityName: 'Software Licensing',\n userId: 'USR-004',\n userName: 'Sarah Wilson',\n timestamp: '2026-02-08T14:00:00Z',\n changes: [\n { field: 'spent', oldValue: '$50,000', newValue: '$55,600' },\n { field: 'status', oldValue: 'on_track', newValue: 'over_budget' },\n ],\n ipAddress: '10.0.1.78',\n module: 'Finance',\n },\n {\n id: 'AUD-005',\n action: 'Security Policy Reviewed',\n entityType: 'Policy',\n entityId: 'POL-003',\n entityName: 'Data Retention Policy',\n userId: 'USR-006',\n userName: 'Lisa Chen',\n timestamp: '2026-02-07T16:00:00Z',\n changes: [{ field: 'status', oldValue: 'active', newValue: 'under_review' }],\n ipAddress: '10.0.4.22',\n module: 'Security',\n },\n {\n id: 'AUD-006',\n action: 'Asset Transferred',\n entityType: 'Asset',\n entityId: 'AST-006',\n entityName: 'Herman Miller Aeron Chair',\n userId: 'USR-001',\n userName: 'John Smith',\n timestamp: '2026-02-06T11:00:00Z',\n changes: [\n { field: 'department', oldValue: 'Marketing', newValue: 'Product Design' },\n {\n field: 'location',\n oldValue: 'Building A, Floor 3',\n newValue: 'Building B, Floor 4, Office 12',\n },\n ],\n ipAddress: '10.0.1.45',\n module: 'Asset Management',\n },\n];\n\nconst mockPortfolio: PortfolioSummary = {\n totalAssets: 847,\n totalValue: 4285000,\n depreciatedValue: 3428000,\n byCategory: [\n { category: 'IT Hardware', count: 312, value: 1250000 },\n { category: 'Software', count: 145, value: 890000 },\n { category: 'Networking', count: 68, value: 620000 },\n { category: 'Furniture', count: 198, value: 445000 },\n { category: 'Vehicles', count: 12, value: 480000 },\n { category: 'Servers', count: 24, value: 350000 },\n { category: 'Other Equipment', count: 88, value: 250000 },\n ],\n byDepartment: [\n { department: 'Information Technology', count: 245, value: 1560000 },\n { department: 'Engineering', count: 156, value: 890000 },\n { department: 'General Office', count: 198, value: 620000 },\n { department: 'Sales', count: 112, value: 445000 },\n { department: 'Marketing', count: 86, value: 380000 },\n { department: 'Finance', count: 50, value: 390000 },\n ],\n byStatus: [\n { status: 'Active', count: 712 },\n { status: 'Under Maintenance', count: 34 },\n { status: 'Inactive', count: 56 },\n { status: 'Reserved', count: 23 },\n { status: 'Disposed', count: 22 },\n ],\n depreciationTrend: [\n { month: 'Sep 2025', value: 3580000 },\n { month: 'Oct 2025', value: 3540000 },\n { month: 'Nov 2025', value: 3500000 },\n { month: 'Dec 2025', value: 3465000 },\n { month: 'Jan 2026', value: 3445000 },\n { month: 'Feb 2026', value: 3428000 },\n ],\n acquisitionTrend: [\n { month: 'Sep 2025', count: 15, value: 185000 },\n { month: 'Oct 2025', count: 22, value: 310000 },\n { month: 'Nov 2025', count: 8, value: 125000 },\n { month: 'Dec 2025', count: 12, value: 245000 },\n { month: 'Jan 2026', count: 28, value: 420000 },\n { month: 'Feb 2026', count: 10, value: 175000 },\n ],\n};\n\nconst mockWorkOrders: WorkOrder[] = [\n {\n id: 'WO-001',\n title: 'Quarterly System Maintenance - OptiPlex Fleet',\n description: 'Perform preventive maintenance on 15 Dell OptiPlex desktops',\n priority: 'medium',\n status: 'open',\n assignedTo: 'john.doe@company.com',\n relatedAsset: 'AST-001',\n relatedAssetName: 'Dell OptiPlex 7090',\n createdAt: '2026-02-08',\n dueDate: '2026-03-15',\n estimatedHours: 2,\n cost: 150,\n type: 'Preventive',\n },\n {\n id: 'WO-002',\n title: 'Emergency Switch Replacement - Server Room A',\n description: 'Replace failed network switch in production environment',\n priority: 'critical',\n status: 'in_progress',\n assignedTo: 'net.admin@company.com',\n relatedAsset: 'AST-003',\n relatedAssetName: 'Cisco Catalyst 9300',\n createdAt: '2026-02-10',\n dueDate: '2026-02-11',\n estimatedHours: 3,\n cost: 1200,\n type: 'Emergency',\n },\n {\n id: 'WO-003',\n title: 'Vehicle Service - Transit Connect',\n description: '15,000 mile service: oil change, tire rotation, brake inspection',\n priority: 'medium',\n status: 'open',\n assignedTo: 'fleet.mgr@company.com',\n relatedAsset: 'AST-009',\n relatedAssetName: 'Ford Transit Connect Van',\n createdAt: '2026-02-05',\n dueDate: '2026-02-20',\n estimatedHours: 3,\n cost: 350,\n type: 'Preventive',\n },\n];\n\nconst mockCheckInOutRecords: CheckInOutRecord[] = [\n {\n id: 'CIO-001',\n assetId: 'AST-002',\n assetName: 'MacBook Pro 16\" M3 Max',\n type: 'check_out',\n userId: 'USR-002',\n userName: 'Jane Doe',\n date: '2026-02-08T09:00:00Z',\n expectedReturn: '2026-02-28T17:00:00Z',\n condition: 'excellent',\n notes: 'Assigned for Q1 project sprint',\n status: 'active',\n },\n {\n id: 'CIO-002',\n assetId: 'AST-008',\n assetName: 'Microsoft Surface Hub 2S',\n type: 'check_out',\n userId: 'USR-001',\n userName: 'John Smith',\n date: '2026-02-05T10:00:00Z',\n expectedReturn: '2026-02-05T17:00:00Z',\n actualReturn: '2026-02-05T16:30:00Z',\n condition: 'excellent',\n notes: 'Board presentation session',\n status: 'returned',\n },\n {\n id: 'CIO-003',\n assetId: 'AST-009',\n assetName: 'Ford Transit Connect Van',\n type: 'check_out',\n userId: 'USR-003',\n userName: 'Mike Johnson',\n date: '2026-02-03T07:00:00Z',\n expectedReturn: '2026-02-03T18:00:00Z',\n condition: 'good',\n notes: 'Field service calls - downtown route',\n status: 'overdue',\n },\n];\n\nconst mockBackupSchedules: BackupSchedule[] = [\n {\n id: 'BKP-001',\n name: 'Daily Database Backup',\n frequency: 'daily',\n time: '02:00',\n destination: 'AWS S3 (us-east-1)',\n retention: 30,\n lastRun: '2026-02-10T02:00:00Z',\n nextRun: '2026-02-11T02:00:00Z',\n status: 'active',\n size: '12.4 GB',\n },\n {\n id: 'BKP-002',\n name: 'Weekly Full System Backup',\n frequency: 'weekly',\n time: '01:00',\n destination: 'Azure Blob Storage',\n retention: 12,\n lastRun: '2026-02-09T01:00:00Z',\n nextRun: '2026-02-16T01:00:00Z',\n status: 'active',\n size: '245 GB',\n },\n {\n id: 'BKP-003',\n name: 'Monthly Archive',\n frequency: 'monthly',\n time: '03:00',\n destination: 'AWS S3 Glacier',\n retention: 36,\n lastRun: '2026-02-01T03:00:00Z',\n nextRun: '2026-03-01T03:00:00Z',\n status: 'active',\n size: '1.2 TB',\n },\n];\n\nconst mockAssetLocations: AssetLocation[] = [\n {\n assetId: 'AST-001',\n assetName: 'Dell OptiPlex 7090',\n latitude: 40.7128,\n longitude: -74.006,\n lastUpdated: '2026-02-10T10:00:00Z',\n building: 'Building A',\n floor: '3',\n room: 'Desk 15',\n status: 'active',\n },\n {\n assetId: 'AST-003',\n assetName: 'Cisco Catalyst 9300',\n latitude: 40.7128,\n longitude: -74.006,\n lastUpdated: '2026-02-10T10:00:00Z',\n building: 'Building A',\n floor: 'B1',\n room: 'Server Room A, Rack 3',\n status: 'active',\n },\n {\n assetId: 'AST-005',\n assetName: 'Dell PowerEdge R750xs',\n latitude: 40.7128,\n longitude: -74.006,\n lastUpdated: '2026-02-10T10:00:00Z',\n building: 'Building A',\n floor: 'B1',\n room: 'Server Room A, Rack 1',\n status: 'active',\n },\n {\n assetId: 'AST-009',\n assetName: 'Ford Transit Connect Van',\n latitude: 40.758,\n longitude: -73.9855,\n lastUpdated: '2026-02-10T09:30:00Z',\n building: 'Field',\n floor: '-',\n room: 'En Route - Midtown',\n status: 'active',\n },\n];\n\n// ═══════════════════════════════════════════════════════════════════\n// STORE\n// ═══════════════════════════════════════════════════════════════════\n\ninterface AssetHandlerState {\n // Overview\n metrics: OverviewMetric[];\n workItems: WorkItem[];\n selectedView: string;\n\n // Domain data\n assets: Asset[];\n incidents: Incident[];\n changeRequests: ChangeRequest[];\n problems: Problem[];\n transactions: FinanceTransaction[];\n budgets: Budget[];\n invoices: Invoice[];\n maintenanceRecords: MaintenanceRecord[];\n maintenanceTemplates: MaintenanceTemplate[];\n marketplaceListings: MarketplaceListing[];\n marketplaceOrders: MarketplaceOrder[];\n workflows: Workflow[];\n workflowExecutions: WorkflowExecution[];\n workflowTemplates: WorkflowTemplate[];\n securityEvents: SecurityEvent[];\n complianceFrameworks: ComplianceFramework[];\n securityPolicies: SecurityPolicy[];\n reports: ReportConfig[];\n reportExecutions: ReportExecution[];\n users: UserRecord[];\n notifications: AppNotification[];\n auditEntries: AuditEntry[];\n portfolio: PortfolioSummary;\n workOrders: WorkOrder[];\n checkInOutRecords: CheckInOutRecord[];\n backupSchedules: BackupSchedule[];\n assetLocations: AssetLocation[];\n\n // Actions\n setSelectedView: (view: string) => void;\n setWorkItems: (items: WorkItem[]) => void;\n markNotificationRead: (id: string) => void;\n getAssetById: (id: string) => Asset | undefined;\n getIncidentById: (id: string) => Incident | undefined;\n hydrateFromBootstrap: (payload: {\n dashboardOverview?: {\n totalAssets?: number;\n openIncidents?: number;\n openWorkOrders?: number;\n totalTransactions?: number;\n };\n assets?: Array<{\n id: string;\n assetNumber: string;\n name: string;\n description?: string | null;\n category: string;\n status: string;\n condition: string;\n serialNumber?: string | null;\n locationName?: string | null;\n assignedTo?: string | null;\n tags?: string[];\n createdAt?: string;\n }>;\n incidents?: Array<{\n id: string;\n title: string;\n description: string;\n category: string;\n priority: string;\n status: string;\n assignedTo?: string | null;\n reportedBy: string;\n reportedAt: string;\n resolvedAt?: string | null;\n slaBreached: boolean;\n }>;\n workOrders?: Array<{\n id: string;\n title: string;\n description?: string | null;\n type: string;\n status: string;\n priority: string;\n assetId?: string | null;\n assignedTo?: string | null;\n createdAt: string;\n }>;\n maintenanceRecords?: Array<{\n id: string;\n assetId: string;\n title: string;\n description?: string | null;\n type: string;\n status: string;\n priority: string;\n scheduledAt?: string | null;\n completedAt?: string | null;\n estimatedCost?: number | null;\n actualCost?: number | null;\n checklist?: Array<Record<string, unknown>>;\n }>;\n transactions?: Array<{\n id: string;\n type: string;\n status: string;\n amount: number;\n currency: string;\n category: string;\n description: string;\n vendor?: string | null;\n department?: string | null;\n occurredAt: string;\n }>;\n changeRequests?: Array<{\n id: string;\n title: string;\n description: string;\n type: string;\n status: string;\n risk: string;\n requestedBy: string;\n assignedTo?: string | null;\n affectedAssets: string[];\n scheduledStart?: string | null;\n scheduledEnd?: string | null;\n approvals?: Array<{ name?: string; status?: string; date?: string }>;\n createdAt: string;\n }>;\n problems?: Array<{\n id: string;\n title: string;\n description: string;\n status: string;\n priority: string;\n category: string;\n assignedTo?: string | null;\n relatedIncidents: string[];\n rootCause?: string | null;\n workaround?: string | null;\n createdAt: string;\n updatedAt: string;\n }>;\n budgets?: Array<{\n id: string;\n name: string;\n category: string;\n allocated: number;\n spent: number;\n remaining: number;\n period: string;\n department: string;\n status: string;\n }>;\n invoices?: Array<{\n id: string;\n number: string;\n vendor: string;\n amount: number;\n currency: string;\n issueDate: string;\n dueDate: string;\n status: string;\n items?: Array<{ description?: string; qty?: number; unitPrice?: number; total?: number }>;\n relatedPO?: string | null;\n }>;\n securityEvents?: Array<{\n id: string;\n eventType: string;\n severity: string;\n title: string;\n description: string;\n source: string;\n userId?: string | null;\n ipAddress?: string | null;\n occurredAt: string;\n resolved: boolean;\n }>;\n complianceFrameworks?: Array<{\n id: string;\n name: string;\n version: string;\n status: string;\n score: number;\n totalControls: number;\n passedControls: number;\n failedControls: number;\n lastAssessment: string;\n nextAssessment: string;\n }>;\n securityPolicies?: Array<{\n id: string;\n name: string;\n description: string;\n category: string;\n status: string;\n version: string;\n effectiveDate: string;\n reviewDate: string;\n owner: string;\n applicableTo: string[];\n }>;\n }) => void;\n}\n\nexport const useAssetHandlerStore = create<AssetHandlerState>((set, get) => ({\n // Overview\n metrics: [\n { label: 'Total Assets', value: '847', trend: '+3.2%' },\n { label: 'Active Incidents', value: '5', trend: '-12.4%' },\n { label: 'SLA Compliance', value: '96.8%', trend: '+1.2%' },\n { label: 'Portfolio Value', value: '$4.28M', trend: '+5.6%' },\n ],\n workItems: [\n {\n id: 'w1',\n title: 'Server Room temperature alert - investigating',\n status: 'at_risk',\n owner: 'Infrastructure',\n updatedAt: '30m ago',\n },\n {\n id: 'w2',\n title: 'Q1 IT equipment procurement cycle',\n status: 'active',\n owner: 'Procurement',\n updatedAt: '2h ago',\n },\n {\n id: 'w3',\n title: 'Annual compliance audit preparation',\n status: 'planned',\n owner: 'Compliance',\n updatedAt: '1d ago',\n },\n {\n id: 'w4',\n title: 'Network switch firmware rollout',\n status: 'active',\n owner: 'Network Ops',\n updatedAt: '4h ago',\n },\n {\n id: 'w5',\n title: 'Software license true-up completed',\n status: 'completed',\n owner: 'IT Operations',\n updatedAt: '2d ago',\n },\n ],\n selectedView: 'overview',\n\n // Domain data\n assets: mockAssets,\n incidents: mockIncidents,\n changeRequests: mockChanges,\n problems: mockProblems,\n transactions: mockTransactions,\n budgets: mockBudgets,\n invoices: mockInvoices,\n maintenanceRecords: mockMaintenanceRecords,\n maintenanceTemplates: mockMaintenanceTemplates,\n marketplaceListings: mockMarketplaceListings,\n marketplaceOrders: mockMarketplaceOrders,\n workflows: mockWorkflows,\n workflowExecutions: mockWorkflowExecutions,\n workflowTemplates: mockWorkflowTemplates,\n securityEvents: mockSecurityEvents,\n complianceFrameworks: mockComplianceFrameworks,\n securityPolicies: mockSecurityPolicies,\n reports: mockReports,\n reportExecutions: mockReportExecutions,\n users: mockUsers,\n notifications: mockNotifications,\n auditEntries: mockAuditEntries,\n portfolio: mockPortfolio,\n workOrders: mockWorkOrders,\n checkInOutRecords: mockCheckInOutRecords,\n backupSchedules: mockBackupSchedules,\n assetLocations: mockAssetLocations,\n\n // Actions\n setSelectedView: (view) => set({ selectedView: view }),\n setWorkItems: (items) => set({ workItems: items }),\n markNotificationRead: (id) =>\n set((state) => ({\n notifications: state.notifications.map((n) => (n.id === id ? { ...n, isRead: true } : n)),\n })),\n getAssetById: (id) => get().assets.find((a) => a.id === id),\n getIncidentById: (id) => get().incidents.find((i) => i.id === id),\n hydrateFromBootstrap: (payload) =>\n set((state) => {\n const mappedAssets: Asset[] = (payload.assets ?? []).map((asset) => ({\n id: asset.id,\n name: asset.name,\n description: asset.description ?? '',\n category: (asset.category.toLowerCase() as AssetCategory) || 'equipment',\n status: (asset.status.toLowerCase() as AssetStatus) || 'active',\n condition: (asset.condition.toLowerCase() as AssetCondition) || 'good',\n serialNumber: asset.serialNumber ?? '',\n assetTag: asset.assetNumber,\n value: 0,\n currentValue: 0,\n purchaseDate: asset.createdAt ?? new Date().toISOString(),\n warrantyExpiry: '',\n location: asset.locationName ?? 'Unassigned',\n department: 'General',\n assignedTo: asset.assignedTo ?? 'Unassigned',\n vendor: '',\n model: '',\n manufacturer: '',\n depreciationRate: 0,\n lastAuditDate: '',\n tags: asset.tags ?? [],\n maintenanceHistory: [],\n }));\n\n const mappedIncidents: Incident[] = (payload.incidents ?? []).map((incident) => ({\n id: incident.id,\n title: incident.title,\n description: incident.description,\n category: incident.category,\n priority: incident.priority.toLowerCase() as IncidentPriority,\n status: incident.status.toLowerCase() as IncidentStatus,\n assignedTo: incident.assignedTo ?? 'Unassigned',\n reportedBy: incident.reportedBy,\n affectedAssets: [],\n createdAt: incident.reportedAt,\n updatedAt: incident.reportedAt,\n resolvedAt: incident.resolvedAt ?? undefined,\n slaBreached: incident.slaBreached,\n }));\n\n const mappedWorkOrders: WorkOrder[] = (payload.workOrders ?? []).map((workOrder) => ({\n id: workOrder.id,\n title: workOrder.title,\n description: workOrder.description ?? '',\n relatedAsset: workOrder.assetId ?? '',\n relatedAssetName: workOrder.assetId ?? 'Unassigned Asset',\n priority: workOrder.priority.toLowerCase() as WorkOrder['priority'],\n status: workOrder.status.toLowerCase() as WorkOrder['status'],\n assignedTo: workOrder.assignedTo ?? 'Unassigned',\n createdAt: workOrder.createdAt,\n dueDate: workOrder.createdAt,\n estimatedHours: 0,\n actualHours: 0,\n type: workOrder.type.toLowerCase() as WorkOrder['type'],\n cost: 0,\n }));\n\n const mappedMaintenanceRecords: MaintenanceRecord[] = (payload.maintenanceRecords ?? []).map(\n (record) => ({\n id: record.id,\n assetId: record.assetId,\n assetName: record.assetId,\n type: record.type.toLowerCase() as MaintenanceType,\n priority: record.priority.toLowerCase() as MaintenancePriority,\n status: record.status.toLowerCase() as MaintenanceStatus,\n title: record.title,\n description: record.description ?? '',\n scheduledDate: record.scheduledAt ?? '',\n completedDate: record.completedAt ?? undefined,\n estimatedDuration: 0,\n actualDuration: undefined,\n assignedTo: 'Unassigned',\n cost: record.actualCost ?? record.estimatedCost ?? 0,\n location: 'Unknown',\n checklist: (record.checklist ?? []).map((item) => ({\n task: String(item.task ?? 'Task'),\n completed: Boolean(item.completed ?? false),\n })),\n })\n );\n\n const mappedTransactions: FinanceTransaction[] = (payload.transactions ?? []).map((tx) => ({\n id: tx.id,\n type: tx.type.toLowerCase() as TransactionType,\n amount: tx.amount,\n currency: tx.currency,\n description: tx.description,\n category: tx.category,\n date: tx.occurredAt,\n status: tx.status.toLowerCase() as TransactionStatus,\n vendor: tx.vendor ?? undefined,\n relatedAsset: undefined,\n department: tx.department ?? 'General',\n }));\n\n const mappedChangeRequests: ChangeRequest[] = (payload.changeRequests ?? []).map(\n (change) => ({\n id: change.id,\n title: change.title,\n description: change.description,\n type: change.type.toLowerCase() as ChangeRequest['type'],\n status: change.status.toLowerCase() as ChangeStatus,\n risk: change.risk.toLowerCase() as ChangeRisk,\n requestedBy: change.requestedBy,\n assignedTo: change.assignedTo ?? 'Unassigned',\n affectedAssets: change.affectedAssets,\n scheduledStart: change.scheduledStart ?? change.createdAt,\n scheduledEnd: change.scheduledEnd ?? change.createdAt,\n createdAt: change.createdAt,\n approvals: (change.approvals ?? []).map((approval) => ({\n name: approval.name ?? 'Approver',\n status: approval.status ?? 'pending',\n date: approval.date ?? change.createdAt,\n })),\n })\n );\n\n const mappedProblems: Problem[] = (payload.problems ?? []).map((problem) => ({\n id: problem.id,\n title: problem.title,\n description: problem.description,\n status: problem.status.toLowerCase() as ProblemStatus,\n priority: problem.priority.toLowerCase() as IncidentPriority,\n category: problem.category,\n assignedTo: problem.assignedTo ?? 'Unassigned',\n relatedIncidents: problem.relatedIncidents,\n rootCause: problem.rootCause ?? undefined,\n workaround: problem.workaround ?? undefined,\n createdAt: problem.createdAt,\n updatedAt: problem.updatedAt,\n }));\n\n const mappedBudgets: Budget[] = (payload.budgets ?? []).map((budget) => ({\n id: budget.id,\n name: budget.name,\n category: budget.category,\n allocated: budget.allocated,\n spent: budget.spent,\n remaining: budget.remaining,\n period: budget.period,\n department: budget.department,\n status: budget.status.toLowerCase() as Budget['status'],\n }));\n\n const mappedInvoices: Invoice[] = (payload.invoices ?? []).map((invoice) => ({\n id: invoice.id,\n number: invoice.number,\n vendor: invoice.vendor,\n amount: invoice.amount,\n currency: invoice.currency,\n issueDate: invoice.issueDate,\n dueDate: invoice.dueDate,\n status: invoice.status.toLowerCase() as Invoice['status'],\n items: (invoice.items ?? []).map((item) => ({\n description: item.description ?? 'Line item',\n qty: item.qty ?? 1,\n unitPrice: item.unitPrice ?? item.total ?? 0,\n total: item.total ?? item.unitPrice ?? 0,\n })),\n relatedPO: invoice.relatedPO ?? undefined,\n }));\n\n const mappedSecurityEvents: SecurityEvent[] = (payload.securityEvents ?? []).map((event) => ({\n id: event.id,\n type: event.eventType as SecurityEvent['type'],\n severity: event.severity.toLowerCase() as SecurityEvent['severity'],\n title: event.title,\n description: event.description,\n source: event.source,\n userId: event.userId ?? undefined,\n ipAddress: event.ipAddress ?? undefined,\n timestamp: event.occurredAt,\n resolved: event.resolved,\n }));\n\n const mappedComplianceFrameworks: ComplianceFramework[] = (\n payload.complianceFrameworks ?? []\n ).map((framework) => ({\n id: framework.id,\n name: framework.name,\n version: framework.version,\n status: framework.status.toLowerCase() as ComplianceFramework['status'],\n score: framework.score,\n totalControls: framework.totalControls,\n passedControls: framework.passedControls,\n failedControls: framework.failedControls,\n lastAssessment: framework.lastAssessment,\n nextAssessment: framework.nextAssessment,\n }));\n\n const mappedSecurityPolicies: SecurityPolicy[] = (payload.securityPolicies ?? []).map(\n (policy) => ({\n id: policy.id,\n name: policy.name,\n description: policy.description,\n category: policy.category,\n status: policy.status.toLowerCase() as SecurityPolicy['status'],\n version: policy.version,\n effectiveDate: policy.effectiveDate,\n reviewDate: policy.reviewDate,\n owner: policy.owner,\n applicableTo: policy.applicableTo,\n })\n );\n\n const nextMetrics = [\n {\n label: 'Total Assets',\n value: String(payload.dashboardOverview?.totalAssets ?? mappedAssets.length),\n trend: state.metrics[0]?.trend ?? '+0%',\n },\n {\n label: 'Active Incidents',\n value: String(payload.dashboardOverview?.openIncidents ?? mappedIncidents.length),\n trend: state.metrics[1]?.trend ?? '+0%',\n },\n {\n label: 'Open Work Orders',\n value: String(payload.dashboardOverview?.openWorkOrders ?? mappedWorkOrders.length),\n trend: '+0%',\n },\n {\n label: 'Transactions',\n value: String(payload.dashboardOverview?.totalTransactions ?? mappedTransactions.length),\n trend: '+0%',\n },\n ];\n\n return {\n ...state,\n assets: mappedAssets.length > 0 ? mappedAssets : state.assets,\n incidents: mappedIncidents.length > 0 ? mappedIncidents : state.incidents,\n changeRequests:\n mappedChangeRequests.length > 0 ? mappedChangeRequests : state.changeRequests,\n problems: mappedProblems.length > 0 ? mappedProblems : state.problems,\n workOrders: mappedWorkOrders.length > 0 ? mappedWorkOrders : state.workOrders,\n maintenanceRecords:\n mappedMaintenanceRecords.length > 0 ? mappedMaintenanceRecords : state.maintenanceRecords,\n transactions: mappedTransactions.length > 0 ? mappedTransactions : state.transactions,\n budgets: mappedBudgets.length > 0 ? mappedBudgets : state.budgets,\n invoices: mappedInvoices.length > 0 ? mappedInvoices : state.invoices,\n securityEvents:\n mappedSecurityEvents.length > 0 ? mappedSecurityEvents : state.securityEvents,\n complianceFrameworks:\n mappedComplianceFrameworks.length > 0\n ? mappedComplianceFrameworks\n : state.complianceFrameworks,\n securityPolicies:\n mappedSecurityPolicies.length > 0 ? mappedSecurityPolicies : state.securityPolicies,\n metrics: nextMetrics,\n };\n }),\n}));\n"],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface NavItem {
4
+ id: string;
5
+ label: string;
6
+ path: string;
7
+ icon?: React.ReactNode;
8
+ order?: number;
9
+ group?: string;
10
+ children?: NavItem[];
11
+ }
12
+ export interface FooterItem {
13
+ id: string;
14
+ label: string;
15
+ type: 'status' | 'action';
16
+ order?: number;
17
+ section: 'left' | 'center' | 'right';
18
+ }
19
+ export interface AssetHandlerRootProps {
20
+ basePath?: string;
21
+ workspaceId?: string;
22
+ tenantId?: string;
23
+ apiGatewayUrl?: string;
24
+ authToken?: string;
25
+ /**
26
+ * Workspace-scoped JWT token. The gateway requires both authToken (Authorization)
27
+ * and workspaceToken (X-Workspace-Authorization) for workspace-scoped operations.
28
+ */
29
+ workspaceToken?: string;
30
+ navigate?: (path: string) => void;
31
+ currentUser?: {
32
+ id: string;
33
+ email: string;
34
+ firstName?: string;
35
+ lastName?: string;
36
+ avatar?: string;
37
+ username?: string;
38
+ name?: string;
39
+ role?: string;
40
+ } | null;
41
+ registerNavItems?: (items: NavItem | NavItem[]) => () => void;
42
+ registerFooterItems?: (items: FooterItem | FooterItem[]) => () => void;
43
+ }
44
+ export interface OverviewMetric {
45
+ label: string;
46
+ value: string;
47
+ trend: string;
48
+ }
49
+ export interface WorkItem {
50
+ id: string;
51
+ title: string;
52
+ status: 'active' | 'planned' | 'at_risk' | 'completed';
53
+ owner: string;
54
+ updatedAt: string;
55
+ }
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assethandler/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/assethandler/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,6 @@
1
+ import { I18nContextValue } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';
2
+
3
+ type TranslationParams = Record<string, string | number>;
4
+ export declare function tWithFallback(t: I18nContextValue['t'], key: string, fallback: string, params?: TranslationParams): string;
5
+ export {};
6
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/assethandler/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAE/F,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEzD,wBAAgB,aAAa,CAC3B,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,GACzB,MAAM,CAGR"}
@@ -0,0 +1,9 @@
1
+ //#region src/assethandler/utils/i18n.ts
2
+ function e(e, t, n, r) {
3
+ let i = e(t, r);
4
+ return i === t ? n : i;
5
+ }
6
+ //#endregion
7
+ export { e as tWithFallback };
8
+
9
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","names":[],"sources":["../../../src/assethandler/utils/i18n.ts"],"sourcesContent":["import type { I18nContextValue } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\ntype TranslationParams = Record<string, string | number>;\n\nexport function tWithFallback(\n t: I18nContextValue['t'],\n key: string,\n fallback: string,\n params?: TranslationParams\n): string {\n const translated = t(key, params);\n return translated === key ? fallback : translated;\n}\n"],"mappings":";AAIA,SAAgB,EACd,GACA,GACA,GACA,GACQ;CACR,IAAM,IAAa,EAAE,GAAK,EAAO;AACjC,QAAO,MAAe,IAAM,IAAW"}
@@ -0,0 +1,2 @@
1
+ export declare function joinPath(basePath: string, relativePath: string): string;
2
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/assethandler/utils/navigation.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAIvE"}
@@ -0,0 +1,8 @@
1
+ //#region src/assethandler/utils/navigation.ts
2
+ function e(e, t) {
3
+ return (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
4
+ }
5
+ //#endregion
6
+ export { e as joinPath };
7
+
8
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","names":[],"sources":["../../../src/assethandler/utils/navigation.ts"],"sourcesContent":["export function joinPath(basePath: string, relativePath: string): string {\n const cleanBase = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n const cleanPath = relativePath.startsWith('/') ? relativePath : `/${relativePath}`;\n return cleanBase + cleanPath;\n}\n"],"mappings":";AAAA,SAAgB,EAAS,GAAkB,GAA8B;AAGvE,SAFkB,EAAS,SAAS,IAAI,GAAG,EAAS,MAAM,GAAG,GAAG,GAAG,MACjD,EAAa,WAAW,IAAI,GAAG,IAAe,IAAI"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/dev/main.tsx"],"names":[],"mappings":"AAIA,OAAO,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=global-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-operations.d.ts","sourceRoot":"","sources":["../../src/generated/global-operations.ts"],"names":[],"mappings":""}