/
foult080
/
terminal-db
Обзор
Документация
Войти
/
foult080
/
terminal-db
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/workspace/WorkspaceConfig.ts
41 строка
1 KB
foult080
production hardening: fix P0 bugs, remove dead code, add workspace tests
16 июл 2026, 07:34
16 июл 2026, 07:34
39c68ad
Код
Авторство
О чём код?
import { CommandExecutor } from "../commands/CommandExecutor.js" import { CommandRegistry } from "../commands/CommandRegistry.js" import { ConfigLoader } from "../config/ConfigLoader.js" import { EventBus } from "../core/events/EventBus.js" import type { DbType } from "../core/types/db.js" import { createDbContext } from "../db/DbFactory.js" import { QueryHistory } from "../history/QueryHistory.js" import { Workspace } from "./Workspace.js" export interface CreateWorkspaceOptions { maxHistoryEntries?: number dbType?: DbType configFile?: string } export async function createWorkspace(options: CreateWorkspaceOptions = {}): Promise<Workspace> { const dbType = options.dbType ?? "postgres" const eventBus = new EventBus() const registry = new CommandRegistry() const executor = new CommandExecutor(registry, eventBus) const dbContext = await createDbContext(dbType, eventBus) const configLoader = new ConfigLoader(options.configFile) const config = configLoader.load() const maxHistory = options.maxHistoryEntries ?? config.settings.maxHistoryEntries const history = new QueryHistory(maxHistory) return new Workspace( eventBus, registry, executor, dbContext, history, config, configLoader, dbType, ) }