Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/showcase/enterprise-erp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"@objectql/cli": "workspace:*",
"@objectql/driver-sql": "workspace:*",
"@objectql/platform-node": "workspace:*",
"@objectstack/spec": "^0.2.0",
"@objectstack/spec": "^0.3.1",
"@types/jest": "^30.0.0",
"@types/node": "^20.0.0",
"jest": "^30.2.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/excel/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0",
"@objectstack/spec": "^0.3.1",
"exceljs": "^4.4.0"
},
"devDependencies": {
Expand Down
16 changes: 13 additions & 3 deletions packages/drivers/excel/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Copilot uses AI. Check for mistakes.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Expand Down Expand Up @@ -30,7 +35,6 @@
*/

import { Driver, ObjectQLError } from '@objectql/types';
import { DriverInterface, QueryAST, FilterNode, SortNode } from '@objectstack/spec';
import * as ExcelJS from 'exceljs';
import * as fs from 'fs';
import * as path from 'path';
Expand Down Expand Up @@ -102,7 +106,7 @@ export interface ExcelDriverConfig {
* the standard DriverInterface from @objectstack/spec for compatibility
* with the new kernel-based plugin system.
*/
export class ExcelDriver implements Driver, DriverInterface {
export class ExcelDriver implements Driver {
// Driver metadata (ObjectStack-compatible)
public readonly name = 'ExcelDriver';
public readonly version = '4.0.0';
Expand All @@ -111,7 +115,13 @@ export class ExcelDriver implements Driver, DriverInterface {
joins: false,
fullTextSearch: false,
jsonFields: true,
arrayFields: true
arrayFields: true,
queryFilters: true,
queryAggregations: false,
querySorting: true,
queryPagination: true,
queryWindowFunctions: false,
querySubqueries: false
};

private config: ExcelDriverConfig;
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/fs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0"
"@objectstack/spec": "^0.3.1"
},
"devDependencies": {
"@types/jest": "^29.0.0",
Expand Down
16 changes: 13 additions & 3 deletions packages/drivers/fs/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Comment on lines +5 to 8
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Suggested change
type DriverInterface = System.DriverInterface;
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
* Copyright (c) 2026-present ObjectStack Inc.

Copilot uses AI. Check for mistakes.
Expand Down Expand Up @@ -35,7 +40,6 @@
import * as fs from 'fs';
import * as path from 'path';
import { Driver, ObjectQLError } from '@objectql/types';
import { DriverInterface, QueryAST, FilterNode, SortNode } from '@objectstack/spec';

/**
* Command interface for executeCommand method
Expand Down Expand Up @@ -84,7 +88,7 @@ export interface FileSystemDriverConfig {
* - File: `{dataDir}/{objectName}.json`
* - Content: Array of records `[{id: "1", ...}, {id: "2", ...}]`
*/
export class FileSystemDriver implements Driver, DriverInterface {
export class FileSystemDriver implements Driver {
// Driver metadata (ObjectStack-compatible)
public readonly name = 'FileSystemDriver';
public readonly version = '4.0.0';
Expand All @@ -93,7 +97,13 @@ export class FileSystemDriver implements Driver, DriverInterface {
joins: false,
fullTextSearch: false,
jsonFields: true,
arrayFields: true
arrayFields: true,
queryFilters: true,
queryAggregations: false,
querySorting: true,
queryPagination: true,
queryWindowFunctions: false,
querySubqueries: false
};

private config: FileSystemDriverConfig;
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/localstorage/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0"
"@objectstack/spec": "^0.3.1"
},
"devDependencies": {
"@types/jest": "^29.0.0",
Expand Down
16 changes: 13 additions & 3 deletions packages/drivers/localstorage/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Suggested change
type DriverInterface = System.DriverInterface;

Copilot uses AI. Check for mistakes.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Expand Down Expand Up @@ -32,7 +37,6 @@
*/

import { Driver, ObjectQLError } from '@objectql/types';
import { DriverInterface, QueryAST, FilterNode, SortNode } from '@objectstack/spec';

/**
* Command interface for executeCommand method
Expand Down Expand Up @@ -80,7 +84,7 @@ export interface LocalStorageDriverConfig {
*
* Example: `objectql:users:user-123` → `{"id":"user-123","name":"Alice",...}`
*/
export class LocalStorageDriver implements Driver, DriverInterface {
export class LocalStorageDriver implements Driver {
// Driver metadata (ObjectStack-compatible)
public readonly name = 'LocalStorageDriver';
public readonly version = '4.0.0';
Expand All @@ -89,7 +93,13 @@ export class LocalStorageDriver implements Driver, DriverInterface {
joins: false,
fullTextSearch: false,
jsonFields: true,
arrayFields: true
arrayFields: true,
queryFilters: true,
queryAggregations: false,
querySorting: true,
queryPagination: true,
queryWindowFunctions: false,
querySubqueries: false
};

private config: LocalStorageDriverConfig;
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/memory/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0",
"@objectstack/spec": "^0.3.1",
"mingo": "^7.1.1"
},
"devDependencies": {
Expand Down
6 changes: 5 additions & 1 deletion packages/drivers/memory/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Suggested change
type DriverInterface = System.DriverInterface;

Copilot uses AI. Check for mistakes.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Expand Down Expand Up @@ -34,7 +39,6 @@
*/

import { Driver, ObjectQLError } from '@objectql/types';
import { DriverInterface, QueryAST, FilterNode, SortNode } from '@objectstack/spec';
import { Query } from 'mingo';

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/mongo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0",
"@objectstack/spec": "^0.3.1",
"mongodb": "^5.9.2"
},
"devDependencies": {
Expand Down
6 changes: 5 additions & 1 deletion packages/drivers/mongo/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Suggested change
type DriverInterface = System.DriverInterface;

Copilot uses AI. Check for mistakes.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Expand All @@ -7,7 +12,6 @@
*/

import { Driver } from '@objectql/types';
import { DriverInterface, QueryAST, FilterNode, SortNode } from '@objectstack/spec';
import { MongoClient, Db, Filter, ObjectId, FindOptions } from 'mongodb';

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/redis/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0",
"@objectstack/spec": "^0.3.1",
"redis": "^4.6.0"
},
"devDependencies": {
Expand Down
16 changes: 13 additions & 3 deletions packages/drivers/redis/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Suggested change
type DriverInterface = System.DriverInterface;

Copilot uses AI. Check for mistakes.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Expand Down Expand Up @@ -31,7 +36,6 @@
*/

import { Driver } from '@objectql/types';
import { DriverInterface, QueryAST, FilterNode, SortNode } from '@objectstack/spec';
import { createClient, RedisClientType } from 'redis';

/**
Expand Down Expand Up @@ -117,7 +121,7 @@ export interface RedisDriverConfig {
*
* Example: `users:user-123` → `{"id":"user-123","name":"Alice",...}`
*/
export class RedisDriver implements Driver, DriverInterface {
export class RedisDriver implements Driver {
// Driver metadata (ObjectStack-compatible)
public readonly name = 'RedisDriver';
public readonly version = '4.0.0';
Expand All @@ -126,7 +130,13 @@ export class RedisDriver implements Driver, DriverInterface {
joins: false,
fullTextSearch: false,
jsonFields: true,
arrayFields: true
arrayFields: true,
queryFilters: true,
queryAggregations: false,
querySorting: true,
queryPagination: true,
queryWindowFunctions: false,
querySubqueries: false
};

private client: RedisClientType;
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/sdk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0"
"@objectstack/spec": "^0.3.1"
},
"devDependencies": {
"typescript": "^5.3.0"
Expand Down
6 changes: 5 additions & 1 deletion packages/drivers/sdk/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Suggested change
type DriverInterface = System.DriverInterface;

Copilot uses AI. Check for mistakes.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Expand Down Expand Up @@ -50,7 +55,6 @@ import {
ApiErrorCode,
Filter
} from '@objectql/types';
import { DriverInterface, QueryAST } from '@objectstack/spec';

/**
* Command interface for executeCommand method
Expand Down
2 changes: 1 addition & 1 deletion packages/drivers/sql/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "^0.2.0",
"@objectstack/spec": "^0.3.1",
"knex": "^3.1.0"
},
"devDependencies": {
Expand Down
6 changes: 5 additions & 1 deletion packages/drivers/sql/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Data, System } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
type DriverInterface = System.DriverInterface;
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DriverInterface type is imported but never used. After the migration, driver classes only implement the Driver interface and no longer explicitly implement DriverInterface. This import should be removed to keep the code clean.

Suggested change
type DriverInterface = System.DriverInterface;

Copilot uses AI. Check for mistakes.
/**
* ObjectQL
* Copyright (c) 2026-present ObjectStack Inc.
Expand All @@ -7,7 +12,6 @@
*/

import { Driver, IntrospectedSchema, IntrospectedTable, IntrospectedColumn, IntrospectedForeignKey } from '@objectql/types';
import { DriverInterface, QueryAST, FilterNode, SortNode } from '@objectstack/spec';
import knex, { Knex } from 'knex';

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/foundation/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
},
"dependencies": {
"@objectql/types": "workspace:*",
"@objectstack/spec": "workspace:*",
"@objectstack/spec": "^0.3.1",
"@objectql/runtime": "workspace:*",
"js-yaml": "^4.1.0",
"openai": "^4.28.0"
Expand Down
5 changes: 4 additions & 1 deletion packages/foundation/core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ export type { ObjectStackKernel, ObjectStackRuntimeProtocol } from '@objectql/ru
// export type { ObjectQL as ObjectQLEngine, SchemaRegistry } from '@objectstack/objectql';

// Export ObjectStack spec types for driver development
export type { DriverInterface, DriverOptions, QueryAST } from '@objectstack/spec';
import { Data, System } from '@objectstack/spec';
export type QueryAST = Data.QueryAST;
export type DriverInterface = System.DriverInterface;
export type DriverOptions = System.DriverOptions;

// Export our enhanced runtime components (actual implementations)
export * from './repository';
Expand Down
3 changes: 2 additions & 1 deletion packages/foundation/core/src/query/filter-translator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
*/

import type { Filter } from '@objectql/types';
import type { FilterNode } from '@objectstack/spec';
import { Data } from '@objectstack/spec';
type FilterNode = Data.FilterNode;
import { ObjectQLError } from '@objectql/types';

/**
Expand Down
4 changes: 3 additions & 1 deletion packages/foundation/core/src/query/query-analyzer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
*/

import type { UnifiedQuery, ObjectConfig, MetadataRegistry } from '@objectql/types';
import type { QueryAST, FilterNode } from '@objectstack/spec';
import { Data } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
import { QueryService, QueryOptions } from './query-service';

/**
Expand Down
3 changes: 2 additions & 1 deletion packages/foundation/core/src/query/query-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
*/

import type { UnifiedQuery } from '@objectql/types';
import type { QueryAST } from '@objectstack/spec';
import { Data } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
import { FilterTranslator } from './filter-translator';

/**
Expand Down
3 changes: 2 additions & 1 deletion packages/foundation/core/src/query/query-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ import type {
Filter,
MetadataRegistry
} from '@objectql/types';
import type { QueryAST } from '@objectstack/spec';
import { Data } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
import { QueryBuilder } from './query-builder';

/**
Expand Down
5 changes: 4 additions & 1 deletion packages/foundation/core/src/repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@

import { ObjectQLContext, IObjectQL, ObjectConfig, Driver, UnifiedQuery, ActionContext, HookAPI, RetrievalHookContext, MutationHookContext, UpdateHookContext, ValidationContext, ValidationError, ValidationRuleResult, FormulaContext, Filter } from '@objectql/types';
Copy link

Copilot AI Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import Filter.

Suggested change
import { ObjectQLContext, IObjectQL, ObjectConfig, Driver, UnifiedQuery, ActionContext, HookAPI, RetrievalHookContext, MutationHookContext, UpdateHookContext, ValidationContext, ValidationError, ValidationRuleResult, FormulaContext, Filter } from '@objectql/types';
import { ObjectQLContext, IObjectQL, ObjectConfig, Driver, UnifiedQuery, ActionContext, HookAPI, RetrievalHookContext, MutationHookContext, UpdateHookContext, ValidationContext, ValidationError, ValidationRuleResult, FormulaContext } from '@objectql/types';

Copilot uses AI. Check for mistakes.
import type { ObjectStackKernel } from '@objectql/runtime';
import type { QueryAST, FilterNode, SortNode } from '@objectstack/spec';
import { Data } from '@objectstack/spec';
type QueryAST = Data.QueryAST;
type FilterNode = Data.FilterNode;
type SortNode = Data.SortNode;
import { Validator } from './validator';
import { FormulaEngine } from './formula-engine';
import { QueryBuilder } from './query';
Expand Down
1 change: 0 additions & 1 deletion packages/foundation/core/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"../../../node_modules/@objectstack+objectql"
],
"references": [
{ "path": "../../objectstack/spec" },
{ "path": "../../objectstack/runtime" },
{ "path": "../types" }
]
Expand Down
Loading
Loading