@frank-x/dsh-dm
v0.1.0-alpha.1
Published
Abstract DM (达梦) database executor seam (ctx.dm) for the DeepSeek Harness — connection lifecycle, query execution, and schema introspection vocabulary
Readme
@frank-x/dsh-dm
Service Definition for DM (达梦) database capability seam.
Overview
This package defines the abstract interface for DM database operations. It provides the DmExecutor abstract class that must be implemented by a provider (like @frank-x/dsh-dm-jdbc).
Installation
npm install @frank-x/dsh-dmUsage
import { DmExecutor } from '@frank-x/dsh-dm'
// Implement the abstract class
class MyDmExecutor extends DmExecutor {
async connect(name: string, config: DmConnectionConfig): Promise<void> {
// Implementation
}
async disconnect(name: string): Promise<void> {
// Implementation
}
async execute(name: string, sql: string, options?: { timeoutMs?: number; maxRows?: number }): Promise<DmQueryResult> {
// Implementation
}
async testConnection(name: string): Promise<DmConnectionTestResult> {
// Implementation
}
async getSchema(name: string, filter?: DmSchemaFilter): Promise<DmSchemaInfo> {
// Implementation
}
async getConnections(): Promise<string[]> {
// Implementation
}
}API
DmExecutor
Abstract class extending Service from Cordis. Registers as ctx.dm.
Methods
connect(name: string, config: DmConnectionConfig): Promise<void>disconnect(name: string): Promise<void>execute(name: string, sql: string, options?: { timeoutMs?: number; maxRows?: number }): Promise<DmQueryResult>testConnection(name: string): Promise<DmConnectionTestResult>getSchema(name: string, filter?: DmSchemaFilter): Promise<DmSchemaInfo>getConnections(): Promise<string[]>
Types
DmConnectionConfig- Connection parametersDmQueryResult- Query result with columns/rows or affected countDmSchemaInfo- Schema metadataDmTableInfo- Table informationDmColumnInfo- Column metadataDmConnectionTestResult- Connection test outcomeDmSchemaFilter- Schema filter options
License
MIT
