import { type DrizzleConfig } from 'drizzle-orm/utils'; import { PodDatabase } from './core/pod-database'; import { type SolidAuthSession, type PodDialectConfig } from './core/pod-dialect'; import type { ChannelType } from './core/notifications'; import type { SPARQLQueryEngineFactory } from './core/sparql-engine'; export type SolidDatabase = Record> = PodDatabase; export interface SolidDrizzleConfig = Record> extends DrizzleConfig { /** * Schema registry used for URI/link resolution and typed query access. * Drizzle's upstream `DrizzleConfig` typing does not currently expose this field * on the imported utility type, so we declare it explicitly here. */ schema?: TSchema; /** * Backward-compatible alias for legacy drizzle-solid callers. * Prefer `debug`, but keep `logger` accepted to avoid needless breakage. */ logger?: boolean; /** Notifications 配置 */ notifications?: { /** 通道偏好顺序,默认 ['streaming-http', 'websocket'] */ preferredChannels?: ChannelType[]; }; /** SPARQL 执行器配置 */ sparql?: { /** * 自定义 QueryEngine 工厂。 * 可用于复用宿主应用或 xpod 自身安装的 Comunica。 */ createQueryEngine?: SPARQLQueryEngineFactory; }; /** Disable Solid Interop discovery (optional) */ disableInteropDiscovery?: boolean; /** * 是否自动连接到 Pod(默认 false,按需延迟连接) */ autoConnect?: boolean; /** * Storage 缓存过期时间(毫秒),默认 5 分钟 * 用于 IdP-SP 分离场景,控制从 profile 重新读取 pim:storage 的频率 */ storageTTL?: number; /** Explicit Pod base URL for IdP/SP split deployments. */ podUrl?: string; /** * Controls implicit LDP container/resource probes before ORM operations. * Use `off` when the Pod runtime or sidecar owns path creation and direct writes * should not be blocked by HEAD/container preparation probes. */ resourcePreparation?: PodDialectConfig['resourcePreparation']; /** * 启用 debug 模式,输出查询信息 */ debug?: boolean; } export declare function drizzle = Record>(session: SolidAuthSession, config?: SolidDrizzleConfig): SolidDatabase; export type { PodDatabase }; export { PodDatabase as Database }; export type { SolidAuthSession }; //# sourceMappingURL=driver.d.ts.map