Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

62 lines
2.2 KiB
TypeScript

import type { WorkspaceAgentActivityCard } from "../../workspaceAgentActivityListViewModel";
import type { WorkspaceAgentSessionDetailViewModel } from "../../workspaceAgentSessionDetailViewModel";
import type {
AgentApprovalItemVM,
AgentApprovalOptionVM
} from "./agentApprovalItemVM";
import type { AgentAskUserQuestionVM } from "./agentAskUserQuestionItemVM";
import type { AgentTranscriptRowVM } from "./agentTranscriptRowVM";
export interface AgentInteractionResponseInput {
agentSessionId?: string;
turnId?: string;
requestId: string;
action?: string;
optionId?: string;
payload?: Record<string, unknown>;
}
export type AgentConversationPromptVM =
| AgentApprovalItemVM
| {
kind: "ask-user";
agentSessionId?: string;
turnId?: string;
requestId: string;
title: string;
questions: AgentAskUserQuestionVM[];
}
| {
kind: "exit-plan";
agentSessionId?: string;
turnId?: string;
requestId: string;
title: string;
// Permission-mode options the runtime offered for leaving plan mode
// ("Yes, and ..."), in runtime order, excluding the keep-planning
// (`plan`) option. Empty when the runtime sent no options (Codex plan /
// legacy `exitplanmode` tool), in which case the surface falls back to a
// curated default mode list.
options: AgentApprovalOptionVM[];
// The runtime option id for "keep planning". The daemon models exit-plan
// as an approval that requires an option id, so declining must submit this
// id rather than a bare deny. Absent for option-less payloads, where the
// surface falls back to a plain deny action.
keepPlanningOptionId?: string;
}
| {
// Codex plan-mode "implement this plan?" decision. Unlike exit-plan it
// has no server request; requestId carries the plan turn id so the
// surface and dismissal can key off it. Actions: implement/feedback/skip.
kind: "plan-implementation";
requestId: string;
title: string;
};
export interface AgentConversationVM {
activity: WorkspaceAgentActivityCard;
workspaceRoot: string | null;
sourceDetail: WorkspaceAgentSessionDetailViewModel;
rows: AgentTranscriptRowVM[];
}