import type { IntegrationAccountRequirement, TriggerDefinition } from "../types" const ANTHROPIC_ACCOUNT = { connectionOptions: [ { connectionMethodId: "managed-agents", requiredScopes: [] }, ], serviceId: "anthropic", } as const satisfies IntegrationAccountRequirement export const anthropicTriggerDefinitions = { anthropicAgentArchived: trigger("anthropic.agent.archived"), anthropicAgentCreated: trigger("anthropic.agent.created"), anthropicAgentDeleted: trigger("anthropic.agent.deleted"), anthropicAgentEvent: trigger("anthropic.agent.event"), anthropicAgentUpdated: trigger("anthropic.agent.updated"), anthropicEnvironmentArchived: trigger("anthropic.environment.archived"), anthropicEnvironmentCreated: trigger("anthropic.environment.created"), anthropicEnvironmentDeleted: trigger("anthropic.environment.deleted"), anthropicEnvironmentEvent: trigger("anthropic.environment.event"), anthropicEnvironmentUpdated: trigger("anthropic.environment.updated"), anthropicSessionBudgetReached: trigger("anthropic.session.budgetReached"), anthropicSessionDeleted: trigger("anthropic.session.deleted"), anthropicSessionEvent: trigger("anthropic.session.event"), anthropicSessionIdled: trigger("anthropic.session.idled"), anthropicSessionOutcomeEvaluationEnded: trigger( "anthropic.session.outcomeEvaluationEnded", ), anthropicSessionRescheduled: trigger("anthropic.session.rescheduled"), anthropicSessionRunStarted: trigger("anthropic.session.runStarted"), anthropicSessionTerminated: trigger("anthropic.session.terminated"), anthropicSessionThreadCreated: trigger("anthropic.session.threadCreated"), anthropicSessionThreadIdled: trigger("anthropic.session.threadIdled"), anthropicSessionThreadTerminated: trigger( "anthropic.session.threadTerminated", ), anthropicSessionUpdated: trigger("anthropic.session.updated"), } as const satisfies Record /** * Creates a Managed Agents trigger catalog entry. * * @param type - Stable event type. */ function trigger(type: TType) { return { account: ANTHROPIC_ACCOUNT, type } as const }