/** * ObjectQL * Copyright (c) 2026-present ObjectStack Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import { MetadataRegistry } from "./registry"; import { Driver } from "./driver"; import { ObjectConfig } from "./object"; import type { RuntimePlugin } from "./plugin"; import type { Logger } from "./logger"; export interface ObjectQLConfig { registry?: MetadataRegistry; datasources?: Record; /** * Optional connection string for auto-configuration. * e.g. "sqlite://dev.db", "postgres://localhost/db", "mongodb://localhost/db" */ connection?: string; /** * Path(s) to the directory containing schema files (*.object.yml). */ source?: string | string[]; objects?: Record; /** * @deprecated Use 'presets' instead. */ packages?: string[]; /** * @deprecated Use 'modules' instead. */ presets?: string[]; /** * List of modules to load. * Can be npm packages or local directories. */ modules?: string[]; /** * List of plugins to load. * Must implement the RuntimePlugin interface. * String plugins (package names) are not supported in core. */ plugins?: (RuntimePlugin | string)[]; /** * List of remote ObjectQL instances to connect to. * e.g. ["http://user-service:3000", "http://order-service:3000"] */ remotes?: string[]; /** * Optional structured logger instance. * If not provided, a ConsoleLogger with level 'info' is used. */ logger?: Logger; }