feat: expose codex mcp guardian governance

This commit is contained in:
AI Bot
2026-06-03 12:13:57 +08:00
parent afeb352fe3
commit f23ed9f188
12 changed files with 171 additions and 7 deletions

View File

@@ -141,6 +141,11 @@ export function buildDeviceWorkspaceDetailCards(workspace: DeviceWorkspaceView)
codexAppServerMetadata.windowsSandboxGovernanceSummary,
);
const codexFuzzyFileSearchSummary = objectFromMetadata(codexAppServerMetadata.fuzzyFileSearchSummary);
const codexMcpGovernanceSummary = objectFromMetadata(codexAppServerMetadata.mcpGovernanceSummary);
const codexUserInteractionGovernanceSummary = objectFromMetadata(
codexAppServerMetadata.userInteractionGovernanceSummary,
);
const codexGuardianGovernanceSummary = objectFromMetadata(codexAppServerMetadata.guardianGovernanceSummary);
return {
capabilities: {
@@ -251,6 +256,21 @@ export function buildDeviceWorkspaceDetailCards(workspace: DeviceWorkspaceView)
codexFuzzyFileSearch: `文件搜索事件:${numberFromMetadata(
codexFuzzyFileSearchSummary.eventCount,
)} 项 · ${codexFuzzyFileSearchSummary.completedEventAvailable === true ? "完成事件可用" : "完成事件不可用"}`,
codexMcpGovernance: `MCP 治理:${numberFromMetadata(
codexMcpGovernanceSummary.actionCount,
)} 项 · OAuth ${numberFromMetadata(codexMcpGovernanceSummary.oauthActionCount)} 项 · 工具 ${numberFromMetadata(
codexMcpGovernanceSummary.toolActionCount,
)} 项 · ${codexMcpGovernanceSummary.elicitationAvailable === true ? "交互可用" : "交互不可用"}`,
codexUserInteractionGovernance: `用户交互:${numberFromMetadata(
codexUserInteractionGovernanceSummary.actionCount,
)} 项 · ${
codexUserInteractionGovernanceSummary.requestUserInputAvailable === true ? "输入请求可用" : "输入请求不可用"
}`,
codexGuardianGovernance: `Guardian 治理:${numberFromMetadata(
codexGuardianGovernanceSummary.actionCount,
)} 项 · 审批 ${numberFromMetadata(codexGuardianGovernanceSummary.approvalActionCount)} 项 · ${
codexGuardianGovernanceSummary.permissionRequestEventAvailable === true ? "权限事件可用" : "权限事件不可用"
}`,
preferredExecutionMode: `默认执行模式:${
selectedDevice?.preferredExecutionMode === "gui"
? "GUI"
@@ -939,6 +959,15 @@ export function DeviceEditorCard({
<div className="rounded-2xl bg-[#F7F8FA] px-3 py-2">
{detailCards.capabilities.items.codexFuzzyFileSearch}
</div>
<div className="rounded-2xl bg-[#F7F8FA] px-3 py-2">
{detailCards.capabilities.items.codexMcpGovernance}
</div>
<div className="rounded-2xl bg-[#F7F8FA] px-3 py-2">
{detailCards.capabilities.items.codexUserInteractionGovernance}
</div>
<div className="rounded-2xl bg-[#F7F8FA] px-3 py-2">
{detailCards.capabilities.items.codexGuardianGovernance}
</div>
<div className="rounded-2xl bg-[#F7F8FA] px-3 py-2">
{detailCards.capabilities.items.preferredExecutionMode}
</div>