import { a as CollectionDefinition, o as DefinedCollection } from "./index-Cy08dvyb.js"; import { J as Container, P as WorkflowDefinition, X as TypeToken, Z as EngineExecutionLimitsPolicyConfig, ct as AnyCredentialType, st as McpServerDeclaration } from "./ItemsInputNormalizer-C2gLv7d9.js"; import { a as CodemationAuthConfig, n as CodemationLogConfig, t as CodemationWhitelabelConfig, u as LoggerFactory } from "./CodemationWhitelabelConfig-CPKKZwGp.js"; //#region src/presentation/config/CodemationClassToken.d.ts type CodemationClassToken = TypeToken & (new (...args: never[]) => TValue); //#endregion //#region src/bootstrap/CodemationContainerRegistration.d.ts interface CodemationContainerRegistrationBase { readonly token: TypeToken; } interface CodemationValueRegistration extends CodemationContainerRegistrationBase { readonly useValue: TValue; } interface CodemationClassRegistration extends CodemationContainerRegistrationBase { readonly useClass: CodemationClassToken; } interface CodemationFactoryRegistration extends CodemationContainerRegistrationBase { readonly useFactory: (container: Container) => TValue; } type CodemationContainerRegistration = CodemationValueRegistration | CodemationClassRegistration | CodemationFactoryRegistration; //#endregion //#region src/presentation/config/CodemationWorkflowDiscovery.d.ts interface CodemationWorkflowDiscovery { readonly directories?: ReadonlyArray; } //#endregion //#region src/presentation/config/CodemationConfig.d.ts type CodemationEventBusKind = "memory" | "redis"; type CodemationSchedulerKind = "local" | "bullmq"; type CodemationDatabaseKind = "postgresql" | "sqlite"; interface CodemationDatabaseConfig { readonly kind?: CodemationDatabaseKind; readonly url?: string; readonly sqliteFilePath?: string; } interface CodemationEventBusConfig { readonly kind?: CodemationEventBusKind; readonly redisUrl?: string; readonly queuePrefix?: string; } interface CodemationSchedulerConfig { readonly kind?: CodemationSchedulerKind; readonly queuePrefix?: string; readonly workerQueues?: ReadonlyArray; } type CodemationAppSchedulerKind = "inline" | "queue"; interface CodemationAppSchedulerConfig { readonly kind?: CodemationAppSchedulerKind; readonly queuePrefix?: string; readonly workerQueues?: ReadonlyArray; readonly redisUrl?: string; } type CodemationEngineExecutionLimitsConfig = Readonly>; interface CodemationAppDefinition { readonly frontendPort?: number; readonly databaseUrl?: string; readonly database?: CodemationDatabaseConfig; readonly scheduler?: CodemationAppSchedulerConfig; readonly auth?: CodemationAuthConfig; readonly whitelabel?: CodemationWhitelabelConfig; readonly log?: CodemationLogConfig; readonly engineExecutionLimits?: CodemationEngineExecutionLimitsConfig; } interface CodemationApplicationRuntimeConfig { readonly frontendPort?: number; readonly database?: CodemationDatabaseConfig; readonly eventBus?: CodemationEventBusConfig; readonly scheduler?: CodemationSchedulerConfig; readonly engineExecutionLimits?: CodemationEngineExecutionLimitsConfig; } interface CodemationConfig { readonly app?: CodemationAppDefinition; readonly codemationVersion?: string; readonly register?: (context: CodemationAppContext) => void; readonly runtime?: CodemationApplicationRuntimeConfig; readonly workflows?: ReadonlyArray; readonly workflowDiscovery?: CodemationWorkflowDiscovery; readonly plugins?: ReadonlyArray; readonly credentialTypes?: ReadonlyArray; readonly mcpServers?: ReadonlyArray; readonly collections?: ReadonlyArray; readonly whitelabel?: CodemationWhitelabelConfig; readonly auth?: CodemationAuthConfig; readonly log?: CodemationLogConfig; } //#endregion //#region src/presentation/config/CodemationPlugin.d.ts interface CodemationPluginContext extends CodemationRegistrationContextBase { readonly container: Container; readonly appConfig: AppConfig; readonly loggerFactory: LoggerFactory; } interface CodemationPluginConfig { readonly pluginPackageId?: string; readonly credentialTypes?: ReadonlyArray; readonly mcpServers?: ReadonlyArray; readonly register?: (context: CodemationPluginContext) => void | Promise; readonly sandbox?: CodemationConfig; } type CodemationPlugin = CodemationPluginConfig; declare class CodemationPluginPackageMetadata { private static readonly packageNameSymbol; attachPackageName(plugin: CodemationPlugin, packageName: string): CodemationPlugin; readPackageName(plugin: CodemationPlugin): string | undefined; } //#endregion //#region src/presentation/config/AppConfig.d.ts type AppPersistenceConfig = Readonly<{ kind: "none"; }> | Readonly<{ kind: "postgresql"; databaseUrl: string; }> | Readonly<{ kind: "sqlite"; databaseFilePath: string; }>; type AppPluginLoadSummary = Readonly<{ packageName: string; source: "configured" | "discovered"; }>; interface AppConfig { readonly consumerRoot: string; readonly repoRoot: string; readonly env: Readonly; readonly workflowSources: ReadonlyArray; readonly workflowDiscoveryDirectories?: ReadonlyArray; readonly workflows: ReadonlyArray; readonly containerRegistrations: ReadonlyArray>; readonly credentialTypes: ReadonlyArray; readonly collections: ReadonlyArray; readonly plugins: ReadonlyArray; readonly pluginLoadSummary?: ReadonlyArray; readonly mcpServers: ReadonlyArray; readonly hasConfiguredCredentialSessionServiceRegistration: boolean; readonly log?: CodemationLogConfig; readonly engineExecutionLimits?: CodemationEngineExecutionLimitsConfig; readonly databaseUrl?: string; readonly database?: CodemationDatabaseConfig; readonly persistence: AppPersistenceConfig; readonly scheduler: Readonly<{ kind: CodemationSchedulerKind; queuePrefix?: string; workerQueues: ReadonlyArray; redisUrl?: string; }>; readonly eventing: Readonly<{ kind: CodemationEventBusKind; queuePrefix?: string; redisUrl?: string; }>; readonly auth?: CodemationAuthConfig; readonly whitelabel: CodemationWhitelabelConfig; } //#endregion //#region src/presentation/config/CodemationAppContext.d.ts interface CodemationRegistrationContextBase { readonly appConfig?: AppConfig; registerCredentialType(type: AnyCredentialType): void; registerCollection(definition: CollectionDefinition): void; registerNode(token: TypeToken, implementation?: CodemationClassToken): void; registerValue(token: TypeToken, value: TValue): void; registerClass(token: TypeToken, implementation: CodemationClassToken): void; registerFactory(token: TypeToken, factory: (container: Container) => TValue): void; } interface CodemationAppContext extends CodemationRegistrationContextBase { registerWorkflow(workflow: WorkflowDefinition): void; registerWorkflows(workflows: ReadonlyArray): void; discoverWorkflows(...directories: ReadonlyArray): void; } //#endregion export { CodemationContainerRegistration as C, CodemationWorkflowDiscovery as S, CodemationEngineExecutionLimitsConfig as _, AppPluginLoadSummary as a, CodemationSchedulerConfig as b, CodemationPluginContext as c, CodemationAppSchedulerConfig as d, CodemationAppSchedulerKind as f, CodemationDatabaseKind as g, CodemationDatabaseConfig as h, AppPersistenceConfig as i, CodemationPluginPackageMetadata as l, CodemationConfig as m, CodemationRegistrationContextBase as n, CodemationPlugin as o, CodemationApplicationRuntimeConfig as p, AppConfig as r, CodemationPluginConfig as s, CodemationAppContext as t, CodemationAppDefinition as u, CodemationEventBusConfig as v, CodemationClassToken as w, CodemationSchedulerKind as x, CodemationEventBusKind as y }; //# sourceMappingURL=CodemationAppContext-CA4xzGA6.d.ts.map