index.js 925 Bytes
/**
 * @drama/llm-router 公共面(唯一对外入口)。
 *
 * 场景路由与 fallback 链:包内不读 process.env、不建顶层连接、不写盘;db/configSource/factory 均注入。
 * 只依赖 @drama/llm 的端口契约(`LLMError`、`Llm` typedef),不 import 其它能力包。
 *
 * @typedef {import('@drama/llm').Llm} Llm
 */

import { createRequire } from 'node:module'

export { withFallback } from './fallback.js'
export { createModeRouter } from './mode-router.js'
export { normalizeConfig } from './config.js'
export { createLlmFactory, withProviderBaseUrl } from './llm-factory.js'
export { validateAdapters, validateModes } from './validate.js'

// db/tables 是 cjs(knex builder,与 @drama/db 建表机制同源),经 createRequire 载入后 re-export 供装配层注册。
const require = createRequire(import.meta.url)
export const { targetTables } = require('./db/tables/index.cjs')