import type { ModuleDatabaseExecutor } from "./module-database-abi.js"; /** * The complete set of platform-provided services a trusted module's `start`/`stop` lifecycle hooks * and authorized HTTP route handlers receive — for this phase, exactly one: `database`. For a * module that declares `database: { abi: 1 }` it is the Module Database ABI v1 executor; for a * legacy module it is Core's legacy facade, whose type Core alone owns, so this package never * references an ORM (ADR 0053). Frozen, and * never handed to a module's `register` hook (`ModuleRegistrationContext` has no `services` field): * registration stays declarative and database-free, exactly as before this contract existed. * Deliberately has no storage, jobs, configuration, secrets, or authorization field yet — those * remain out of scope until a later phase explicitly adds them here, one at a time, the same way * `database` was added. */ export interface ModuleRuntimeServices { readonly database: Database; } export type ModuleDatabaseAbiRuntimeServices = ModuleRuntimeServices;