feat: F019 AI monitoring layer — output transparency & governance workspace
Full 2-panel workspace at /ops/ai-monitoring: metrics strip (total, failed, pending, approval rate, top prompt version, active model), filterable output table by type/status/error, and detail panel with output preview, prompt versioning, error details, and role-aware review actions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { MockupAIMonitoringProvider } from '../provider/MockupAIMonitoringProvider'
|
||||
import type { AIMonitoringFilters } from '../provider/IAIMonitoringProvider'
|
||||
import type { AIOutput } from '../domain/aiOutput'
|
||||
import type { ReviewStatus } from '../domain/enums'
|
||||
import type { ListResponse, ItemResponse } from './types'
|
||||
|
||||
const provider = MockupAIMonitoringProvider
|
||||
|
||||
export const aiMonitoringService = {
|
||||
async getOutputs(filters?: AIMonitoringFilters): Promise<ListResponse<AIOutput>> {
|
||||
const data = await provider.getOutputs(filters)
|
||||
return { data, meta: { total: data.length, page: 1, pageSize: data.length, hasMore: false } }
|
||||
},
|
||||
|
||||
async getOutput(id: string): Promise<ItemResponse<AIOutput | null>> {
|
||||
const data = await provider.getOutput(id)
|
||||
return { data }
|
||||
},
|
||||
|
||||
async updateReviewStatus(id: string, status: ReviewStatus): Promise<ItemResponse<AIOutput>> {
|
||||
const data = await provider.updateReviewStatus(id, status)
|
||||
return { data }
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user