@@ -19,7 +19,8 @@ import {
1919 HookContext ,
2020 ActionHandler ,
2121 ActionContext ,
22- LoaderPlugin
22+ LoaderPlugin ,
23+ Driver
2324} from '@objectql/types' ;
2425import { ObjectRepository } from './repository' ;
2526
@@ -28,13 +29,12 @@ import { registerHookHelper, triggerHookHelper, HookEntry } from './hook';
2829import { registerObjectHelper , getConfigsHelper } from './object' ;
2930import { convertIntrospectedSchemaToObjects } from './util' ;
3031
31- // Import ObjectStack engine and standard driver interface
32+ // Import ObjectStack engine (without using its driver types)
3233import { ObjectQL as ObjectStackEngine } from '@objectstack/objectql' ;
33- import { DriverInterface } from '@objectstack/spec' ;
3434
3535export class ObjectQL implements IObjectQL {
3636 public metadata : MetadataRegistry ;
37- private datasources : Record < string , DriverInterface > = { } ;
37+ private datasources : Record < string , Driver > = { } ;
3838 private remotes : string [ ] = [ ] ;
3939 private hooks : Record < string , HookEntry [ ] > = { } ;
4040 private actions : Record < string , ActionEntry > = { } ;
@@ -55,8 +55,9 @@ export class ObjectQL implements IObjectQL {
5555 this . stackEngine = new ObjectStackEngine ( { } ) ;
5656
5757 // Register drivers with ObjectStack engine (no wrapping needed)
58+ // Cast to any since our Driver interface is compatible with spec's DriverInterface
5859 for ( const [ name , driver ] of Object . entries ( this . datasources ) ) {
59- this . stackEngine . registerDriver ( driver , name === 'default' ) ;
60+ this . stackEngine . registerDriver ( driver as any , name === 'default' ) ;
6061 }
6162
6263 if ( config . connection ) {
@@ -89,12 +90,13 @@ export class ObjectQL implements IObjectQL {
8990 /**
9091 * Register a new driver with ObjectStack engine
9192 */
92- registerDriver ( name : string , driver : DriverInterface , isDefault : boolean = false ) {
93+ registerDriver ( name : string , driver : Driver , isDefault : boolean = false ) {
9394 if ( this . datasources [ name ] ) {
9495 console . warn ( `[ObjectQL] Driver '${ name } ' already exists. Overwriting...` ) ;
9596 }
9697 this . datasources [ name ] = driver ;
97- this . stackEngine . registerDriver ( driver , isDefault ) ;
98+ // Cast to any since our Driver interface is compatible with spec's DriverInterface
99+ this . stackEngine . registerDriver ( driver as any , isDefault ) ;
98100 }
99101
100102 removePackage ( name : string ) {
@@ -189,7 +191,7 @@ export class ObjectQL implements IObjectQL {
189191 return getConfigsHelper ( this . metadata ) ;
190192 }
191193
192- datasource ( name : string ) : DriverInterface {
194+ datasource ( name : string ) : Driver {
193195 const driver = this . datasources [ name ] ;
194196 if ( ! driver ) {
195197 throw new Error ( `Datasource '${ name } ' not found` ) ;
0 commit comments