@atlashub/smartstack 3.31.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.
- package/dist/chunks/{AgentSkillsPage-DcvOMm5k.js → AgentSkillsPage-BMxOA-nm.js} +2 -2
- package/dist/chunks/{AgentSkillsPage-DcvOMm5k.js.map → AgentSkillsPage-BMxOA-nm.js.map} +1 -1
- package/dist/chunks/{AgentSkillsPage-CDMhqrhE.js → AgentSkillsPage-DSwfoazB.js} +2 -2
- package/dist/chunks/{AgentSkillsPage-CDMhqrhE.js.map → AgentSkillsPage-DSwfoazB.js.map} +1 -1
- package/dist/chunks/{AgentWorkloadPage-YpJSDaWc.js → AgentWorkloadPage-B_emq8kd.js} +2 -2
- package/dist/chunks/{AgentWorkloadPage-YpJSDaWc.js.map → AgentWorkloadPage-B_emq8kd.js.map} +1 -1
- package/dist/chunks/{AgentWorkloadPage-DYBPNzjQ.js → AgentWorkloadPage-_USTeYWz.js} +2 -2
- package/dist/chunks/{AgentWorkloadPage-DYBPNzjQ.js.map → AgentWorkloadPage-_USTeYWz.js.map} +1 -1
- package/dist/chunks/{ApiCatalogDetailPage-9r1axtCg.js → ApiCatalogDetailPage-BC_HxVu5.js} +3 -3
- package/dist/chunks/{ApiCatalogDetailPage-9r1axtCg.js.map → ApiCatalogDetailPage-BC_HxVu5.js.map} +1 -1
- package/dist/chunks/{ApiCatalogDetailPage-TjCQ8_A8.js → ApiCatalogDetailPage-BI7zyZAd.js} +2 -2
- package/dist/chunks/{ApiCatalogDetailPage-TjCQ8_A8.js.map → ApiCatalogDetailPage-BI7zyZAd.js.map} +1 -1
- package/dist/chunks/{ApiCatalogPage-COxazTnz.js → ApiCatalogPage-CutaHo5K.js} +2 -2
- package/dist/chunks/{ApiCatalogPage-COxazTnz.js.map → ApiCatalogPage-CutaHo5K.js.map} +1 -1
- package/dist/chunks/{ApiCatalogPage-QRysH0pT.js → ApiCatalogPage-M80MorHU.js} +2 -2
- package/dist/chunks/{ApiCatalogPage-QRysH0pT.js.map → ApiCatalogPage-M80MorHU.js.map} +1 -1
- package/dist/chunks/{ApplicationDetailPage-jSHy3MPz.js → ApplicationDetailPage-DVY0wua0.js} +2 -2
- package/dist/chunks/{ApplicationDetailPage-jSHy3MPz.js.map → ApplicationDetailPage-DVY0wua0.js.map} +1 -1
- package/dist/chunks/{ApplicationDetailPage-Dbx01Ikm.js → ApplicationDetailPage-DzszwaIZ.js} +4 -4
- package/dist/chunks/{ApplicationDetailPage-Dbx01Ikm.js.map → ApplicationDetailPage-DzszwaIZ.js.map} +1 -1
- package/dist/chunks/{ApplicationsDashboardPage-CclKc0wI.js → ApplicationsDashboardPage-B3ptvnJz.js} +3 -3
- package/dist/chunks/{ApplicationsDashboardPage-CclKc0wI.js.map → ApplicationsDashboardPage-B3ptvnJz.js.map} +1 -1
- package/dist/chunks/{ApplicationsDashboardPage-CxWmOc1x.js → ApplicationsDashboardPage-D0pxqbEc.js} +2 -2
- package/dist/chunks/{ApplicationsDashboardPage-CxWmOc1x.js.map → ApplicationsDashboardPage-D0pxqbEc.js.map} +1 -1
- package/dist/chunks/{ApplicationsGridPage-D2l8cM3o.js → ApplicationsGridPage-Ca23FBSP.js} +2 -2
- package/dist/chunks/{ApplicationsGridPage-D2l8cM3o.js.map → ApplicationsGridPage-Ca23FBSP.js.map} +1 -1
- package/dist/chunks/{ApplicationsGridPage-BJXWXwyI.js → ApplicationsGridPage-qi2UCD24.js} +2 -2
- package/dist/chunks/{ApplicationsGridPage-BJXWXwyI.js.map → ApplicationsGridPage-qi2UCD24.js.map} +1 -1
- package/dist/chunks/{ApplicationsListPage-CMosl3my.js → ApplicationsListPage-CEUmBXN0.js} +2 -2
- package/dist/chunks/{ApplicationsListPage-CMosl3my.js.map → ApplicationsListPage-CEUmBXN0.js.map} +1 -1
- package/dist/chunks/{ApplicationsListPage-Dc6NGQ61.js → ApplicationsListPage-cE82bv8j.js} +2 -2
- package/dist/chunks/{ApplicationsListPage-Dc6NGQ61.js.map → ApplicationsListPage-cE82bv8j.js.map} +1 -1
- package/dist/chunks/{ApplicationsPage-DI-iMqoJ.js → ApplicationsPage-DW1BrVVN.js} +4 -4
- package/dist/chunks/{ApplicationsPage-DI-iMqoJ.js.map → ApplicationsPage-DW1BrVVN.js.map} +1 -1
- package/dist/chunks/{ApplicationsPage-DH7tpMlF.js → ApplicationsPage-RAqTs5HI.js} +2 -2
- package/dist/chunks/{ApplicationsPage-DH7tpMlF.js.map → ApplicationsPage-RAqTs5HI.js.map} +1 -1
- package/dist/chunks/{AssignmentRulesPage-E79QBSLb.js → AssignmentRulesPage-C0qnk3oR.js} +2 -2
- package/dist/chunks/{AssignmentRulesPage-E79QBSLb.js.map → AssignmentRulesPage-C0qnk3oR.js.map} +1 -1
- package/dist/chunks/{AssignmentRulesPage-B5UbujbZ.js → AssignmentRulesPage-CVgFmhEs.js} +2 -2
- package/dist/chunks/{AssignmentRulesPage-B5UbujbZ.js.map → AssignmentRulesPage-CVgFmhEs.js.map} +1 -1
- package/dist/chunks/{AssignmentsPage-CDFaL1gT.js → AssignmentsPage-Bv9HYtYN.js} +2 -2
- package/dist/chunks/{AssignmentsPage-CDFaL1gT.js.map → AssignmentsPage-Bv9HYtYN.js.map} +1 -1
- package/dist/chunks/{AssignmentsPage-CPeKJjyK.js → AssignmentsPage-z1q1C9Uz.js} +2 -2
- package/dist/chunks/{AssignmentsPage-CPeKJjyK.js.map → AssignmentsPage-z1q1C9Uz.js.map} +1 -1
- package/dist/chunks/{AuthCallbackPage-BZ3Ocos5.js → AuthCallbackPage-CcteN6Kv.js} +2 -2
- package/dist/chunks/{AuthCallbackPage-BZ3Ocos5.js.map → AuthCallbackPage-CcteN6Kv.js.map} +1 -1
- package/dist/chunks/{AuthCallbackPage-Bml48QpH.js → AuthCallbackPage-DL5PJUYJ.js} +2 -2
- package/dist/chunks/{AuthCallbackPage-Bml48QpH.js.map → AuthCallbackPage-DL5PJUYJ.js.map} +1 -1
- package/dist/chunks/{ConfirmEmailPage-DyzslZ06.js → ConfirmEmailPage-BP8VUz-A.js} +2 -2
- package/dist/chunks/{ConfirmEmailPage-DyzslZ06.js.map → ConfirmEmailPage-BP8VUz-A.js.map} +1 -1
- package/dist/chunks/{ConfirmEmailPage-DP1XPaKK.js → ConfirmEmailPage-CeflKXpN.js} +2 -2
- package/dist/chunks/{ConfirmEmailPage-DP1XPaKK.js.map → ConfirmEmailPage-CeflKXpN.js.map} +1 -1
- package/dist/chunks/{CreateSupportTicketPage-Bz2KrMik.js → CreateSupportTicketPage-BAdvWb_8.js} +2 -2
- package/dist/chunks/{CreateSupportTicketPage-Bz2KrMik.js.map → CreateSupportTicketPage-BAdvWb_8.js.map} +1 -1
- package/dist/chunks/{CreateSupportTicketPage-hKjKM0Bh.js → CreateSupportTicketPage-DDiv79-p.js} +2 -2
- package/dist/chunks/{CreateSupportTicketPage-hKjKM0Bh.js.map → CreateSupportTicketPage-DDiv79-p.js.map} +1 -1
- package/dist/chunks/{DashboardPage-B4nAd8Tj.js → DashboardPage-B_uyyRRE.js} +2 -2
- package/dist/chunks/{DashboardPage-B4nAd8Tj.js.map → DashboardPage-B_uyyRRE.js.map} +1 -1
- package/dist/chunks/{DashboardPage-rN7IFlTR.js → DashboardPage-CpoduSu7.js} +2 -2
- package/dist/chunks/{DashboardPage-rN7IFlTR.js.map → DashboardPage-CpoduSu7.js.map} +1 -1
- package/dist/chunks/{DashboardPage-CjbNGMo1.js → DashboardPage-D4pyUgdM.js} +3 -3
- package/dist/chunks/{DashboardPage-CjbNGMo1.js.map → DashboardPage-D4pyUgdM.js.map} +1 -1
- package/dist/chunks/{DashboardPage-C9qgPBS-.js → DashboardPage-Kp-MCxW4.js} +3 -3
- package/dist/chunks/{DashboardPage-C9qgPBS-.js.map → DashboardPage-Kp-MCxW4.js.map} +1 -1
- package/dist/chunks/{EscalationConfigPage-CGv2L62M.js → EscalationConfigPage-D-WCN6YS.js} +2 -2
- package/dist/chunks/{EscalationConfigPage-CGv2L62M.js.map → EscalationConfigPage-D-WCN6YS.js.map} +1 -1
- package/dist/chunks/{EscalationConfigPage-DpYDmsgw.js → EscalationConfigPage-UrLJarSI.js} +2 -2
- package/dist/chunks/{EscalationConfigPage-DpYDmsgw.js.map → EscalationConfigPage-UrLJarSI.js.map} +1 -1
- package/dist/chunks/{ForceChangePasswordPage-Db6sOrZN.js → ForceChangePasswordPage-BIh1SF5C.js} +2 -2
- package/dist/chunks/{ForceChangePasswordPage-Db6sOrZN.js.map → ForceChangePasswordPage-BIh1SF5C.js.map} +1 -1
- package/dist/chunks/{ForceChangePasswordPage-CLI_fpF4.js → ForceChangePasswordPage-FFZZRpU7.js} +2 -2
- package/dist/chunks/{ForceChangePasswordPage-CLI_fpF4.js.map → ForceChangePasswordPage-FFZZRpU7.js.map} +1 -1
- package/dist/chunks/{ForgotPasswordPage-BhMz2B6A.js → ForgotPasswordPage-BKqRF7SF.js} +2 -2
- package/dist/chunks/{ForgotPasswordPage-BhMz2B6A.js.map → ForgotPasswordPage-BKqRF7SF.js.map} +1 -1
- package/dist/chunks/{ForgotPasswordPage-D06arMXO.js → ForgotPasswordPage-BXp8qQUX.js} +2 -2
- package/dist/chunks/{ForgotPasswordPage-D06arMXO.js.map → ForgotPasswordPage-BXp8qQUX.js.map} +1 -1
- package/dist/chunks/{GroupDetailPage-BCM8KBCd.js → GroupDetailPage-a0hBx-LO.js} +5 -5
- package/dist/chunks/{GroupDetailPage-BCM8KBCd.js.map → GroupDetailPage-a0hBx-LO.js.map} +1 -1
- package/dist/chunks/{GroupDetailPage-CGMV3bWt.js → GroupDetailPage-eGGJCqgq.js} +2 -2
- package/dist/chunks/{GroupDetailPage-CGMV3bWt.js.map → GroupDetailPage-eGGJCqgq.js.map} +1 -1
- package/dist/chunks/{MyAccessRequestsPage-BBrwEomx.js → MyAccessRequestsPage-BgQSyy5d.js} +2 -2
- package/dist/chunks/{MyAccessRequestsPage-BBrwEomx.js.map → MyAccessRequestsPage-BgQSyy5d.js.map} +1 -1
- package/dist/chunks/{MyAccessRequestsPage-CrlWe3gd.js → MyAccessRequestsPage-Dmb0rUHO.js} +2 -2
- package/dist/chunks/{MyAccessRequestsPage-CrlWe3gd.js.map → MyAccessRequestsPage-Dmb0rUHO.js.map} +1 -1
- package/dist/chunks/{MyTenantsPage-BOV34_rJ.js → MyTenantsPage-BZTeqyDr.js} +3 -3
- package/dist/chunks/{MyTenantsPage-BOV34_rJ.js.map → MyTenantsPage-BZTeqyDr.js.map} +1 -1
- package/dist/chunks/{MyTenantsPage-CK4-klmd.js → MyTenantsPage-kCHBF2uA.js} +2 -2
- package/dist/chunks/{MyTenantsPage-CK4-klmd.js.map → MyTenantsPage-kCHBF2uA.js.map} +1 -1
- package/dist/chunks/{MyTicketsPage-DuhpwhZx.js → MyTicketsPage-BwNIqpCE.js} +2 -2
- package/dist/chunks/{MyTicketsPage-DuhpwhZx.js.map → MyTicketsPage-BwNIqpCE.js.map} +1 -1
- package/dist/chunks/{MyTicketsPage-CFZ1G4dG.js → MyTicketsPage-CTpjkA5t.js} +2 -2
- package/dist/chunks/{MyTicketsPage-CFZ1G4dG.js.map → MyTicketsPage-CTpjkA5t.js.map} +1 -1
- package/dist/chunks/{NavigationAppsPage-BnNQRfBP.js → NavigationAppsPage-DO5bTibb.js} +2 -2
- package/dist/chunks/{NavigationAppsPage-BnNQRfBP.js.map → NavigationAppsPage-DO5bTibb.js.map} +1 -1
- package/dist/chunks/{NavigationAppsPage-DdJxEoTZ.js → NavigationAppsPage-vx_n07SD.js} +2 -2
- package/dist/chunks/{NavigationAppsPage-DdJxEoTZ.js.map → NavigationAppsPage-vx_n07SD.js.map} +1 -1
- package/dist/chunks/{NotificationsPage-BllOlagk.js → NotificationsPage-Br9sb9AQ.js} +2 -2
- package/dist/chunks/{NotificationsPage-BllOlagk.js.map → NotificationsPage-Br9sb9AQ.js.map} +1 -1
- package/dist/chunks/{NotificationsPage-D1T_ozHl.js → NotificationsPage-CRhd752L.js} +2 -2
- package/dist/chunks/{NotificationsPage-D1T_ozHl.js.map → NotificationsPage-CRhd752L.js.map} +1 -1
- package/dist/chunks/{OnboardingWizardPage-CrAQt7qL.js → OnboardingWizardPage-BIl3Usew.js} +2 -2
- package/dist/chunks/{OnboardingWizardPage-CrAQt7qL.js.map → OnboardingWizardPage-BIl3Usew.js.map} +1 -1
- package/dist/chunks/{OnboardingWizardPage-CioLaCYz.js → OnboardingWizardPage-CjqxWX7h.js} +2 -2
- package/dist/chunks/{OnboardingWizardPage-CioLaCYz.js.map → OnboardingWizardPage-CjqxWX7h.js.map} +1 -1
- package/dist/chunks/{PermissionDetailPage-CvPqugYu.js → PermissionDetailPage-COIuJXH-.js} +2 -2
- package/dist/chunks/{PermissionDetailPage-CvPqugYu.js.map → PermissionDetailPage-COIuJXH-.js.map} +1 -1
- package/dist/chunks/{PermissionDetailPage-BIG78-1-.js → PermissionDetailPage-P_d6xnY0.js} +2 -2
- package/dist/chunks/{PermissionDetailPage-BIG78-1-.js.map → PermissionDetailPage-P_d6xnY0.js.map} +1 -1
- package/dist/chunks/{PermissionsPage-CDSuc8vw.js → PermissionsPage-BhjnMyFY.js} +2 -2
- package/dist/chunks/{PermissionsPage-CDSuc8vw.js.map → PermissionsPage-BhjnMyFY.js.map} +1 -1
- package/dist/chunks/{PermissionsPage-XaOrGrPZ.js → PermissionsPage-CHYy8XFr.js} +2 -2
- package/dist/chunks/{PermissionsPage-XaOrGrPZ.js.map → PermissionsPage-CHYy8XFr.js.map} +1 -1
- package/dist/chunks/{PortalDashboardPage-oSD7oQhJ.js → PortalDashboardPage-BwQ4NQrH.js} +2 -2
- package/dist/chunks/{PortalDashboardPage-oSD7oQhJ.js.map → PortalDashboardPage-BwQ4NQrH.js.map} +1 -1
- package/dist/chunks/{PortalDashboardPage-BsWVXkMe.js → PortalDashboardPage-hLJcfGnT.js} +2 -2
- package/dist/chunks/{PortalDashboardPage-BsWVXkMe.js.map → PortalDashboardPage-hLJcfGnT.js.map} +1 -1
- package/dist/chunks/{PreferencesPage-ca2BOdoH.js → PreferencesPage-DYYqisR0.js} +2 -2
- package/dist/chunks/{PreferencesPage-ca2BOdoH.js.map → PreferencesPage-DYYqisR0.js.map} +1 -1
- package/dist/chunks/{PreferencesPage-DD0_XWdT.js → PreferencesPage-DzpM-lpD.js} +2 -2
- package/dist/chunks/{PreferencesPage-DD0_XWdT.js.map → PreferencesPage-DzpM-lpD.js.map} +1 -1
- package/dist/chunks/{ProfilePage-C8tUIOnb.js → ProfilePage-D98bvXeT.js} +2 -2
- package/dist/chunks/{ProfilePage-C8tUIOnb.js.map → ProfilePage-D98bvXeT.js.map} +1 -1
- package/dist/chunks/{ProfilePage-Bex_JN5N.js → ProfilePage-DWRDN0fo.js} +2 -2
- package/dist/chunks/{ProfilePage-Bex_JN5N.js.map → ProfilePage-DWRDN0fo.js.map} +1 -1
- package/dist/chunks/{ReferencesManagementPage-B-FXS2ln.js → ReferencesManagementPage-B0Cq9BHS.js} +2 -2
- package/dist/chunks/{ReferencesManagementPage-B-FXS2ln.js.map → ReferencesManagementPage-B0Cq9BHS.js.map} +1 -1
- package/dist/chunks/{ReferencesManagementPage-C8KZprkI.js → ReferencesManagementPage-CxbfOBs2.js} +3 -3
- package/dist/chunks/{ReferencesManagementPage-C8KZprkI.js.map → ReferencesManagementPage-CxbfOBs2.js.map} +1 -1
- package/dist/chunks/{RegisterPage-MWcVu-LY.js → RegisterPage-DMeq3GzW.js} +2 -2
- package/dist/chunks/{RegisterPage-MWcVu-LY.js.map → RegisterPage-DMeq3GzW.js.map} +1 -1
- package/dist/chunks/{RegisterPage-BYt__zKJ.js → RegisterPage-DvG2Php7.js} +2 -2
- package/dist/chunks/{RegisterPage-BYt__zKJ.js.map → RegisterPage-DvG2Php7.js.map} +1 -1
- package/dist/chunks/{ResetPasswordPage-rCLUIj_T.js → ResetPasswordPage-DOTswepm.js} +2 -2
- package/dist/chunks/{ResetPasswordPage-rCLUIj_T.js.map → ResetPasswordPage-DOTswepm.js.map} +1 -1
- package/dist/chunks/{ResetPasswordPage-DaJiMj5Z.js → ResetPasswordPage-ntMMFvDo.js} +2 -2
- package/dist/chunks/{ResetPasswordPage-DaJiMj5Z.js.map → ResetPasswordPage-ntMMFvDo.js.map} +1 -1
- package/dist/chunks/{ResolutionModal-j7Rp6apG.js → ResolutionModal-CKt73sIZ.js} +2 -2
- package/dist/chunks/{ResolutionModal-j7Rp6apG.js.map → ResolutionModal-CKt73sIZ.js.map} +1 -1
- package/dist/chunks/{ResolutionModal-DeuPnLWg.js → ResolutionModal-XGHCELez.js} +2 -2
- package/dist/chunks/{ResolutionModal-DeuPnLWg.js.map → ResolutionModal-XGHCELez.js.map} +1 -1
- package/dist/chunks/{RoleDetailPage-CLtZWX17.js → RoleDetailPage-BtnYTVN6.js} +3 -3
- package/dist/chunks/{RoleDetailPage-CLtZWX17.js.map → RoleDetailPage-BtnYTVN6.js.map} +1 -1
- package/dist/chunks/{RoleDetailPage-TGyGmLMM.js → RoleDetailPage-DAp65p0d.js} +2 -2
- package/dist/chunks/{RoleDetailPage-TGyGmLMM.js.map → RoleDetailPage-DAp65p0d.js.map} +1 -1
- package/dist/chunks/{RolesPage-Dm03fBBf.js → RolesPage-DyEhJHxw.js} +2 -2
- package/dist/chunks/{RolesPage-Dm03fBBf.js.map → RolesPage-DyEhJHxw.js.map} +1 -1
- package/dist/chunks/{RolesPage-C0c5G9e7.js → RolesPage-FmZCLEYo.js} +2 -2
- package/dist/chunks/{RolesPage-C0c5G9e7.js.map → RolesPage-FmZCLEYo.js.map} +1 -1
- package/dist/chunks/{SlaConfigPage-B4WDzEKi.js → SlaConfigPage-DTtP2Q4t.js} +2 -2
- package/dist/chunks/{SlaConfigPage-B4WDzEKi.js.map → SlaConfigPage-DTtP2Q4t.js.map} +1 -1
- package/dist/chunks/{SlaConfigPage-Cwo9NwxH.js → SlaConfigPage-LpVD_ai4.js} +2 -2
- package/dist/chunks/{SlaConfigPage-Cwo9NwxH.js.map → SlaConfigPage-LpVD_ai4.js.map} +1 -1
- package/dist/chunks/{SupportPermissionsPage-CL12dFy-.js → SupportPermissionsPage-BV8F_Tl3.js} +2 -2
- package/dist/chunks/{SupportPermissionsPage-CL12dFy-.js.map → SupportPermissionsPage-BV8F_Tl3.js.map} +1 -1
- package/dist/chunks/{SupportPermissionsPage-CneIhl30.js → SupportPermissionsPage-Bzfq6pKf.js} +2 -2
- package/dist/chunks/{SupportPermissionsPage-CneIhl30.js.map → SupportPermissionsPage-Bzfq6pKf.js.map} +1 -1
- package/dist/chunks/{TemplatesPage-DStKmwHT.js → TemplatesPage-CYHH5WlP.js} +2 -2
- package/dist/chunks/{TemplatesPage-DStKmwHT.js.map → TemplatesPage-CYHH5WlP.js.map} +1 -1
- package/dist/chunks/{TemplatesPage-X4Rrhs9p.js → TemplatesPage-czt_RH5f.js} +2 -2
- package/dist/chunks/{TemplatesPage-X4Rrhs9p.js.map → TemplatesPage-czt_RH5f.js.map} +1 -1
- package/dist/chunks/{TenantCard-BUBYWtvR.js → TenantCard-Bqh5PGJx.js} +2 -2
- package/dist/chunks/{TenantCard-BUBYWtvR.js.map → TenantCard-Bqh5PGJx.js.map} +1 -1
- package/dist/chunks/{TenantCard-CAgiB-NG.js → TenantCard-C6qKD480.js} +2 -2
- package/dist/chunks/{TenantCard-CAgiB-NG.js.map → TenantCard-C6qKD480.js.map} +1 -1
- package/dist/chunks/{TenantScopeSelector-BAoah-mL.js → TenantScopeSelector-DWUP8Le7.js} +2 -2
- package/dist/chunks/{TenantScopeSelector-BAoah-mL.js.map → TenantScopeSelector-DWUP8Le7.js.map} +1 -1
- package/dist/chunks/{TenantScopeSelector-B9vtpIZx.js → TenantScopeSelector-DxQ7HNbh.js} +2 -2
- package/dist/chunks/{TenantScopeSelector-B9vtpIZx.js.map → TenantScopeSelector-DxQ7HNbh.js.map} +1 -1
- package/dist/chunks/{TicketDetailPage-BFcP4X8s.js → TicketDetailPage-BuxXLcJi.js} +2 -2
- package/dist/chunks/{TicketDetailPage-BFcP4X8s.js.map → TicketDetailPage-BuxXLcJi.js.map} +1 -1
- package/dist/chunks/{TicketDetailPage-D_Npnt4A.js → TicketDetailPage-Dy4pg33-.js} +2 -2
- package/dist/chunks/{TicketDetailPage-D_Npnt4A.js.map → TicketDetailPage-Dy4pg33-.js.map} +1 -1
- package/dist/chunks/{TicketsPage-p21DLhUb.js → TicketsPage-Ck-HUgte.js} +2 -2
- package/dist/chunks/{TicketsPage-p21DLhUb.js.map → TicketsPage-Ck-HUgte.js.map} +1 -1
- package/dist/chunks/{TicketsPage-DBP9kalU.js → TicketsPage-jlN9JDzm.js} +2 -2
- package/dist/chunks/{TicketsPage-DBP9kalU.js.map → TicketsPage-jlN9JDzm.js.map} +1 -1
- package/dist/chunks/{UserCreateTicketPage-DOwShnG8.js → UserCreateTicketPage-BrRZyXMn.js} +2 -2
- package/dist/chunks/{UserCreateTicketPage-DOwShnG8.js.map → UserCreateTicketPage-BrRZyXMn.js.map} +1 -1
- package/dist/chunks/{UserCreateTicketPage-lvlvp2u6.js → UserCreateTicketPage-D58Ro4Nb.js} +2 -2
- package/dist/chunks/{UserCreateTicketPage-lvlvp2u6.js.map → UserCreateTicketPage-D58Ro4Nb.js.map} +1 -1
- package/dist/chunks/{UserDashboardPage-Dp6q6FEW.js → UserDashboardPage-C5ulSzaI.js} +2 -2
- package/dist/chunks/{UserDashboardPage-Dp6q6FEW.js.map → UserDashboardPage-C5ulSzaI.js.map} +1 -1
- package/dist/chunks/{UserDashboardPage-C_tm7Pld.js → UserDashboardPage-CjAx5OHh.js} +2 -2
- package/dist/chunks/{UserDashboardPage-C_tm7Pld.js.map → UserDashboardPage-CjAx5OHh.js.map} +1 -1
- package/dist/chunks/{UserDetailPage-DXLxO7LF.js → UserDetailPage-Bhpry9xq.js} +2 -2
- package/dist/chunks/{UserDetailPage-DXLxO7LF.js.map → UserDetailPage-Bhpry9xq.js.map} +1 -1
- package/dist/chunks/{UserDetailPage-6grZ6gmV.js → UserDetailPage-DUu2mA_n.js} +5 -5
- package/dist/chunks/{UserDetailPage-6grZ6gmV.js.map → UserDetailPage-DUu2mA_n.js.map} +1 -1
- package/dist/chunks/{UserTicketDetailPage-a4II5VEE.js → UserTicketDetailPage-DpFFjIso.js} +2 -2
- package/dist/chunks/{UserTicketDetailPage-a4II5VEE.js.map → UserTicketDetailPage-DpFFjIso.js.map} +1 -1
- package/dist/chunks/{UserTicketDetailPage-Ch9IfCPo.js → UserTicketDetailPage-YJvBWFEu.js} +2 -2
- package/dist/chunks/{UserTicketDetailPage-Ch9IfCPo.js.map → UserTicketDetailPage-YJvBWFEu.js.map} +1 -1
- package/dist/chunks/{UsersGroupsPage-BeAv4QfV.js → UsersGroupsPage-b2PTQX_m.js} +2 -2
- package/dist/chunks/{UsersGroupsPage-BeAv4QfV.js.map → UsersGroupsPage-b2PTQX_m.js.map} +1 -1
- package/dist/chunks/{UsersGroupsPage-B7Er0V4l.js → UsersGroupsPage-l33K3Nca.js} +3 -3
- package/dist/chunks/{UsersGroupsPage-B7Er0V4l.js.map → UsersGroupsPage-l33K3Nca.js.map} +1 -1
- package/dist/chunks/{UsersPage-ZR9r9vvf.js → UsersPage-BjC5ZqTa.js} +2 -2
- package/dist/chunks/{UsersPage-ZR9r9vvf.js.map → UsersPage-BjC5ZqTa.js.map} +1 -1
- package/dist/chunks/{UsersPage-0M1FLqOe.js → UsersPage-NsTukS8m.js} +2 -2
- package/dist/chunks/{UsersPage-0M1FLqOe.js.map → UsersPage-NsTukS8m.js.map} +1 -1
- package/dist/chunks/{accessRequestsApi-CBpF5d54.js → accessRequestsApi-C2usKVGJ.js} +2 -2
- package/dist/chunks/{accessRequestsApi-CBpF5d54.js.map → accessRequestsApi-C2usKVGJ.js.map} +1 -1
- package/dist/chunks/{accessRequestsApi-BJH8EE1K.js → accessRequestsApi-LuovcP6l.js} +2 -2
- package/dist/chunks/{accessRequestsApi-BJH8EE1K.js.map → accessRequestsApi-LuovcP6l.js.map} +1 -1
- package/dist/chunks/{aiApi-Dl7a2lWz.js → aiApi-B03u3zUH.js} +2 -2
- package/dist/chunks/{aiApi-Dl7a2lWz.js.map → aiApi-B03u3zUH.js.map} +1 -1
- package/dist/chunks/{aiApi-CkkWAvNB.js → aiApi-Cwg0B8PJ.js} +2 -2
- package/dist/chunks/{aiApi-CkkWAvNB.js.map → aiApi-Cwg0B8PJ.js.map} +1 -1
- package/dist/chunks/{applicationAnalyticsApi-BwcSE_H1.js → applicationAnalyticsApi-BobBdehV.js} +2 -2
- package/dist/chunks/{applicationAnalyticsApi-BwcSE_H1.js.map → applicationAnalyticsApi-BobBdehV.js.map} +1 -1
- package/dist/chunks/{applicationAnalyticsApi-DKMmDvWk.js → applicationAnalyticsApi-jCZhWKOx.js} +2 -2
- package/dist/chunks/{applicationAnalyticsApi-DKMmDvWk.js.map → applicationAnalyticsApi-jCZhWKOx.js.map} +1 -1
- package/dist/chunks/{groupsApi-BzDV3_Jc.js → groupsApi-CoxnW9vH.js} +2 -2
- package/dist/chunks/{groupsApi-BzDV3_Jc.js.map → groupsApi-CoxnW9vH.js.map} +1 -1
- package/dist/chunks/{groupsApi-CQ4vFMdP.js → groupsApi-D2lFFcgu.js} +2 -2
- package/dist/chunks/{groupsApi-CQ4vFMdP.js.map → groupsApi-D2lFFcgu.js.map} +1 -1
- package/dist/chunks/{index-Det9dEaQ.js → index-B5U_Jp0-.js} +2 -2
- package/dist/chunks/{index-Det9dEaQ.js.map → index-B5U_Jp0-.js.map} +1 -1
- package/dist/chunks/{index-D18t9DhC.js → index-BDB_a-p7.js} +4 -4
- package/dist/chunks/{index-D18t9DhC.js.map → index-BDB_a-p7.js.map} +1 -1
- package/dist/chunks/{index-CUZygY5Q.js → index-BbHRJz-n.js} +2 -2
- package/dist/chunks/{index-CUZygY5Q.js.map → index-BbHRJz-n.js.map} +1 -1
- package/dist/chunks/{index-CoHIgn5H.js → index-CI2WU5ZZ.js} +2 -2
- package/dist/chunks/{index-CoHIgn5H.js.map → index-CI2WU5ZZ.js.map} +1 -1
- package/dist/chunks/{index-D-2xSu5W.js → index-CLk9ClC2.js} +3 -3
- package/dist/chunks/{index-D-2xSu5W.js.map → index-CLk9ClC2.js.map} +1 -1
- package/dist/chunks/{index-Dbq-x5H9.js → index-CmTKGOa_.js} +2 -2
- package/dist/chunks/{index-Dbq-x5H9.js.map → index-CmTKGOa_.js.map} +1 -1
- package/dist/chunks/{index-k4USDz2P.js → index-D5oIr6PO.js} +2 -2
- package/dist/chunks/{index-k4USDz2P.js.map → index-D5oIr6PO.js.map} +1 -1
- package/dist/chunks/{index-Cib93xtp.js → index-DC6TBJV_.js} +2 -2
- package/dist/chunks/{index-Cib93xtp.js.map → index-DC6TBJV_.js.map} +1 -1
- package/dist/chunks/{index-CpY95_ro.js → index-DN97bp_f.js} +1128 -1093
- package/dist/chunks/index-DN97bp_f.js.map +1 -0
- package/dist/chunks/{index-BPMjxWVx.js → index-DRW5qV_L.js} +2 -2
- package/dist/chunks/{index-BPMjxWVx.js.map → index-DRW5qV_L.js.map} +1 -1
- package/dist/chunks/{index-DQd324n7.js → index-DcLZao1q.js} +2 -2
- package/dist/chunks/{index-DQd324n7.js.map → index-DcLZao1q.js.map} +1 -1
- package/dist/chunks/{index-bgT9XOKZ.js → index-DcMOmGtX.js} +2 -2
- package/dist/chunks/{index-bgT9XOKZ.js.map → index-DcMOmGtX.js.map} +1 -1
- package/dist/chunks/{index-DK5czlkn.js → index-DnML-nfd.js} +10 -10
- package/dist/chunks/index-DnML-nfd.js.map +1 -0
- package/dist/chunks/{index-BBmMbSZV.js → index-Drd59qAP.js} +8 -8
- package/dist/chunks/{index-BBmMbSZV.js.map → index-Drd59qAP.js.map} +1 -1
- package/dist/chunks/{index-CEbwdURd.js → index-EiIHjIgi.js} +2 -2
- package/dist/chunks/{index-CEbwdURd.js.map → index-EiIHjIgi.js.map} +1 -1
- package/dist/chunks/{index-BLlESTfA.js → index-axYz6ptj.js} +2 -2
- package/dist/chunks/{index-BLlESTfA.js.map → index-axYz6ptj.js.map} +1 -1
- package/dist/chunks/{index-Ci1SqFiY.js → index-lXrXnhFc.js} +2 -2
- package/dist/chunks/{index-Ci1SqFiY.js.map → index-lXrXnhFc.js.map} +1 -1
- package/dist/chunks/{index-h7ZrwrQg.js → index-rI-1r6c2.js} +2 -2
- package/dist/chunks/{index-h7ZrwrQg.js.map → index-rI-1r6c2.js.map} +1 -1
- package/dist/chunks/{tenantIconMap-Dk6K-UTE.js → tenantIconMap-B4wAYGWP.js} +2 -2
- package/dist/chunks/{tenantIconMap-Dk6K-UTE.js.map → tenantIconMap-B4wAYGWP.js.map} +1 -1
- package/dist/chunks/{tenantIconMap-7ihIWxAh.js → tenantIconMap-Cfm15HwB.js} +2 -2
- package/dist/chunks/{tenantIconMap-7ihIWxAh.js.map → tenantIconMap-Cfm15HwB.js.map} +1 -1
- package/dist/chunks/{ticketingApi-BCMKkzlv.js → ticketingApi-CLMAPZDw.js} +2 -2
- package/dist/chunks/{ticketingApi-BCMKkzlv.js.map → ticketingApi-CLMAPZDw.js.map} +1 -1
- package/dist/chunks/{ticketingApi-Dwn7pl5z.js → ticketingApi-CTap4NdE.js} +2 -2
- package/dist/chunks/{ticketingApi-Dwn7pl5z.js.map → ticketingApi-CTap4NdE.js.map} +1 -1
- package/dist/chunks/{useAccessRequests-gJ7yhWyi.js → useAccessRequests-CBpDkq9o.js} +2 -2
- package/dist/chunks/{useAccessRequests-gJ7yhWyi.js.map → useAccessRequests-CBpDkq9o.js.map} +1 -1
- package/dist/chunks/{useAccessRequests-Du7CvowE.js → useAccessRequests-Cj2-OoAW.js} +3 -3
- package/dist/chunks/{useAccessRequests-Du7CvowE.js.map → useAccessRequests-Cj2-OoAW.js.map} +1 -1
- package/dist/chunks/{useUserAccessRequests-5wWea2Jg.js → useUserAccessRequests-C6l2VMe1.js} +2 -2
- package/dist/chunks/{useUserAccessRequests-5wWea2Jg.js.map → useUserAccessRequests-C6l2VMe1.js.map} +1 -1
- package/dist/chunks/{useUserAccessRequests-Bk_v8egy.js → useUserAccessRequests-Ds3K-ENU.js} +2 -2
- package/dist/chunks/{useUserAccessRequests-Bk_v8egy.js.map → useUserAccessRequests-Ds3K-ENU.js.map} +1 -1
- package/dist/components/routing/DynamicRouter.d.ts.map +1 -1
- package/dist/components/routing/ProtectedRoute.d.ts.map +1 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/contexts/NavigationContext.d.ts.map +1 -1
- package/dist/extensions/PageRegistry.d.ts +2 -0
- package/dist/extensions/PageRegistry.d.ts.map +1 -1
- package/dist/services/api/adminApi/settings.d.ts +8 -3
- package/dist/services/api/adminApi/settings.d.ts.map +1 -1
- package/dist/smartstack.cjs +1 -1
- package/dist/smartstack.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/index-CpY95_ro.js.map +0 -1
- package/dist/chunks/index-DK5czlkn.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiApi-Dl7a2lWz.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":"uHAksBaA,EAAQ,CAEnB,UAAW,CACT,YAAa,CAACC,EAAe,KAC3BC,MAAI,IAA0B,4CAA6C,CAAE,OAAQ,CAAE,KAAAD,CAAA,EAAQ,EAEjG,cAAe,CAACE,EAAoBC,IAClCF,EAAAA,IAAI,IAAwB,+CAAgD,CAAE,OAAQ,CAAE,UAAAC,EAAW,QAAAC,CAAA,EAAW,EAEhH,WAAY,CAACD,EAAoBC,EAAkBC,IACjDH,EAAAA,IAAI,IAAqB,4CAA6C,CAAE,OAAQ,CAAE,UAAAC,EAAW,QAAAC,EAAS,WAAAC,CAAA,EAAc,EAEtH,cAAe,CAACJ,EAAe,GAAII,IACjCH,EAAAA,IAAI,IAAoB,+CAAgD,CAAE,OAAQ,CAAE,KAAAD,EAAM,WAAAI,CAAA,EAAc,EAE1G,gBAAiB,CAACC,EAAgB,GAAID,IACpCH,EAAAA,IAAI,IAAqB,iDAAkD,CAAE,OAAQ,CAAE,MAAAI,EAAO,WAAAD,CAAA,EAAc,CAAA,EAIhH,SAAU,CACR,aAAc,IACZH,EAAAA,IAAI,IAAuB,2CAA2C,EAExE,YAAcG,GACZH,EAAAA,IAAI,IAAuB,6CAA6CG,CAAU,EAAE,EAEtF,UAAW,CAACE,EAAmBF,IAC7BH,EAAAA,IAAI,IAAoB,yCAA0C,CAAE,OAAQ,CAAE,SAAAK,EAAU,WAAAF,CAAA,EAAc,EAExG,OAASG,GACPN,EAAAA,IAAI,IAAqB,wCAAwCM,CAAK,EAAE,EAE1E,UAAW,CAACH,EAAoBI,IAC9BP,MAAI,KAAsB,6CAA6CG,CAAU,QAASI,CAAI,EAEhG,UAAW,CAACD,EAAeC,IACzBP,EAAAA,IAAI,IAAqB,wCAAwCM,CAAK,GAAIC,CAAI,EAEhF,UAAW,CAACD,EAAeC,IACzBP,MAAI,KAAsB,wCAAwCM,CAAK,UAAWC,CAAI,EAExF,UAAYD,GACVN,MAAI,KAAwB,wCAAwCM,CAAK,SAAS,EAEpF,YAAcA,GACZN,MAAI,KAAK,wCAAwCM,CAAK,WAAW,EAEnE,cAAgBA,GACdN,MAAI,KAAK,wCAAwCM,CAAK,aAAa,EAErE,UAAYA,GACVN,EAAAA,IAAI,OAAO,wCAAwCM,CAAK,EAAE,CAAA,EAI9D,UAAW,CACT,OAAQ,IACNN,EAAAA,IAAI,IAA+B,kCAAkC,EAEvE,eAAgB,IACdA,EAAAA,IAAI,IAA+B,+CAA+C,EAEpF,QAAUQ,GACRR,EAAAA,IAAI,IAA+B,oCAAoCQ,CAAU,EAAE,EAErF,aAAeL,GACbH,EAAAA,IAAI,IAA0B,kDAAkDG,CAAU,EAAE,EAE9F,OAASI,GACPP,EAAAA,IAAI,KAAgC,mCAAoCO,CAAI,EAE9E,OAAQ,CAACC,EAAoBD,IAC3BP,EAAAA,IAAI,IAA+B,oCAAoCQ,CAAU,GAAID,CAAI,EAE3F,OAASC,GACPR,EAAAA,IAAI,OAAO,oCAAoCQ,CAAU,EAAE,EAE7D,UAAW,CAACA,EAAoBD,IAC9BP,MAAI,KAAK,oCAAoCQ,CAAU,WAAYD,CAAI,EAEzE,YAAa,CAACC,EAAoBD,IAChCP,MAAI,KAAK,oCAAoCQ,CAAU,aAAcD,CAAI,EAE3E,aAAeC,GACbR,MAAI,KAAK,oCAAoCQ,CAAU,gBAAgB,EAEzE,UAAW,CAACA,EAAoBD,IAC9BP,MAAI,KAAK,oCAAoCQ,CAAU,WAAYD,CAAI,EAEzE,aAAc,CAACC,EAAoBC,IACjCT,MAAI,OAAO,oCAAoCQ,CAAU,YAAYC,CAAQ,EAAE,EAEjF,cAAe,CAACD,EAAoBD,IAClCP,MAAI,IAAI,oCAAoCQ,CAAU,eAAgBD,CAAI,EAE5E,SAAU,CAACC,EAAoBD,IAC7BP,MAAI,KAAK,oCAAoCQ,CAAU,UAAWD,CAAI,EAExE,YAAa,CAACC,EAAoBE,IAChCV,MAAI,OAAO,oCAAoCQ,CAAU,WAAWE,CAAO,EAAE,CAAA,EAIjF,OAAQ,CACN,OAASC,GACPX,EAAAA,IAAI,IAAsB,gCAAiC,CAAE,OAAAW,EAAQ,EAEvE,QAAUC,GACRZ,EAAAA,IAAI,IAAsB,iCAAiCY,CAAE,EAAE,EAEjE,UAAW,CAACC,EAAcC,IACxBd,EAAAA,IAAI,IAAsB,yCAAyCa,CAAI,GAAI,CAAE,OAAQ,CAAE,QAAAC,CAAA,EAAW,EAEpG,OAASP,GACPP,EAAAA,IAAI,KAAuB,gCAAiCO,CAAI,EAElE,OAAQ,CAACK,EAAYL,IACnBP,EAAAA,IAAI,IAAsB,iCAAiCY,CAAE,GAAIL,CAAI,EAEvE,OAASK,GACPZ,EAAAA,IAAI,OAAO,iCAAiCY,CAAE,EAAE,EAElD,SAAWA,GACTZ,MAAI,KAAK,iCAAiCY,CAAE,WAAW,EAEzD,UAAYA,GACVZ,MAAI,KAAK,iCAAiCY,CAAE,YAAY,EAE1D,MAAQA,GACNZ,MAAI,KAAuB,iCAAiCY,CAAE,QAAQ,EAExE,QAAS,CAACA,EAAYL,IACpBP,MAAI,KAA4B,iCAAiCY,CAAE,WAAYL,CAAI,EAErF,QAAS,CAACK,EAAYL,IACpBP,MAAI,KAA+B,iCAAiCY,CAAE,WAAYL,CAAI,EAGxF,SAAU,CAACG,EAAiBH,IAC1BP,MAAI,KAAsB,iCAAiCU,CAAO,UAAWH,CAAI,EAEnF,YAAa,CAACG,EAAiBK,EAAiBR,IAC9CP,EAAAA,IAAI,IAAqB,iCAAiCU,CAAO,WAAWK,CAAO,GAAIR,CAAI,EAE7F,YAAa,CAACG,EAAiBK,IAC7Bf,MAAI,OAAO,iCAAiCU,CAAO,WAAWK,CAAO,EAAE,EAEzE,cAAe,CAACL,EAAiBH,IAC/BP,EAAAA,IAAI,IAAI,iCAAiCU,CAAO,kBAAmBH,CAAI,CAAA,EAI3E,iBAAkB,CAChB,OAASI,GACPX,EAAAA,IAAI,IAAqC,kDAAmD,CAAE,OAAAW,EAAQ,EAExG,QAAUC,GACRZ,EAAAA,IAAI,IAAqC,mDAAmDY,CAAE,EAAE,EAElG,OAASL,GACPP,EAAAA,IAAI,KAAsC,kDAAmDO,CAAI,EAEnG,OAAQ,CAACK,EAAYL,IACnBP,EAAAA,IAAI,IAAqC,mDAAmDY,CAAE,GAAIL,CAAI,EAExG,OAASK,GACPZ,EAAAA,IAAI,OAAO,mDAAmDY,CAAE,EAAE,CAAA,EAItE,QAAS,CACP,OAASD,GACPX,EAAAA,IAAI,IAAqB,iCAAkC,CAAE,OAAAW,EAAQ,EAEvE,QAAUK,GACRhB,EAAAA,IAAI,IAAqB,kCAAkCgB,CAAQ,EAAE,EAEvE,UAAW,CAACH,EAAcC,IACxBd,EAAAA,IAAI,IAAqB,0CAA0Ca,CAAI,GAAI,CAAE,OAAQ,CAAE,QAAAC,CAAA,EAAW,EAEpG,gBAAkBD,GAChBb,EAAAA,IAAI,IAAqB,yCAAyCa,CAAI,EAAE,EAE1E,OAASN,GACPP,EAAAA,IAAI,KAAsB,iCAAkCO,CAAI,EAElE,OAAQ,CAACS,EAAkBT,IACzBP,EAAAA,IAAI,IAAqB,kCAAkCgB,CAAQ,GAAIT,CAAI,EAE7E,iBAAkB,CAACS,EAAkBT,IACnCP,MAAI,KAAsB,kCAAkCgB,CAAQ,qBAAsBT,CAAI,EAEhG,SAAWS,GACThB,MAAI,KAAK,kCAAkCgB,CAAQ,WAAW,EAEhE,WAAaA,GACXhB,MAAI,KAAK,kCAAkCgB,CAAQ,aAAa,EAElE,OAASA,GACPhB,EAAAA,IAAI,OAAO,kCAAkCgB,CAAQ,EAAE,CAAA,EAI3D,MAAO,CACL,cAAe,CAACf,EAAoBC,IAClCF,EAAAA,IAAI,IAAwB,gDAAiD,CAAE,OAAQ,CAAE,UAAAC,EAAW,QAAAC,CAAA,EAAW,EAEjH,kBAAmB,CAACM,EAAoBP,EAAoBC,EAAkBE,EAAgB,MAC5FJ,EAAAA,IAAI,IAAwB,8CAA8CQ,CAAU,UAAW,CAAE,OAAQ,CAAE,UAAAP,EAAW,QAAAC,EAAS,MAAAE,GAAS,CAAA,EAI5I,OAAQ,CACN,OAAQ,IACNJ,EAAAA,IAAI,IAAsB,+BAA+B,EAE3D,QAAUY,GACRZ,EAAAA,IAAI,IAAsB,iCAAiCY,CAAE,EAAE,EAEjE,OAASL,GACPP,EAAAA,IAAI,KAAuB,gCAAiCO,CAAI,EAElE,OAAQ,CAACK,EAAYL,IACnBP,EAAAA,IAAI,IAAI,iCAAiCY,CAAE,GAAIL,CAAI,EAErD,OAASK,GACPZ,EAAAA,IAAI,OAAO,iCAAiCY,CAAE,EAAE,EAElD,QAAS,CAACA,EAAYK,IACpBjB,MAAI,KAA2B,iCAAiCY,CAAE,WAAYK,CAAY,EAE5F,cAAgBL,GACdZ,MAAI,IAA+B,iCAAiCY,CAAE,aAAa,EAErF,mBAAqBM,GACnBlB,EAAAA,IAAI,IAA+B,4CAA4CkB,CAAW,EAAE,CAAA,CAElG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as a } from "./index-
|
|
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-
|
|
103
|
+
//# sourceMappingURL=aiApi-Cwg0B8PJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiApi-CkkWAvNB.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":";AAksBO,MAAMA,IAAQ;AAAA;AAAA,EAEnB,WAAW;AAAA,IACT,aAAa,CAACC,IAAe,OAC3BC,EAAI,IAA0B,6CAA6C,EAAE,QAAQ,EAAE,MAAAD,EAAA,GAAQ;AAAA,IAEjG,eAAe,CAACE,GAAoBC,MAClCF,EAAI,IAAwB,gDAAgD,EAAE,QAAQ,EAAE,WAAAC,GAAW,SAAAC,EAAA,GAAW;AAAA,IAEhH,YAAY,CAACD,GAAoBC,GAAkBC,MACjDH,EAAI,IAAqB,6CAA6C,EAAE,QAAQ,EAAE,WAAAC,GAAW,SAAAC,GAAS,YAAAC,EAAA,GAAc;AAAA,IAEtH,eAAe,CAACJ,IAAe,IAAII,MACjCH,EAAI,IAAoB,gDAAgD,EAAE,QAAQ,EAAE,MAAAD,GAAM,YAAAI,EAAA,GAAc;AAAA,IAE1G,iBAAiB,CAACC,IAAgB,IAAID,MACpCH,EAAI,IAAqB,kDAAkD,EAAE,QAAQ,EAAE,OAAAI,GAAO,YAAAD,EAAA,GAAc;AAAA,EAAA;AAAA;AAAA,EAIhH,UAAU;AAAA,IACR,cAAc,MACZH,EAAI,IAAuB,2CAA2C;AAAA,IAExE,aAAa,CAACG,MACZH,EAAI,IAAuB,6CAA6CG,CAAU,EAAE;AAAA,IAEtF,WAAW,CAACE,GAAmBF,MAC7BH,EAAI,IAAoB,0CAA0C,EAAE,QAAQ,EAAE,UAAAK,GAAU,YAAAF,EAAA,GAAc;AAAA,IAExG,QAAQ,CAACG,MACPN,EAAI,IAAqB,wCAAwCM,CAAK,EAAE;AAAA,IAE1E,WAAW,CAACH,GAAoBI,MAC9BP,EAAI,KAAsB,6CAA6CG,CAAU,SAASI,CAAI;AAAA,IAEhG,WAAW,CAACD,GAAeC,MACzBP,EAAI,IAAqB,wCAAwCM,CAAK,IAAIC,CAAI;AAAA,IAEhF,WAAW,CAACD,GAAeC,MACzBP,EAAI,KAAsB,wCAAwCM,CAAK,WAAWC,CAAI;AAAA,IAExF,WAAW,CAACD,MACVN,EAAI,KAAwB,wCAAwCM,CAAK,SAAS;AAAA,IAEpF,aAAa,CAACA,MACZN,EAAI,KAAK,wCAAwCM,CAAK,WAAW;AAAA,IAEnE,eAAe,CAACA,MACdN,EAAI,KAAK,wCAAwCM,CAAK,aAAa;AAAA,IAErE,WAAW,CAACA,MACVN,EAAI,OAAO,wCAAwCM,CAAK,EAAE;AAAA,EAAA;AAAA;AAAA,EAI9D,WAAW;AAAA,IACT,QAAQ,MACNN,EAAI,IAA+B,kCAAkC;AAAA,IAEvE,gBAAgB,MACdA,EAAI,IAA+B,+CAA+C;AAAA,IAEpF,SAAS,CAACQ,MACRR,EAAI,IAA+B,oCAAoCQ,CAAU,EAAE;AAAA,IAErF,cAAc,CAACL,MACbH,EAAI,IAA0B,kDAAkDG,CAAU,EAAE;AAAA,IAE9F,QAAQ,CAACI,MACPP,EAAI,KAAgC,oCAAoCO,CAAI;AAAA,IAE9E,QAAQ,CAACC,GAAoBD,MAC3BP,EAAI,IAA+B,oCAAoCQ,CAAU,IAAID,CAAI;AAAA,IAE3F,QAAQ,CAACC,MACPR,EAAI,OAAO,oCAAoCQ,CAAU,EAAE;AAAA,IAE7D,WAAW,CAACA,GAAoBD,MAC9BP,EAAI,KAAK,oCAAoCQ,CAAU,YAAYD,CAAI;AAAA,IAEzE,aAAa,CAACC,GAAoBD,MAChCP,EAAI,KAAK,oCAAoCQ,CAAU,cAAcD,CAAI;AAAA,IAE3E,cAAc,CAACC,MACbR,EAAI,KAAK,oCAAoCQ,CAAU,gBAAgB;AAAA,IAEzE,WAAW,CAACA,GAAoBD,MAC9BP,EAAI,KAAK,oCAAoCQ,CAAU,YAAYD,CAAI;AAAA,IAEzE,cAAc,CAACC,GAAoBC,MACjCT,EAAI,OAAO,oCAAoCQ,CAAU,YAAYC,CAAQ,EAAE;AAAA,IAEjF,eAAe,CAACD,GAAoBD,MAClCP,EAAI,IAAI,oCAAoCQ,CAAU,gBAAgBD,CAAI;AAAA,IAE5E,UAAU,CAACC,GAAoBD,MAC7BP,EAAI,KAAK,oCAAoCQ,CAAU,WAAWD,CAAI;AAAA,IAExE,aAAa,CAACC,GAAoBE,MAChCV,EAAI,OAAO,oCAAoCQ,CAAU,WAAWE,CAAO,EAAE;AAAA,EAAA;AAAA;AAAA,EAIjF,QAAQ;AAAA,IACN,QAAQ,CAACC,MACPX,EAAI,IAAsB,iCAAiC,EAAE,QAAAW,GAAQ;AAAA,IAEvE,SAAS,CAACC,MACRZ,EAAI,IAAsB,iCAAiCY,CAAE,EAAE;AAAA,IAEjE,WAAW,CAACC,GAAcC,MACxBd,EAAI,IAAsB,yCAAyCa,CAAI,IAAI,EAAE,QAAQ,EAAE,SAAAC,EAAA,GAAW;AAAA,IAEpG,QAAQ,CAACP,MACPP,EAAI,KAAuB,iCAAiCO,CAAI;AAAA,IAElE,QAAQ,CAACK,GAAYL,MACnBP,EAAI,IAAsB,iCAAiCY,CAAE,IAAIL,CAAI;AAAA,IAEvE,QAAQ,CAACK,MACPZ,EAAI,OAAO,iCAAiCY,CAAE,EAAE;AAAA,IAElD,UAAU,CAACA,MACTZ,EAAI,KAAK,iCAAiCY,CAAE,WAAW;AAAA,IAEzD,WAAW,CAACA,MACVZ,EAAI,KAAK,iCAAiCY,CAAE,YAAY;AAAA,IAE1D,OAAO,CAACA,MACNZ,EAAI,KAAuB,iCAAiCY,CAAE,QAAQ;AAAA,IAExE,SAAS,CAACA,GAAYL,MACpBP,EAAI,KAA4B,iCAAiCY,CAAE,YAAYL,CAAI;AAAA,IAErF,SAAS,CAACK,GAAYL,MACpBP,EAAI,KAA+B,iCAAiCY,CAAE,YAAYL,CAAI;AAAA;AAAA,IAGxF,UAAU,CAACG,GAAiBH,MAC1BP,EAAI,KAAsB,iCAAiCU,CAAO,WAAWH,CAAI;AAAA,IAEnF,aAAa,CAACG,GAAiBK,GAAiBR,MAC9CP,EAAI,IAAqB,iCAAiCU,CAAO,WAAWK,CAAO,IAAIR,CAAI;AAAA,IAE7F,aAAa,CAACG,GAAiBK,MAC7Bf,EAAI,OAAO,iCAAiCU,CAAO,WAAWK,CAAO,EAAE;AAAA,IAEzE,eAAe,CAACL,GAAiBH,MAC/BP,EAAI,IAAI,iCAAiCU,CAAO,mBAAmBH,CAAI;AAAA,EAAA;AAAA;AAAA,EAI3E,kBAAkB;AAAA,IAChB,QAAQ,CAACI,MACPX,EAAI,IAAqC,mDAAmD,EAAE,QAAAW,GAAQ;AAAA,IAExG,SAAS,CAACC,MACRZ,EAAI,IAAqC,mDAAmDY,CAAE,EAAE;AAAA,IAElG,QAAQ,CAACL,MACPP,EAAI,KAAsC,mDAAmDO,CAAI;AAAA,IAEnG,QAAQ,CAACK,GAAYL,MACnBP,EAAI,IAAqC,mDAAmDY,CAAE,IAAIL,CAAI;AAAA,IAExG,QAAQ,CAACK,MACPZ,EAAI,OAAO,mDAAmDY,CAAE,EAAE;AAAA,EAAA;AAAA;AAAA,EAItE,SAAS;AAAA,IACP,QAAQ,CAACD,MACPX,EAAI,IAAqB,kCAAkC,EAAE,QAAAW,GAAQ;AAAA,IAEvE,SAAS,CAACK,MACRhB,EAAI,IAAqB,kCAAkCgB,CAAQ,EAAE;AAAA,IAEvE,WAAW,CAACH,GAAcC,MACxBd,EAAI,IAAqB,0CAA0Ca,CAAI,IAAI,EAAE,QAAQ,EAAE,SAAAC,EAAA,GAAW;AAAA,IAEpG,iBAAiB,CAACD,MAChBb,EAAI,IAAqB,yCAAyCa,CAAI,EAAE;AAAA,IAE1E,QAAQ,CAACN,MACPP,EAAI,KAAsB,kCAAkCO,CAAI;AAAA,IAElE,QAAQ,CAACS,GAAkBT,MACzBP,EAAI,IAAqB,kCAAkCgB,CAAQ,IAAIT,CAAI;AAAA,IAE7E,kBAAkB,CAACS,GAAkBT,MACnCP,EAAI,KAAsB,kCAAkCgB,CAAQ,sBAAsBT,CAAI;AAAA,IAEhG,UAAU,CAACS,MACThB,EAAI,KAAK,kCAAkCgB,CAAQ,WAAW;AAAA,IAEhE,YAAY,CAACA,MACXhB,EAAI,KAAK,kCAAkCgB,CAAQ,aAAa;AAAA,IAElE,QAAQ,CAACA,MACPhB,EAAI,OAAO,kCAAkCgB,CAAQ,EAAE;AAAA,EAAA;AAAA;AAAA,EAI3D,OAAO;AAAA,IACL,eAAe,CAACf,GAAoBC,MAClCF,EAAI,IAAwB,iDAAiD,EAAE,QAAQ,EAAE,WAAAC,GAAW,SAAAC,EAAA,GAAW;AAAA,IAEjH,mBAAmB,CAACM,GAAoBP,GAAoBC,GAAkBE,IAAgB,QAC5FJ,EAAI,IAAwB,8CAA8CQ,CAAU,WAAW,EAAE,QAAQ,EAAE,WAAAP,GAAW,SAAAC,GAAS,OAAAE,KAAS;AAAA,EAAA;AAAA;AAAA,EAI5I,QAAQ;AAAA,IACN,QAAQ,MACNJ,EAAI,IAAsB,+BAA+B;AAAA,IAE3D,SAAS,CAACY,MACRZ,EAAI,IAAsB,iCAAiCY,CAAE,EAAE;AAAA,IAEjE,QAAQ,CAACL,MACPP,EAAI,KAAuB,iCAAiCO,CAAI;AAAA,IAElE,QAAQ,CAACK,GAAYL,MACnBP,EAAI,IAAI,iCAAiCY,CAAE,IAAIL,CAAI;AAAA,IAErD,QAAQ,CAACK,MACPZ,EAAI,OAAO,iCAAiCY,CAAE,EAAE;AAAA,IAElD,SAAS,CAACA,GAAYK,MACpBjB,EAAI,KAA2B,iCAAiCY,CAAE,YAAYK,CAAY;AAAA,IAE5F,eAAe,CAACL,MACdZ,EAAI,IAA+B,iCAAiCY,CAAE,aAAa;AAAA,IAErF,oBAAoB,CAACM,MACnBlB,EAAI,IAA+B,4CAA4CkB,CAAW,EAAE;AAAA,EAAA;AAElG;"}
|
|
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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"}
|
package/dist/chunks/{applicationAnalyticsApi-BwcSE_H1.js → applicationAnalyticsApi-BobBdehV.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("./index-
|
|
2
|
-
//# sourceMappingURL=applicationAnalyticsApi-
|
|
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-
|
|
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"}
|
package/dist/chunks/{applicationAnalyticsApi-DKMmDvWk.js → applicationAnalyticsApi-jCZhWKOx.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as t } from "./index-
|
|
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-
|
|
50
|
+
//# sourceMappingURL=applicationAnalyticsApi-jCZhWKOx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicationAnalyticsApi-
|
|
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-
|
|
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-
|
|
105
|
+
//# sourceMappingURL=groupsApi-CoxnW9vH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupsApi-BzDV3_Jc.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-
|
|
2
|
-
//# sourceMappingURL=groupsApi-
|
|
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
|