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
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import type { AgentConversationRailRuntimePort } from "../../../agentConversationRailContracts.ts";
|
|
|
|
const AGENT_CONVERSATION_BATCH_DELETION_RUNTIME_METHODS = [
|
|
"deleteSessionsBatch",
|
|
"listSessionSectionDeletionCandidates"
|
|
] as const satisfies ReadonlyArray<keyof AgentConversationRailRuntimePort>;
|
|
|
|
type AgentConversationBatchDeletionRuntimeMethod =
|
|
(typeof AGENT_CONVERSATION_BATCH_DELETION_RUNTIME_METHODS)[number];
|
|
|
|
export interface AgentConversationBatchDeletionCapability {
|
|
available: boolean;
|
|
missingMethods: AgentConversationBatchDeletionRuntimeMethod[];
|
|
partial: boolean;
|
|
}
|
|
|
|
export function inspectAgentConversationBatchDeletionCapability(
|
|
runtime: Partial<
|
|
Pick<
|
|
AgentConversationRailRuntimePort,
|
|
AgentConversationBatchDeletionRuntimeMethod
|
|
>
|
|
>
|
|
): AgentConversationBatchDeletionCapability {
|
|
const missingMethods =
|
|
AGENT_CONVERSATION_BATCH_DELETION_RUNTIME_METHODS.filter(
|
|
(method) => typeof runtime[method] !== "function"
|
|
);
|
|
return {
|
|
available: missingMethods.length === 0,
|
|
missingMethods: [...missingMethods],
|
|
partial:
|
|
missingMethods.length > 0 &&
|
|
missingMethods.length <
|
|
AGENT_CONVERSATION_BATCH_DELETION_RUNTIME_METHODS.length
|
|
};
|
|
}
|