feat(governance): 接入三 Agent 佈建布局
This commit is contained in:
@@ -262,6 +262,11 @@ export const apiClient = {
|
||||
return handleResponse<AiAgentAutomationBacklogSnapshot>(res)
|
||||
},
|
||||
|
||||
async getAiAgentDeploymentLayout() {
|
||||
const res = await fetch(`${API_BASE_URL}/agents/agent-deployment-layout`)
|
||||
return handleResponse<AiAgentDeploymentLayoutSnapshot>(res)
|
||||
},
|
||||
|
||||
async getRuntimeSurfaceInventory() {
|
||||
const res = await fetch(`${API_BASE_URL}/agents/runtime-surface-inventory`)
|
||||
return handleResponse<RuntimeSurfaceInventorySnapshot>(res)
|
||||
@@ -819,6 +824,109 @@ export interface AiAgentAutomationBacklogSnapshot {
|
||||
>
|
||||
}
|
||||
|
||||
export interface AiAgentDeploymentLayoutSnapshot {
|
||||
schema_version: 'ai_agent_deployment_layout_v1'
|
||||
generated_at: string
|
||||
program_status: {
|
||||
overall_completion_percent: number
|
||||
current_priority: 'P0' | 'P1' | 'P2' | 'P3'
|
||||
current_task_id: string
|
||||
next_task_id: string
|
||||
read_only_mode: true
|
||||
deployment_authority: 'layout_only_no_runtime_deploy'
|
||||
}
|
||||
agent_contracts: Array<{
|
||||
agent_id: string
|
||||
display_name: string
|
||||
primary_specialty: string
|
||||
deployment_lane: string
|
||||
allowed_autonomy: string[]
|
||||
must_delegate_to: string[]
|
||||
blocked_actions: string[]
|
||||
learning_scope: string[]
|
||||
}>
|
||||
domains: Array<{
|
||||
domain_id: string
|
||||
display_name: string
|
||||
description: string
|
||||
}>
|
||||
deployment_targets: Array<{
|
||||
target_id: string
|
||||
domain_id: string
|
||||
display_name: string
|
||||
target_type: string
|
||||
primary_agent: string
|
||||
supporting_agents: string[]
|
||||
deployment_state:
|
||||
| 'active_governed'
|
||||
| 'read_only_layout'
|
||||
| 'blocked_by_gate'
|
||||
| 'planned'
|
||||
| 'candidate_only'
|
||||
automation_level:
|
||||
| 'observe_only'
|
||||
| 'prepare_only'
|
||||
| 'dry_run_only'
|
||||
| 'hitl_execute_after_approval'
|
||||
| 'blocked'
|
||||
capabilities: string[]
|
||||
telegram_policy:
|
||||
| 'failure_only'
|
||||
| 'action_required'
|
||||
| 'approval_required'
|
||||
| 'daily_summary_only'
|
||||
| 'no_direct_notify'
|
||||
learning_inputs: string[]
|
||||
communication_channels: string[]
|
||||
approval_gate: string
|
||||
evidence_refs: string[]
|
||||
next_action: string
|
||||
}>
|
||||
collaboration_contract: {
|
||||
message_bus: string
|
||||
audit_trail: string
|
||||
handoff_rules: string[]
|
||||
frontend_redaction: {
|
||||
operator_conversation_display_allowed: false
|
||||
agent_private_reasoning_display_allowed: false
|
||||
display_policy: string
|
||||
}
|
||||
}
|
||||
learning_contract: {
|
||||
event_sources: string[]
|
||||
feedback_loops: string[]
|
||||
growth_metrics: string[]
|
||||
retention_policy: string
|
||||
}
|
||||
telegram_contract: {
|
||||
primary_gateway: string
|
||||
bot_roles: string[]
|
||||
notification_classes: string[]
|
||||
redaction_policy: string
|
||||
e2e_validation: string
|
||||
}
|
||||
rollups: {
|
||||
total_targets: number
|
||||
by_domain: Record<string, number>
|
||||
by_primary_agent: Record<string, number>
|
||||
by_deployment_state: Record<string, number>
|
||||
by_telegram_policy: Record<string, number>
|
||||
blocked_target_ids: string[]
|
||||
approval_required_target_ids: string[]
|
||||
}
|
||||
approval_boundaries: Record<
|
||||
| 'sdk_installation_allowed'
|
||||
| 'paid_api_call_allowed'
|
||||
| 'shadow_or_canary_allowed'
|
||||
| 'production_routing_allowed'
|
||||
| 'destructive_operation_allowed'
|
||||
| 'secret_plaintext_allowed'
|
||||
| 'autonomous_host_mutation_allowed'
|
||||
| 'telegram_direct_send_allowed',
|
||||
false
|
||||
>
|
||||
}
|
||||
|
||||
export interface RuntimeSurfaceInventorySnapshot {
|
||||
schema_version: 'runtime_surface_inventory_v1'
|
||||
generated_at: string
|
||||
|
||||
Reference in New Issue
Block a user