import type { IntegrationAccountRequirement, TriggerDefinition } from "../types" const APIFY_ACCOUNT = { connectionOptions: [{ connectionMethodId: "api-token", requiredScopes: [] }], serviceId: "apify", } as const satisfies IntegrationAccountRequirement export const apifyTriggerDefinitions = { apifyActorBuildAborted: apifyTrigger("apify.actorBuild.aborted"), apifyActorBuildCreated: apifyTrigger("apify.actorBuild.created"), apifyActorBuildEvent: apifyTrigger("apify.actorBuild.event"), apifyActorBuildFailed: apifyTrigger("apify.actorBuild.failed"), apifyActorBuildSucceeded: apifyTrigger("apify.actorBuild.succeeded"), apifyActorBuildTimedOut: apifyTrigger("apify.actorBuild.timedOut"), apifyActorRunAborted: apifyTrigger("apify.actorRun.aborted"), apifyActorRunCreated: apifyTrigger("apify.actorRun.created"), apifyActorRunEvent: apifyTrigger("apify.actorRun.event"), apifyActorRunFailed: apifyTrigger("apify.actorRun.failed"), apifyActorRunResurrected: apifyTrigger("apify.actorRun.resurrected"), apifyActorRunSucceeded: apifyTrigger("apify.actorRun.succeeded"), apifyActorRunTimedOut: apifyTrigger("apify.actorRun.timedOut"), } as const satisfies Record /** * Creates one Apify trigger definition with its shared account requirement. * * @param type - Registered Apify event type. */ function apifyTrigger(type: TType) { return { account: APIFY_ACCOUNT, type } as const }