import { type CreateAgentModuleOptions } from '@shipfox/api-agent'; import { type AgentAccessTool } from '@shipfox/api-agent-access'; import { type CreateAuthModuleOptions } from '@shipfox/api-auth'; import { type AuthInterModuleClient } from '@shipfox/api-auth-dto/inter-module'; import { type WebhookDeliverySource } from '@shipfox/api-integration-core'; import { type CreateRunnersModuleOptions } from '@shipfox/api-runners'; import { type SecretsInterModuleClient } from '@shipfox/api-secrets-dto/inter-module'; import { type UsageModuleClient } from '@shipfox/api-usage-dto/inter-module'; import { type CreateWorkflowsModuleOptions } from '@shipfox/api-workflows'; import { type WorkflowsModuleClient } from '@shipfox/api-workflows-dto/inter-module'; import { type WorkspacesInterModuleClient } from '@shipfox/api-workspaces-dto/inter-module'; import type { ShipfoxModule } from '@shipfox/node-module'; export interface DefaultModulesOptions { webhookDeliverySource?: WebhookDeliverySource | undefined; authModuleOptions?: DefaultAuthModuleOptions | undefined; agentModuleOptions?: DefaultAgentModuleOptions | undefined; runnersModuleOptions?: DefaultRunnersModuleOptions | undefined; workflowsModuleOptions?: DefaultWorkflowsModuleOptions | undefined; /** Appends composition-root tools to the standard Agent Access tool list. */ agentAccess?: { additionalTools?: readonly AgentAccessTool[] | undefined; } | undefined; authModuleFactory?: DefaultAuthModuleFactory | undefined; agentModuleFactory?: DefaultAgentModuleFactory | undefined; runnersModuleFactory?: DefaultRunnersModuleFactory | undefined; /** @deprecated Use `authModuleOptions` or `authModuleFactory`. */ authModule?: DefaultAuthModuleFactory | undefined; /** @deprecated Use `agentModuleOptions` or `agentModuleFactory`. */ agentModule?: DefaultAgentModuleFactory | undefined; /** @deprecated Use `runnersModuleOptions` or `runnersModuleFactory`. */ runnersModule?: DefaultRunnersModuleFactory | undefined; extension?: DefaultModulesExtension | undefined; } /** Options for the standard Auth module. `defaultModules` supplies Workspaces. */ export type DefaultAuthModuleOptions = Pick; /** Full replacement escape hatch for the standard Auth module. */ export type DefaultAuthModuleFactory = (options: { workspaces: WorkspacesInterModuleClient; }) => ShipfoxModule; /** Options for the standard Agent module. `defaultModules` supplies Secrets and Workflows. */ export type DefaultAgentModuleOptions = Pick; /** * Replaces the Agent module in the standard composition slot. This is a full * replacement escape hatch. Configuration-only changes should use * `agentModuleOptions` so the composition root retains ownership of its * dependencies. */ export type DefaultAgentModuleFactory = (options: { secrets: Pick; /** * Optional: the step-attempt-terminated release and the stale-claim reap cron * are always registered so composed claim creators get a release backstop; * only the job-terminated grace sweep is gated on this client, so a factory * built without it stays claim/release-free (as before the session release * stack landed). */ workflows?: WorkflowsModuleClient | undefined; }) => ShipfoxModule; /** Options for the standard Runners module. `defaultModules` supplies Auth. */ export type DefaultRunnersModuleOptions = Pick; /** Options for the standard Workflows module. */ export type DefaultWorkflowsModuleOptions = Pick; /** Full replacement escape hatch for the standard Runners module. */ export type DefaultRunnersModuleFactory = (options: { auth: AuthInterModuleClient; }) => ShipfoxModule; export type DefaultModulesExtension = (options: { auth: Pick; workspaces: WorkspacesInterModuleClient; usage: UsageModuleClient; }) => ShipfoxModule[]; export declare function defaultModules(options?: DefaultModulesOptions): Promise; //# sourceMappingURL=modules.d.ts.map