@@ -27,6 +27,8 @@ import MCPStation from '@/app/admin/components/mcp/MCPStation';
2727import AdminNodeManage from '@/app/admin/components/workflows/AdminNodeManage' ;
2828import AdminPromptStore from '@/app/admin/components/workflows/AdminPromptStore/AdminPromptStore' ;
2929import AdminWorkflowStore from '@/app/admin/components/workflows/AdminWorkflowStore' ;
30+ import { MlModelWorkspaceProvider } from '@/app/ml-inference/components/MlModelWorkspaceContext' ;
31+ import MlModelWorkspacePage from '@/app/ml-inference/components/MlModelWorkspacePage' ;
3032import {
3133 getUserSidebarItems ,
3234 getWorkflowSidebarItems ,
@@ -36,6 +38,7 @@ import {
3638 getSecuritySidebarItems ,
3739 getMCPSidebarItems ,
3840 createAdminItemClickHandler ,
41+ getMLSidebarItems ,
3942} from '@/app/admin/components/adminSidebarConfig' ;
4043import styles from '@/app/admin/assets/AdminPage.module.scss' ;
4144
@@ -117,6 +120,7 @@ const AdminPageContent: React.FC = () => {
117120 const dataItems = filterItemsByPermission ( getDataSidebarItems ( ) ) ;
118121 const securityItems = filterItemsByPermission ( getSecuritySidebarItems ( ) ) ;
119122 const mcpItems = filterItemsByPermission ( getMCPSidebarItems ( ) ) ;
123+ const MLItems = filterItemsByPermission ( getMLSidebarItems ( ) )
120124
121125 // 아이템 클릭 핸들러
122126 const handleItemClick = createAdminItemClickHandler ( router ) ;
@@ -155,6 +159,8 @@ const AdminPageContent: React.FC = () => {
155159 'security-settings' , 'audit-logs' , 'error-logs' ,
156160 // MCP Items
157161 'mcp-market' , 'mcp-station' ,
162+ // ML Items
163+ 'ml-model-control' , //'ml-model-healthcheck'
158164 ] ;
159165 return validSections . includes ( section ) ;
160166 } ;
@@ -409,6 +415,17 @@ const AdminPageContent: React.FC = () => {
409415 < MCPStation />
410416 </ AdminContentArea >
411417 ) ;
418+ case 'ml-model-control' :
419+ return (
420+ < AdminContentArea
421+ title = "머신러닝 모델 관리"
422+ description = "배포된 머신러닝 모델을 버전을 관리합니다."
423+ >
424+ < MlModelWorkspaceProvider admin = { true } >
425+ < MlModelWorkspacePage view = 'inference' admin = { true } />
426+ </ MlModelWorkspaceProvider >
427+ </ AdminContentArea >
428+ ) ;
412429 default :
413430 return (
414431 < AdminContentArea
@@ -435,6 +452,7 @@ const AdminPageContent: React.FC = () => {
435452 dataItems = { dataItems }
436453 securityItems = { securityItems }
437454 mcpItems = { mcpItems }
455+ MLItems = { MLItems }
438456 activeItem = { activeSection }
439457 onItemClick = { ( itemId : string ) => setActiveSection ( itemId ) }
440458 initialUserExpanded = { [ 'users' , 'user-create' , 'group-permissions' ] . includes ( activeSection ) }
@@ -444,6 +462,7 @@ const AdminPageContent: React.FC = () => {
444462 initialDataExpanded = { [ 'database' , 'data-scraper' , 'storage' , 'backup' ] . includes ( activeSection ) }
445463 initialSecurityExpanded = { [ 'security-settings' , 'audit-logs' , 'error-logs' , 'access-logs' ] . includes ( activeSection ) }
446464 initialMCPExpanded = { [ 'mcp-market' , 'mcp-station' ] . includes ( activeSection ) }
465+ initialMLExpanded = { [ 'ml-model-control' ] . includes ( activeSection ) }
447466 />
448467 { ! isSidebarOpen && (
449468 < motion . button
0 commit comments