@askdb/connectors
v0.1.0-beta.7
Published
AskDB connector provider registry: maps config-driven introspection provider selections to concrete connector packages.
Maintainers
Readme
@askdb/connectors
AskDB connector provider registry for app/bootstrap wiring. Maps config-driven introspection provider selections to concrete connector packages (@askdb/postgres, @askdb/mysql, etc.), following the same registry pattern as @askdb/ai.
Install
pnpm add @askdb/connectors
# Plus the connector provider packages your runtime uses:
pnpm add @askdb/postgres @askdb/mysql @askdb/sqlite @askdb/sqlserver @askdb/prismaInstall only the concrete connector packages your introspection config requires.
Usage
import { createAskDbConnectorRegistry, type AskDbConnectorConfig } from "@askdb/connectors";
import { postgresConnectorProvider } from "@askdb/postgres";
import { mysqlConnectorProvider } from "@askdb/mysql";
import { introspect } from "@askdb/introspect";
const registry = createAskDbConnectorRegistry([
postgresConnectorProvider,
mysqlConnectorProvider,
]);
const { connector, input } = registry.createConnector({
provider: "postgres",
url: "postgres://localhost/mydb",
});
const result = await introspect(input, { outDir: "./askdb", schemaId: "mydb" }, { connector });Exports
createAskDbConnectorRegistry— registry factoryASKDB_CONNECTOR_PROVIDERS— constant array of all provider idsAskDbConnectorProvider—"postgres" | "prisma" | "mysql" | "sqlite" | "sqlserver"AskDbConnectorConfig— unified per-call config shapeAskDbConnectorResult—{ connector, input, mode }pair consumed byintrospect()AskDbConnectorProviderAdapter— interface implemented by each concrete packageaskDbConnectorProviderMissingMessage— actionable error helper
License
Apache-2.0 © Yahya Gilany. See LICENSE and NOTICE.
