@atlashub/smartstack 3.30.0 → 3.32.0

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 (280) hide show
  1. package/dist/chunks/{AgentSkillsPage-DJb49NMA.js → AgentSkillsPage-BMxOA-nm.js} +2 -2
  2. package/dist/chunks/{AgentSkillsPage-DJb49NMA.js.map → AgentSkillsPage-BMxOA-nm.js.map} +1 -1
  3. package/dist/chunks/{AgentSkillsPage-CVq3qZoe.js → AgentSkillsPage-DSwfoazB.js} +2 -2
  4. package/dist/chunks/{AgentSkillsPage-CVq3qZoe.js.map → AgentSkillsPage-DSwfoazB.js.map} +1 -1
  5. package/dist/chunks/{AgentWorkloadPage-oHEi-sFh.js → AgentWorkloadPage-B_emq8kd.js} +2 -2
  6. package/dist/chunks/{AgentWorkloadPage-oHEi-sFh.js.map → AgentWorkloadPage-B_emq8kd.js.map} +1 -1
  7. package/dist/chunks/{AgentWorkloadPage-D_nk3gKj.js → AgentWorkloadPage-_USTeYWz.js} +2 -2
  8. package/dist/chunks/{AgentWorkloadPage-D_nk3gKj.js.map → AgentWorkloadPage-_USTeYWz.js.map} +1 -1
  9. package/dist/chunks/{ApiCatalogDetailPage-Cr0q2HnB.js → ApiCatalogDetailPage-BC_HxVu5.js} +3 -3
  10. package/dist/chunks/{ApiCatalogDetailPage-Cr0q2HnB.js.map → ApiCatalogDetailPage-BC_HxVu5.js.map} +1 -1
  11. package/dist/chunks/{ApiCatalogDetailPage-DX8buBkV.js → ApiCatalogDetailPage-BI7zyZAd.js} +2 -2
  12. package/dist/chunks/{ApiCatalogDetailPage-DX8buBkV.js.map → ApiCatalogDetailPage-BI7zyZAd.js.map} +1 -1
  13. package/dist/chunks/{ApiCatalogPage-DqboIzZE.js → ApiCatalogPage-CutaHo5K.js} +2 -2
  14. package/dist/chunks/{ApiCatalogPage-DqboIzZE.js.map → ApiCatalogPage-CutaHo5K.js.map} +1 -1
  15. package/dist/chunks/{ApiCatalogPage-DN7sazvI.js → ApiCatalogPage-M80MorHU.js} +2 -2
  16. package/dist/chunks/{ApiCatalogPage-DN7sazvI.js.map → ApiCatalogPage-M80MorHU.js.map} +1 -1
  17. package/dist/chunks/{ApplicationDetailPage--9YwwS5A.js → ApplicationDetailPage-DVY0wua0.js} +2 -2
  18. package/dist/chunks/{ApplicationDetailPage--9YwwS5A.js.map → ApplicationDetailPage-DVY0wua0.js.map} +1 -1
  19. package/dist/chunks/{ApplicationDetailPage-CCNjr64K.js → ApplicationDetailPage-DzszwaIZ.js} +4 -4
  20. package/dist/chunks/{ApplicationDetailPage-CCNjr64K.js.map → ApplicationDetailPage-DzszwaIZ.js.map} +1 -1
  21. package/dist/chunks/{ApplicationsDashboardPage-Bs-Xgca4.js → ApplicationsDashboardPage-B3ptvnJz.js} +3 -3
  22. package/dist/chunks/{ApplicationsDashboardPage-Bs-Xgca4.js.map → ApplicationsDashboardPage-B3ptvnJz.js.map} +1 -1
  23. package/dist/chunks/{ApplicationsDashboardPage-BSsHN3Yj.js → ApplicationsDashboardPage-D0pxqbEc.js} +2 -2
  24. package/dist/chunks/{ApplicationsDashboardPage-BSsHN3Yj.js.map → ApplicationsDashboardPage-D0pxqbEc.js.map} +1 -1
  25. package/dist/chunks/{ApplicationsGridPage-DDysNWJ5.js → ApplicationsGridPage-Ca23FBSP.js} +2 -2
  26. package/dist/chunks/{ApplicationsGridPage-DDysNWJ5.js.map → ApplicationsGridPage-Ca23FBSP.js.map} +1 -1
  27. package/dist/chunks/{ApplicationsGridPage-s1WEzOXS.js → ApplicationsGridPage-qi2UCD24.js} +2 -2
  28. package/dist/chunks/{ApplicationsGridPage-s1WEzOXS.js.map → ApplicationsGridPage-qi2UCD24.js.map} +1 -1
  29. package/dist/chunks/{ApplicationsListPage-B3CSMiV0.js → ApplicationsListPage-CEUmBXN0.js} +2 -2
  30. package/dist/chunks/{ApplicationsListPage-B3CSMiV0.js.map → ApplicationsListPage-CEUmBXN0.js.map} +1 -1
  31. package/dist/chunks/{ApplicationsListPage-B6ZCecIl.js → ApplicationsListPage-cE82bv8j.js} +2 -2
  32. package/dist/chunks/{ApplicationsListPage-B6ZCecIl.js.map → ApplicationsListPage-cE82bv8j.js.map} +1 -1
  33. package/dist/chunks/{ApplicationsPage-ztPwoAGt.js → ApplicationsPage-DW1BrVVN.js} +4 -4
  34. package/dist/chunks/{ApplicationsPage-ztPwoAGt.js.map → ApplicationsPage-DW1BrVVN.js.map} +1 -1
  35. package/dist/chunks/{ApplicationsPage-BBaiBM--.js → ApplicationsPage-RAqTs5HI.js} +2 -2
  36. package/dist/chunks/{ApplicationsPage-BBaiBM--.js.map → ApplicationsPage-RAqTs5HI.js.map} +1 -1
  37. package/dist/chunks/{AssignmentRulesPage-CK4L4rBO.js → AssignmentRulesPage-C0qnk3oR.js} +2 -2
  38. package/dist/chunks/{AssignmentRulesPage-CK4L4rBO.js.map → AssignmentRulesPage-C0qnk3oR.js.map} +1 -1
  39. package/dist/chunks/{AssignmentRulesPage-DFSVFFXr.js → AssignmentRulesPage-CVgFmhEs.js} +2 -2
  40. package/dist/chunks/{AssignmentRulesPage-DFSVFFXr.js.map → AssignmentRulesPage-CVgFmhEs.js.map} +1 -1
  41. package/dist/chunks/{AssignmentsPage-JCLpyg94.js → AssignmentsPage-Bv9HYtYN.js} +2 -2
  42. package/dist/chunks/{AssignmentsPage-JCLpyg94.js.map → AssignmentsPage-Bv9HYtYN.js.map} +1 -1
  43. package/dist/chunks/{AssignmentsPage-Bp7oQD7Q.js → AssignmentsPage-z1q1C9Uz.js} +2 -2
  44. package/dist/chunks/{AssignmentsPage-Bp7oQD7Q.js.map → AssignmentsPage-z1q1C9Uz.js.map} +1 -1
  45. package/dist/chunks/{AuthCallbackPage-Bl9xlJ3h.js → AuthCallbackPage-CcteN6Kv.js} +2 -2
  46. package/dist/chunks/{AuthCallbackPage-Bl9xlJ3h.js.map → AuthCallbackPage-CcteN6Kv.js.map} +1 -1
  47. package/dist/chunks/{AuthCallbackPage-CzMHz4jy.js → AuthCallbackPage-DL5PJUYJ.js} +2 -2
  48. package/dist/chunks/{AuthCallbackPage-CzMHz4jy.js.map → AuthCallbackPage-DL5PJUYJ.js.map} +1 -1
  49. package/dist/chunks/{ConfirmEmailPage-D_8T1vqV.js → ConfirmEmailPage-BP8VUz-A.js} +2 -2
  50. package/dist/chunks/{ConfirmEmailPage-D_8T1vqV.js.map → ConfirmEmailPage-BP8VUz-A.js.map} +1 -1
  51. package/dist/chunks/{ConfirmEmailPage-M7mJgXvn.js → ConfirmEmailPage-CeflKXpN.js} +2 -2
  52. package/dist/chunks/{ConfirmEmailPage-M7mJgXvn.js.map → ConfirmEmailPage-CeflKXpN.js.map} +1 -1
  53. package/dist/chunks/{CreateSupportTicketPage-BNEGavlu.js → CreateSupportTicketPage-BAdvWb_8.js} +2 -2
  54. package/dist/chunks/{CreateSupportTicketPage-BNEGavlu.js.map → CreateSupportTicketPage-BAdvWb_8.js.map} +1 -1
  55. package/dist/chunks/{CreateSupportTicketPage-C2X2mfds.js → CreateSupportTicketPage-DDiv79-p.js} +2 -2
  56. package/dist/chunks/{CreateSupportTicketPage-C2X2mfds.js.map → CreateSupportTicketPage-DDiv79-p.js.map} +1 -1
  57. package/dist/chunks/{DashboardPage-4oy2YqvT.js → DashboardPage-B_uyyRRE.js} +2 -2
  58. package/dist/chunks/{DashboardPage-4oy2YqvT.js.map → DashboardPage-B_uyyRRE.js.map} +1 -1
  59. package/dist/chunks/{DashboardPage-CPArUG-S.js → DashboardPage-CpoduSu7.js} +2 -2
  60. package/dist/chunks/{DashboardPage-CPArUG-S.js.map → DashboardPage-CpoduSu7.js.map} +1 -1
  61. package/dist/chunks/{DashboardPage-CO-8B8EI.js → DashboardPage-D4pyUgdM.js} +3 -3
  62. package/dist/chunks/{DashboardPage-CO-8B8EI.js.map → DashboardPage-D4pyUgdM.js.map} +1 -1
  63. package/dist/chunks/{DashboardPage-D5MRMxEV.js → DashboardPage-Kp-MCxW4.js} +3 -3
  64. package/dist/chunks/{DashboardPage-D5MRMxEV.js.map → DashboardPage-Kp-MCxW4.js.map} +1 -1
  65. package/dist/chunks/{EscalationConfigPage-DnjLFXnL.js → EscalationConfigPage-D-WCN6YS.js} +2 -2
  66. package/dist/chunks/{EscalationConfigPage-DnjLFXnL.js.map → EscalationConfigPage-D-WCN6YS.js.map} +1 -1
  67. package/dist/chunks/{EscalationConfigPage-CwdnfJbJ.js → EscalationConfigPage-UrLJarSI.js} +2 -2
  68. package/dist/chunks/{EscalationConfigPage-CwdnfJbJ.js.map → EscalationConfigPage-UrLJarSI.js.map} +1 -1
  69. package/dist/chunks/{ForceChangePasswordPage-sh-3h_H9.js → ForceChangePasswordPage-BIh1SF5C.js} +2 -2
  70. package/dist/chunks/{ForceChangePasswordPage-sh-3h_H9.js.map → ForceChangePasswordPage-BIh1SF5C.js.map} +1 -1
  71. package/dist/chunks/{ForceChangePasswordPage-ZEIfyqwE.js → ForceChangePasswordPage-FFZZRpU7.js} +2 -2
  72. package/dist/chunks/{ForceChangePasswordPage-ZEIfyqwE.js.map → ForceChangePasswordPage-FFZZRpU7.js.map} +1 -1
  73. package/dist/chunks/{ForgotPasswordPage-B4M6-xeM.js → ForgotPasswordPage-BKqRF7SF.js} +2 -2
  74. package/dist/chunks/{ForgotPasswordPage-B4M6-xeM.js.map → ForgotPasswordPage-BKqRF7SF.js.map} +1 -1
  75. package/dist/chunks/{ForgotPasswordPage-MIu-U7p0.js → ForgotPasswordPage-BXp8qQUX.js} +2 -2
  76. package/dist/chunks/{ForgotPasswordPage-MIu-U7p0.js.map → ForgotPasswordPage-BXp8qQUX.js.map} +1 -1
  77. package/dist/chunks/{GroupDetailPage-4XK3Bs_r.js → GroupDetailPage-a0hBx-LO.js} +5 -5
  78. package/dist/chunks/{GroupDetailPage-4XK3Bs_r.js.map → GroupDetailPage-a0hBx-LO.js.map} +1 -1
  79. package/dist/chunks/{GroupDetailPage-C-kvtd2T.js → GroupDetailPage-eGGJCqgq.js} +2 -2
  80. package/dist/chunks/{GroupDetailPage-C-kvtd2T.js.map → GroupDetailPage-eGGJCqgq.js.map} +1 -1
  81. package/dist/chunks/{MyAccessRequestsPage-CP41FzHi.js → MyAccessRequestsPage-BgQSyy5d.js} +2 -2
  82. package/dist/chunks/{MyAccessRequestsPage-CP41FzHi.js.map → MyAccessRequestsPage-BgQSyy5d.js.map} +1 -1
  83. package/dist/chunks/{MyAccessRequestsPage-DzrXTrVi.js → MyAccessRequestsPage-Dmb0rUHO.js} +2 -2
  84. package/dist/chunks/{MyAccessRequestsPage-DzrXTrVi.js.map → MyAccessRequestsPage-Dmb0rUHO.js.map} +1 -1
  85. package/dist/chunks/{MyTenantsPage-V_SwYio2.js → MyTenantsPage-BZTeqyDr.js} +3 -3
  86. package/dist/chunks/{MyTenantsPage-V_SwYio2.js.map → MyTenantsPage-BZTeqyDr.js.map} +1 -1
  87. package/dist/chunks/{MyTenantsPage-CZRkMbh8.js → MyTenantsPage-kCHBF2uA.js} +2 -2
  88. package/dist/chunks/{MyTenantsPage-CZRkMbh8.js.map → MyTenantsPage-kCHBF2uA.js.map} +1 -1
  89. package/dist/chunks/{MyTicketsPage-DOUhaLal.js → MyTicketsPage-BwNIqpCE.js} +2 -2
  90. package/dist/chunks/{MyTicketsPage-DOUhaLal.js.map → MyTicketsPage-BwNIqpCE.js.map} +1 -1
  91. package/dist/chunks/{MyTicketsPage-DnvAIeyr.js → MyTicketsPage-CTpjkA5t.js} +2 -2
  92. package/dist/chunks/{MyTicketsPage-DnvAIeyr.js.map → MyTicketsPage-CTpjkA5t.js.map} +1 -1
  93. package/dist/chunks/{NavigationAppsPage-DfTa4jCG.js → NavigationAppsPage-DO5bTibb.js} +2 -2
  94. package/dist/chunks/{NavigationAppsPage-DfTa4jCG.js.map → NavigationAppsPage-DO5bTibb.js.map} +1 -1
  95. package/dist/chunks/{NavigationAppsPage-DXvpLsbt.js → NavigationAppsPage-vx_n07SD.js} +2 -2
  96. package/dist/chunks/{NavigationAppsPage-DXvpLsbt.js.map → NavigationAppsPage-vx_n07SD.js.map} +1 -1
  97. package/dist/chunks/{NotificationsPage-I1yCk7tk.js → NotificationsPage-Br9sb9AQ.js} +2 -2
  98. package/dist/chunks/{NotificationsPage-I1yCk7tk.js.map → NotificationsPage-Br9sb9AQ.js.map} +1 -1
  99. package/dist/chunks/{NotificationsPage-D76MdAs-.js → NotificationsPage-CRhd752L.js} +2 -2
  100. package/dist/chunks/{NotificationsPage-D76MdAs-.js.map → NotificationsPage-CRhd752L.js.map} +1 -1
  101. package/dist/chunks/{OnboardingWizardPage-DtWUPCh3.js → OnboardingWizardPage-BIl3Usew.js} +2 -2
  102. package/dist/chunks/{OnboardingWizardPage-DtWUPCh3.js.map → OnboardingWizardPage-BIl3Usew.js.map} +1 -1
  103. package/dist/chunks/{OnboardingWizardPage-BRUzcl1A.js → OnboardingWizardPage-CjqxWX7h.js} +2 -2
  104. package/dist/chunks/{OnboardingWizardPage-BRUzcl1A.js.map → OnboardingWizardPage-CjqxWX7h.js.map} +1 -1
  105. package/dist/chunks/{PermissionDetailPage-DJJGbXoX.js → PermissionDetailPage-COIuJXH-.js} +2 -2
  106. package/dist/chunks/{PermissionDetailPage-DJJGbXoX.js.map → PermissionDetailPage-COIuJXH-.js.map} +1 -1
  107. package/dist/chunks/{PermissionDetailPage-CUNKbl7t.js → PermissionDetailPage-P_d6xnY0.js} +2 -2
  108. package/dist/chunks/{PermissionDetailPage-CUNKbl7t.js.map → PermissionDetailPage-P_d6xnY0.js.map} +1 -1
  109. package/dist/chunks/{PermissionsPage-B8wmawPV.js → PermissionsPage-BhjnMyFY.js} +2 -2
  110. package/dist/chunks/{PermissionsPage-B8wmawPV.js.map → PermissionsPage-BhjnMyFY.js.map} +1 -1
  111. package/dist/chunks/{PermissionsPage-Dbjcctuh.js → PermissionsPage-CHYy8XFr.js} +2 -2
  112. package/dist/chunks/{PermissionsPage-Dbjcctuh.js.map → PermissionsPage-CHYy8XFr.js.map} +1 -1
  113. package/dist/chunks/{PortalDashboardPage-zii0ll57.js → PortalDashboardPage-BwQ4NQrH.js} +2 -2
  114. package/dist/chunks/{PortalDashboardPage-zii0ll57.js.map → PortalDashboardPage-BwQ4NQrH.js.map} +1 -1
  115. package/dist/chunks/{PortalDashboardPage-BeNfBZmb.js → PortalDashboardPage-hLJcfGnT.js} +2 -2
  116. package/dist/chunks/{PortalDashboardPage-BeNfBZmb.js.map → PortalDashboardPage-hLJcfGnT.js.map} +1 -1
  117. package/dist/chunks/{PreferencesPage-BmvrBaAD.js → PreferencesPage-DYYqisR0.js} +2 -2
  118. package/dist/chunks/{PreferencesPage-BmvrBaAD.js.map → PreferencesPage-DYYqisR0.js.map} +1 -1
  119. package/dist/chunks/{PreferencesPage-BCpuIGzv.js → PreferencesPage-DzpM-lpD.js} +2 -2
  120. package/dist/chunks/{PreferencesPage-BCpuIGzv.js.map → PreferencesPage-DzpM-lpD.js.map} +1 -1
  121. package/dist/chunks/{ProfilePage-eowQd59_.js → ProfilePage-D98bvXeT.js} +2 -2
  122. package/dist/chunks/{ProfilePage-eowQd59_.js.map → ProfilePage-D98bvXeT.js.map} +1 -1
  123. package/dist/chunks/{ProfilePage-mf5wI0-n.js → ProfilePage-DWRDN0fo.js} +2 -2
  124. package/dist/chunks/{ProfilePage-mf5wI0-n.js.map → ProfilePage-DWRDN0fo.js.map} +1 -1
  125. package/dist/chunks/{ReferencesManagementPage-CLsaUNqA.js → ReferencesManagementPage-B0Cq9BHS.js} +2 -2
  126. package/dist/chunks/{ReferencesManagementPage-CLsaUNqA.js.map → ReferencesManagementPage-B0Cq9BHS.js.map} +1 -1
  127. package/dist/chunks/{ReferencesManagementPage-8UPgkVE8.js → ReferencesManagementPage-CxbfOBs2.js} +3 -3
  128. package/dist/chunks/{ReferencesManagementPage-8UPgkVE8.js.map → ReferencesManagementPage-CxbfOBs2.js.map} +1 -1
  129. package/dist/chunks/{RegisterPage-57X-ILDb.js → RegisterPage-DMeq3GzW.js} +2 -2
  130. package/dist/chunks/{RegisterPage-57X-ILDb.js.map → RegisterPage-DMeq3GzW.js.map} +1 -1
  131. package/dist/chunks/{RegisterPage-CNyHSbqs.js → RegisterPage-DvG2Php7.js} +2 -2
  132. package/dist/chunks/{RegisterPage-CNyHSbqs.js.map → RegisterPage-DvG2Php7.js.map} +1 -1
  133. package/dist/chunks/{ResetPasswordPage-JW8-mh_k.js → ResetPasswordPage-DOTswepm.js} +2 -2
  134. package/dist/chunks/{ResetPasswordPage-JW8-mh_k.js.map → ResetPasswordPage-DOTswepm.js.map} +1 -1
  135. package/dist/chunks/{ResetPasswordPage-CyV8l-Zo.js → ResetPasswordPage-ntMMFvDo.js} +2 -2
  136. package/dist/chunks/{ResetPasswordPage-CyV8l-Zo.js.map → ResetPasswordPage-ntMMFvDo.js.map} +1 -1
  137. package/dist/chunks/{ResolutionModal-wddG59kg.js → ResolutionModal-CKt73sIZ.js} +2 -2
  138. package/dist/chunks/{ResolutionModal-wddG59kg.js.map → ResolutionModal-CKt73sIZ.js.map} +1 -1
  139. package/dist/chunks/{ResolutionModal-CjwE73NX.js → ResolutionModal-XGHCELez.js} +2 -2
  140. package/dist/chunks/{ResolutionModal-CjwE73NX.js.map → ResolutionModal-XGHCELez.js.map} +1 -1
  141. package/dist/chunks/{RoleDetailPage-CrioVHFI.js → RoleDetailPage-BtnYTVN6.js} +3 -3
  142. package/dist/chunks/{RoleDetailPage-CrioVHFI.js.map → RoleDetailPage-BtnYTVN6.js.map} +1 -1
  143. package/dist/chunks/{RoleDetailPage-TUOGR1ow.js → RoleDetailPage-DAp65p0d.js} +2 -2
  144. package/dist/chunks/{RoleDetailPage-TUOGR1ow.js.map → RoleDetailPage-DAp65p0d.js.map} +1 -1
  145. package/dist/chunks/{RolesPage-CAcols3D.js → RolesPage-DyEhJHxw.js} +2 -2
  146. package/dist/chunks/{RolesPage-CAcols3D.js.map → RolesPage-DyEhJHxw.js.map} +1 -1
  147. package/dist/chunks/{RolesPage-sJBWaNff.js → RolesPage-FmZCLEYo.js} +2 -2
  148. package/dist/chunks/{RolesPage-sJBWaNff.js.map → RolesPage-FmZCLEYo.js.map} +1 -1
  149. package/dist/chunks/{SlaConfigPage-BPGRloOS.js → SlaConfigPage-DTtP2Q4t.js} +2 -2
  150. package/dist/chunks/{SlaConfigPage-BPGRloOS.js.map → SlaConfigPage-DTtP2Q4t.js.map} +1 -1
  151. package/dist/chunks/{SlaConfigPage-D5TRn7Ir.js → SlaConfigPage-LpVD_ai4.js} +2 -2
  152. package/dist/chunks/{SlaConfigPage-D5TRn7Ir.js.map → SlaConfigPage-LpVD_ai4.js.map} +1 -1
  153. package/dist/chunks/{SupportPermissionsPage-UXmYLrIq.js → SupportPermissionsPage-BV8F_Tl3.js} +2 -2
  154. package/dist/chunks/{SupportPermissionsPage-UXmYLrIq.js.map → SupportPermissionsPage-BV8F_Tl3.js.map} +1 -1
  155. package/dist/chunks/{SupportPermissionsPage-Dc2bWTzG.js → SupportPermissionsPage-Bzfq6pKf.js} +2 -2
  156. package/dist/chunks/{SupportPermissionsPage-Dc2bWTzG.js.map → SupportPermissionsPage-Bzfq6pKf.js.map} +1 -1
  157. package/dist/chunks/{TemplatesPage-nTY85sNA.js → TemplatesPage-CYHH5WlP.js} +2 -2
  158. package/dist/chunks/{TemplatesPage-nTY85sNA.js.map → TemplatesPage-CYHH5WlP.js.map} +1 -1
  159. package/dist/chunks/{TemplatesPage-dmPlqqiD.js → TemplatesPage-czt_RH5f.js} +2 -2
  160. package/dist/chunks/{TemplatesPage-dmPlqqiD.js.map → TemplatesPage-czt_RH5f.js.map} +1 -1
  161. package/dist/chunks/{TenantCard-BhT-31ls.js → TenantCard-Bqh5PGJx.js} +2 -2
  162. package/dist/chunks/{TenantCard-BhT-31ls.js.map → TenantCard-Bqh5PGJx.js.map} +1 -1
  163. package/dist/chunks/{TenantCard-BUXfstRZ.js → TenantCard-C6qKD480.js} +2 -2
  164. package/dist/chunks/{TenantCard-BUXfstRZ.js.map → TenantCard-C6qKD480.js.map} +1 -1
  165. package/dist/chunks/{TenantScopeSelector-B-SRDR2R.js → TenantScopeSelector-DWUP8Le7.js} +2 -2
  166. package/dist/chunks/{TenantScopeSelector-B-SRDR2R.js.map → TenantScopeSelector-DWUP8Le7.js.map} +1 -1
  167. package/dist/chunks/{TenantScopeSelector-3_mzBLNI.js → TenantScopeSelector-DxQ7HNbh.js} +2 -2
  168. package/dist/chunks/{TenantScopeSelector-3_mzBLNI.js.map → TenantScopeSelector-DxQ7HNbh.js.map} +1 -1
  169. package/dist/chunks/{TicketDetailPage-xN3wPnFL.js → TicketDetailPage-BuxXLcJi.js} +2 -2
  170. package/dist/chunks/{TicketDetailPage-xN3wPnFL.js.map → TicketDetailPage-BuxXLcJi.js.map} +1 -1
  171. package/dist/chunks/{TicketDetailPage-B4cR3rOC.js → TicketDetailPage-Dy4pg33-.js} +2 -2
  172. package/dist/chunks/{TicketDetailPage-B4cR3rOC.js.map → TicketDetailPage-Dy4pg33-.js.map} +1 -1
  173. package/dist/chunks/{TicketsPage-CkHgXSxU.js → TicketsPage-Ck-HUgte.js} +2 -2
  174. package/dist/chunks/{TicketsPage-CkHgXSxU.js.map → TicketsPage-Ck-HUgte.js.map} +1 -1
  175. package/dist/chunks/{TicketsPage-Dwi2xpMI.js → TicketsPage-jlN9JDzm.js} +2 -2
  176. package/dist/chunks/{TicketsPage-Dwi2xpMI.js.map → TicketsPage-jlN9JDzm.js.map} +1 -1
  177. package/dist/chunks/{UserCreateTicketPage-D2a3EOey.js → UserCreateTicketPage-BrRZyXMn.js} +2 -2
  178. package/dist/chunks/{UserCreateTicketPage-D2a3EOey.js.map → UserCreateTicketPage-BrRZyXMn.js.map} +1 -1
  179. package/dist/chunks/{UserCreateTicketPage-bcbSLglE.js → UserCreateTicketPage-D58Ro4Nb.js} +2 -2
  180. package/dist/chunks/{UserCreateTicketPage-bcbSLglE.js.map → UserCreateTicketPage-D58Ro4Nb.js.map} +1 -1
  181. package/dist/chunks/{UserDashboardPage-DwnDRNoW.js → UserDashboardPage-C5ulSzaI.js} +2 -2
  182. package/dist/chunks/{UserDashboardPage-DwnDRNoW.js.map → UserDashboardPage-C5ulSzaI.js.map} +1 -1
  183. package/dist/chunks/{UserDashboardPage-ZMsx8LWw.js → UserDashboardPage-CjAx5OHh.js} +2 -2
  184. package/dist/chunks/{UserDashboardPage-ZMsx8LWw.js.map → UserDashboardPage-CjAx5OHh.js.map} +1 -1
  185. package/dist/chunks/{UserDetailPage-BRFowOFL.js → UserDetailPage-Bhpry9xq.js} +2 -2
  186. package/dist/chunks/{UserDetailPage-BRFowOFL.js.map → UserDetailPage-Bhpry9xq.js.map} +1 -1
  187. package/dist/chunks/{UserDetailPage-CZyV-zsg.js → UserDetailPage-DUu2mA_n.js} +5 -5
  188. package/dist/chunks/{UserDetailPage-CZyV-zsg.js.map → UserDetailPage-DUu2mA_n.js.map} +1 -1
  189. package/dist/chunks/{UserTicketDetailPage-DzB_pELt.js → UserTicketDetailPage-DpFFjIso.js} +2 -2
  190. package/dist/chunks/{UserTicketDetailPage-DzB_pELt.js.map → UserTicketDetailPage-DpFFjIso.js.map} +1 -1
  191. package/dist/chunks/{UserTicketDetailPage-BstGk_BP.js → UserTicketDetailPage-YJvBWFEu.js} +2 -2
  192. package/dist/chunks/{UserTicketDetailPage-BstGk_BP.js.map → UserTicketDetailPage-YJvBWFEu.js.map} +1 -1
  193. package/dist/chunks/{UsersGroupsPage-DTmhzttW.js → UsersGroupsPage-b2PTQX_m.js} +2 -2
  194. package/dist/chunks/{UsersGroupsPage-DTmhzttW.js.map → UsersGroupsPage-b2PTQX_m.js.map} +1 -1
  195. package/dist/chunks/{UsersGroupsPage-BygTv_kK.js → UsersGroupsPage-l33K3Nca.js} +3 -3
  196. package/dist/chunks/{UsersGroupsPage-BygTv_kK.js.map → UsersGroupsPage-l33K3Nca.js.map} +1 -1
  197. package/dist/chunks/{UsersPage-TIqSHgHj.js → UsersPage-BjC5ZqTa.js} +2 -2
  198. package/dist/chunks/{UsersPage-TIqSHgHj.js.map → UsersPage-BjC5ZqTa.js.map} +1 -1
  199. package/dist/chunks/{UsersPage-DcwLyMAX.js → UsersPage-NsTukS8m.js} +2 -2
  200. package/dist/chunks/{UsersPage-DcwLyMAX.js.map → UsersPage-NsTukS8m.js.map} +1 -1
  201. package/dist/chunks/{accessRequestsApi-B6dsJzvH.js → accessRequestsApi-C2usKVGJ.js} +2 -2
  202. package/dist/chunks/{accessRequestsApi-B6dsJzvH.js.map → accessRequestsApi-C2usKVGJ.js.map} +1 -1
  203. package/dist/chunks/{accessRequestsApi-3FjMFbpa.js → accessRequestsApi-LuovcP6l.js} +2 -2
  204. package/dist/chunks/{accessRequestsApi-3FjMFbpa.js.map → accessRequestsApi-LuovcP6l.js.map} +1 -1
  205. package/dist/chunks/{aiApi-DXOdsoxr.js → aiApi-B03u3zUH.js} +2 -2
  206. package/dist/chunks/{aiApi-DXOdsoxr.js.map → aiApi-B03u3zUH.js.map} +1 -1
  207. package/dist/chunks/{aiApi-9G4wG_mT.js → aiApi-Cwg0B8PJ.js} +2 -2
  208. package/dist/chunks/{aiApi-9G4wG_mT.js.map → aiApi-Cwg0B8PJ.js.map} +1 -1
  209. package/dist/chunks/{applicationAnalyticsApi-DhOd6idI.js → applicationAnalyticsApi-BobBdehV.js} +2 -2
  210. package/dist/chunks/{applicationAnalyticsApi-DhOd6idI.js.map → applicationAnalyticsApi-BobBdehV.js.map} +1 -1
  211. package/dist/chunks/{applicationAnalyticsApi-D0DEp9Y-.js → applicationAnalyticsApi-jCZhWKOx.js} +2 -2
  212. package/dist/chunks/{applicationAnalyticsApi-D0DEp9Y-.js.map → applicationAnalyticsApi-jCZhWKOx.js.map} +1 -1
  213. package/dist/chunks/{groupsApi-Db8G2lLs.js → groupsApi-CoxnW9vH.js} +2 -2
  214. package/dist/chunks/{groupsApi-Db8G2lLs.js.map → groupsApi-CoxnW9vH.js.map} +1 -1
  215. package/dist/chunks/{groupsApi-lbxNsHFv.js → groupsApi-D2lFFcgu.js} +2 -2
  216. package/dist/chunks/{groupsApi-lbxNsHFv.js.map → groupsApi-D2lFFcgu.js.map} +1 -1
  217. package/dist/chunks/{index-xhRXN1Jq.js → index-B5U_Jp0-.js} +2 -2
  218. package/dist/chunks/{index-xhRXN1Jq.js.map → index-B5U_Jp0-.js.map} +1 -1
  219. package/dist/chunks/{index-Bn8HzILk.js → index-BDB_a-p7.js} +4 -4
  220. package/dist/chunks/{index-Bn8HzILk.js.map → index-BDB_a-p7.js.map} +1 -1
  221. package/dist/chunks/{index-DF93KQFR.js → index-BbHRJz-n.js} +2 -2
  222. package/dist/chunks/{index-DF93KQFR.js.map → index-BbHRJz-n.js.map} +1 -1
  223. package/dist/chunks/{index-DqbVFB1H.js → index-CI2WU5ZZ.js} +2 -2
  224. package/dist/chunks/{index-DqbVFB1H.js.map → index-CI2WU5ZZ.js.map} +1 -1
  225. package/dist/chunks/{index-DjC1u2hI.js → index-CLk9ClC2.js} +3 -3
  226. package/dist/chunks/{index-DjC1u2hI.js.map → index-CLk9ClC2.js.map} +1 -1
  227. package/dist/chunks/{index-CgtbaFf5.js → index-CmTKGOa_.js} +2 -2
  228. package/dist/chunks/{index-CgtbaFf5.js.map → index-CmTKGOa_.js.map} +1 -1
  229. package/dist/chunks/{index-DwqLhQ8S.js → index-D5oIr6PO.js} +2 -2
  230. package/dist/chunks/{index-DwqLhQ8S.js.map → index-D5oIr6PO.js.map} +1 -1
  231. package/dist/chunks/{index-CTGSmYvs.js → index-DC6TBJV_.js} +2 -2
  232. package/dist/chunks/{index-CTGSmYvs.js.map → index-DC6TBJV_.js.map} +1 -1
  233. package/dist/chunks/{index-CN2WRyg1.js → index-DN97bp_f.js} +1145 -1108
  234. package/dist/chunks/index-DN97bp_f.js.map +1 -0
  235. package/dist/chunks/{index-DUS-tunb.js → index-DRW5qV_L.js} +2 -2
  236. package/dist/chunks/{index-DUS-tunb.js.map → index-DRW5qV_L.js.map} +1 -1
  237. package/dist/chunks/{index-DLekpNSE.js → index-DcLZao1q.js} +2 -2
  238. package/dist/chunks/{index-DLekpNSE.js.map → index-DcLZao1q.js.map} +1 -1
  239. package/dist/chunks/{index-HsAOBno4.js → index-DcMOmGtX.js} +2 -2
  240. package/dist/chunks/{index-HsAOBno4.js.map → index-DcMOmGtX.js.map} +1 -1
  241. package/dist/chunks/{index-cAikSVW0.js → index-DnML-nfd.js} +10 -10
  242. package/dist/chunks/index-DnML-nfd.js.map +1 -0
  243. package/dist/chunks/{index-DEtq-xUL.js → index-Drd59qAP.js} +8 -8
  244. package/dist/chunks/{index-DEtq-xUL.js.map → index-Drd59qAP.js.map} +1 -1
  245. package/dist/chunks/{index-TiWOcC0g.js → index-EiIHjIgi.js} +2 -2
  246. package/dist/chunks/{index-TiWOcC0g.js.map → index-EiIHjIgi.js.map} +1 -1
  247. package/dist/chunks/{index-D0HS542b.js → index-axYz6ptj.js} +2 -2
  248. package/dist/chunks/{index-D0HS542b.js.map → index-axYz6ptj.js.map} +1 -1
  249. package/dist/chunks/{index-BI2dc1FS.js → index-lXrXnhFc.js} +2 -2
  250. package/dist/chunks/{index-BI2dc1FS.js.map → index-lXrXnhFc.js.map} +1 -1
  251. package/dist/chunks/{index-CUICSveU.js → index-rI-1r6c2.js} +2 -2
  252. package/dist/chunks/{index-CUICSveU.js.map → index-rI-1r6c2.js.map} +1 -1
  253. package/dist/chunks/{tenantIconMap-__FKj6CN.js → tenantIconMap-B4wAYGWP.js} +2 -2
  254. package/dist/chunks/{tenantIconMap-__FKj6CN.js.map → tenantIconMap-B4wAYGWP.js.map} +1 -1
  255. package/dist/chunks/{tenantIconMap-CHeS7oLt.js → tenantIconMap-Cfm15HwB.js} +2 -2
  256. package/dist/chunks/{tenantIconMap-CHeS7oLt.js.map → tenantIconMap-Cfm15HwB.js.map} +1 -1
  257. package/dist/chunks/{ticketingApi-DF4RwD_6.js → ticketingApi-CLMAPZDw.js} +2 -2
  258. package/dist/chunks/{ticketingApi-DF4RwD_6.js.map → ticketingApi-CLMAPZDw.js.map} +1 -1
  259. package/dist/chunks/{ticketingApi-Cj239hYB.js → ticketingApi-CTap4NdE.js} +2 -2
  260. package/dist/chunks/{ticketingApi-Cj239hYB.js.map → ticketingApi-CTap4NdE.js.map} +1 -1
  261. package/dist/chunks/{useAccessRequests-CViOUwyF.js → useAccessRequests-CBpDkq9o.js} +2 -2
  262. package/dist/chunks/{useAccessRequests-CViOUwyF.js.map → useAccessRequests-CBpDkq9o.js.map} +1 -1
  263. package/dist/chunks/{useAccessRequests-CFam8zFR.js → useAccessRequests-Cj2-OoAW.js} +3 -3
  264. package/dist/chunks/{useAccessRequests-CFam8zFR.js.map → useAccessRequests-Cj2-OoAW.js.map} +1 -1
  265. package/dist/chunks/{useUserAccessRequests-CslSQeBJ.js → useUserAccessRequests-C6l2VMe1.js} +2 -2
  266. package/dist/chunks/{useUserAccessRequests-CslSQeBJ.js.map → useUserAccessRequests-C6l2VMe1.js.map} +1 -1
  267. package/dist/chunks/{useUserAccessRequests-B-Cs6NX1.js → useUserAccessRequests-Ds3K-ENU.js} +2 -2
  268. package/dist/chunks/{useUserAccessRequests-B-Cs6NX1.js.map → useUserAccessRequests-Ds3K-ENU.js.map} +1 -1
  269. package/dist/components/routing/DynamicRouter.d.ts.map +1 -1
  270. package/dist/contexts/AuthContext.d.ts.map +1 -1
  271. package/dist/contexts/NavigationContext.d.ts.map +1 -1
  272. package/dist/extensions/PageRegistry.d.ts +2 -0
  273. package/dist/extensions/PageRegistry.d.ts.map +1 -1
  274. package/dist/services/api/adminApi/settings.d.ts +8 -3
  275. package/dist/services/api/adminApi/settings.d.ts.map +1 -1
  276. package/dist/smartstack.cjs +1 -1
  277. package/dist/smartstack.js +1 -1
  278. package/package.json +1 -1
  279. package/dist/chunks/index-CN2WRyg1.js.map +0 -1
  280. package/dist/chunks/index-cAikSVW0.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"aiApi-DXOdsoxr.js","sources":["../../src/services/api/aiApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\n\r\n// Types for AI Dashboard\r\nexport interface DashboardOverviewDto {\r\n totalTokens: number;\r\n totalCost: number;\r\n totalRequests: number;\r\n successRate: number;\r\n avgLatencyMs: number;\r\n activeProviders: number;\r\n totalProviders: number;\r\n providerBreakdown: ProviderBreakdownDto[];\r\n}\r\n\r\nexport interface ProviderBreakdownDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n costPercentage: number;\r\n}\r\n\r\nexport interface ProviderUsageDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n}\r\n\r\nexport interface ModelUsageDto {\r\n modelName: string;\r\n providerId: string;\r\n providerCode: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface DailyCostDto {\r\n date: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface UsageEventDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n modelName: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n featureName: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Settings\r\nexport interface ProviderListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n adminApiKeyUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n keyCount: number;\r\n modelCount: number;\r\n}\r\n\r\nexport interface ModelListDto {\r\n id: string;\r\n providerId: string | null;\r\n providerCode: string | null;\r\n providerName: string | null;\r\n code: string;\r\n shortCode: string;\r\n name: string;\r\n description: string | null;\r\n category: string;\r\n contextWindow: number;\r\n maxOutputTokens: number | null;\r\n inputCostPerMillionTokens: number;\r\n outputCostPerMillionTokens: number;\r\n supportsVision: boolean;\r\n supportsImageGeneration: boolean;\r\n supportsAudioInput: boolean;\r\n supportsAudioOutput: boolean;\r\n supportsFunctionCalling: boolean;\r\n supportsStreaming: boolean;\r\n supportsCodeExecution: boolean;\r\n isActive: boolean;\r\n isDeprecated: boolean;\r\n deprecationDate: string | null;\r\n modelFamily?: string | null;\r\n}\r\n\r\n// Types for Provider Instances\r\nexport interface ProviderInstanceListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n providerLogoUrl: string | null;\r\n department: string | null;\r\n costCenter: string | null;\r\n defaultModel: string | null;\r\n budgetLimit: number | null;\r\n currentPeriodUsage: number;\r\n budgetPeriodType: string | null;\r\n budgetPeriodStart: string | null;\r\n nextResetDate: string | null;\r\n isOverBudget: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n tenantCount: number;\r\n isAllTenants: boolean;\r\n skillCount: number;\r\n}\r\n\r\nexport interface ProviderInstanceDetailDto extends ProviderInstanceListDto {\r\n providerDocumentationUrl: string | null;\r\n systemContext: string | null;\r\n maxTokensPerRequest: number | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n tenants: InstanceTenantDto[];\r\n skills: InstanceSkillDto[];\r\n}\r\n\r\nexport interface InstanceTenantDto {\r\n id: string;\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string | null;\r\n}\r\n\r\nexport interface InstanceSkillDto {\r\n id: string;\r\n skillId: string;\r\n skillCode: string;\r\n skillName: string;\r\n skillDescription: string | null;\r\n skillVersion: string;\r\n skillStatus: string;\r\n}\r\n\r\nexport interface GenerateCodeResponse {\r\n code: string;\r\n providerCode: string;\r\n sequence: number;\r\n}\r\n\r\nexport interface CreateProviderInstanceRequest {\r\n providerId: string;\r\n code: string;\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n apiKey?: string;\r\n adminKey?: string;\r\n}\r\n\r\nexport interface UpdateProviderInstanceRequest {\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n}\r\n\r\nexport interface SetKeyRequest {\r\n value: string;\r\n}\r\n\r\nexport interface AddInstanceTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface SetAllTenantsRequest {\r\n isAllTenants: boolean;\r\n}\r\n\r\nexport interface AddInstanceSkillRequest {\r\n skillId: string;\r\n}\r\n\r\nexport interface ProviderDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n apiBaseUrl: string | null;\r\n adminApiBaseUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n keys: ApiKeyListDto[];\r\n models: ModelListDto[];\r\n}\r\n\r\nexport interface ApiKeyListDto {\r\n id: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n maskedValue: string;\r\n}\r\n\r\nexport interface ApiKeyDetailDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n lastUsedByUserId: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n maskedValue: string;\r\n isExpired: boolean;\r\n}\r\n\r\nexport interface CreateApiKeyRequest {\r\n keyType: string;\r\n value: string;\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface UpdateApiKeyRequest {\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface RotateKeyRequest {\r\n newValue: string;\r\n}\r\n\r\nexport interface RevealKeyResponse {\r\n value: string;\r\n}\r\n\r\n// Types for AI Skills\r\nexport interface AiSkillListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n tags: string | null;\r\n blockCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n parentSkillId: string | null;\r\n tags: string | null;\r\n blocks: AiSkillBlockDto[];\r\n variables: string[];\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillBlockDto {\r\n id: string;\r\n blockDefinitionId: string | null;\r\n blockDefinitionCode: string | null;\r\n blockType: string;\r\n label: string | null;\r\n content: string;\r\n displayOrder: number;\r\n isRequired: boolean;\r\n isEnabled: boolean;\r\n condition: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n defaultTitle: string | null;\r\n defaultContent: string | null;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface CreateAiSkillRequest {\r\n code: string;\r\n name: string;\r\n description?: string;\r\n version?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n blocks?: CreateAiSkillBlockRequest[];\r\n}\r\n\r\nexport interface UpdateAiSkillRequest {\r\n name?: string;\r\n description?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n}\r\n\r\nexport interface CreateAiSkillBlockRequest {\r\n blockDefinitionId?: string;\r\n blockType: string;\r\n label: string;\r\n content: string;\r\n displayOrder: number;\r\n isRequired?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface UpdateAiSkillBlockRequest {\r\n label?: string;\r\n content?: string;\r\n isRequired?: boolean;\r\n isEnabled?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface CreateBlockDefinitionRequest {\r\n name: string;\r\n blockType: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface UpdateBlockDefinitionRequest {\r\n name?: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface ReorderBlocksRequest {\r\n blockIds: string[];\r\n}\r\n\r\nexport interface AiSkillPreviewRequest {\r\n variables: Record<string, string>;\r\n}\r\n\r\n// Types for Output Schemas\r\nexport type OutputSchemaCategory =\r\n | 'Support'\r\n | 'Content'\r\n | 'Analysis'\r\n | 'Translation'\r\n | 'CodeGeneration'\r\n | 'DataExtraction'\r\n | 'Custom';\r\n\r\nexport interface SchemaListDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n}\r\n\r\nexport interface SchemaDetailDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n jsonSchema: string;\r\n uiSchema: string | null;\r\n dotNetType: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CreateSchemaRequest {\r\n code: string;\r\n name: string;\r\n jsonSchema: string;\r\n category?: OutputSchemaCategory;\r\n description?: string;\r\n uiSchema?: string;\r\n dotNetType?: string;\r\n}\r\n\r\nexport interface UpdateSchemaRequest {\r\n name: string;\r\n description?: string;\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n category: OutputSchemaCategory;\r\n}\r\n\r\nexport interface IncrementVersionRequest {\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n}\r\n\r\nexport interface PromptPreviewResponse {\r\n fullPrompt: string;\r\n}\r\n\r\n// Types for Prompt Execution\r\nexport interface ExecutePromptRequest {\r\n variables?: Record<string, string>;\r\n providerId?: string;\r\n modelId?: string;\r\n}\r\n\r\nexport interface AiSkillExecutionResponse {\r\n skillId: string;\r\n skillName: string;\r\n response: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n latencyMs: number;\r\n providerId: string;\r\n modelId: string;\r\n modelName: string;\r\n success: boolean;\r\n error?: string;\r\n}\r\n\r\n// Types for AI Usage (by instance/profile)\r\nexport interface InstanceUsageDto {\r\n instanceId: string;\r\n instanceCode: string;\r\n instanceName: string;\r\n department: string | null;\r\n costCenter: string | null;\r\n providerName: string;\r\n totalTokens: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n lastUsedAt: string | null;\r\n}\r\n\r\nexport interface InstanceEventDto {\r\n id: string;\r\n providerName: string;\r\n modelName: string;\r\n featureName: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Agents\r\nexport interface AiAgentListDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n stepCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiAgentStepDto {\r\n id: string;\r\n agentId: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n isActive: boolean;\r\n inputMappingJson: string | null;\r\n outputStateKey: string | null;\r\n continueOnFailure: boolean;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n skill: {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n } | null;\r\n}\r\n\r\nexport interface AiAgentDetailDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n moduleId: string;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n steps: AiAgentStepDto[];\r\n}\r\n\r\nexport interface AiAgentExecutionListDto {\r\n id: string;\r\n agentCode: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\nexport interface AiAgentStepExecutionDto {\r\n id: string;\r\n executionId: string;\r\n stepId: string;\r\n skillCode: string;\r\n stepOrder: number;\r\n stepName: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n inputVariablesJson: string | null;\r\n outputJson: string | null;\r\n errorMessage: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n cost: number;\r\n executionTimeMs: number;\r\n providerCode: string | null;\r\n modelCode: string | null;\r\n}\r\n\r\nexport interface AiAgentExecutionDetailDto extends AiAgentExecutionListDto {\r\n agentId: string;\r\n inputStateJson: string | null;\r\n finalStateJson: string | null;\r\n userId: string | null;\r\n stepExecutions: AiAgentStepExecutionDto[];\r\n}\r\n\r\nexport interface CreateAgentRequest {\r\n agentCode: string;\r\n name: string;\r\n moduleId: string;\r\n description?: string;\r\n maxParallelism?: number;\r\n timeoutSeconds?: number;\r\n}\r\n\r\nexport interface UpdateAgentRequest {\r\n name: string;\r\n description?: string;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n steps?: UpdateAgentStepRequest[];\r\n}\r\n\r\nexport interface UpdateAgentStepRequest {\r\n id?: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n inputMappingJson?: string;\r\n outputStateKey?: string;\r\n continueOnFailure?: boolean;\r\n}\r\n\r\nexport interface AgentExecutionResult {\r\n success: boolean;\r\n executionId: string;\r\n status: number;\r\n finalState: Record<string, string>;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\n// API Service\r\nexport const aiApi = {\r\n // Dashboard\r\n dashboard: {\r\n getOverview: (days: number = 30) =>\r\n api.get<DashboardOverviewDto>('/api/administration/ai/dashboard/overview', { params: { days } }),\r\n\r\n getByProvider: (startDate?: string, endDate?: string) =>\r\n api.get<ProviderUsageDto[]>('/api/administration/ai/dashboard/by-provider', { params: { startDate, endDate } }),\r\n\r\n getByModel: (startDate?: string, endDate?: string, providerId?: string) =>\r\n api.get<ModelUsageDto[]>('/api/administration/ai/dashboard/by-model', { params: { startDate, endDate, providerId } }),\r\n\r\n getDailyCosts: (days: number = 30, providerId?: string) =>\r\n api.get<DailyCostDto[]>('/api/administration/ai/dashboard/daily-costs', { params: { days, providerId } }),\r\n\r\n getRecentEvents: (count: number = 50, providerId?: string) =>\r\n api.get<UsageEventDto[]>('/api/administration/ai/dashboard/recent-events', { params: { count, providerId } }),\r\n },\r\n\r\n // Settings (Providers & Keys)\r\n settings: {\r\n getProviders: () =>\r\n api.get<ProviderListDto[]>('/api/administration/ai/settings/providers'),\r\n\r\n getProvider: (providerId: string) =>\r\n api.get<ProviderDetailDto>(`/api/administration/ai/settings/providers/${providerId}`),\r\n\r\n getModels: (category?: string, providerId?: string) =>\r\n api.get<ModelListDto[]>('/api/administration/ai/settings/models', { params: { category, providerId } }),\r\n\r\n getKey: (keyId: string) =>\r\n api.get<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`),\r\n\r\n createKey: (providerId: string, data: CreateApiKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/providers/${providerId}/keys`, data),\r\n\r\n updateKey: (keyId: string, data: UpdateApiKeyRequest) =>\r\n api.put<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`, data),\r\n\r\n rotateKey: (keyId: string, data: RotateKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}/rotate`, data),\r\n\r\n revealKey: (keyId: string) =>\r\n api.post<RevealKeyResponse>(`/api/administration/ai/settings/keys/${keyId}/reveal`),\r\n\r\n activateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/activate`),\r\n\r\n deactivateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/deactivate`),\r\n\r\n deleteKey: (keyId: string) =>\r\n api.delete(`/api/administration/ai/settings/keys/${keyId}`),\r\n },\r\n\r\n // Provider Instances\r\n instances: {\r\n getAll: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances'),\r\n\r\n getMyInstances: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances/my-instances'),\r\n\r\n getById: (instanceId: string) =>\r\n api.get<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n generateCode: (providerId: string) =>\r\n api.get<GenerateCodeResponse>(`/api/administration/ai/instances/generate-code/${providerId}`),\r\n\r\n create: (data: CreateProviderInstanceRequest) =>\r\n api.post<ProviderInstanceDetailDto>('/api/administration/ai/instances', data),\r\n\r\n update: (instanceId: string, data: UpdateProviderInstanceRequest) =>\r\n api.put<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`, data),\r\n\r\n delete: (instanceId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n setApiKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/api-key`, data),\r\n\r\n setAdminKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/admin-key`, data),\r\n\r\n toggleActive: (instanceId: string) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/toggle-active`),\r\n\r\n addTenant: (instanceId: string, data: AddInstanceTenantRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/tenants`, data),\r\n\r\n removeTenant: (instanceId: string, tenantId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/tenants/${tenantId}`),\r\n\r\n setAllTenants: (instanceId: string, data: SetAllTenantsRequest) =>\r\n api.put(`/api/administration/ai/instances/${instanceId}/all-tenants`, data),\r\n\r\n addSkill: (instanceId: string, data: AddInstanceSkillRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/skills`, data),\r\n\r\n removeSkill: (instanceId: string, skillId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/skills/${skillId}`),\r\n },\r\n\r\n // Skills\r\n skills: {\r\n getAll: (params?: { search?: string; category?: string; status?: string }) =>\r\n api.get<AiSkillListDto[]>('/api/administration/ai/skills', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`),\r\n\r\n getByCode: (code: string, version?: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/by-code/${code}`, { params: { version } }),\r\n\r\n create: (data: CreateAiSkillRequest) =>\r\n api.post<AiSkillDetailDto>('/api/administration/ai/skills', data),\r\n\r\n update: (id: string, data: UpdateAiSkillRequest) =>\r\n api.put<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/${id}`),\r\n\r\n activate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/activate`),\r\n\r\n deprecate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/deprecate`),\r\n\r\n clone: (id: string) =>\r\n api.post<AiSkillDetailDto>(`/api/administration/ai/skills/${id}/clone`),\r\n\r\n preview: (id: string, data: AiSkillPreviewRequest) =>\r\n api.post<PromptPreviewResponse>(`/api/administration/ai/skills/${id}/preview`, data),\r\n\r\n execute: (id: string, data: ExecutePromptRequest) =>\r\n api.post<AiSkillExecutionResponse>(`/api/administration/ai/skills/${id}/execute`, data),\r\n\r\n // Blocks\r\n addBlock: (skillId: string, data: CreateAiSkillBlockRequest) =>\r\n api.post<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks`, data),\r\n\r\n updateBlock: (skillId: string, blockId: string, data: UpdateAiSkillBlockRequest) =>\r\n api.put<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`, data),\r\n\r\n deleteBlock: (skillId: string, blockId: string) =>\r\n api.delete(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`),\r\n\r\n reorderBlocks: (skillId: string, data: ReorderBlocksRequest) =>\r\n api.put(`/api/administration/ai/skills/${skillId}/blocks/reorder`, data),\r\n },\r\n\r\n // Block Definitions\r\n blockDefinitions: {\r\n getAll: (params?: { search?: string; blockType?: string }) =>\r\n api.get<AiSkillBlockDefinitionListDto[]>('/api/administration/ai/skills/block-definitions', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`),\r\n\r\n create: (data: CreateBlockDefinitionRequest) =>\r\n api.post<AiSkillBlockDefinitionDetailDto>('/api/administration/ai/skills/block-definitions', data),\r\n\r\n update: (id: string, data: UpdateBlockDefinitionRequest) =>\r\n api.put<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/block-definitions/${id}`),\r\n },\r\n\r\n // Output Schemas\r\n schemas: {\r\n getAll: (params?: { category?: OutputSchemaCategory; isActive?: boolean }) =>\r\n api.get<SchemaListDto[]>('/api/administration/ai/schemas', { params }),\r\n\r\n getById: (schemaId: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`),\r\n\r\n getByCode: (code: string, version?: number) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/by-code/${code}`, { params: { version } }),\r\n\r\n getActiveByCode: (code: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/active/${code}`),\r\n\r\n create: (data: CreateSchemaRequest) =>\r\n api.post<SchemaDetailDto>('/api/administration/ai/schemas', data),\r\n\r\n update: (schemaId: string, data: UpdateSchemaRequest) =>\r\n api.put<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`, data),\r\n\r\n incrementVersion: (schemaId: string, data: IncrementVersionRequest) =>\r\n api.post<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}/increment-version`, data),\r\n\r\n activate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/activate`),\r\n\r\n deactivate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/deactivate`),\r\n\r\n delete: (schemaId: string) =>\r\n api.delete(`/api/administration/ai/schemas/${schemaId}`),\r\n },\r\n\r\n // Usage (by provider instance/profile)\r\n usage: {\r\n getByInstance: (startDate?: string, endDate?: string) =>\r\n api.get<InstanceUsageDto[]>('/api/administration/ai/monitoring/by-instance', { params: { startDate, endDate } }),\r\n\r\n getInstanceEvents: (instanceId: string, startDate?: string, endDate?: string, count: number = 100) =>\r\n api.get<InstanceEventDto[]>(`/api/administration/ai/monitoring/instance/${instanceId}/events`, { params: { startDate, endDate, count } }),\r\n },\r\n\r\n // AI Agents\r\n agents: {\r\n getAll: () =>\r\n api.get<AiAgentListDto[]>('/api/administration/ai/agents'),\r\n\r\n getById: (id: string) =>\r\n api.get<AiAgentDetailDto>(`/api/administration/ai/agents/${id}`),\r\n\r\n create: (data: CreateAgentRequest) =>\r\n api.post<AiAgentDetailDto>('/api/administration/ai/agents', data),\r\n\r\n update: (id: string, data: UpdateAgentRequest) =>\r\n api.put(`/api/administration/ai/agents/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/agents/${id}`),\r\n\r\n execute: (id: string, initialState: Record<string, string>) =>\r\n api.post<AgentExecutionResult>(`/api/administration/ai/agents/${id}/execute`, initialState),\r\n\r\n getExecutions: (id: string) =>\r\n api.get<AiAgentExecutionListDto[]>(`/api/administration/ai/agents/${id}/executions`),\r\n\r\n getExecutionDetail: (executionId: string) =>\r\n api.get<AiAgentExecutionDetailDto>(`/api/administration/ai/agents/executions/${executionId}`),\r\n },\r\n};\r\n"],"names":["aiApi","days","api","startDate","endDate","providerId","count","category","keyId","data","instanceId","tenantId","skillId","params","id","code","version","blockId","schemaId","initialState","executionId"],"mappings":"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"}
1
+ {"version":3,"file":"aiApi-B03u3zUH.js","sources":["../../src/services/api/aiApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\n\r\n// Types for AI Dashboard\r\nexport interface DashboardOverviewDto {\r\n totalTokens: number;\r\n totalCost: number;\r\n totalRequests: number;\r\n successRate: number;\r\n avgLatencyMs: number;\r\n activeProviders: number;\r\n totalProviders: number;\r\n providerBreakdown: ProviderBreakdownDto[];\r\n}\r\n\r\nexport interface ProviderBreakdownDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n costPercentage: number;\r\n}\r\n\r\nexport interface ProviderUsageDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n}\r\n\r\nexport interface ModelUsageDto {\r\n modelName: string;\r\n providerId: string;\r\n providerCode: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface DailyCostDto {\r\n date: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface UsageEventDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n modelName: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n featureName: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Settings\r\nexport interface ProviderListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n adminApiKeyUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n keyCount: number;\r\n modelCount: number;\r\n}\r\n\r\nexport interface ModelListDto {\r\n id: string;\r\n providerId: string | null;\r\n providerCode: string | null;\r\n providerName: string | null;\r\n code: string;\r\n shortCode: string;\r\n name: string;\r\n description: string | null;\r\n category: string;\r\n contextWindow: number;\r\n maxOutputTokens: number | null;\r\n inputCostPerMillionTokens: number;\r\n outputCostPerMillionTokens: number;\r\n supportsVision: boolean;\r\n supportsImageGeneration: boolean;\r\n supportsAudioInput: boolean;\r\n supportsAudioOutput: boolean;\r\n supportsFunctionCalling: boolean;\r\n supportsStreaming: boolean;\r\n supportsCodeExecution: boolean;\r\n isActive: boolean;\r\n isDeprecated: boolean;\r\n deprecationDate: string | null;\r\n modelFamily?: string | null;\r\n}\r\n\r\n// Types for Provider Instances\r\nexport interface ProviderInstanceListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n providerLogoUrl: string | null;\r\n department: string | null;\r\n costCenter: string | null;\r\n defaultModel: string | null;\r\n budgetLimit: number | null;\r\n currentPeriodUsage: number;\r\n budgetPeriodType: string | null;\r\n budgetPeriodStart: string | null;\r\n nextResetDate: string | null;\r\n isOverBudget: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n tenantCount: number;\r\n isAllTenants: boolean;\r\n skillCount: number;\r\n}\r\n\r\nexport interface ProviderInstanceDetailDto extends ProviderInstanceListDto {\r\n providerDocumentationUrl: string | null;\r\n systemContext: string | null;\r\n maxTokensPerRequest: number | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n tenants: InstanceTenantDto[];\r\n skills: InstanceSkillDto[];\r\n}\r\n\r\nexport interface InstanceTenantDto {\r\n id: string;\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string | null;\r\n}\r\n\r\nexport interface InstanceSkillDto {\r\n id: string;\r\n skillId: string;\r\n skillCode: string;\r\n skillName: string;\r\n skillDescription: string | null;\r\n skillVersion: string;\r\n skillStatus: string;\r\n}\r\n\r\nexport interface GenerateCodeResponse {\r\n code: string;\r\n providerCode: string;\r\n sequence: number;\r\n}\r\n\r\nexport interface CreateProviderInstanceRequest {\r\n providerId: string;\r\n code: string;\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n apiKey?: string;\r\n adminKey?: string;\r\n}\r\n\r\nexport interface UpdateProviderInstanceRequest {\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n}\r\n\r\nexport interface SetKeyRequest {\r\n value: string;\r\n}\r\n\r\nexport interface AddInstanceTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface SetAllTenantsRequest {\r\n isAllTenants: boolean;\r\n}\r\n\r\nexport interface AddInstanceSkillRequest {\r\n skillId: string;\r\n}\r\n\r\nexport interface ProviderDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n apiBaseUrl: string | null;\r\n adminApiBaseUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n keys: ApiKeyListDto[];\r\n models: ModelListDto[];\r\n}\r\n\r\nexport interface ApiKeyListDto {\r\n id: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n maskedValue: string;\r\n}\r\n\r\nexport interface ApiKeyDetailDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n lastUsedByUserId: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n maskedValue: string;\r\n isExpired: boolean;\r\n}\r\n\r\nexport interface CreateApiKeyRequest {\r\n keyType: string;\r\n value: string;\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface UpdateApiKeyRequest {\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface RotateKeyRequest {\r\n newValue: string;\r\n}\r\n\r\nexport interface RevealKeyResponse {\r\n value: string;\r\n}\r\n\r\n// Types for AI Skills\r\nexport interface AiSkillListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n tags: string | null;\r\n blockCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n parentSkillId: string | null;\r\n tags: string | null;\r\n blocks: AiSkillBlockDto[];\r\n variables: string[];\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillBlockDto {\r\n id: string;\r\n blockDefinitionId: string | null;\r\n blockDefinitionCode: string | null;\r\n blockType: string;\r\n label: string | null;\r\n content: string;\r\n displayOrder: number;\r\n isRequired: boolean;\r\n isEnabled: boolean;\r\n condition: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n defaultTitle: string | null;\r\n defaultContent: string | null;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface CreateAiSkillRequest {\r\n code: string;\r\n name: string;\r\n description?: string;\r\n version?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n blocks?: CreateAiSkillBlockRequest[];\r\n}\r\n\r\nexport interface UpdateAiSkillRequest {\r\n name?: string;\r\n description?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n}\r\n\r\nexport interface CreateAiSkillBlockRequest {\r\n blockDefinitionId?: string;\r\n blockType: string;\r\n label: string;\r\n content: string;\r\n displayOrder: number;\r\n isRequired?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface UpdateAiSkillBlockRequest {\r\n label?: string;\r\n content?: string;\r\n isRequired?: boolean;\r\n isEnabled?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface CreateBlockDefinitionRequest {\r\n name: string;\r\n blockType: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface UpdateBlockDefinitionRequest {\r\n name?: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface ReorderBlocksRequest {\r\n blockIds: string[];\r\n}\r\n\r\nexport interface AiSkillPreviewRequest {\r\n variables: Record<string, string>;\r\n}\r\n\r\n// Types for Output Schemas\r\nexport type OutputSchemaCategory =\r\n | 'Support'\r\n | 'Content'\r\n | 'Analysis'\r\n | 'Translation'\r\n | 'CodeGeneration'\r\n | 'DataExtraction'\r\n | 'Custom';\r\n\r\nexport interface SchemaListDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n}\r\n\r\nexport interface SchemaDetailDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n jsonSchema: string;\r\n uiSchema: string | null;\r\n dotNetType: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CreateSchemaRequest {\r\n code: string;\r\n name: string;\r\n jsonSchema: string;\r\n category?: OutputSchemaCategory;\r\n description?: string;\r\n uiSchema?: string;\r\n dotNetType?: string;\r\n}\r\n\r\nexport interface UpdateSchemaRequest {\r\n name: string;\r\n description?: string;\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n category: OutputSchemaCategory;\r\n}\r\n\r\nexport interface IncrementVersionRequest {\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n}\r\n\r\nexport interface PromptPreviewResponse {\r\n fullPrompt: string;\r\n}\r\n\r\n// Types for Prompt Execution\r\nexport interface ExecutePromptRequest {\r\n variables?: Record<string, string>;\r\n providerId?: string;\r\n modelId?: string;\r\n}\r\n\r\nexport interface AiSkillExecutionResponse {\r\n skillId: string;\r\n skillName: string;\r\n response: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n latencyMs: number;\r\n providerId: string;\r\n modelId: string;\r\n modelName: string;\r\n success: boolean;\r\n error?: string;\r\n}\r\n\r\n// Types for AI Usage (by instance/profile)\r\nexport interface InstanceUsageDto {\r\n instanceId: string;\r\n instanceCode: string;\r\n instanceName: string;\r\n department: string | null;\r\n costCenter: string | null;\r\n providerName: string;\r\n totalTokens: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n lastUsedAt: string | null;\r\n}\r\n\r\nexport interface InstanceEventDto {\r\n id: string;\r\n providerName: string;\r\n modelName: string;\r\n featureName: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Agents\r\nexport interface AiAgentListDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n stepCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiAgentStepDto {\r\n id: string;\r\n agentId: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n isActive: boolean;\r\n inputMappingJson: string | null;\r\n outputStateKey: string | null;\r\n continueOnFailure: boolean;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n skill: {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n } | null;\r\n}\r\n\r\nexport interface AiAgentDetailDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n moduleId: string;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n steps: AiAgentStepDto[];\r\n}\r\n\r\nexport interface AiAgentExecutionListDto {\r\n id: string;\r\n agentCode: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\nexport interface AiAgentStepExecutionDto {\r\n id: string;\r\n executionId: string;\r\n stepId: string;\r\n skillCode: string;\r\n stepOrder: number;\r\n stepName: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n inputVariablesJson: string | null;\r\n outputJson: string | null;\r\n errorMessage: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n cost: number;\r\n executionTimeMs: number;\r\n providerCode: string | null;\r\n modelCode: string | null;\r\n}\r\n\r\nexport interface AiAgentExecutionDetailDto extends AiAgentExecutionListDto {\r\n agentId: string;\r\n inputStateJson: string | null;\r\n finalStateJson: string | null;\r\n userId: string | null;\r\n stepExecutions: AiAgentStepExecutionDto[];\r\n}\r\n\r\nexport interface CreateAgentRequest {\r\n agentCode: string;\r\n name: string;\r\n moduleId: string;\r\n description?: string;\r\n maxParallelism?: number;\r\n timeoutSeconds?: number;\r\n}\r\n\r\nexport interface UpdateAgentRequest {\r\n name: string;\r\n description?: string;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n steps?: UpdateAgentStepRequest[];\r\n}\r\n\r\nexport interface UpdateAgentStepRequest {\r\n id?: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n inputMappingJson?: string;\r\n outputStateKey?: string;\r\n continueOnFailure?: boolean;\r\n}\r\n\r\nexport interface AgentExecutionResult {\r\n success: boolean;\r\n executionId: string;\r\n status: number;\r\n finalState: Record<string, string>;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\n// API Service\r\nexport const aiApi = {\r\n // Dashboard\r\n dashboard: {\r\n getOverview: (days: number = 30) =>\r\n api.get<DashboardOverviewDto>('/api/administration/ai/dashboard/overview', { params: { days } }),\r\n\r\n getByProvider: (startDate?: string, endDate?: string) =>\r\n api.get<ProviderUsageDto[]>('/api/administration/ai/dashboard/by-provider', { params: { startDate, endDate } }),\r\n\r\n getByModel: (startDate?: string, endDate?: string, providerId?: string) =>\r\n api.get<ModelUsageDto[]>('/api/administration/ai/dashboard/by-model', { params: { startDate, endDate, providerId } }),\r\n\r\n getDailyCosts: (days: number = 30, providerId?: string) =>\r\n api.get<DailyCostDto[]>('/api/administration/ai/dashboard/daily-costs', { params: { days, providerId } }),\r\n\r\n getRecentEvents: (count: number = 50, providerId?: string) =>\r\n api.get<UsageEventDto[]>('/api/administration/ai/dashboard/recent-events', { params: { count, providerId } }),\r\n },\r\n\r\n // Settings (Providers & Keys)\r\n settings: {\r\n getProviders: () =>\r\n api.get<ProviderListDto[]>('/api/administration/ai/settings/providers'),\r\n\r\n getProvider: (providerId: string) =>\r\n api.get<ProviderDetailDto>(`/api/administration/ai/settings/providers/${providerId}`),\r\n\r\n getModels: (category?: string, providerId?: string) =>\r\n api.get<ModelListDto[]>('/api/administration/ai/settings/models', { params: { category, providerId } }),\r\n\r\n getKey: (keyId: string) =>\r\n api.get<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`),\r\n\r\n createKey: (providerId: string, data: CreateApiKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/providers/${providerId}/keys`, data),\r\n\r\n updateKey: (keyId: string, data: UpdateApiKeyRequest) =>\r\n api.put<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`, data),\r\n\r\n rotateKey: (keyId: string, data: RotateKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}/rotate`, data),\r\n\r\n revealKey: (keyId: string) =>\r\n api.post<RevealKeyResponse>(`/api/administration/ai/settings/keys/${keyId}/reveal`),\r\n\r\n activateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/activate`),\r\n\r\n deactivateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/deactivate`),\r\n\r\n deleteKey: (keyId: string) =>\r\n api.delete(`/api/administration/ai/settings/keys/${keyId}`),\r\n },\r\n\r\n // Provider Instances\r\n instances: {\r\n getAll: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances'),\r\n\r\n getMyInstances: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances/my-instances'),\r\n\r\n getById: (instanceId: string) =>\r\n api.get<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n generateCode: (providerId: string) =>\r\n api.get<GenerateCodeResponse>(`/api/administration/ai/instances/generate-code/${providerId}`),\r\n\r\n create: (data: CreateProviderInstanceRequest) =>\r\n api.post<ProviderInstanceDetailDto>('/api/administration/ai/instances', data),\r\n\r\n update: (instanceId: string, data: UpdateProviderInstanceRequest) =>\r\n api.put<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`, data),\r\n\r\n delete: (instanceId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n setApiKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/api-key`, data),\r\n\r\n setAdminKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/admin-key`, data),\r\n\r\n toggleActive: (instanceId: string) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/toggle-active`),\r\n\r\n addTenant: (instanceId: string, data: AddInstanceTenantRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/tenants`, data),\r\n\r\n removeTenant: (instanceId: string, tenantId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/tenants/${tenantId}`),\r\n\r\n setAllTenants: (instanceId: string, data: SetAllTenantsRequest) =>\r\n api.put(`/api/administration/ai/instances/${instanceId}/all-tenants`, data),\r\n\r\n addSkill: (instanceId: string, data: AddInstanceSkillRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/skills`, data),\r\n\r\n removeSkill: (instanceId: string, skillId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/skills/${skillId}`),\r\n },\r\n\r\n // Skills\r\n skills: {\r\n getAll: (params?: { search?: string; category?: string; status?: string }) =>\r\n api.get<AiSkillListDto[]>('/api/administration/ai/skills', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`),\r\n\r\n getByCode: (code: string, version?: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/by-code/${code}`, { params: { version } }),\r\n\r\n create: (data: CreateAiSkillRequest) =>\r\n api.post<AiSkillDetailDto>('/api/administration/ai/skills', data),\r\n\r\n update: (id: string, data: UpdateAiSkillRequest) =>\r\n api.put<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/${id}`),\r\n\r\n activate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/activate`),\r\n\r\n deprecate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/deprecate`),\r\n\r\n clone: (id: string) =>\r\n api.post<AiSkillDetailDto>(`/api/administration/ai/skills/${id}/clone`),\r\n\r\n preview: (id: string, data: AiSkillPreviewRequest) =>\r\n api.post<PromptPreviewResponse>(`/api/administration/ai/skills/${id}/preview`, data),\r\n\r\n execute: (id: string, data: ExecutePromptRequest) =>\r\n api.post<AiSkillExecutionResponse>(`/api/administration/ai/skills/${id}/execute`, data),\r\n\r\n // Blocks\r\n addBlock: (skillId: string, data: CreateAiSkillBlockRequest) =>\r\n api.post<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks`, data),\r\n\r\n updateBlock: (skillId: string, blockId: string, data: UpdateAiSkillBlockRequest) =>\r\n api.put<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`, data),\r\n\r\n deleteBlock: (skillId: string, blockId: string) =>\r\n api.delete(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`),\r\n\r\n reorderBlocks: (skillId: string, data: ReorderBlocksRequest) =>\r\n api.put(`/api/administration/ai/skills/${skillId}/blocks/reorder`, data),\r\n },\r\n\r\n // Block Definitions\r\n blockDefinitions: {\r\n getAll: (params?: { search?: string; blockType?: string }) =>\r\n api.get<AiSkillBlockDefinitionListDto[]>('/api/administration/ai/skills/block-definitions', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`),\r\n\r\n create: (data: CreateBlockDefinitionRequest) =>\r\n api.post<AiSkillBlockDefinitionDetailDto>('/api/administration/ai/skills/block-definitions', data),\r\n\r\n update: (id: string, data: UpdateBlockDefinitionRequest) =>\r\n api.put<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/block-definitions/${id}`),\r\n },\r\n\r\n // Output Schemas\r\n schemas: {\r\n getAll: (params?: { category?: OutputSchemaCategory; isActive?: boolean }) =>\r\n api.get<SchemaListDto[]>('/api/administration/ai/schemas', { params }),\r\n\r\n getById: (schemaId: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`),\r\n\r\n getByCode: (code: string, version?: number) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/by-code/${code}`, { params: { version } }),\r\n\r\n getActiveByCode: (code: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/active/${code}`),\r\n\r\n create: (data: CreateSchemaRequest) =>\r\n api.post<SchemaDetailDto>('/api/administration/ai/schemas', data),\r\n\r\n update: (schemaId: string, data: UpdateSchemaRequest) =>\r\n api.put<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`, data),\r\n\r\n incrementVersion: (schemaId: string, data: IncrementVersionRequest) =>\r\n api.post<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}/increment-version`, data),\r\n\r\n activate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/activate`),\r\n\r\n deactivate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/deactivate`),\r\n\r\n delete: (schemaId: string) =>\r\n api.delete(`/api/administration/ai/schemas/${schemaId}`),\r\n },\r\n\r\n // Usage (by provider instance/profile)\r\n usage: {\r\n getByInstance: (startDate?: string, endDate?: string) =>\r\n api.get<InstanceUsageDto[]>('/api/administration/ai/monitoring/by-instance', { params: { startDate, endDate } }),\r\n\r\n getInstanceEvents: (instanceId: string, startDate?: string, endDate?: string, count: number = 100) =>\r\n api.get<InstanceEventDto[]>(`/api/administration/ai/monitoring/instance/${instanceId}/events`, { params: { startDate, endDate, count } }),\r\n },\r\n\r\n // AI Agents\r\n agents: {\r\n getAll: () =>\r\n api.get<AiAgentListDto[]>('/api/administration/ai/agents'),\r\n\r\n getById: (id: string) =>\r\n api.get<AiAgentDetailDto>(`/api/administration/ai/agents/${id}`),\r\n\r\n create: (data: CreateAgentRequest) =>\r\n api.post<AiAgentDetailDto>('/api/administration/ai/agents', data),\r\n\r\n update: (id: string, data: UpdateAgentRequest) =>\r\n api.put(`/api/administration/ai/agents/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/agents/${id}`),\r\n\r\n execute: (id: string, initialState: Record<string, string>) =>\r\n api.post<AgentExecutionResult>(`/api/administration/ai/agents/${id}/execute`, initialState),\r\n\r\n getExecutions: (id: string) =>\r\n api.get<AiAgentExecutionListDto[]>(`/api/administration/ai/agents/${id}/executions`),\r\n\r\n getExecutionDetail: (executionId: string) =>\r\n api.get<AiAgentExecutionDetailDto>(`/api/administration/ai/agents/executions/${executionId}`),\r\n },\r\n};\r\n"],"names":["aiApi","days","api","startDate","endDate","providerId","count","category","keyId","data","instanceId","tenantId","skillId","params","id","code","version","blockId","schemaId","initialState","executionId"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { i as a } from "./index-CN2WRyg1.js";
1
+ import { i as a } from "./index-DN97bp_f.js";
2
2
  const o = {
3
3
  // Dashboard
4
4
  dashboard: {
@@ -100,4 +100,4 @@ const o = {
100
100
  export {
101
101
  o as aiApi
102
102
  };
103
- //# sourceMappingURL=aiApi-9G4wG_mT.js.map
103
+ //# sourceMappingURL=aiApi-Cwg0B8PJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aiApi-9G4wG_mT.js","sources":["../../src/services/api/aiApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\n\r\n// Types for AI Dashboard\r\nexport interface DashboardOverviewDto {\r\n totalTokens: number;\r\n totalCost: number;\r\n totalRequests: number;\r\n successRate: number;\r\n avgLatencyMs: number;\r\n activeProviders: number;\r\n totalProviders: number;\r\n providerBreakdown: ProviderBreakdownDto[];\r\n}\r\n\r\nexport interface ProviderBreakdownDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n costPercentage: number;\r\n}\r\n\r\nexport interface ProviderUsageDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n}\r\n\r\nexport interface ModelUsageDto {\r\n modelName: string;\r\n providerId: string;\r\n providerCode: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface DailyCostDto {\r\n date: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface UsageEventDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n modelName: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n featureName: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Settings\r\nexport interface ProviderListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n adminApiKeyUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n keyCount: number;\r\n modelCount: number;\r\n}\r\n\r\nexport interface ModelListDto {\r\n id: string;\r\n providerId: string | null;\r\n providerCode: string | null;\r\n providerName: string | null;\r\n code: string;\r\n shortCode: string;\r\n name: string;\r\n description: string | null;\r\n category: string;\r\n contextWindow: number;\r\n maxOutputTokens: number | null;\r\n inputCostPerMillionTokens: number;\r\n outputCostPerMillionTokens: number;\r\n supportsVision: boolean;\r\n supportsImageGeneration: boolean;\r\n supportsAudioInput: boolean;\r\n supportsAudioOutput: boolean;\r\n supportsFunctionCalling: boolean;\r\n supportsStreaming: boolean;\r\n supportsCodeExecution: boolean;\r\n isActive: boolean;\r\n isDeprecated: boolean;\r\n deprecationDate: string | null;\r\n modelFamily?: string | null;\r\n}\r\n\r\n// Types for Provider Instances\r\nexport interface ProviderInstanceListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n providerLogoUrl: string | null;\r\n department: string | null;\r\n costCenter: string | null;\r\n defaultModel: string | null;\r\n budgetLimit: number | null;\r\n currentPeriodUsage: number;\r\n budgetPeriodType: string | null;\r\n budgetPeriodStart: string | null;\r\n nextResetDate: string | null;\r\n isOverBudget: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n tenantCount: number;\r\n isAllTenants: boolean;\r\n skillCount: number;\r\n}\r\n\r\nexport interface ProviderInstanceDetailDto extends ProviderInstanceListDto {\r\n providerDocumentationUrl: string | null;\r\n systemContext: string | null;\r\n maxTokensPerRequest: number | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n tenants: InstanceTenantDto[];\r\n skills: InstanceSkillDto[];\r\n}\r\n\r\nexport interface InstanceTenantDto {\r\n id: string;\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string | null;\r\n}\r\n\r\nexport interface InstanceSkillDto {\r\n id: string;\r\n skillId: string;\r\n skillCode: string;\r\n skillName: string;\r\n skillDescription: string | null;\r\n skillVersion: string;\r\n skillStatus: string;\r\n}\r\n\r\nexport interface GenerateCodeResponse {\r\n code: string;\r\n providerCode: string;\r\n sequence: number;\r\n}\r\n\r\nexport interface CreateProviderInstanceRequest {\r\n providerId: string;\r\n code: string;\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n apiKey?: string;\r\n adminKey?: string;\r\n}\r\n\r\nexport interface UpdateProviderInstanceRequest {\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n}\r\n\r\nexport interface SetKeyRequest {\r\n value: string;\r\n}\r\n\r\nexport interface AddInstanceTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface SetAllTenantsRequest {\r\n isAllTenants: boolean;\r\n}\r\n\r\nexport interface AddInstanceSkillRequest {\r\n skillId: string;\r\n}\r\n\r\nexport interface ProviderDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n apiBaseUrl: string | null;\r\n adminApiBaseUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n keys: ApiKeyListDto[];\r\n models: ModelListDto[];\r\n}\r\n\r\nexport interface ApiKeyListDto {\r\n id: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n maskedValue: string;\r\n}\r\n\r\nexport interface ApiKeyDetailDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n lastUsedByUserId: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n maskedValue: string;\r\n isExpired: boolean;\r\n}\r\n\r\nexport interface CreateApiKeyRequest {\r\n keyType: string;\r\n value: string;\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface UpdateApiKeyRequest {\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface RotateKeyRequest {\r\n newValue: string;\r\n}\r\n\r\nexport interface RevealKeyResponse {\r\n value: string;\r\n}\r\n\r\n// Types for AI Skills\r\nexport interface AiSkillListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n tags: string | null;\r\n blockCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n parentSkillId: string | null;\r\n tags: string | null;\r\n blocks: AiSkillBlockDto[];\r\n variables: string[];\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillBlockDto {\r\n id: string;\r\n blockDefinitionId: string | null;\r\n blockDefinitionCode: string | null;\r\n blockType: string;\r\n label: string | null;\r\n content: string;\r\n displayOrder: number;\r\n isRequired: boolean;\r\n isEnabled: boolean;\r\n condition: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n defaultTitle: string | null;\r\n defaultContent: string | null;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface CreateAiSkillRequest {\r\n code: string;\r\n name: string;\r\n description?: string;\r\n version?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n blocks?: CreateAiSkillBlockRequest[];\r\n}\r\n\r\nexport interface UpdateAiSkillRequest {\r\n name?: string;\r\n description?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n}\r\n\r\nexport interface CreateAiSkillBlockRequest {\r\n blockDefinitionId?: string;\r\n blockType: string;\r\n label: string;\r\n content: string;\r\n displayOrder: number;\r\n isRequired?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface UpdateAiSkillBlockRequest {\r\n label?: string;\r\n content?: string;\r\n isRequired?: boolean;\r\n isEnabled?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface CreateBlockDefinitionRequest {\r\n name: string;\r\n blockType: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface UpdateBlockDefinitionRequest {\r\n name?: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface ReorderBlocksRequest {\r\n blockIds: string[];\r\n}\r\n\r\nexport interface AiSkillPreviewRequest {\r\n variables: Record<string, string>;\r\n}\r\n\r\n// Types for Output Schemas\r\nexport type OutputSchemaCategory =\r\n | 'Support'\r\n | 'Content'\r\n | 'Analysis'\r\n | 'Translation'\r\n | 'CodeGeneration'\r\n | 'DataExtraction'\r\n | 'Custom';\r\n\r\nexport interface SchemaListDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n}\r\n\r\nexport interface SchemaDetailDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n jsonSchema: string;\r\n uiSchema: string | null;\r\n dotNetType: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CreateSchemaRequest {\r\n code: string;\r\n name: string;\r\n jsonSchema: string;\r\n category?: OutputSchemaCategory;\r\n description?: string;\r\n uiSchema?: string;\r\n dotNetType?: string;\r\n}\r\n\r\nexport interface UpdateSchemaRequest {\r\n name: string;\r\n description?: string;\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n category: OutputSchemaCategory;\r\n}\r\n\r\nexport interface IncrementVersionRequest {\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n}\r\n\r\nexport interface PromptPreviewResponse {\r\n fullPrompt: string;\r\n}\r\n\r\n// Types for Prompt Execution\r\nexport interface ExecutePromptRequest {\r\n variables?: Record<string, string>;\r\n providerId?: string;\r\n modelId?: string;\r\n}\r\n\r\nexport interface AiSkillExecutionResponse {\r\n skillId: string;\r\n skillName: string;\r\n response: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n latencyMs: number;\r\n providerId: string;\r\n modelId: string;\r\n modelName: string;\r\n success: boolean;\r\n error?: string;\r\n}\r\n\r\n// Types for AI Usage (by instance/profile)\r\nexport interface InstanceUsageDto {\r\n instanceId: string;\r\n instanceCode: string;\r\n instanceName: string;\r\n department: string | null;\r\n costCenter: string | null;\r\n providerName: string;\r\n totalTokens: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n lastUsedAt: string | null;\r\n}\r\n\r\nexport interface InstanceEventDto {\r\n id: string;\r\n providerName: string;\r\n modelName: string;\r\n featureName: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Agents\r\nexport interface AiAgentListDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n stepCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiAgentStepDto {\r\n id: string;\r\n agentId: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n isActive: boolean;\r\n inputMappingJson: string | null;\r\n outputStateKey: string | null;\r\n continueOnFailure: boolean;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n skill: {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n } | null;\r\n}\r\n\r\nexport interface AiAgentDetailDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n moduleId: string;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n steps: AiAgentStepDto[];\r\n}\r\n\r\nexport interface AiAgentExecutionListDto {\r\n id: string;\r\n agentCode: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\nexport interface AiAgentStepExecutionDto {\r\n id: string;\r\n executionId: string;\r\n stepId: string;\r\n skillCode: string;\r\n stepOrder: number;\r\n stepName: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n inputVariablesJson: string | null;\r\n outputJson: string | null;\r\n errorMessage: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n cost: number;\r\n executionTimeMs: number;\r\n providerCode: string | null;\r\n modelCode: string | null;\r\n}\r\n\r\nexport interface AiAgentExecutionDetailDto extends AiAgentExecutionListDto {\r\n agentId: string;\r\n inputStateJson: string | null;\r\n finalStateJson: string | null;\r\n userId: string | null;\r\n stepExecutions: AiAgentStepExecutionDto[];\r\n}\r\n\r\nexport interface CreateAgentRequest {\r\n agentCode: string;\r\n name: string;\r\n moduleId: string;\r\n description?: string;\r\n maxParallelism?: number;\r\n timeoutSeconds?: number;\r\n}\r\n\r\nexport interface UpdateAgentRequest {\r\n name: string;\r\n description?: string;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n steps?: UpdateAgentStepRequest[];\r\n}\r\n\r\nexport interface UpdateAgentStepRequest {\r\n id?: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n inputMappingJson?: string;\r\n outputStateKey?: string;\r\n continueOnFailure?: boolean;\r\n}\r\n\r\nexport interface AgentExecutionResult {\r\n success: boolean;\r\n executionId: string;\r\n status: number;\r\n finalState: Record<string, string>;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\n// API Service\r\nexport const aiApi = {\r\n // Dashboard\r\n dashboard: {\r\n getOverview: (days: number = 30) =>\r\n api.get<DashboardOverviewDto>('/api/administration/ai/dashboard/overview', { params: { days } }),\r\n\r\n getByProvider: (startDate?: string, endDate?: string) =>\r\n api.get<ProviderUsageDto[]>('/api/administration/ai/dashboard/by-provider', { params: { startDate, endDate } }),\r\n\r\n getByModel: (startDate?: string, endDate?: string, providerId?: string) =>\r\n api.get<ModelUsageDto[]>('/api/administration/ai/dashboard/by-model', { params: { startDate, endDate, providerId } }),\r\n\r\n getDailyCosts: (days: number = 30, providerId?: string) =>\r\n api.get<DailyCostDto[]>('/api/administration/ai/dashboard/daily-costs', { params: { days, providerId } }),\r\n\r\n getRecentEvents: (count: number = 50, providerId?: string) =>\r\n api.get<UsageEventDto[]>('/api/administration/ai/dashboard/recent-events', { params: { count, providerId } }),\r\n },\r\n\r\n // Settings (Providers & Keys)\r\n settings: {\r\n getProviders: () =>\r\n api.get<ProviderListDto[]>('/api/administration/ai/settings/providers'),\r\n\r\n getProvider: (providerId: string) =>\r\n api.get<ProviderDetailDto>(`/api/administration/ai/settings/providers/${providerId}`),\r\n\r\n getModels: (category?: string, providerId?: string) =>\r\n api.get<ModelListDto[]>('/api/administration/ai/settings/models', { params: { category, providerId } }),\r\n\r\n getKey: (keyId: string) =>\r\n api.get<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`),\r\n\r\n createKey: (providerId: string, data: CreateApiKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/providers/${providerId}/keys`, data),\r\n\r\n updateKey: (keyId: string, data: UpdateApiKeyRequest) =>\r\n api.put<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`, data),\r\n\r\n rotateKey: (keyId: string, data: RotateKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}/rotate`, data),\r\n\r\n revealKey: (keyId: string) =>\r\n api.post<RevealKeyResponse>(`/api/administration/ai/settings/keys/${keyId}/reveal`),\r\n\r\n activateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/activate`),\r\n\r\n deactivateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/deactivate`),\r\n\r\n deleteKey: (keyId: string) =>\r\n api.delete(`/api/administration/ai/settings/keys/${keyId}`),\r\n },\r\n\r\n // Provider Instances\r\n instances: {\r\n getAll: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances'),\r\n\r\n getMyInstances: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances/my-instances'),\r\n\r\n getById: (instanceId: string) =>\r\n api.get<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n generateCode: (providerId: string) =>\r\n api.get<GenerateCodeResponse>(`/api/administration/ai/instances/generate-code/${providerId}`),\r\n\r\n create: (data: CreateProviderInstanceRequest) =>\r\n api.post<ProviderInstanceDetailDto>('/api/administration/ai/instances', data),\r\n\r\n update: (instanceId: string, data: UpdateProviderInstanceRequest) =>\r\n api.put<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`, data),\r\n\r\n delete: (instanceId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n setApiKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/api-key`, data),\r\n\r\n setAdminKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/admin-key`, data),\r\n\r\n toggleActive: (instanceId: string) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/toggle-active`),\r\n\r\n addTenant: (instanceId: string, data: AddInstanceTenantRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/tenants`, data),\r\n\r\n removeTenant: (instanceId: string, tenantId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/tenants/${tenantId}`),\r\n\r\n setAllTenants: (instanceId: string, data: SetAllTenantsRequest) =>\r\n api.put(`/api/administration/ai/instances/${instanceId}/all-tenants`, data),\r\n\r\n addSkill: (instanceId: string, data: AddInstanceSkillRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/skills`, data),\r\n\r\n removeSkill: (instanceId: string, skillId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/skills/${skillId}`),\r\n },\r\n\r\n // Skills\r\n skills: {\r\n getAll: (params?: { search?: string; category?: string; status?: string }) =>\r\n api.get<AiSkillListDto[]>('/api/administration/ai/skills', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`),\r\n\r\n getByCode: (code: string, version?: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/by-code/${code}`, { params: { version } }),\r\n\r\n create: (data: CreateAiSkillRequest) =>\r\n api.post<AiSkillDetailDto>('/api/administration/ai/skills', data),\r\n\r\n update: (id: string, data: UpdateAiSkillRequest) =>\r\n api.put<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/${id}`),\r\n\r\n activate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/activate`),\r\n\r\n deprecate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/deprecate`),\r\n\r\n clone: (id: string) =>\r\n api.post<AiSkillDetailDto>(`/api/administration/ai/skills/${id}/clone`),\r\n\r\n preview: (id: string, data: AiSkillPreviewRequest) =>\r\n api.post<PromptPreviewResponse>(`/api/administration/ai/skills/${id}/preview`, data),\r\n\r\n execute: (id: string, data: ExecutePromptRequest) =>\r\n api.post<AiSkillExecutionResponse>(`/api/administration/ai/skills/${id}/execute`, data),\r\n\r\n // Blocks\r\n addBlock: (skillId: string, data: CreateAiSkillBlockRequest) =>\r\n api.post<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks`, data),\r\n\r\n updateBlock: (skillId: string, blockId: string, data: UpdateAiSkillBlockRequest) =>\r\n api.put<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`, data),\r\n\r\n deleteBlock: (skillId: string, blockId: string) =>\r\n api.delete(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`),\r\n\r\n reorderBlocks: (skillId: string, data: ReorderBlocksRequest) =>\r\n api.put(`/api/administration/ai/skills/${skillId}/blocks/reorder`, data),\r\n },\r\n\r\n // Block Definitions\r\n blockDefinitions: {\r\n getAll: (params?: { search?: string; blockType?: string }) =>\r\n api.get<AiSkillBlockDefinitionListDto[]>('/api/administration/ai/skills/block-definitions', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`),\r\n\r\n create: (data: CreateBlockDefinitionRequest) =>\r\n api.post<AiSkillBlockDefinitionDetailDto>('/api/administration/ai/skills/block-definitions', data),\r\n\r\n update: (id: string, data: UpdateBlockDefinitionRequest) =>\r\n api.put<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/block-definitions/${id}`),\r\n },\r\n\r\n // Output Schemas\r\n schemas: {\r\n getAll: (params?: { category?: OutputSchemaCategory; isActive?: boolean }) =>\r\n api.get<SchemaListDto[]>('/api/administration/ai/schemas', { params }),\r\n\r\n getById: (schemaId: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`),\r\n\r\n getByCode: (code: string, version?: number) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/by-code/${code}`, { params: { version } }),\r\n\r\n getActiveByCode: (code: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/active/${code}`),\r\n\r\n create: (data: CreateSchemaRequest) =>\r\n api.post<SchemaDetailDto>('/api/administration/ai/schemas', data),\r\n\r\n update: (schemaId: string, data: UpdateSchemaRequest) =>\r\n api.put<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`, data),\r\n\r\n incrementVersion: (schemaId: string, data: IncrementVersionRequest) =>\r\n api.post<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}/increment-version`, data),\r\n\r\n activate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/activate`),\r\n\r\n deactivate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/deactivate`),\r\n\r\n delete: (schemaId: string) =>\r\n api.delete(`/api/administration/ai/schemas/${schemaId}`),\r\n },\r\n\r\n // Usage (by provider instance/profile)\r\n usage: {\r\n getByInstance: (startDate?: string, endDate?: string) =>\r\n api.get<InstanceUsageDto[]>('/api/administration/ai/monitoring/by-instance', { params: { startDate, endDate } }),\r\n\r\n getInstanceEvents: (instanceId: string, startDate?: string, endDate?: string, count: number = 100) =>\r\n api.get<InstanceEventDto[]>(`/api/administration/ai/monitoring/instance/${instanceId}/events`, { params: { startDate, endDate, count } }),\r\n },\r\n\r\n // AI Agents\r\n agents: {\r\n getAll: () =>\r\n api.get<AiAgentListDto[]>('/api/administration/ai/agents'),\r\n\r\n getById: (id: string) =>\r\n api.get<AiAgentDetailDto>(`/api/administration/ai/agents/${id}`),\r\n\r\n create: (data: CreateAgentRequest) =>\r\n api.post<AiAgentDetailDto>('/api/administration/ai/agents', data),\r\n\r\n update: (id: string, data: UpdateAgentRequest) =>\r\n api.put(`/api/administration/ai/agents/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/agents/${id}`),\r\n\r\n execute: (id: string, initialState: Record<string, string>) =>\r\n api.post<AgentExecutionResult>(`/api/administration/ai/agents/${id}/execute`, initialState),\r\n\r\n getExecutions: (id: string) =>\r\n api.get<AiAgentExecutionListDto[]>(`/api/administration/ai/agents/${id}/executions`),\r\n\r\n getExecutionDetail: (executionId: string) =>\r\n api.get<AiAgentExecutionDetailDto>(`/api/administration/ai/agents/executions/${executionId}`),\r\n },\r\n};\r\n"],"names":["aiApi","days","api","startDate","endDate","providerId","count","category","keyId","data","instanceId","tenantId","skillId","params","id","code","version","blockId","schemaId","initialState","executionId"],"mappings":"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"}
1
+ {"version":3,"file":"aiApi-Cwg0B8PJ.js","sources":["../../src/services/api/aiApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\n\r\n// Types for AI Dashboard\r\nexport interface DashboardOverviewDto {\r\n totalTokens: number;\r\n totalCost: number;\r\n totalRequests: number;\r\n successRate: number;\r\n avgLatencyMs: number;\r\n activeProviders: number;\r\n totalProviders: number;\r\n providerBreakdown: ProviderBreakdownDto[];\r\n}\r\n\r\nexport interface ProviderBreakdownDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n costPercentage: number;\r\n}\r\n\r\nexport interface ProviderUsageDto {\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n}\r\n\r\nexport interface ModelUsageDto {\r\n modelName: string;\r\n providerId: string;\r\n providerCode: string;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface DailyCostDto {\r\n date: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n}\r\n\r\nexport interface UsageEventDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n modelName: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n featureName: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Settings\r\nexport interface ProviderListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n adminApiKeyUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n keyCount: number;\r\n modelCount: number;\r\n}\r\n\r\nexport interface ModelListDto {\r\n id: string;\r\n providerId: string | null;\r\n providerCode: string | null;\r\n providerName: string | null;\r\n code: string;\r\n shortCode: string;\r\n name: string;\r\n description: string | null;\r\n category: string;\r\n contextWindow: number;\r\n maxOutputTokens: number | null;\r\n inputCostPerMillionTokens: number;\r\n outputCostPerMillionTokens: number;\r\n supportsVision: boolean;\r\n supportsImageGeneration: boolean;\r\n supportsAudioInput: boolean;\r\n supportsAudioOutput: boolean;\r\n supportsFunctionCalling: boolean;\r\n supportsStreaming: boolean;\r\n supportsCodeExecution: boolean;\r\n isActive: boolean;\r\n isDeprecated: boolean;\r\n deprecationDate: string | null;\r\n modelFamily?: string | null;\r\n}\r\n\r\n// Types for Provider Instances\r\nexport interface ProviderInstanceListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n providerLogoUrl: string | null;\r\n department: string | null;\r\n costCenter: string | null;\r\n defaultModel: string | null;\r\n budgetLimit: number | null;\r\n currentPeriodUsage: number;\r\n budgetPeriodType: string | null;\r\n budgetPeriodStart: string | null;\r\n nextResetDate: string | null;\r\n isOverBudget: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n hasApiKey: boolean;\r\n hasAdminKey: boolean;\r\n tenantCount: number;\r\n isAllTenants: boolean;\r\n skillCount: number;\r\n}\r\n\r\nexport interface ProviderInstanceDetailDto extends ProviderInstanceListDto {\r\n providerDocumentationUrl: string | null;\r\n systemContext: string | null;\r\n maxTokensPerRequest: number | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n tenants: InstanceTenantDto[];\r\n skills: InstanceSkillDto[];\r\n}\r\n\r\nexport interface InstanceTenantDto {\r\n id: string;\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string | null;\r\n}\r\n\r\nexport interface InstanceSkillDto {\r\n id: string;\r\n skillId: string;\r\n skillCode: string;\r\n skillName: string;\r\n skillDescription: string | null;\r\n skillVersion: string;\r\n skillStatus: string;\r\n}\r\n\r\nexport interface GenerateCodeResponse {\r\n code: string;\r\n providerCode: string;\r\n sequence: number;\r\n}\r\n\r\nexport interface CreateProviderInstanceRequest {\r\n providerId: string;\r\n code: string;\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n apiKey?: string;\r\n adminKey?: string;\r\n}\r\n\r\nexport interface UpdateProviderInstanceRequest {\r\n name: string;\r\n description?: string;\r\n systemContext?: string;\r\n department?: string;\r\n costCenter?: string;\r\n defaultModel?: string;\r\n maxTokensPerRequest?: number;\r\n budgetLimit?: number;\r\n budgetPeriodType?: string;\r\n budgetPeriodStart?: string;\r\n displayOrder?: number;\r\n}\r\n\r\nexport interface SetKeyRequest {\r\n value: string;\r\n}\r\n\r\nexport interface AddInstanceTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface SetAllTenantsRequest {\r\n isAllTenants: boolean;\r\n}\r\n\r\nexport interface AddInstanceSkillRequest {\r\n skillId: string;\r\n}\r\n\r\nexport interface ProviderDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n logoUrl: string | null;\r\n websiteUrl: string | null;\r\n documentationUrl: string | null;\r\n apiKeyUrl: string | null;\r\n apiBaseUrl: string | null;\r\n adminApiBaseUrl: string | null;\r\n supportsAdminApi: boolean;\r\n isActive: boolean;\r\n displayOrder: number;\r\n keys: ApiKeyListDto[];\r\n models: ModelListDto[];\r\n}\r\n\r\nexport interface ApiKeyListDto {\r\n id: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n maskedValue: string;\r\n}\r\n\r\nexport interface ApiKeyDetailDto {\r\n id: string;\r\n providerId: string;\r\n providerCode: string;\r\n providerName: string;\r\n keyType: string;\r\n alias: string | null;\r\n description: string | null;\r\n isActive: boolean;\r\n expiresAt: string | null;\r\n lastUsedAt: string | null;\r\n lastUsedByUserId: string | null;\r\n rotatedAt: string | null;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n maskedValue: string;\r\n isExpired: boolean;\r\n}\r\n\r\nexport interface CreateApiKeyRequest {\r\n keyType: string;\r\n value: string;\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface UpdateApiKeyRequest {\r\n alias?: string;\r\n description?: string;\r\n expiresAt?: string;\r\n}\r\n\r\nexport interface RotateKeyRequest {\r\n newValue: string;\r\n}\r\n\r\nexport interface RevealKeyResponse {\r\n value: string;\r\n}\r\n\r\n// Types for AI Skills\r\nexport interface AiSkillListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n tags: string | null;\r\n blockCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n version: string;\r\n status: string;\r\n isTemplate: boolean;\r\n parentSkillId: string | null;\r\n tags: string | null;\r\n blocks: AiSkillBlockDto[];\r\n variables: string[];\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiSkillBlockDto {\r\n id: string;\r\n blockDefinitionId: string | null;\r\n blockDefinitionCode: string | null;\r\n blockType: string;\r\n label: string | null;\r\n content: string;\r\n displayOrder: number;\r\n isRequired: boolean;\r\n isEnabled: boolean;\r\n condition: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionListDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n}\r\n\r\nexport interface AiSkillBlockDefinitionDetailDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n blockType: string;\r\n defaultTitle: string | null;\r\n defaultContent: string | null;\r\n description: string | null;\r\n isSystem: boolean;\r\n isGlobal: boolean;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n variables: string[];\r\n}\r\n\r\nexport interface CreateAiSkillRequest {\r\n code: string;\r\n name: string;\r\n description?: string;\r\n version?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n blocks?: CreateAiSkillBlockRequest[];\r\n}\r\n\r\nexport interface UpdateAiSkillRequest {\r\n name?: string;\r\n description?: string;\r\n isTemplate?: boolean;\r\n tags?: string;\r\n}\r\n\r\nexport interface CreateAiSkillBlockRequest {\r\n blockDefinitionId?: string;\r\n blockType: string;\r\n label: string;\r\n content: string;\r\n displayOrder: number;\r\n isRequired?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface UpdateAiSkillBlockRequest {\r\n label?: string;\r\n content?: string;\r\n isRequired?: boolean;\r\n isEnabled?: boolean;\r\n condition?: string;\r\n}\r\n\r\nexport interface CreateBlockDefinitionRequest {\r\n name: string;\r\n blockType: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface UpdateBlockDefinitionRequest {\r\n name?: string;\r\n defaultTitle?: string;\r\n defaultContent?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface ReorderBlocksRequest {\r\n blockIds: string[];\r\n}\r\n\r\nexport interface AiSkillPreviewRequest {\r\n variables: Record<string, string>;\r\n}\r\n\r\n// Types for Output Schemas\r\nexport type OutputSchemaCategory =\r\n | 'Support'\r\n | 'Content'\r\n | 'Analysis'\r\n | 'Translation'\r\n | 'CodeGeneration'\r\n | 'DataExtraction'\r\n | 'Custom';\r\n\r\nexport interface SchemaListDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdAt: string;\r\n}\r\n\r\nexport interface SchemaDetailDto {\r\n id: string;\r\n code: string;\r\n version: number;\r\n name: string;\r\n description: string | null;\r\n jsonSchema: string;\r\n uiSchema: string | null;\r\n dotNetType: string | null;\r\n category: OutputSchemaCategory;\r\n isActive: boolean;\r\n usageCount: number;\r\n createdBy: string | null;\r\n createdAt: string;\r\n updatedBy: string | null;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CreateSchemaRequest {\r\n code: string;\r\n name: string;\r\n jsonSchema: string;\r\n category?: OutputSchemaCategory;\r\n description?: string;\r\n uiSchema?: string;\r\n dotNetType?: string;\r\n}\r\n\r\nexport interface UpdateSchemaRequest {\r\n name: string;\r\n description?: string;\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n category: OutputSchemaCategory;\r\n}\r\n\r\nexport interface IncrementVersionRequest {\r\n jsonSchema: string;\r\n uiSchema?: string;\r\n}\r\n\r\nexport interface PromptPreviewResponse {\r\n fullPrompt: string;\r\n}\r\n\r\n// Types for Prompt Execution\r\nexport interface ExecutePromptRequest {\r\n variables?: Record<string, string>;\r\n providerId?: string;\r\n modelId?: string;\r\n}\r\n\r\nexport interface AiSkillExecutionResponse {\r\n skillId: string;\r\n skillName: string;\r\n response: string;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n latencyMs: number;\r\n providerId: string;\r\n modelId: string;\r\n modelName: string;\r\n success: boolean;\r\n error?: string;\r\n}\r\n\r\n// Types for AI Usage (by instance/profile)\r\nexport interface InstanceUsageDto {\r\n instanceId: string;\r\n instanceCode: string;\r\n instanceName: string;\r\n department: string | null;\r\n costCenter: string | null;\r\n providerName: string;\r\n totalTokens: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n requestCount: number;\r\n successCount: number;\r\n errorCount: number;\r\n avgLatencyMs: number;\r\n lastUsedAt: string | null;\r\n}\r\n\r\nexport interface InstanceEventDto {\r\n id: string;\r\n providerName: string;\r\n modelName: string;\r\n featureName: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n totalTokens: number;\r\n costAmount: number;\r\n latencyMs: number;\r\n statusCode: number;\r\n errorMessage: string | null;\r\n userId: string | null;\r\n requestId: string | null;\r\n timestamp: string;\r\n}\r\n\r\n// Types for AI Agents\r\nexport interface AiAgentListDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n stepCount: number;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface AiAgentStepDto {\r\n id: string;\r\n agentId: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n isActive: boolean;\r\n inputMappingJson: string | null;\r\n outputStateKey: string | null;\r\n continueOnFailure: boolean;\r\n createdAt: string;\r\n updatedAt: string | null;\r\n skill: {\r\n id: string;\r\n code: string;\r\n name: string;\r\n description: string | null;\r\n } | null;\r\n}\r\n\r\nexport interface AiAgentDetailDto {\r\n id: string;\r\n agentCode: string;\r\n name: string;\r\n description: string | null;\r\n moduleId: string;\r\n isActive: boolean;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n createdAt: string;\r\n createdBy: string | null;\r\n updatedAt: string | null;\r\n updatedBy: string | null;\r\n steps: AiAgentStepDto[];\r\n}\r\n\r\nexport interface AiAgentExecutionListDto {\r\n id: string;\r\n agentCode: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\nexport interface AiAgentStepExecutionDto {\r\n id: string;\r\n executionId: string;\r\n stepId: string;\r\n skillCode: string;\r\n stepOrder: number;\r\n stepName: string;\r\n status: number;\r\n startedAt: string;\r\n completedAt: string | null;\r\n inputVariablesJson: string | null;\r\n outputJson: string | null;\r\n errorMessage: string | null;\r\n inputTokens: number;\r\n outputTokens: number;\r\n cost: number;\r\n executionTimeMs: number;\r\n providerCode: string | null;\r\n modelCode: string | null;\r\n}\r\n\r\nexport interface AiAgentExecutionDetailDto extends AiAgentExecutionListDto {\r\n agentId: string;\r\n inputStateJson: string | null;\r\n finalStateJson: string | null;\r\n userId: string | null;\r\n stepExecutions: AiAgentStepExecutionDto[];\r\n}\r\n\r\nexport interface CreateAgentRequest {\r\n agentCode: string;\r\n name: string;\r\n moduleId: string;\r\n description?: string;\r\n maxParallelism?: number;\r\n timeoutSeconds?: number;\r\n}\r\n\r\nexport interface UpdateAgentRequest {\r\n name: string;\r\n description?: string;\r\n maxParallelism: number;\r\n timeoutSeconds: number;\r\n steps?: UpdateAgentStepRequest[];\r\n}\r\n\r\nexport interface UpdateAgentStepRequest {\r\n id?: string;\r\n skillId: string;\r\n name: string;\r\n stepOrder: number;\r\n inputMappingJson?: string;\r\n outputStateKey?: string;\r\n continueOnFailure?: boolean;\r\n}\r\n\r\nexport interface AgentExecutionResult {\r\n success: boolean;\r\n executionId: string;\r\n status: number;\r\n finalState: Record<string, string>;\r\n executedSteps: number;\r\n totalSteps: number;\r\n totalInputTokens: number;\r\n totalOutputTokens: number;\r\n totalCost: number;\r\n totalExecutionTimeMs: number;\r\n errorMessage: string | null;\r\n}\r\n\r\n// API Service\r\nexport const aiApi = {\r\n // Dashboard\r\n dashboard: {\r\n getOverview: (days: number = 30) =>\r\n api.get<DashboardOverviewDto>('/api/administration/ai/dashboard/overview', { params: { days } }),\r\n\r\n getByProvider: (startDate?: string, endDate?: string) =>\r\n api.get<ProviderUsageDto[]>('/api/administration/ai/dashboard/by-provider', { params: { startDate, endDate } }),\r\n\r\n getByModel: (startDate?: string, endDate?: string, providerId?: string) =>\r\n api.get<ModelUsageDto[]>('/api/administration/ai/dashboard/by-model', { params: { startDate, endDate, providerId } }),\r\n\r\n getDailyCosts: (days: number = 30, providerId?: string) =>\r\n api.get<DailyCostDto[]>('/api/administration/ai/dashboard/daily-costs', { params: { days, providerId } }),\r\n\r\n getRecentEvents: (count: number = 50, providerId?: string) =>\r\n api.get<UsageEventDto[]>('/api/administration/ai/dashboard/recent-events', { params: { count, providerId } }),\r\n },\r\n\r\n // Settings (Providers & Keys)\r\n settings: {\r\n getProviders: () =>\r\n api.get<ProviderListDto[]>('/api/administration/ai/settings/providers'),\r\n\r\n getProvider: (providerId: string) =>\r\n api.get<ProviderDetailDto>(`/api/administration/ai/settings/providers/${providerId}`),\r\n\r\n getModels: (category?: string, providerId?: string) =>\r\n api.get<ModelListDto[]>('/api/administration/ai/settings/models', { params: { category, providerId } }),\r\n\r\n getKey: (keyId: string) =>\r\n api.get<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`),\r\n\r\n createKey: (providerId: string, data: CreateApiKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/providers/${providerId}/keys`, data),\r\n\r\n updateKey: (keyId: string, data: UpdateApiKeyRequest) =>\r\n api.put<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}`, data),\r\n\r\n rotateKey: (keyId: string, data: RotateKeyRequest) =>\r\n api.post<ApiKeyDetailDto>(`/api/administration/ai/settings/keys/${keyId}/rotate`, data),\r\n\r\n revealKey: (keyId: string) =>\r\n api.post<RevealKeyResponse>(`/api/administration/ai/settings/keys/${keyId}/reveal`),\r\n\r\n activateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/activate`),\r\n\r\n deactivateKey: (keyId: string) =>\r\n api.post(`/api/administration/ai/settings/keys/${keyId}/deactivate`),\r\n\r\n deleteKey: (keyId: string) =>\r\n api.delete(`/api/administration/ai/settings/keys/${keyId}`),\r\n },\r\n\r\n // Provider Instances\r\n instances: {\r\n getAll: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances'),\r\n\r\n getMyInstances: () =>\r\n api.get<ProviderInstanceListDto[]>('/api/administration/ai/instances/my-instances'),\r\n\r\n getById: (instanceId: string) =>\r\n api.get<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n generateCode: (providerId: string) =>\r\n api.get<GenerateCodeResponse>(`/api/administration/ai/instances/generate-code/${providerId}`),\r\n\r\n create: (data: CreateProviderInstanceRequest) =>\r\n api.post<ProviderInstanceDetailDto>('/api/administration/ai/instances', data),\r\n\r\n update: (instanceId: string, data: UpdateProviderInstanceRequest) =>\r\n api.put<ProviderInstanceDetailDto>(`/api/administration/ai/instances/${instanceId}`, data),\r\n\r\n delete: (instanceId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}`),\r\n\r\n setApiKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/api-key`, data),\r\n\r\n setAdminKey: (instanceId: string, data: SetKeyRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/admin-key`, data),\r\n\r\n toggleActive: (instanceId: string) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/toggle-active`),\r\n\r\n addTenant: (instanceId: string, data: AddInstanceTenantRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/tenants`, data),\r\n\r\n removeTenant: (instanceId: string, tenantId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/tenants/${tenantId}`),\r\n\r\n setAllTenants: (instanceId: string, data: SetAllTenantsRequest) =>\r\n api.put(`/api/administration/ai/instances/${instanceId}/all-tenants`, data),\r\n\r\n addSkill: (instanceId: string, data: AddInstanceSkillRequest) =>\r\n api.post(`/api/administration/ai/instances/${instanceId}/skills`, data),\r\n\r\n removeSkill: (instanceId: string, skillId: string) =>\r\n api.delete(`/api/administration/ai/instances/${instanceId}/skills/${skillId}`),\r\n },\r\n\r\n // Skills\r\n skills: {\r\n getAll: (params?: { search?: string; category?: string; status?: string }) =>\r\n api.get<AiSkillListDto[]>('/api/administration/ai/skills', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`),\r\n\r\n getByCode: (code: string, version?: string) =>\r\n api.get<AiSkillDetailDto>(`/api/administration/ai/skills/by-code/${code}`, { params: { version } }),\r\n\r\n create: (data: CreateAiSkillRequest) =>\r\n api.post<AiSkillDetailDto>('/api/administration/ai/skills', data),\r\n\r\n update: (id: string, data: UpdateAiSkillRequest) =>\r\n api.put<AiSkillDetailDto>(`/api/administration/ai/skills/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/${id}`),\r\n\r\n activate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/activate`),\r\n\r\n deprecate: (id: string) =>\r\n api.post(`/api/administration/ai/skills/${id}/deprecate`),\r\n\r\n clone: (id: string) =>\r\n api.post<AiSkillDetailDto>(`/api/administration/ai/skills/${id}/clone`),\r\n\r\n preview: (id: string, data: AiSkillPreviewRequest) =>\r\n api.post<PromptPreviewResponse>(`/api/administration/ai/skills/${id}/preview`, data),\r\n\r\n execute: (id: string, data: ExecutePromptRequest) =>\r\n api.post<AiSkillExecutionResponse>(`/api/administration/ai/skills/${id}/execute`, data),\r\n\r\n // Blocks\r\n addBlock: (skillId: string, data: CreateAiSkillBlockRequest) =>\r\n api.post<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks`, data),\r\n\r\n updateBlock: (skillId: string, blockId: string, data: UpdateAiSkillBlockRequest) =>\r\n api.put<AiSkillBlockDto>(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`, data),\r\n\r\n deleteBlock: (skillId: string, blockId: string) =>\r\n api.delete(`/api/administration/ai/skills/${skillId}/blocks/${blockId}`),\r\n\r\n reorderBlocks: (skillId: string, data: ReorderBlocksRequest) =>\r\n api.put(`/api/administration/ai/skills/${skillId}/blocks/reorder`, data),\r\n },\r\n\r\n // Block Definitions\r\n blockDefinitions: {\r\n getAll: (params?: { search?: string; blockType?: string }) =>\r\n api.get<AiSkillBlockDefinitionListDto[]>('/api/administration/ai/skills/block-definitions', { params }),\r\n\r\n getById: (id: string) =>\r\n api.get<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`),\r\n\r\n create: (data: CreateBlockDefinitionRequest) =>\r\n api.post<AiSkillBlockDefinitionDetailDto>('/api/administration/ai/skills/block-definitions', data),\r\n\r\n update: (id: string, data: UpdateBlockDefinitionRequest) =>\r\n api.put<AiSkillBlockDefinitionDetailDto>(`/api/administration/ai/skills/block-definitions/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/skills/block-definitions/${id}`),\r\n },\r\n\r\n // Output Schemas\r\n schemas: {\r\n getAll: (params?: { category?: OutputSchemaCategory; isActive?: boolean }) =>\r\n api.get<SchemaListDto[]>('/api/administration/ai/schemas', { params }),\r\n\r\n getById: (schemaId: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`),\r\n\r\n getByCode: (code: string, version?: number) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/by-code/${code}`, { params: { version } }),\r\n\r\n getActiveByCode: (code: string) =>\r\n api.get<SchemaDetailDto>(`/api/administration/ai/schemas/active/${code}`),\r\n\r\n create: (data: CreateSchemaRequest) =>\r\n api.post<SchemaDetailDto>('/api/administration/ai/schemas', data),\r\n\r\n update: (schemaId: string, data: UpdateSchemaRequest) =>\r\n api.put<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}`, data),\r\n\r\n incrementVersion: (schemaId: string, data: IncrementVersionRequest) =>\r\n api.post<SchemaDetailDto>(`/api/administration/ai/schemas/${schemaId}/increment-version`, data),\r\n\r\n activate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/activate`),\r\n\r\n deactivate: (schemaId: string) =>\r\n api.post(`/api/administration/ai/schemas/${schemaId}/deactivate`),\r\n\r\n delete: (schemaId: string) =>\r\n api.delete(`/api/administration/ai/schemas/${schemaId}`),\r\n },\r\n\r\n // Usage (by provider instance/profile)\r\n usage: {\r\n getByInstance: (startDate?: string, endDate?: string) =>\r\n api.get<InstanceUsageDto[]>('/api/administration/ai/monitoring/by-instance', { params: { startDate, endDate } }),\r\n\r\n getInstanceEvents: (instanceId: string, startDate?: string, endDate?: string, count: number = 100) =>\r\n api.get<InstanceEventDto[]>(`/api/administration/ai/monitoring/instance/${instanceId}/events`, { params: { startDate, endDate, count } }),\r\n },\r\n\r\n // AI Agents\r\n agents: {\r\n getAll: () =>\r\n api.get<AiAgentListDto[]>('/api/administration/ai/agents'),\r\n\r\n getById: (id: string) =>\r\n api.get<AiAgentDetailDto>(`/api/administration/ai/agents/${id}`),\r\n\r\n create: (data: CreateAgentRequest) =>\r\n api.post<AiAgentDetailDto>('/api/administration/ai/agents', data),\r\n\r\n update: (id: string, data: UpdateAgentRequest) =>\r\n api.put(`/api/administration/ai/agents/${id}`, data),\r\n\r\n delete: (id: string) =>\r\n api.delete(`/api/administration/ai/agents/${id}`),\r\n\r\n execute: (id: string, initialState: Record<string, string>) =>\r\n api.post<AgentExecutionResult>(`/api/administration/ai/agents/${id}/execute`, initialState),\r\n\r\n getExecutions: (id: string) =>\r\n api.get<AiAgentExecutionListDto[]>(`/api/administration/ai/agents/${id}/executions`),\r\n\r\n getExecutionDetail: (executionId: string) =>\r\n api.get<AiAgentExecutionDetailDto>(`/api/administration/ai/agents/executions/${executionId}`),\r\n },\r\n};\r\n"],"names":["aiApi","days","api","startDate","endDate","providerId","count","category","keyId","data","instanceId","tenantId","skillId","params","id","code","version","blockId","schemaId","initialState","executionId"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./index-cAikSVW0.js"),s={getDashboardStats:async()=>await t.api.get("/api/administration/applications/application-analytics/dashboard"),getApplicationAnalytics:async a=>await t.api.get(`/api/administration/applications/application-analytics/${a}/analytics`),getApplicationActivity:async(a,i=1,n=20)=>await t.api.get(`/api/administration/applications/application-analytics/${a}/recent-activity`,{params:{page:i,pageSize:n}}),getDeviceStats:async(a=30,i)=>await t.api.get("/api/administration/applications/application-analytics/device-stats",{params:{period:a},signal:i?.signal}),getEngagementMetrics:async(a=30,i)=>await t.api.get("/api/administration/applications/application-analytics/engagement",{params:{period:a},signal:i?.signal}),getTopModules:async(a=10,i=30)=>await t.api.get("/api/administration/applications/application-analytics/modules/top",{params:{limit:a,period:i}}),getHierarchyData:async(a=0,i,n=30)=>{const p={level:a,period:n};return i&&(p.applicationId=i),await t.api.get("/api/administration/applications/application-analytics/hierarchy",{params:p})},getTrendsByApplication:async(a=30)=>await t.api.get("/api/administration/applications/application-analytics/trends-by-application",{params:{period:a}})};exports.applicationAnalyticsApi=s;
2
- //# sourceMappingURL=applicationAnalyticsApi-DhOd6idI.js.map
1
+ "use strict";const t=require("./index-DnML-nfd.js"),s={getDashboardStats:async()=>await t.api.get("/api/administration/applications/application-analytics/dashboard"),getApplicationAnalytics:async a=>await t.api.get(`/api/administration/applications/application-analytics/${a}/analytics`),getApplicationActivity:async(a,i=1,n=20)=>await t.api.get(`/api/administration/applications/application-analytics/${a}/recent-activity`,{params:{page:i,pageSize:n}}),getDeviceStats:async(a=30,i)=>await t.api.get("/api/administration/applications/application-analytics/device-stats",{params:{period:a},signal:i?.signal}),getEngagementMetrics:async(a=30,i)=>await t.api.get("/api/administration/applications/application-analytics/engagement",{params:{period:a},signal:i?.signal}),getTopModules:async(a=10,i=30)=>await t.api.get("/api/administration/applications/application-analytics/modules/top",{params:{limit:a,period:i}}),getHierarchyData:async(a=0,i,n=30)=>{const p={level:a,period:n};return i&&(p.applicationId=i),await t.api.get("/api/administration/applications/application-analytics/hierarchy",{params:p})},getTrendsByApplication:async(a=30)=>await t.api.get("/api/administration/applications/application-analytics/trends-by-application",{params:{period:a}})};exports.applicationAnalyticsApi=s;
2
+ //# sourceMappingURL=applicationAnalyticsApi-BobBdehV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applicationAnalyticsApi-DhOd6idI.js","sources":["../../src/services/api/applicationAnalyticsApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\nimport type { PaginatedResult } from '../../types/pagination';\r\n\r\n// DTOs\r\nexport interface PopularApplicationDto {\r\n applicationId: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface ActivityItemDto {\r\n userId: string;\r\n userName: string;\r\n applicationName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationDashboardStatsDto {\r\n totalApplications: number;\r\n activeApplications: number;\r\n totalUsers: number;\r\n activeUsersToday: number;\r\n avgSessionDuration: number;\r\n growthRate: number;\r\n mostPopularApps: PopularApplicationDto[];\r\n recentActivity: ActivityItemDto[];\r\n dailyTrend: DailyAccessTrendDto[];\r\n}\r\n\r\nexport interface DailyAccessTrendDto {\r\n date: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface TopUserDto {\r\n userId: string;\r\n userName: string;\r\n accessCount: number;\r\n avgDurationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationAnalyticsDto {\r\n applicationName: string;\r\n totalAccesses: number;\r\n uniqueUsers: number;\r\n avgDurationSeconds: number;\r\n dailyAccessTrend: DailyAccessTrendDto[];\r\n topUsers: TopUserDto[];\r\n}\r\n\r\nexport interface ApplicationActivityDto {\r\n userId: string;\r\n userName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface DeviceAnalyticsDto {\r\n byDeviceType: DeviceStatsItemDto[];\r\n byBrowser: BrowserStatsItemDto[];\r\n}\r\n\r\nexport interface DeviceStatsItemDto {\r\n deviceType: string;\r\n count: number;\r\n percentage: number;\r\n}\r\n\r\nexport interface BrowserStatsItemDto {\r\n browser: string;\r\n count: number;\r\n}\r\n\r\nexport interface EngagementMetricsDto {\r\n avgSessionDuration: number;\r\n sessionDistribution: SessionBucketDto[];\r\n peakUsageHours: PeakUsageHourDto[];\r\n dailyActiveUsers: number;\r\n retentionRate: number;\r\n}\r\n\r\nexport interface SessionBucketDto {\r\n bucket: string;\r\n label: string;\r\n count: number;\r\n}\r\n\r\nexport interface PeakUsageHourDto {\r\n hour: number;\r\n accessCount: number;\r\n}\r\n\r\nexport interface ModuleAnalyticsDto {\r\n moduleId: string;\r\n moduleName: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n avgDuration: number;\r\n totalDurationMinutes: number;\r\n sessionCount: number;\r\n}\r\n\r\n// Hierarchy Drill-Down Types\r\nexport interface HierarchyDrillDownDto {\r\n level: number;\r\n period: number;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n items: HierarchyItemDto[];\r\n breadcrumb: BreadcrumbItemDto[];\r\n}\r\n\r\nexport interface HierarchyItemDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n totalDurationMinutes: number;\r\n hasChildren: boolean;\r\n level: number;\r\n parentId?: string;\r\n}\r\n\r\nexport interface BreadcrumbItemDto {\r\n id: string;\r\n name: string;\r\n level: number;\r\n}\r\n\r\n// Application Trends Types\r\nexport interface ApplicationTrendsDto {\r\n period: number;\r\n dailyData: ApplicationTrendDayDto[];\r\n applications: ApplicationSeriesDto[];\r\n}\r\n\r\nexport interface ApplicationTrendDayDto {\r\n date: string;\r\n applicationCounts: Record<string, number>;\r\n applicationDurations: Record<string, number>;\r\n applicationSessionCounts: Record<string, number>;\r\n}\r\n\r\nexport interface ApplicationSeriesDto {\r\n name: string;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n totalSessionCount: number;\r\n color: string;\r\n}\r\n\r\nexport const applicationAnalyticsApi = {\r\n getDashboardStats: async (): Promise<ApplicationDashboardStatsDto> => {\r\n return await api.get<ApplicationDashboardStatsDto>(\r\n '/api/administration/applications/application-analytics/dashboard'\r\n );\r\n },\r\n\r\n getApplicationAnalytics: async (applicationId: string): Promise<ApplicationAnalyticsDto> => {\r\n return await api.get<ApplicationAnalyticsDto>(\r\n `/api/administration/applications/application-analytics/${applicationId}/analytics`\r\n );\r\n },\r\n\r\n getApplicationActivity: async (\r\n applicationId: string,\r\n page: number = 1,\r\n pageSize: number = 20\r\n ): Promise<PaginatedResult<ApplicationActivityDto>> => {\r\n return await api.get<PaginatedResult<ApplicationActivityDto>>(\r\n `/api/administration/applications/application-analytics/${applicationId}/recent-activity`,\r\n {\r\n params: { page, pageSize }\r\n }\r\n );\r\n },\r\n\r\n getDeviceStats: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<DeviceAnalyticsDto> => {\r\n return await api.get<DeviceAnalyticsDto>(\r\n '/api/administration/applications/application-analytics/device-stats',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getEngagementMetrics: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<EngagementMetricsDto> => {\r\n return await api.get<EngagementMetricsDto>(\r\n '/api/administration/applications/application-analytics/engagement',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getTopModules: async (limit: number = 10, period: number = 30): Promise<ModuleAnalyticsDto[]> => {\r\n return await api.get<ModuleAnalyticsDto[]>(\r\n '/api/administration/applications/application-analytics/modules/top',\r\n {\r\n params: { limit, period }\r\n }\r\n );\r\n },\r\n\r\n getHierarchyData: async (\r\n level: number = 0,\r\n applicationId?: string,\r\n period: number = 30\r\n ): Promise<HierarchyDrillDownDto> => {\r\n const params: Record<string, string | number> = { level, period };\r\n if (applicationId) params.applicationId = applicationId;\r\n\r\n return await api.get<HierarchyDrillDownDto>(\r\n '/api/administration/applications/application-analytics/hierarchy',\r\n { params }\r\n );\r\n },\r\n\r\n getTrendsByApplication: async (period: number = 30): Promise<ApplicationTrendsDto> => {\r\n return await api.get<ApplicationTrendsDto>(\r\n '/api/administration/applications/application-analytics/trends-by-application',\r\n { params: { period } }\r\n );\r\n }\r\n};\r\n"],"names":["applicationAnalyticsApi","api","applicationId","page","pageSize","period","config","limit","level","params"],"mappings":"oDA8JaA,EAA0B,CACrC,kBAAmB,SACV,MAAMC,EAAAA,IAAI,IACf,kEAAA,EAIJ,wBAAyB,MAAOC,GACvB,MAAMD,EAAAA,IAAI,IACf,0DAA0DC,CAAa,YAAA,EAI3E,uBAAwB,MACtBA,EACAC,EAAe,EACfC,EAAmB,KAEZ,MAAMH,EAAAA,IAAI,IACf,0DAA0DC,CAAa,mBACvE,CACE,OAAQ,CAAE,KAAAC,EAAM,SAAAC,CAAA,CAAS,CAC3B,EAIJ,eAAgB,MAAOC,EAAiB,GAAIC,IACnC,MAAML,EAAAA,IAAI,IACf,sEACA,CACE,OAAQ,CAAE,OAAAI,CAAA,EACV,OAAQC,GAAQ,MAAA,CAClB,EAIJ,qBAAsB,MAAOD,EAAiB,GAAIC,IACzC,MAAML,EAAAA,IAAI,IACf,oEACA,CACE,OAAQ,CAAE,OAAAI,CAAA,EACV,OAAQC,GAAQ,MAAA,CAClB,EAIJ,cAAe,MAAOC,EAAgB,GAAIF,EAAiB,KAClD,MAAMJ,EAAAA,IAAI,IACf,qEACA,CACE,OAAQ,CAAE,MAAAM,EAAO,OAAAF,CAAA,CAAO,CAC1B,EAIJ,iBAAkB,MAChBG,EAAgB,EAChBN,EACAG,EAAiB,KACkB,CACnC,MAAMI,EAA0C,CAAE,MAAAD,EAAO,OAAAH,CAAA,EACzD,OAAIH,MAAsB,cAAgBA,GAEnC,MAAMD,EAAAA,IAAI,IACf,mEACA,CAAE,OAAAQ,CAAA,CAAO,CAEb,EAEA,uBAAwB,MAAOJ,EAAiB,KACvC,MAAMJ,EAAAA,IAAI,IACf,+EACA,CAAE,OAAQ,CAAE,OAAAI,CAAA,CAAO,CAAE,CAG3B"}
1
+ {"version":3,"file":"applicationAnalyticsApi-BobBdehV.js","sources":["../../src/services/api/applicationAnalyticsApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\nimport type { PaginatedResult } from '../../types/pagination';\r\n\r\n// DTOs\r\nexport interface PopularApplicationDto {\r\n applicationId: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface ActivityItemDto {\r\n userId: string;\r\n userName: string;\r\n applicationName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationDashboardStatsDto {\r\n totalApplications: number;\r\n activeApplications: number;\r\n totalUsers: number;\r\n activeUsersToday: number;\r\n avgSessionDuration: number;\r\n growthRate: number;\r\n mostPopularApps: PopularApplicationDto[];\r\n recentActivity: ActivityItemDto[];\r\n dailyTrend: DailyAccessTrendDto[];\r\n}\r\n\r\nexport interface DailyAccessTrendDto {\r\n date: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface TopUserDto {\r\n userId: string;\r\n userName: string;\r\n accessCount: number;\r\n avgDurationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationAnalyticsDto {\r\n applicationName: string;\r\n totalAccesses: number;\r\n uniqueUsers: number;\r\n avgDurationSeconds: number;\r\n dailyAccessTrend: DailyAccessTrendDto[];\r\n topUsers: TopUserDto[];\r\n}\r\n\r\nexport interface ApplicationActivityDto {\r\n userId: string;\r\n userName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface DeviceAnalyticsDto {\r\n byDeviceType: DeviceStatsItemDto[];\r\n byBrowser: BrowserStatsItemDto[];\r\n}\r\n\r\nexport interface DeviceStatsItemDto {\r\n deviceType: string;\r\n count: number;\r\n percentage: number;\r\n}\r\n\r\nexport interface BrowserStatsItemDto {\r\n browser: string;\r\n count: number;\r\n}\r\n\r\nexport interface EngagementMetricsDto {\r\n avgSessionDuration: number;\r\n sessionDistribution: SessionBucketDto[];\r\n peakUsageHours: PeakUsageHourDto[];\r\n dailyActiveUsers: number;\r\n retentionRate: number;\r\n}\r\n\r\nexport interface SessionBucketDto {\r\n bucket: string;\r\n label: string;\r\n count: number;\r\n}\r\n\r\nexport interface PeakUsageHourDto {\r\n hour: number;\r\n accessCount: number;\r\n}\r\n\r\nexport interface ModuleAnalyticsDto {\r\n moduleId: string;\r\n moduleName: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n avgDuration: number;\r\n totalDurationMinutes: number;\r\n sessionCount: number;\r\n}\r\n\r\n// Hierarchy Drill-Down Types\r\nexport interface HierarchyDrillDownDto {\r\n level: number;\r\n period: number;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n items: HierarchyItemDto[];\r\n breadcrumb: BreadcrumbItemDto[];\r\n}\r\n\r\nexport interface HierarchyItemDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n totalDurationMinutes: number;\r\n hasChildren: boolean;\r\n level: number;\r\n parentId?: string;\r\n}\r\n\r\nexport interface BreadcrumbItemDto {\r\n id: string;\r\n name: string;\r\n level: number;\r\n}\r\n\r\n// Application Trends Types\r\nexport interface ApplicationTrendsDto {\r\n period: number;\r\n dailyData: ApplicationTrendDayDto[];\r\n applications: ApplicationSeriesDto[];\r\n}\r\n\r\nexport interface ApplicationTrendDayDto {\r\n date: string;\r\n applicationCounts: Record<string, number>;\r\n applicationDurations: Record<string, number>;\r\n applicationSessionCounts: Record<string, number>;\r\n}\r\n\r\nexport interface ApplicationSeriesDto {\r\n name: string;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n totalSessionCount: number;\r\n color: string;\r\n}\r\n\r\nexport const applicationAnalyticsApi = {\r\n getDashboardStats: async (): Promise<ApplicationDashboardStatsDto> => {\r\n return await api.get<ApplicationDashboardStatsDto>(\r\n '/api/administration/applications/application-analytics/dashboard'\r\n );\r\n },\r\n\r\n getApplicationAnalytics: async (applicationId: string): Promise<ApplicationAnalyticsDto> => {\r\n return await api.get<ApplicationAnalyticsDto>(\r\n `/api/administration/applications/application-analytics/${applicationId}/analytics`\r\n );\r\n },\r\n\r\n getApplicationActivity: async (\r\n applicationId: string,\r\n page: number = 1,\r\n pageSize: number = 20\r\n ): Promise<PaginatedResult<ApplicationActivityDto>> => {\r\n return await api.get<PaginatedResult<ApplicationActivityDto>>(\r\n `/api/administration/applications/application-analytics/${applicationId}/recent-activity`,\r\n {\r\n params: { page, pageSize }\r\n }\r\n );\r\n },\r\n\r\n getDeviceStats: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<DeviceAnalyticsDto> => {\r\n return await api.get<DeviceAnalyticsDto>(\r\n '/api/administration/applications/application-analytics/device-stats',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getEngagementMetrics: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<EngagementMetricsDto> => {\r\n return await api.get<EngagementMetricsDto>(\r\n '/api/administration/applications/application-analytics/engagement',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getTopModules: async (limit: number = 10, period: number = 30): Promise<ModuleAnalyticsDto[]> => {\r\n return await api.get<ModuleAnalyticsDto[]>(\r\n '/api/administration/applications/application-analytics/modules/top',\r\n {\r\n params: { limit, period }\r\n }\r\n );\r\n },\r\n\r\n getHierarchyData: async (\r\n level: number = 0,\r\n applicationId?: string,\r\n period: number = 30\r\n ): Promise<HierarchyDrillDownDto> => {\r\n const params: Record<string, string | number> = { level, period };\r\n if (applicationId) params.applicationId = applicationId;\r\n\r\n return await api.get<HierarchyDrillDownDto>(\r\n '/api/administration/applications/application-analytics/hierarchy',\r\n { params }\r\n );\r\n },\r\n\r\n getTrendsByApplication: async (period: number = 30): Promise<ApplicationTrendsDto> => {\r\n return await api.get<ApplicationTrendsDto>(\r\n '/api/administration/applications/application-analytics/trends-by-application',\r\n { params: { period } }\r\n );\r\n }\r\n};\r\n"],"names":["applicationAnalyticsApi","api","applicationId","page","pageSize","period","config","limit","level","params"],"mappings":"oDA8JaA,EAA0B,CACrC,kBAAmB,SACV,MAAMC,EAAAA,IAAI,IACf,kEAAA,EAIJ,wBAAyB,MAAOC,GACvB,MAAMD,EAAAA,IAAI,IACf,0DAA0DC,CAAa,YAAA,EAI3E,uBAAwB,MACtBA,EACAC,EAAe,EACfC,EAAmB,KAEZ,MAAMH,EAAAA,IAAI,IACf,0DAA0DC,CAAa,mBACvE,CACE,OAAQ,CAAE,KAAAC,EAAM,SAAAC,CAAA,CAAS,CAC3B,EAIJ,eAAgB,MAAOC,EAAiB,GAAIC,IACnC,MAAML,EAAAA,IAAI,IACf,sEACA,CACE,OAAQ,CAAE,OAAAI,CAAA,EACV,OAAQC,GAAQ,MAAA,CAClB,EAIJ,qBAAsB,MAAOD,EAAiB,GAAIC,IACzC,MAAML,EAAAA,IAAI,IACf,oEACA,CACE,OAAQ,CAAE,OAAAI,CAAA,EACV,OAAQC,GAAQ,MAAA,CAClB,EAIJ,cAAe,MAAOC,EAAgB,GAAIF,EAAiB,KAClD,MAAMJ,EAAAA,IAAI,IACf,qEACA,CACE,OAAQ,CAAE,MAAAM,EAAO,OAAAF,CAAA,CAAO,CAC1B,EAIJ,iBAAkB,MAChBG,EAAgB,EAChBN,EACAG,EAAiB,KACkB,CACnC,MAAMI,EAA0C,CAAE,MAAAD,EAAO,OAAAH,CAAA,EACzD,OAAIH,MAAsB,cAAgBA,GAEnC,MAAMD,EAAAA,IAAI,IACf,mEACA,CAAE,OAAAQ,CAAA,CAAO,CAEb,EAEA,uBAAwB,MAAOJ,EAAiB,KACvC,MAAMJ,EAAAA,IAAI,IACf,+EACA,CAAE,OAAQ,CAAE,OAAAI,CAAA,CAAO,CAAE,CAG3B"}
@@ -1,4 +1,4 @@
1
- import { i as t } from "./index-CN2WRyg1.js";
1
+ import { i as t } from "./index-DN97bp_f.js";
2
2
  const c = {
3
3
  getDashboardStats: async () => await t.get(
4
4
  "/api/administration/applications/application-analytics/dashboard"
@@ -47,4 +47,4 @@ const c = {
47
47
  export {
48
48
  c as a
49
49
  };
50
- //# sourceMappingURL=applicationAnalyticsApi-D0DEp9Y-.js.map
50
+ //# sourceMappingURL=applicationAnalyticsApi-jCZhWKOx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applicationAnalyticsApi-D0DEp9Y-.js","sources":["../../src/services/api/applicationAnalyticsApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\nimport type { PaginatedResult } from '../../types/pagination';\r\n\r\n// DTOs\r\nexport interface PopularApplicationDto {\r\n applicationId: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface ActivityItemDto {\r\n userId: string;\r\n userName: string;\r\n applicationName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationDashboardStatsDto {\r\n totalApplications: number;\r\n activeApplications: number;\r\n totalUsers: number;\r\n activeUsersToday: number;\r\n avgSessionDuration: number;\r\n growthRate: number;\r\n mostPopularApps: PopularApplicationDto[];\r\n recentActivity: ActivityItemDto[];\r\n dailyTrend: DailyAccessTrendDto[];\r\n}\r\n\r\nexport interface DailyAccessTrendDto {\r\n date: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface TopUserDto {\r\n userId: string;\r\n userName: string;\r\n accessCount: number;\r\n avgDurationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationAnalyticsDto {\r\n applicationName: string;\r\n totalAccesses: number;\r\n uniqueUsers: number;\r\n avgDurationSeconds: number;\r\n dailyAccessTrend: DailyAccessTrendDto[];\r\n topUsers: TopUserDto[];\r\n}\r\n\r\nexport interface ApplicationActivityDto {\r\n userId: string;\r\n userName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface DeviceAnalyticsDto {\r\n byDeviceType: DeviceStatsItemDto[];\r\n byBrowser: BrowserStatsItemDto[];\r\n}\r\n\r\nexport interface DeviceStatsItemDto {\r\n deviceType: string;\r\n count: number;\r\n percentage: number;\r\n}\r\n\r\nexport interface BrowserStatsItemDto {\r\n browser: string;\r\n count: number;\r\n}\r\n\r\nexport interface EngagementMetricsDto {\r\n avgSessionDuration: number;\r\n sessionDistribution: SessionBucketDto[];\r\n peakUsageHours: PeakUsageHourDto[];\r\n dailyActiveUsers: number;\r\n retentionRate: number;\r\n}\r\n\r\nexport interface SessionBucketDto {\r\n bucket: string;\r\n label: string;\r\n count: number;\r\n}\r\n\r\nexport interface PeakUsageHourDto {\r\n hour: number;\r\n accessCount: number;\r\n}\r\n\r\nexport interface ModuleAnalyticsDto {\r\n moduleId: string;\r\n moduleName: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n avgDuration: number;\r\n totalDurationMinutes: number;\r\n sessionCount: number;\r\n}\r\n\r\n// Hierarchy Drill-Down Types\r\nexport interface HierarchyDrillDownDto {\r\n level: number;\r\n period: number;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n items: HierarchyItemDto[];\r\n breadcrumb: BreadcrumbItemDto[];\r\n}\r\n\r\nexport interface HierarchyItemDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n totalDurationMinutes: number;\r\n hasChildren: boolean;\r\n level: number;\r\n parentId?: string;\r\n}\r\n\r\nexport interface BreadcrumbItemDto {\r\n id: string;\r\n name: string;\r\n level: number;\r\n}\r\n\r\n// Application Trends Types\r\nexport interface ApplicationTrendsDto {\r\n period: number;\r\n dailyData: ApplicationTrendDayDto[];\r\n applications: ApplicationSeriesDto[];\r\n}\r\n\r\nexport interface ApplicationTrendDayDto {\r\n date: string;\r\n applicationCounts: Record<string, number>;\r\n applicationDurations: Record<string, number>;\r\n applicationSessionCounts: Record<string, number>;\r\n}\r\n\r\nexport interface ApplicationSeriesDto {\r\n name: string;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n totalSessionCount: number;\r\n color: string;\r\n}\r\n\r\nexport const applicationAnalyticsApi = {\r\n getDashboardStats: async (): Promise<ApplicationDashboardStatsDto> => {\r\n return await api.get<ApplicationDashboardStatsDto>(\r\n '/api/administration/applications/application-analytics/dashboard'\r\n );\r\n },\r\n\r\n getApplicationAnalytics: async (applicationId: string): Promise<ApplicationAnalyticsDto> => {\r\n return await api.get<ApplicationAnalyticsDto>(\r\n `/api/administration/applications/application-analytics/${applicationId}/analytics`\r\n );\r\n },\r\n\r\n getApplicationActivity: async (\r\n applicationId: string,\r\n page: number = 1,\r\n pageSize: number = 20\r\n ): Promise<PaginatedResult<ApplicationActivityDto>> => {\r\n return await api.get<PaginatedResult<ApplicationActivityDto>>(\r\n `/api/administration/applications/application-analytics/${applicationId}/recent-activity`,\r\n {\r\n params: { page, pageSize }\r\n }\r\n );\r\n },\r\n\r\n getDeviceStats: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<DeviceAnalyticsDto> => {\r\n return await api.get<DeviceAnalyticsDto>(\r\n '/api/administration/applications/application-analytics/device-stats',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getEngagementMetrics: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<EngagementMetricsDto> => {\r\n return await api.get<EngagementMetricsDto>(\r\n '/api/administration/applications/application-analytics/engagement',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getTopModules: async (limit: number = 10, period: number = 30): Promise<ModuleAnalyticsDto[]> => {\r\n return await api.get<ModuleAnalyticsDto[]>(\r\n '/api/administration/applications/application-analytics/modules/top',\r\n {\r\n params: { limit, period }\r\n }\r\n );\r\n },\r\n\r\n getHierarchyData: async (\r\n level: number = 0,\r\n applicationId?: string,\r\n period: number = 30\r\n ): Promise<HierarchyDrillDownDto> => {\r\n const params: Record<string, string | number> = { level, period };\r\n if (applicationId) params.applicationId = applicationId;\r\n\r\n return await api.get<HierarchyDrillDownDto>(\r\n '/api/administration/applications/application-analytics/hierarchy',\r\n { params }\r\n );\r\n },\r\n\r\n getTrendsByApplication: async (period: number = 30): Promise<ApplicationTrendsDto> => {\r\n return await api.get<ApplicationTrendsDto>(\r\n '/api/administration/applications/application-analytics/trends-by-application',\r\n { params: { period } }\r\n );\r\n }\r\n};\r\n"],"names":["applicationAnalyticsApi","api","applicationId","page","pageSize","period","config","limit","level","params"],"mappings":";AA8JO,MAAMA,IAA0B;AAAA,EACrC,mBAAmB,YACV,MAAMC,EAAI;AAAA,IACf;AAAA,EAAA;AAAA,EAIJ,yBAAyB,OAAOC,MACvB,MAAMD,EAAI;AAAA,IACf,0DAA0DC,CAAa;AAAA,EAAA;AAAA,EAI3E,wBAAwB,OACtBA,GACAC,IAAe,GACfC,IAAmB,OAEZ,MAAMH,EAAI;AAAA,IACf,0DAA0DC,CAAa;AAAA,IACvE;AAAA,MACE,QAAQ,EAAE,MAAAC,GAAM,UAAAC,EAAA;AAAA,IAAS;AAAA,EAC3B;AAAA,EAIJ,gBAAgB,OAAOC,IAAiB,IAAIC,MACnC,MAAML,EAAI;AAAA,IACf;AAAA,IACA;AAAA,MACE,QAAQ,EAAE,QAAAI,EAAA;AAAA,MACV,QAAQC,GAAQ;AAAA,IAAA;AAAA,EAClB;AAAA,EAIJ,sBAAsB,OAAOD,IAAiB,IAAIC,MACzC,MAAML,EAAI;AAAA,IACf;AAAA,IACA;AAAA,MACE,QAAQ,EAAE,QAAAI,EAAA;AAAA,MACV,QAAQC,GAAQ;AAAA,IAAA;AAAA,EAClB;AAAA,EAIJ,eAAe,OAAOC,IAAgB,IAAIF,IAAiB,OAClD,MAAMJ,EAAI;AAAA,IACf;AAAA,IACA;AAAA,MACE,QAAQ,EAAE,OAAAM,GAAO,QAAAF,EAAA;AAAA,IAAO;AAAA,EAC1B;AAAA,EAIJ,kBAAkB,OAChBG,IAAgB,GAChBN,GACAG,IAAiB,OACkB;AACnC,UAAMI,IAA0C,EAAE,OAAAD,GAAO,QAAAH,EAAA;AACzD,WAAIH,QAAsB,gBAAgBA,IAEnC,MAAMD,EAAI;AAAA,MACf;AAAA,MACA,EAAE,QAAAQ,EAAA;AAAA,IAAO;AAAA,EAEb;AAAA,EAEA,wBAAwB,OAAOJ,IAAiB,OACvC,MAAMJ,EAAI;AAAA,IACf;AAAA,IACA,EAAE,QAAQ,EAAE,QAAAI,EAAA,EAAO;AAAA,EAAE;AAG3B;"}
1
+ {"version":3,"file":"applicationAnalyticsApi-jCZhWKOx.js","sources":["../../src/services/api/applicationAnalyticsApi.ts"],"sourcesContent":["import { api } from './apiClient';\r\nimport type { PaginatedResult } from '../../types/pagination';\r\n\r\n// DTOs\r\nexport interface PopularApplicationDto {\r\n applicationId: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface ActivityItemDto {\r\n userId: string;\r\n userName: string;\r\n applicationName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationDashboardStatsDto {\r\n totalApplications: number;\r\n activeApplications: number;\r\n totalUsers: number;\r\n activeUsersToday: number;\r\n avgSessionDuration: number;\r\n growthRate: number;\r\n mostPopularApps: PopularApplicationDto[];\r\n recentActivity: ActivityItemDto[];\r\n dailyTrend: DailyAccessTrendDto[];\r\n}\r\n\r\nexport interface DailyAccessTrendDto {\r\n date: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n}\r\n\r\nexport interface TopUserDto {\r\n userId: string;\r\n userName: string;\r\n accessCount: number;\r\n avgDurationSeconds?: number;\r\n}\r\n\r\nexport interface ApplicationAnalyticsDto {\r\n applicationName: string;\r\n totalAccesses: number;\r\n uniqueUsers: number;\r\n avgDurationSeconds: number;\r\n dailyAccessTrend: DailyAccessTrendDto[];\r\n topUsers: TopUserDto[];\r\n}\r\n\r\nexport interface ApplicationActivityDto {\r\n userId: string;\r\n userName: string;\r\n moduleName?: string;\r\n accessedAt: string;\r\n durationSeconds?: number;\r\n}\r\n\r\nexport interface DeviceAnalyticsDto {\r\n byDeviceType: DeviceStatsItemDto[];\r\n byBrowser: BrowserStatsItemDto[];\r\n}\r\n\r\nexport interface DeviceStatsItemDto {\r\n deviceType: string;\r\n count: number;\r\n percentage: number;\r\n}\r\n\r\nexport interface BrowserStatsItemDto {\r\n browser: string;\r\n count: number;\r\n}\r\n\r\nexport interface EngagementMetricsDto {\r\n avgSessionDuration: number;\r\n sessionDistribution: SessionBucketDto[];\r\n peakUsageHours: PeakUsageHourDto[];\r\n dailyActiveUsers: number;\r\n retentionRate: number;\r\n}\r\n\r\nexport interface SessionBucketDto {\r\n bucket: string;\r\n label: string;\r\n count: number;\r\n}\r\n\r\nexport interface PeakUsageHourDto {\r\n hour: number;\r\n accessCount: number;\r\n}\r\n\r\nexport interface ModuleAnalyticsDto {\r\n moduleId: string;\r\n moduleName: string;\r\n applicationName: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n avgDuration: number;\r\n totalDurationMinutes: number;\r\n sessionCount: number;\r\n}\r\n\r\n// Hierarchy Drill-Down Types\r\nexport interface HierarchyDrillDownDto {\r\n level: number;\r\n period: number;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n items: HierarchyItemDto[];\r\n breadcrumb: BreadcrumbItemDto[];\r\n}\r\n\r\nexport interface HierarchyItemDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n accessCount: number;\r\n uniqueUsers: number;\r\n totalDurationMinutes: number;\r\n hasChildren: boolean;\r\n level: number;\r\n parentId?: string;\r\n}\r\n\r\nexport interface BreadcrumbItemDto {\r\n id: string;\r\n name: string;\r\n level: number;\r\n}\r\n\r\n// Application Trends Types\r\nexport interface ApplicationTrendsDto {\r\n period: number;\r\n dailyData: ApplicationTrendDayDto[];\r\n applications: ApplicationSeriesDto[];\r\n}\r\n\r\nexport interface ApplicationTrendDayDto {\r\n date: string;\r\n applicationCounts: Record<string, number>;\r\n applicationDurations: Record<string, number>;\r\n applicationSessionCounts: Record<string, number>;\r\n}\r\n\r\nexport interface ApplicationSeriesDto {\r\n name: string;\r\n totalAccess: number;\r\n totalDurationMinutes: number;\r\n totalSessionCount: number;\r\n color: string;\r\n}\r\n\r\nexport const applicationAnalyticsApi = {\r\n getDashboardStats: async (): Promise<ApplicationDashboardStatsDto> => {\r\n return await api.get<ApplicationDashboardStatsDto>(\r\n '/api/administration/applications/application-analytics/dashboard'\r\n );\r\n },\r\n\r\n getApplicationAnalytics: async (applicationId: string): Promise<ApplicationAnalyticsDto> => {\r\n return await api.get<ApplicationAnalyticsDto>(\r\n `/api/administration/applications/application-analytics/${applicationId}/analytics`\r\n );\r\n },\r\n\r\n getApplicationActivity: async (\r\n applicationId: string,\r\n page: number = 1,\r\n pageSize: number = 20\r\n ): Promise<PaginatedResult<ApplicationActivityDto>> => {\r\n return await api.get<PaginatedResult<ApplicationActivityDto>>(\r\n `/api/administration/applications/application-analytics/${applicationId}/recent-activity`,\r\n {\r\n params: { page, pageSize }\r\n }\r\n );\r\n },\r\n\r\n getDeviceStats: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<DeviceAnalyticsDto> => {\r\n return await api.get<DeviceAnalyticsDto>(\r\n '/api/administration/applications/application-analytics/device-stats',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getEngagementMetrics: async (period: number = 30, config?: { signal?: AbortSignal }): Promise<EngagementMetricsDto> => {\r\n return await api.get<EngagementMetricsDto>(\r\n '/api/administration/applications/application-analytics/engagement',\r\n {\r\n params: { period },\r\n signal: config?.signal\r\n }\r\n );\r\n },\r\n\r\n getTopModules: async (limit: number = 10, period: number = 30): Promise<ModuleAnalyticsDto[]> => {\r\n return await api.get<ModuleAnalyticsDto[]>(\r\n '/api/administration/applications/application-analytics/modules/top',\r\n {\r\n params: { limit, period }\r\n }\r\n );\r\n },\r\n\r\n getHierarchyData: async (\r\n level: number = 0,\r\n applicationId?: string,\r\n period: number = 30\r\n ): Promise<HierarchyDrillDownDto> => {\r\n const params: Record<string, string | number> = { level, period };\r\n if (applicationId) params.applicationId = applicationId;\r\n\r\n return await api.get<HierarchyDrillDownDto>(\r\n '/api/administration/applications/application-analytics/hierarchy',\r\n { params }\r\n );\r\n },\r\n\r\n getTrendsByApplication: async (period: number = 30): Promise<ApplicationTrendsDto> => {\r\n return await api.get<ApplicationTrendsDto>(\r\n '/api/administration/applications/application-analytics/trends-by-application',\r\n { params: { period } }\r\n );\r\n }\r\n};\r\n"],"names":["applicationAnalyticsApi","api","applicationId","page","pageSize","period","config","limit","level","params"],"mappings":";AA8JO,MAAMA,IAA0B;AAAA,EACrC,mBAAmB,YACV,MAAMC,EAAI;AAAA,IACf;AAAA,EAAA;AAAA,EAIJ,yBAAyB,OAAOC,MACvB,MAAMD,EAAI;AAAA,IACf,0DAA0DC,CAAa;AAAA,EAAA;AAAA,EAI3E,wBAAwB,OACtBA,GACAC,IAAe,GACfC,IAAmB,OAEZ,MAAMH,EAAI;AAAA,IACf,0DAA0DC,CAAa;AAAA,IACvE;AAAA,MACE,QAAQ,EAAE,MAAAC,GAAM,UAAAC,EAAA;AAAA,IAAS;AAAA,EAC3B;AAAA,EAIJ,gBAAgB,OAAOC,IAAiB,IAAIC,MACnC,MAAML,EAAI;AAAA,IACf;AAAA,IACA;AAAA,MACE,QAAQ,EAAE,QAAAI,EAAA;AAAA,MACV,QAAQC,GAAQ;AAAA,IAAA;AAAA,EAClB;AAAA,EAIJ,sBAAsB,OAAOD,IAAiB,IAAIC,MACzC,MAAML,EAAI;AAAA,IACf;AAAA,IACA;AAAA,MACE,QAAQ,EAAE,QAAAI,EAAA;AAAA,MACV,QAAQC,GAAQ;AAAA,IAAA;AAAA,EAClB;AAAA,EAIJ,eAAe,OAAOC,IAAgB,IAAIF,IAAiB,OAClD,MAAMJ,EAAI;AAAA,IACf;AAAA,IACA;AAAA,MACE,QAAQ,EAAE,OAAAM,GAAO,QAAAF,EAAA;AAAA,IAAO;AAAA,EAC1B;AAAA,EAIJ,kBAAkB,OAChBG,IAAgB,GAChBN,GACAG,IAAiB,OACkB;AACnC,UAAMI,IAA0C,EAAE,OAAAD,GAAO,QAAAH,EAAA;AACzD,WAAIH,QAAsB,gBAAgBA,IAEnC,MAAMD,EAAI;AAAA,MACf;AAAA,MACA,EAAE,QAAAQ,EAAA;AAAA,IAAO;AAAA,EAEb;AAAA,EAEA,wBAAwB,OAAOJ,IAAiB,OACvC,MAAMJ,EAAI;AAAA,IACf;AAAA,IACA,EAAE,QAAQ,EAAE,QAAAI,EAAA,EAAO;AAAA,EAAE;AAG3B;"}
@@ -1,4 +1,4 @@
1
- import { j as p, i as $ } from "./index-CN2WRyg1.js";
1
+ import { j as p, i as $ } from "./index-DN97bp_f.js";
2
2
  const d = (r) => ({
3
3
  get: (t, e) => p.get(t, {
4
4
  ...e,
@@ -102,4 +102,4 @@ export {
102
102
  l as c,
103
103
  y as g
104
104
  };
105
- //# sourceMappingURL=groupsApi-Db8G2lLs.js.map
105
+ //# sourceMappingURL=groupsApi-CoxnW9vH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"groupsApi-Db8G2lLs.js","sources":["../../src/services/api/groupsApi.ts"],"sourcesContent":["import { api, apiClient } from './apiClient';\r\nimport type { UserApplicationAccessDto } from './adminApi';\r\n\r\n/**\r\n * Creates API methods with a specific tenant context.\r\n * Used when Super Admins view tenant-specific pages without \"switching\" to that tenant.\r\n */\r\nconst withTenantContext = (tenantSlug?: string) => ({\r\n get: <T>(url: string, config?: Parameters<typeof apiClient.get>[1]) =>\r\n apiClient.get<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n post: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.post>[2]) =>\r\n apiClient.post<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n put: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.put>[2]) =>\r\n apiClient.put<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n patch: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.patch>[2]) =>\r\n apiClient.patch<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n delete: <T>(url: string, config?: Parameters<typeof apiClient.delete>[1]) =>\r\n apiClient.delete<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n});\r\n\r\n// Types\r\nexport interface GroupListDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n memberCount: number;\r\n roles: string[];\r\n createdAt: string;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n childCount: number;\r\n}\r\n\r\nexport interface GroupDetailDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n mail: string | null;\r\n mailNickname: string | null;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n members: GroupMemberDto[];\r\n roles: GroupRoleDto[];\r\n childGroups: GroupChildDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n createdBy: string | null;\r\n updatedBy: string | null;\r\n}\r\n\r\nexport interface GroupMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface GroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n assignedAt: string;\r\n assignedBy: string;\r\n isInheritable: boolean;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n}\r\n\r\nexport interface GroupChildDto {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface CreateGroupRequest {\r\n name: string;\r\n description?: string;\r\n isSecurityGroup?: boolean;\r\n parentGroupId?: string;\r\n}\r\n\r\nexport interface UpdateGroupRequest {\r\n name: string;\r\n description?: string;\r\n}\r\n\r\nexport interface LinkEntraRequest {\r\n entraObjectId: string;\r\n}\r\n\r\nexport interface AddMemberRequest {\r\n userId: string;\r\n}\r\n\r\nexport interface AssignRoleRequest {\r\n roleId: string;\r\n isInheritable?: boolean;\r\n tenantId?: string | null;\r\n}\r\n\r\nexport interface SetInheritableRequest {\r\n isInheritable: boolean;\r\n}\r\n\r\nexport interface SetParentGroupRequest {\r\n parentGroupId: string | null;\r\n}\r\n\r\nexport interface InheritedTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n}\r\n\r\nexport interface InheritedMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface InheritedGroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface GroupTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface AddToTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface CustomRoleDetailDto {\r\n id: string;\r\n name: string;\r\n shortName: string;\r\n category: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n permissions: CustomRolePermissionDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CustomRolePermissionDto {\r\n id: string;\r\n path: string;\r\n description: string | null;\r\n}\r\n\r\nconst BASE_URL = '/api/administration/users/groups';\r\n\r\n/**\r\n * Factory function to create groups API with explicit tenant context.\r\n * @param tenantSlug - Optional tenant slug to use for all requests\r\n */\r\nconst _createGroupsApi = (tenantSlug?: string) => {\r\n const apiContext = tenantSlug ? withTenantContext(tenantSlug) : api;\r\n\r\n return {\r\n // === CRUD OPERATIONS ===\r\n\r\n getAll: async (\r\n search?: string,\r\n isActive?: boolean,\r\n syncedFromEntra?: boolean\r\n ): Promise<GroupListDto[]> => {\r\n const params = new URLSearchParams();\r\n if (search) params.append('search', search);\r\n if (isActive !== undefined) params.append('isActive', String(isActive));\r\n if (syncedFromEntra !== undefined) params.append('syncedFromEntra', String(syncedFromEntra));\r\n\r\n const queryString = params.toString();\r\n const url = queryString ? `${BASE_URL}?${queryString}` : BASE_URL;\r\n const response = await apiContext.get<GroupListDto[]>(url);\r\n return response;\r\n },\r\n\r\n getById: async (id: string): Promise<GroupDetailDto> => {\r\n const response = await apiContext.get<GroupDetailDto>(`${BASE_URL}/${id}`);\r\n return response;\r\n },\r\n\r\n create: async (data: CreateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.post<GroupDetailDto>(BASE_URL, data);\r\n return response;\r\n },\r\n\r\n update: async (id: string, data: UpdateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.put<GroupDetailDto>(`${BASE_URL}/${id}`, data);\r\n return response;\r\n },\r\n\r\n delete: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}`);\r\n },\r\n\r\n activate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/activate`);\r\n },\r\n\r\n deactivate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/deactivate`);\r\n },\r\n\r\n // === ENTRA LINKING ===\r\n\r\n linkToEntra: async (id: string, data: LinkEntraRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/link-entra`, data);\r\n },\r\n\r\n unlinkFromEntra: async (id: string): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/unlink-entra`);\r\n },\r\n\r\n // === MEMBER MANAGEMENT ===\r\n\r\n getMembers: async (id: string): Promise<GroupMemberDto[]> => {\r\n const response = await apiContext.get<GroupMemberDto[]>(`${BASE_URL}/${id}/members`);\r\n return response;\r\n },\r\n\r\n addMember: async (id: string, data: AddMemberRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/members`, data);\r\n },\r\n\r\n removeMember: async (groupId: string, userId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/members/${userId}`);\r\n },\r\n\r\n // === ROLE MANAGEMENT ===\r\n\r\n getRoles: async (id: string): Promise<GroupRoleDto[]> => {\r\n const response = await apiContext.get<GroupRoleDto[]>(`${BASE_URL}/${id}/roles`);\r\n return response;\r\n },\r\n\r\n assignRole: async (id: string, data: AssignRoleRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/roles`, data);\r\n },\r\n\r\n removeRole: async (groupId: string, roleId: string, tenantId?: string | null): Promise<void> => {\r\n const params = tenantId ? `?tenantId=${tenantId}` : '';\r\n await apiContext.delete(`${BASE_URL}/${groupId}/roles/${roleId}${params}`);\r\n },\r\n\r\n setRoleInheritable: async (\r\n groupId: string,\r\n roleId: string,\r\n data: SetInheritableRequest\r\n ): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${groupId}/roles/${roleId}/inheritable`, data);\r\n },\r\n\r\n // === HIERARCHY ===\r\n\r\n getChildGroups: async (id: string): Promise<GroupChildDto[]> => {\r\n const response = await apiContext.get<GroupChildDto[]>(`${BASE_URL}/${id}/children`);\r\n return response;\r\n },\r\n\r\n setParentGroup: async (id: string, data: SetParentGroupRequest): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/parent`, data);\r\n },\r\n\r\n // === TENANT MANAGEMENT ===\r\n\r\n getTenants: async (id: string): Promise<GroupTenantDto[]> => {\r\n const response = await apiContext.get<GroupTenantDto[]>(`${BASE_URL}/${id}/tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedTenants: async (id: string): Promise<InheritedTenantDto[]> => {\r\n const response = await apiContext.get<InheritedTenantDto[]>(`${BASE_URL}/${id}/inherited-tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedMembers: async (id: string): Promise<InheritedMemberDto[]> => {\r\n const response = await apiContext.get<InheritedMemberDto[]>(`${BASE_URL}/${id}/inherited-members`);\r\n return response;\r\n },\r\n\r\n getInheritedRoles: async (id: string): Promise<InheritedGroupRoleDto[]> => {\r\n const response = await apiContext.get<InheritedGroupRoleDto[]>(`${BASE_URL}/${id}/inherited-roles`);\r\n return response;\r\n },\r\n\r\n addToTenant: async (id: string, data: AddToTenantRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/tenants`, data);\r\n },\r\n\r\n removeFromTenant: async (groupId: string, tenantId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/tenants/${tenantId}`);\r\n },\r\n\r\n // === APPLICATION ACCESS ===\r\n\r\n getApplicationAccess: async (id: string, tenantId?: string): Promise<UserApplicationAccessDto[]> => {\r\n const url = tenantId\r\n ? `${BASE_URL}/${id}/application-access?tenantId=${tenantId}`\r\n : `${BASE_URL}/${id}/application-access`;\r\n const response = await apiContext.get<UserApplicationAccessDto[]>(url);\r\n return response;\r\n },\r\n\r\n // === CUSTOM ROLE ===\r\n\r\n getCustomRole: async (id: string): Promise<CustomRoleDetailDto | null> => {\r\n const response = await apiContext.get<CustomRoleDetailDto | null>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n createCustomRole: async (id: string): Promise<CustomRoleDetailDto> => {\r\n const response = await apiContext.post<CustomRoleDetailDto>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n deleteCustomRole: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}/custom-role`);\r\n },\r\n };\r\n};\r\nexport type GroupsApi = ReturnType<typeof _createGroupsApi>;\r\nexport const createGroupsApi: (tenantSlug?: string) => GroupsApi = _createGroupsApi;\r\n\r\n// Default export uses localStorage tenant slug (backward compatible)\r\nexport const groupsApi = createGroupsApi();\r\n"],"names":["withTenantContext","tenantSlug","url","config","apiClient","res","data","BASE_URL","_createGroupsApi","apiContext","api","search","isActive","syncedFromEntra","params","queryString","id","groupId","userId","roleId","tenantId","createGroupsApi","groupsApi"],"mappings":"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"}
1
+ {"version":3,"file":"groupsApi-CoxnW9vH.js","sources":["../../src/services/api/groupsApi.ts"],"sourcesContent":["import { api, apiClient } from './apiClient';\r\nimport type { UserApplicationAccessDto } from './adminApi';\r\n\r\n/**\r\n * Creates API methods with a specific tenant context.\r\n * Used when Super Admins view tenant-specific pages without \"switching\" to that tenant.\r\n */\r\nconst withTenantContext = (tenantSlug?: string) => ({\r\n get: <T>(url: string, config?: Parameters<typeof apiClient.get>[1]) =>\r\n apiClient.get<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n post: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.post>[2]) =>\r\n apiClient.post<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n put: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.put>[2]) =>\r\n apiClient.put<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n patch: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.patch>[2]) =>\r\n apiClient.patch<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n delete: <T>(url: string, config?: Parameters<typeof apiClient.delete>[1]) =>\r\n apiClient.delete<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n});\r\n\r\n// Types\r\nexport interface GroupListDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n memberCount: number;\r\n roles: string[];\r\n createdAt: string;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n childCount: number;\r\n}\r\n\r\nexport interface GroupDetailDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n mail: string | null;\r\n mailNickname: string | null;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n members: GroupMemberDto[];\r\n roles: GroupRoleDto[];\r\n childGroups: GroupChildDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n createdBy: string | null;\r\n updatedBy: string | null;\r\n}\r\n\r\nexport interface GroupMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface GroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n assignedAt: string;\r\n assignedBy: string;\r\n isInheritable: boolean;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n}\r\n\r\nexport interface GroupChildDto {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface CreateGroupRequest {\r\n name: string;\r\n description?: string;\r\n isSecurityGroup?: boolean;\r\n parentGroupId?: string;\r\n}\r\n\r\nexport interface UpdateGroupRequest {\r\n name: string;\r\n description?: string;\r\n}\r\n\r\nexport interface LinkEntraRequest {\r\n entraObjectId: string;\r\n}\r\n\r\nexport interface AddMemberRequest {\r\n userId: string;\r\n}\r\n\r\nexport interface AssignRoleRequest {\r\n roleId: string;\r\n isInheritable?: boolean;\r\n tenantId?: string | null;\r\n}\r\n\r\nexport interface SetInheritableRequest {\r\n isInheritable: boolean;\r\n}\r\n\r\nexport interface SetParentGroupRequest {\r\n parentGroupId: string | null;\r\n}\r\n\r\nexport interface InheritedTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n}\r\n\r\nexport interface InheritedMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface InheritedGroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface GroupTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface AddToTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface CustomRoleDetailDto {\r\n id: string;\r\n name: string;\r\n shortName: string;\r\n category: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n permissions: CustomRolePermissionDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CustomRolePermissionDto {\r\n id: string;\r\n path: string;\r\n description: string | null;\r\n}\r\n\r\nconst BASE_URL = '/api/administration/users/groups';\r\n\r\n/**\r\n * Factory function to create groups API with explicit tenant context.\r\n * @param tenantSlug - Optional tenant slug to use for all requests\r\n */\r\nconst _createGroupsApi = (tenantSlug?: string) => {\r\n const apiContext = tenantSlug ? withTenantContext(tenantSlug) : api;\r\n\r\n return {\r\n // === CRUD OPERATIONS ===\r\n\r\n getAll: async (\r\n search?: string,\r\n isActive?: boolean,\r\n syncedFromEntra?: boolean\r\n ): Promise<GroupListDto[]> => {\r\n const params = new URLSearchParams();\r\n if (search) params.append('search', search);\r\n if (isActive !== undefined) params.append('isActive', String(isActive));\r\n if (syncedFromEntra !== undefined) params.append('syncedFromEntra', String(syncedFromEntra));\r\n\r\n const queryString = params.toString();\r\n const url = queryString ? `${BASE_URL}?${queryString}` : BASE_URL;\r\n const response = await apiContext.get<GroupListDto[]>(url);\r\n return response;\r\n },\r\n\r\n getById: async (id: string): Promise<GroupDetailDto> => {\r\n const response = await apiContext.get<GroupDetailDto>(`${BASE_URL}/${id}`);\r\n return response;\r\n },\r\n\r\n create: async (data: CreateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.post<GroupDetailDto>(BASE_URL, data);\r\n return response;\r\n },\r\n\r\n update: async (id: string, data: UpdateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.put<GroupDetailDto>(`${BASE_URL}/${id}`, data);\r\n return response;\r\n },\r\n\r\n delete: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}`);\r\n },\r\n\r\n activate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/activate`);\r\n },\r\n\r\n deactivate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/deactivate`);\r\n },\r\n\r\n // === ENTRA LINKING ===\r\n\r\n linkToEntra: async (id: string, data: LinkEntraRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/link-entra`, data);\r\n },\r\n\r\n unlinkFromEntra: async (id: string): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/unlink-entra`);\r\n },\r\n\r\n // === MEMBER MANAGEMENT ===\r\n\r\n getMembers: async (id: string): Promise<GroupMemberDto[]> => {\r\n const response = await apiContext.get<GroupMemberDto[]>(`${BASE_URL}/${id}/members`);\r\n return response;\r\n },\r\n\r\n addMember: async (id: string, data: AddMemberRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/members`, data);\r\n },\r\n\r\n removeMember: async (groupId: string, userId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/members/${userId}`);\r\n },\r\n\r\n // === ROLE MANAGEMENT ===\r\n\r\n getRoles: async (id: string): Promise<GroupRoleDto[]> => {\r\n const response = await apiContext.get<GroupRoleDto[]>(`${BASE_URL}/${id}/roles`);\r\n return response;\r\n },\r\n\r\n assignRole: async (id: string, data: AssignRoleRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/roles`, data);\r\n },\r\n\r\n removeRole: async (groupId: string, roleId: string, tenantId?: string | null): Promise<void> => {\r\n const params = tenantId ? `?tenantId=${tenantId}` : '';\r\n await apiContext.delete(`${BASE_URL}/${groupId}/roles/${roleId}${params}`);\r\n },\r\n\r\n setRoleInheritable: async (\r\n groupId: string,\r\n roleId: string,\r\n data: SetInheritableRequest\r\n ): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${groupId}/roles/${roleId}/inheritable`, data);\r\n },\r\n\r\n // === HIERARCHY ===\r\n\r\n getChildGroups: async (id: string): Promise<GroupChildDto[]> => {\r\n const response = await apiContext.get<GroupChildDto[]>(`${BASE_URL}/${id}/children`);\r\n return response;\r\n },\r\n\r\n setParentGroup: async (id: string, data: SetParentGroupRequest): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/parent`, data);\r\n },\r\n\r\n // === TENANT MANAGEMENT ===\r\n\r\n getTenants: async (id: string): Promise<GroupTenantDto[]> => {\r\n const response = await apiContext.get<GroupTenantDto[]>(`${BASE_URL}/${id}/tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedTenants: async (id: string): Promise<InheritedTenantDto[]> => {\r\n const response = await apiContext.get<InheritedTenantDto[]>(`${BASE_URL}/${id}/inherited-tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedMembers: async (id: string): Promise<InheritedMemberDto[]> => {\r\n const response = await apiContext.get<InheritedMemberDto[]>(`${BASE_URL}/${id}/inherited-members`);\r\n return response;\r\n },\r\n\r\n getInheritedRoles: async (id: string): Promise<InheritedGroupRoleDto[]> => {\r\n const response = await apiContext.get<InheritedGroupRoleDto[]>(`${BASE_URL}/${id}/inherited-roles`);\r\n return response;\r\n },\r\n\r\n addToTenant: async (id: string, data: AddToTenantRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/tenants`, data);\r\n },\r\n\r\n removeFromTenant: async (groupId: string, tenantId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/tenants/${tenantId}`);\r\n },\r\n\r\n // === APPLICATION ACCESS ===\r\n\r\n getApplicationAccess: async (id: string, tenantId?: string): Promise<UserApplicationAccessDto[]> => {\r\n const url = tenantId\r\n ? `${BASE_URL}/${id}/application-access?tenantId=${tenantId}`\r\n : `${BASE_URL}/${id}/application-access`;\r\n const response = await apiContext.get<UserApplicationAccessDto[]>(url);\r\n return response;\r\n },\r\n\r\n // === CUSTOM ROLE ===\r\n\r\n getCustomRole: async (id: string): Promise<CustomRoleDetailDto | null> => {\r\n const response = await apiContext.get<CustomRoleDetailDto | null>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n createCustomRole: async (id: string): Promise<CustomRoleDetailDto> => {\r\n const response = await apiContext.post<CustomRoleDetailDto>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n deleteCustomRole: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}/custom-role`);\r\n },\r\n };\r\n};\r\nexport type GroupsApi = ReturnType<typeof _createGroupsApi>;\r\nexport const createGroupsApi: (tenantSlug?: string) => GroupsApi = _createGroupsApi;\r\n\r\n// Default export uses localStorage tenant slug (backward compatible)\r\nexport const groupsApi = createGroupsApi();\r\n"],"names":["withTenantContext","tenantSlug","url","config","apiClient","res","data","BASE_URL","_createGroupsApi","apiContext","api","search","isActive","syncedFromEntra","params","queryString","id","groupId","userId","roleId","tenantId","createGroupsApi","groupsApi"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const p=require("./index-cAikSVW0.js"),d=r=>({get:(s,e)=>p.apiClient.get(s,{...e,headers:r?{...e?.headers,"X-Tenant-Slug":r}:e?.headers}).then(t=>t.data),post:(s,e,t)=>p.apiClient.post(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),put:(s,e,t)=>p.apiClient.put(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),patch:(s,e,t)=>p.apiClient.patch(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),delete:(s,e)=>p.apiClient.delete(s,{...e,headers:r?{...e?.headers,"X-Tenant-Slug":r}:e?.headers}).then(t=>t.data)}),a="/api/administration/users/groups",l=r=>{const s=r?d(r):p.api;return{getAll:async(e,t,n)=>{const o=new URLSearchParams;e&&o.append("search",e),t!==void 0&&o.append("isActive",String(t)),n!==void 0&&o.append("syncedFromEntra",String(n));const i=o.toString(),$=i?`${a}?${i}`:a;return await s.get($)},getById:async e=>await s.get(`${a}/${e}`),create:async e=>await s.post(a,e),update:async(e,t)=>await s.put(`${a}/${e}`,t),delete:async e=>{await s.delete(`${a}/${e}`)},activate:async e=>{await s.patch(`${a}/${e}/activate`)},deactivate:async e=>{await s.patch(`${a}/${e}/deactivate`)},linkToEntra:async(e,t)=>{await s.post(`${a}/${e}/link-entra`,t)},unlinkFromEntra:async e=>{await s.post(`${a}/${e}/unlink-entra`)},getMembers:async e=>await s.get(`${a}/${e}/members`),addMember:async(e,t)=>{await s.post(`${a}/${e}/members`,t)},removeMember:async(e,t)=>{await s.delete(`${a}/${e}/members/${t}`)},getRoles:async e=>await s.get(`${a}/${e}/roles`),assignRole:async(e,t)=>{await s.post(`${a}/${e}/roles`,t)},removeRole:async(e,t,n)=>{const o=n?`?tenantId=${n}`:"";await s.delete(`${a}/${e}/roles/${t}${o}`)},setRoleInheritable:async(e,t,n)=>{await s.patch(`${a}/${e}/roles/${t}/inheritable`,n)},getChildGroups:async e=>await s.get(`${a}/${e}/children`),setParentGroup:async(e,t)=>{await s.patch(`${a}/${e}/parent`,t)},getTenants:async e=>await s.get(`${a}/${e}/tenants`),getInheritedTenants:async e=>await s.get(`${a}/${e}/inherited-tenants`),getInheritedMembers:async e=>await s.get(`${a}/${e}/inherited-members`),getInheritedRoles:async e=>await s.get(`${a}/${e}/inherited-roles`),addToTenant:async(e,t)=>{await s.post(`${a}/${e}/tenants`,t)},removeFromTenant:async(e,t)=>{await s.delete(`${a}/${e}/tenants/${t}`)},getApplicationAccess:async(e,t)=>{const n=t?`${a}/${e}/application-access?tenantId=${t}`:`${a}/${e}/application-access`;return await s.get(n)},getCustomRole:async e=>await s.get(`${a}/${e}/custom-role`),createCustomRole:async e=>await s.post(`${a}/${e}/custom-role`),deleteCustomRole:async e=>{await s.delete(`${a}/${e}/custom-role`)}}},c=l,h=c();exports.createGroupsApi=c;exports.groupsApi=h;
2
- //# sourceMappingURL=groupsApi-lbxNsHFv.js.map
1
+ "use strict";const p=require("./index-DnML-nfd.js"),d=r=>({get:(s,e)=>p.apiClient.get(s,{...e,headers:r?{...e?.headers,"X-Tenant-Slug":r}:e?.headers}).then(t=>t.data),post:(s,e,t)=>p.apiClient.post(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),put:(s,e,t)=>p.apiClient.put(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),patch:(s,e,t)=>p.apiClient.patch(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),delete:(s,e)=>p.apiClient.delete(s,{...e,headers:r?{...e?.headers,"X-Tenant-Slug":r}:e?.headers}).then(t=>t.data)}),a="/api/administration/users/groups",l=r=>{const s=r?d(r):p.api;return{getAll:async(e,t,n)=>{const o=new URLSearchParams;e&&o.append("search",e),t!==void 0&&o.append("isActive",String(t)),n!==void 0&&o.append("syncedFromEntra",String(n));const i=o.toString(),$=i?`${a}?${i}`:a;return await s.get($)},getById:async e=>await s.get(`${a}/${e}`),create:async e=>await s.post(a,e),update:async(e,t)=>await s.put(`${a}/${e}`,t),delete:async e=>{await s.delete(`${a}/${e}`)},activate:async e=>{await s.patch(`${a}/${e}/activate`)},deactivate:async e=>{await s.patch(`${a}/${e}/deactivate`)},linkToEntra:async(e,t)=>{await s.post(`${a}/${e}/link-entra`,t)},unlinkFromEntra:async e=>{await s.post(`${a}/${e}/unlink-entra`)},getMembers:async e=>await s.get(`${a}/${e}/members`),addMember:async(e,t)=>{await s.post(`${a}/${e}/members`,t)},removeMember:async(e,t)=>{await s.delete(`${a}/${e}/members/${t}`)},getRoles:async e=>await s.get(`${a}/${e}/roles`),assignRole:async(e,t)=>{await s.post(`${a}/${e}/roles`,t)},removeRole:async(e,t,n)=>{const o=n?`?tenantId=${n}`:"";await s.delete(`${a}/${e}/roles/${t}${o}`)},setRoleInheritable:async(e,t,n)=>{await s.patch(`${a}/${e}/roles/${t}/inheritable`,n)},getChildGroups:async e=>await s.get(`${a}/${e}/children`),setParentGroup:async(e,t)=>{await s.patch(`${a}/${e}/parent`,t)},getTenants:async e=>await s.get(`${a}/${e}/tenants`),getInheritedTenants:async e=>await s.get(`${a}/${e}/inherited-tenants`),getInheritedMembers:async e=>await s.get(`${a}/${e}/inherited-members`),getInheritedRoles:async e=>await s.get(`${a}/${e}/inherited-roles`),addToTenant:async(e,t)=>{await s.post(`${a}/${e}/tenants`,t)},removeFromTenant:async(e,t)=>{await s.delete(`${a}/${e}/tenants/${t}`)},getApplicationAccess:async(e,t)=>{const n=t?`${a}/${e}/application-access?tenantId=${t}`:`${a}/${e}/application-access`;return await s.get(n)},getCustomRole:async e=>await s.get(`${a}/${e}/custom-role`),createCustomRole:async e=>await s.post(`${a}/${e}/custom-role`),deleteCustomRole:async e=>{await s.delete(`${a}/${e}/custom-role`)}}},c=l,h=c();exports.createGroupsApi=c;exports.groupsApi=h;
2
+ //# sourceMappingURL=groupsApi-D2lFFcgu.js.map