Files
tutti/packages/agent/gui/agentConversationRailContracts.ts
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

126 lines
3.5 KiB
TypeScript

import type { AgentActivitySession } from "@tutti-os/agent-activity-core";
export interface AgentConversationRailUserProject {
createdAtUnixMs: number;
id: string;
label: string;
lastUsedAtUnixMs?: number;
path: string;
pinnedAtUnixMs: number;
sectionKey: string;
updatedAtUnixMs: number;
}
export interface AgentConversationRailSessionPage {
hasMore: boolean;
nextCursor?: string;
sessions: AgentActivitySession[];
totalCount: number;
}
export interface AgentConversationRailSessionSection extends AgentConversationRailSessionPage {
kind: "conversations" | "project";
sectionKey: string;
userProject?: AgentConversationRailUserProject;
}
export interface AgentConversationRailSessionSectionsResult {
pinned?: AgentConversationRailSessionPage;
sections: AgentConversationRailSessionSection[];
workspaceId: string;
}
export interface AgentConversationRailListSessionsPageInput {
agentTargetId?: string | null;
cursor?: string;
limit?: number;
searchQuery?: string;
signal?: AbortSignal;
workspaceId: string;
}
export interface AgentConversationRailSessionsPageResult {
hasMore: boolean;
nextCursor?: string;
sessions: AgentActivitySession[];
workspaceId: string;
}
export interface AgentConversationRailListSessionSectionsInput {
agentTargetId?: string | null;
limitPerSection?: number;
signal?: AbortSignal;
workspaceId: string;
}
export interface AgentConversationRailListSessionSectionPageInput {
agentTargetId?: string | null;
cursor?: string;
limit?: number;
sectionKey: string;
signal?: AbortSignal;
workspaceId: string;
}
export type AgentConversationRailListPinnedSessionsPageInput = Omit<
AgentConversationRailListSessionSectionPageInput,
"sectionKey"
>;
export interface AgentConversationRailSessionSectionScopeInput {
agentTargetId?: string | null;
excludePinned?: boolean;
sectionKey: string;
signal?: AbortSignal;
workspaceId: string;
}
export interface AgentConversationRailSessionSectionDeletionCandidates {
agentTargetId?: string | null;
excludePinned: boolean;
sectionKey: string;
sessionIds: string[];
workspaceId: string;
}
export interface AgentConversationRailDeleteSessionsBatchInput {
sessionIds: string[];
signal?: AbortSignal;
workspaceId: string;
}
export interface AgentConversationRailDeleteSessionsBatchResult {
cleanupFailedSessionIds: string[];
removedMessages: number;
removedSessionIds: string[];
removedSessions: number;
}
export interface AgentConversationRailRuntimePort {
deleteSessionsBatch?(
input: AgentConversationRailDeleteSessionsBatchInput
): Promise<AgentConversationRailDeleteSessionsBatchResult>;
listPinnedSessionsPage?(
input: AgentConversationRailListPinnedSessionsPageInput
): Promise<AgentConversationRailSessionPage>;
listSessionSectionDeletionCandidates?(
input: AgentConversationRailSessionSectionScopeInput
): Promise<AgentConversationRailSessionSectionDeletionCandidates>;
listSessionSectionPage?(
input: AgentConversationRailListSessionSectionPageInput
): Promise<AgentConversationRailSessionSection>;
listSessionSections?(
input: AgentConversationRailListSessionSectionsInput
): Promise<AgentConversationRailSessionSectionsResult>;
listSessionsPage?(
input: AgentConversationRailListSessionsPageInput
): Promise<AgentConversationRailSessionsPageResult>;
reportDiagnostic?(input: {
details?: Record<string, unknown>;
event: string;
level?: "debug" | "info" | "warn" | "error";
source?: string;
workspaceId?: string | null;
}): Promise<void> | void;
}