@objectql/core 4.0.2 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/CHANGELOG.md +18 -0
  3. package/README.md +4 -4
  4. package/dist/app.d.ts +9 -6
  5. package/dist/app.js +151 -29
  6. package/dist/app.js.map +1 -1
  7. package/dist/index.d.ts +6 -9
  8. package/dist/index.js +2 -5
  9. package/dist/index.js.map +1 -1
  10. package/dist/optimizations/CompiledHookManager.d.ts +55 -0
  11. package/dist/optimizations/CompiledHookManager.js +164 -0
  12. package/dist/optimizations/CompiledHookManager.js.map +1 -0
  13. package/dist/optimizations/DependencyGraph.d.ts +82 -0
  14. package/dist/optimizations/DependencyGraph.js +211 -0
  15. package/dist/optimizations/DependencyGraph.js.map +1 -0
  16. package/dist/optimizations/GlobalConnectionPool.d.ts +89 -0
  17. package/dist/optimizations/GlobalConnectionPool.js +193 -0
  18. package/dist/optimizations/GlobalConnectionPool.js.map +1 -0
  19. package/dist/optimizations/LazyMetadataLoader.d.ts +75 -0
  20. package/dist/optimizations/LazyMetadataLoader.js +149 -0
  21. package/dist/optimizations/LazyMetadataLoader.js.map +1 -0
  22. package/dist/optimizations/OptimizedMetadataRegistry.d.ts +26 -0
  23. package/dist/optimizations/OptimizedMetadataRegistry.js +117 -0
  24. package/dist/optimizations/OptimizedMetadataRegistry.js.map +1 -0
  25. package/dist/optimizations/OptimizedValidationEngine.d.ts +73 -0
  26. package/dist/optimizations/OptimizedValidationEngine.js +141 -0
  27. package/dist/optimizations/OptimizedValidationEngine.js.map +1 -0
  28. package/dist/optimizations/QueryCompiler.d.ts +51 -0
  29. package/dist/optimizations/QueryCompiler.js +216 -0
  30. package/dist/optimizations/QueryCompiler.js.map +1 -0
  31. package/dist/optimizations/SQLQueryOptimizer.d.ts +96 -0
  32. package/dist/optimizations/SQLQueryOptimizer.js +265 -0
  33. package/dist/optimizations/SQLQueryOptimizer.js.map +1 -0
  34. package/dist/optimizations/index.d.ts +32 -0
  35. package/dist/optimizations/index.js +44 -0
  36. package/dist/optimizations/index.js.map +1 -0
  37. package/dist/plugin.d.ts +8 -7
  38. package/dist/plugin.js +57 -22
  39. package/dist/plugin.js.map +1 -1
  40. package/dist/query/query-analyzer.js.map +1 -1
  41. package/dist/query/query-builder.d.ts +6 -1
  42. package/dist/query/query-builder.js +21 -5
  43. package/dist/query/query-builder.js.map +1 -1
  44. package/dist/query/query-service.js.map +1 -1
  45. package/dist/repository.d.ts +2 -0
  46. package/dist/repository.js +15 -9
  47. package/dist/repository.js.map +1 -1
  48. package/jest.config.js +3 -3
  49. package/package.json +8 -5
  50. package/src/app.ts +173 -47
  51. package/src/index.ts +8 -9
  52. package/src/optimizations/CompiledHookManager.ts +185 -0
  53. package/src/optimizations/DependencyGraph.ts +255 -0
  54. package/src/optimizations/GlobalConnectionPool.ts +251 -0
  55. package/src/optimizations/LazyMetadataLoader.ts +180 -0
  56. package/src/optimizations/OptimizedMetadataRegistry.ts +132 -0
  57. package/src/optimizations/OptimizedValidationEngine.ts +172 -0
  58. package/src/optimizations/QueryCompiler.ts +242 -0
  59. package/src/optimizations/SQLQueryOptimizer.ts +329 -0
  60. package/src/optimizations/index.ts +34 -0
  61. package/src/plugin.ts +71 -28
  62. package/src/query/query-analyzer.ts +1 -1
  63. package/src/query/query-builder.ts +21 -7
  64. package/src/query/query-service.ts +1 -1
  65. package/src/repository.ts +25 -13
  66. package/test/__mocks__/@objectstack/runtime.ts +8 -8
  67. package/test/app.test.ts +9 -7
  68. package/test/optimizations.test.ts +440 -0
  69. package/test/plugin-integration.test.ts +30 -19
  70. package/tsconfig.json +4 -6
  71. package/tsconfig.tsbuildinfo +1 -1
  72. package/dist/ai-agent.d.ts +0 -176
  73. package/dist/ai-agent.js +0 -722
  74. package/dist/ai-agent.js.map +0 -1
  75. package/dist/formula-engine.d.ts +0 -102
  76. package/dist/formula-engine.js +0 -433
  77. package/dist/formula-engine.js.map +0 -1
  78. package/dist/formula-plugin.d.ts +0 -52
  79. package/dist/formula-plugin.js +0 -107
  80. package/dist/formula-plugin.js.map +0 -1
  81. package/dist/validator-plugin.d.ts +0 -56
  82. package/dist/validator-plugin.js +0 -106
  83. package/dist/validator-plugin.js.map +0 -1
  84. package/dist/validator.d.ts +0 -80
  85. package/dist/validator.js +0 -625
  86. package/dist/validator.js.map +0 -1
  87. package/src/ai-agent.ts +0 -868
  88. package/src/formula-engine.ts +0 -572
  89. package/src/formula-plugin.ts +0 -141
  90. package/src/validator-plugin.ts +0 -140
  91. package/src/validator.ts +0 -743
  92. package/test/formula-engine.test.ts +0 -725
  93. package/test/formula-integration.test.ts +0 -286
  94. package/test/formula-plugin.test.ts +0 -197
  95. package/test/formula-spec-compliance.test.ts +0 -258
  96. package/test/validation-spec-compliance.test.ts +0 -440
  97. package/test/validator-plugin.test.ts +0 -126
  98. package/test/validator.test.ts +0 -440
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ /**
3
+ * ObjectQL
4
+ * Copyright (c) 2026-present ObjectStack Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SQLQueryOptimizer = void 0;
11
+ /**
12
+ * SQL Query Optimizer
13
+ *
14
+ * Improvement: SQL-aware optimization with index hints and join reordering.
15
+ * Analyzes query patterns and schema to generate optimal SQL.
16
+ *
17
+ * Expected: 2-5x faster queries on large datasets
18
+ */
19
+ class SQLQueryOptimizer {
20
+ constructor() {
21
+ this.schemas = new Map();
22
+ }
23
+ /**
24
+ * Register a schema with index information
25
+ */
26
+ registerSchema(schema) {
27
+ this.schemas.set(schema.name, schema);
28
+ }
29
+ /**
30
+ * Check if a field has an index
31
+ */
32
+ hasIndex(objectName, fieldName) {
33
+ const schema = this.schemas.get(objectName);
34
+ if (!schema || !schema.indexes)
35
+ return false;
36
+ return schema.indexes.some(index => index.fields.includes(fieldName));
37
+ }
38
+ /**
39
+ * Get the best index for given filter fields
40
+ */
41
+ getBestIndex(objectName, filterFields) {
42
+ const schema = this.schemas.get(objectName);
43
+ if (!schema || !schema.indexes)
44
+ return null;
45
+ // Find indexes that cover the filter fields
46
+ const candidateIndexes = schema.indexes.filter(index => {
47
+ // Check if index covers any of the filter fields
48
+ return filterFields.some(field => index.fields.includes(field));
49
+ });
50
+ if (candidateIndexes.length === 0)
51
+ return null;
52
+ // Prefer indexes that match more filter fields
53
+ candidateIndexes.sort((a, b) => {
54
+ const aMatches = a.fields.filter(f => filterFields.includes(f)).length;
55
+ const bMatches = b.fields.filter(f => filterFields.includes(f)).length;
56
+ return bMatches - aMatches;
57
+ });
58
+ return candidateIndexes[0];
59
+ }
60
+ /**
61
+ * Extract filter fields from filter conditions
62
+ */
63
+ extractFilterFields(filters) {
64
+ const fields = [];
65
+ const extract = (obj) => {
66
+ if (!obj || typeof obj !== 'object')
67
+ return;
68
+ for (const key of Object.keys(obj)) {
69
+ if (!key.startsWith('$')) {
70
+ fields.push(key);
71
+ }
72
+ if (typeof obj[key] === 'object') {
73
+ extract(obj[key]);
74
+ }
75
+ }
76
+ };
77
+ extract(filters);
78
+ return [...new Set(fields)]; // Remove duplicates
79
+ }
80
+ /**
81
+ * Optimize join type based on query characteristics
82
+ *
83
+ * Note: This method expects filter fields in one of two formats:
84
+ * 1. Table-prefixed: "tableName.fieldName" (e.g., "accounts.type")
85
+ * 2. Simple field name: "fieldName" (checked against joined table schema)
86
+ *
87
+ * Multi-level qualification (e.g., "schema.table.field") is not currently supported.
88
+ */
89
+ optimizeJoinType(join, ast) {
90
+ // If we're filtering on the joined table, we can use INNER JOIN
91
+ if (ast.filters) {
92
+ const filterFields = this.extractFilterFields(ast.filters);
93
+ // Check if any filter field references the joined table
94
+ const hasFilterOnJoinTable = filterFields.some(field => {
95
+ // Handle table-prefixed fields like "accounts.type"
96
+ if (field.includes('.')) {
97
+ const parts = field.split('.');
98
+ // Only consider the first part as table name for simplicity
99
+ // This assumes format: "table.field" not "schema.table.field"
100
+ if (parts.length === 2 && parts[0] === join.table) {
101
+ return true;
102
+ }
103
+ // If more than 2 parts or table doesn't match, skip this field
104
+ return false;
105
+ }
106
+ // Also check if the field exists in the joined table schema (non-prefixed)
107
+ const schema = this.schemas.get(join.table);
108
+ if (schema) {
109
+ return schema.fields[field] !== undefined;
110
+ }
111
+ return false;
112
+ });
113
+ if (hasFilterOnJoinTable) {
114
+ return 'inner'; // Convert LEFT to INNER for better performance
115
+ }
116
+ }
117
+ return join.type;
118
+ }
119
+ /**
120
+ * Optimize a query AST to SQL
121
+ */
122
+ optimize(ast) {
123
+ const schema = this.schemas.get(ast.object);
124
+ if (!schema) {
125
+ // Fallback to basic SQL generation
126
+ return this.generateBasicSQL(ast);
127
+ }
128
+ let sql = 'SELECT ';
129
+ // Fields
130
+ if (ast.fields && ast.fields.length > 0) {
131
+ sql += ast.fields.join(', ');
132
+ }
133
+ else {
134
+ sql += '*';
135
+ }
136
+ sql += ` FROM ${ast.object}`;
137
+ // Index hints
138
+ if (ast.filters) {
139
+ const filterFields = this.extractFilterFields(ast.filters);
140
+ const bestIndex = this.getBestIndex(ast.object, filterFields);
141
+ if (bestIndex) {
142
+ // Add index hint for MySQL/MariaDB
143
+ sql += ` USE INDEX (${bestIndex.name})`;
144
+ }
145
+ }
146
+ // Optimized joins
147
+ if (ast.joins && ast.joins.length > 0) {
148
+ for (const join of ast.joins) {
149
+ const optimizedType = this.optimizeJoinType(join, ast);
150
+ sql += ` ${optimizedType.toUpperCase()} JOIN ${join.table}`;
151
+ // Simplified join condition
152
+ if (typeof join.on === 'string') {
153
+ sql += ` ON ${join.on}`;
154
+ }
155
+ }
156
+ }
157
+ // WHERE clause
158
+ if (ast.filters) {
159
+ sql += ' WHERE ' + this.filtersToSQL(ast.filters);
160
+ }
161
+ // ORDER BY
162
+ if (ast.sort && ast.sort.length > 0) {
163
+ sql += ' ORDER BY ';
164
+ sql += ast.sort.map(s => `${s.field} ${s.order.toUpperCase()}`).join(', ');
165
+ }
166
+ // LIMIT and OFFSET
167
+ if (ast.limit !== undefined) {
168
+ sql += ` LIMIT ${ast.limit}`;
169
+ }
170
+ if (ast.offset !== undefined) {
171
+ sql += ` OFFSET ${ast.offset}`;
172
+ }
173
+ return sql;
174
+ }
175
+ /**
176
+ * Convert filter object to SQL WHERE clause
177
+ */
178
+ filtersToSQL(filters) {
179
+ if (typeof filters === 'string') {
180
+ return filters;
181
+ }
182
+ // Simplified filter conversion
183
+ const conditions = [];
184
+ for (const [key, value] of Object.entries(filters)) {
185
+ if (key === '$and') {
186
+ const subconditions = value.map(f => this.filtersToSQL(f));
187
+ conditions.push(`(${subconditions.join(' AND ')})`);
188
+ }
189
+ else if (key === '$or') {
190
+ const subconditions = value.map(f => this.filtersToSQL(f));
191
+ conditions.push(`(${subconditions.join(' OR ')})`);
192
+ }
193
+ else if (!key.startsWith('$')) {
194
+ // Field condition
195
+ if (typeof value === 'object' && value !== null) {
196
+ for (const [op, val] of Object.entries(value)) {
197
+ switch (op) {
198
+ case '$eq':
199
+ conditions.push(`${key} = '${val}'`);
200
+ break;
201
+ case '$ne':
202
+ conditions.push(`${key} != '${val}'`);
203
+ break;
204
+ case '$gt':
205
+ conditions.push(`${key} > '${val}'`);
206
+ break;
207
+ case '$gte':
208
+ conditions.push(`${key} >= '${val}'`);
209
+ break;
210
+ case '$lt':
211
+ conditions.push(`${key} < '${val}'`);
212
+ break;
213
+ case '$lte':
214
+ conditions.push(`${key} <= '${val}'`);
215
+ break;
216
+ case '$in':
217
+ const inValues = val.map(v => `'${v}'`).join(', ');
218
+ conditions.push(`${key} IN (${inValues})`);
219
+ break;
220
+ }
221
+ }
222
+ }
223
+ else {
224
+ conditions.push(`${key} = '${value}'`);
225
+ }
226
+ }
227
+ }
228
+ return conditions.join(' AND ');
229
+ }
230
+ /**
231
+ * Fallback: generate basic SQL without optimizations
232
+ */
233
+ generateBasicSQL(ast) {
234
+ let sql = 'SELECT ';
235
+ if (ast.fields && ast.fields.length > 0) {
236
+ sql += ast.fields.join(', ');
237
+ }
238
+ else {
239
+ sql += '*';
240
+ }
241
+ sql += ` FROM ${ast.object}`;
242
+ if (ast.filters) {
243
+ sql += ' WHERE ' + this.filtersToSQL(ast.filters);
244
+ }
245
+ if (ast.sort && ast.sort.length > 0) {
246
+ sql += ' ORDER BY ';
247
+ sql += ast.sort.map(s => `${s.field} ${s.order.toUpperCase()}`).join(', ');
248
+ }
249
+ if (ast.limit !== undefined) {
250
+ sql += ` LIMIT ${ast.limit}`;
251
+ }
252
+ if (ast.offset !== undefined) {
253
+ sql += ` OFFSET ${ast.offset}`;
254
+ }
255
+ return sql;
256
+ }
257
+ /**
258
+ * Clear all registered schemas
259
+ */
260
+ clearSchemas() {
261
+ this.schemas.clear();
262
+ }
263
+ }
264
+ exports.SQLQueryOptimizer = SQLQueryOptimizer;
265
+ //# sourceMappingURL=SQLQueryOptimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLQueryOptimizer.js","sourceRoot":"","sources":["../../src/optimizations/SQLQueryOptimizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ObjectQL
3
+ * Copyright (c) 2026-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ /**
9
+ * Kernel Optimizations Module
10
+ *
11
+ * This module contains 10 key optimizations for the ObjectQL kernel:
12
+ *
13
+ * 1. OptimizedMetadataRegistry - O(k) package uninstall with secondary indexes
14
+ * 2. QueryCompiler - LRU cache for compiled query plans
15
+ * 3. CompiledHookManager - Pre-compiled hook pipelines
16
+ * 4. GlobalConnectionPool - Kernel-level connection pooling
17
+ * 5. OptimizedValidationEngine - Compiled validation rules
18
+ * 6. LazyMetadataLoader - On-demand metadata loading with predictive preload
19
+ * 7. DependencyGraph - DAG-based dependency resolution
20
+ * 8. SQLQueryOptimizer - SQL-aware query optimization with index hints
21
+ *
22
+ * Note: TypeScript type generation optimization (#7) and memory-mapped storage (#10)
23
+ * are not included in this release for compatibility and complexity reasons.
24
+ */
25
+ export { OptimizedMetadataRegistry } from './OptimizedMetadataRegistry';
26
+ export { QueryCompiler, type CompiledQuery } from './QueryCompiler';
27
+ export { CompiledHookManager, type Hook } from './CompiledHookManager';
28
+ export { GlobalConnectionPool, type Connection, type PoolLimits } from './GlobalConnectionPool';
29
+ export { OptimizedValidationEngine, type ValidatorFunction, type ValidationSchema } from './OptimizedValidationEngine';
30
+ export { LazyMetadataLoader, type ObjectMetadata, type MetadataLoader } from './LazyMetadataLoader';
31
+ export { DependencyGraph, type DependencyEdge, type DependencyType } from './DependencyGraph';
32
+ export { SQLQueryOptimizer, type IndexMetadata, type SchemaWithIndexes, type OptimizableQueryAST } from './SQLQueryOptimizer';
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * ObjectQL
4
+ * Copyright (c) 2026-present ObjectStack Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SQLQueryOptimizer = exports.DependencyGraph = exports.LazyMetadataLoader = exports.OptimizedValidationEngine = exports.GlobalConnectionPool = exports.CompiledHookManager = exports.QueryCompiler = exports.OptimizedMetadataRegistry = void 0;
11
+ /**
12
+ * Kernel Optimizations Module
13
+ *
14
+ * This module contains 10 key optimizations for the ObjectQL kernel:
15
+ *
16
+ * 1. OptimizedMetadataRegistry - O(k) package uninstall with secondary indexes
17
+ * 2. QueryCompiler - LRU cache for compiled query plans
18
+ * 3. CompiledHookManager - Pre-compiled hook pipelines
19
+ * 4. GlobalConnectionPool - Kernel-level connection pooling
20
+ * 5. OptimizedValidationEngine - Compiled validation rules
21
+ * 6. LazyMetadataLoader - On-demand metadata loading with predictive preload
22
+ * 7. DependencyGraph - DAG-based dependency resolution
23
+ * 8. SQLQueryOptimizer - SQL-aware query optimization with index hints
24
+ *
25
+ * Note: TypeScript type generation optimization (#7) and memory-mapped storage (#10)
26
+ * are not included in this release for compatibility and complexity reasons.
27
+ */
28
+ var OptimizedMetadataRegistry_1 = require("./OptimizedMetadataRegistry");
29
+ Object.defineProperty(exports, "OptimizedMetadataRegistry", { enumerable: true, get: function () { return OptimizedMetadataRegistry_1.OptimizedMetadataRegistry; } });
30
+ var QueryCompiler_1 = require("./QueryCompiler");
31
+ Object.defineProperty(exports, "QueryCompiler", { enumerable: true, get: function () { return QueryCompiler_1.QueryCompiler; } });
32
+ var CompiledHookManager_1 = require("./CompiledHookManager");
33
+ Object.defineProperty(exports, "CompiledHookManager", { enumerable: true, get: function () { return CompiledHookManager_1.CompiledHookManager; } });
34
+ var GlobalConnectionPool_1 = require("./GlobalConnectionPool");
35
+ Object.defineProperty(exports, "GlobalConnectionPool", { enumerable: true, get: function () { return GlobalConnectionPool_1.GlobalConnectionPool; } });
36
+ var OptimizedValidationEngine_1 = require("./OptimizedValidationEngine");
37
+ Object.defineProperty(exports, "OptimizedValidationEngine", { enumerable: true, get: function () { return OptimizedValidationEngine_1.OptimizedValidationEngine; } });
38
+ var LazyMetadataLoader_1 = require("./LazyMetadataLoader");
39
+ Object.defineProperty(exports, "LazyMetadataLoader", { enumerable: true, get: function () { return LazyMetadataLoader_1.LazyMetadataLoader; } });
40
+ var DependencyGraph_1 = require("./DependencyGraph");
41
+ Object.defineProperty(exports, "DependencyGraph", { enumerable: true, get: function () { return DependencyGraph_1.DependencyGraph; } });
42
+ var SQLQueryOptimizer_1 = require("./SQLQueryOptimizer");
43
+ Object.defineProperty(exports, "SQLQueryOptimizer", { enumerable: true, get: function () { return SQLQueryOptimizer_1.SQLQueryOptimizer; } });
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/optimizations/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,iDAAoE;AAA3D,8GAAA,aAAa,OAAA;AACtB,6DAAuE;AAA9D,0HAAA,mBAAmB,OAAA;AAC5B,+DAAgG;AAAvF,4HAAA,oBAAoB,OAAA;AAC7B,yEAAuH;AAA9G,sIAAA,yBAAyB,OAAA;AAClC,2DAAoG;AAA3F,wHAAA,kBAAkB,OAAA;AAC3B,qDAA8F;AAArF,kHAAA,eAAe,OAAA;AACxB,yDAA8H;AAArH,sHAAA,iBAAiB,OAAA"}
package/dist/plugin.d.ts CHANGED
@@ -5,9 +5,9 @@
5
5
  * This source code is licensed under the MIT license found in the
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
- import type { RuntimePlugin, RuntimeContext } from '@objectql/runtime';
9
- import { ValidatorPluginConfig } from './validator-plugin';
10
- import { FormulaPluginConfig } from './formula-plugin';
8
+ import type { RuntimePlugin, RuntimeContext } from '@objectql/types';
9
+ import { ValidatorPluginConfig } from '@objectql/plugin-validator';
10
+ import { FormulaPluginConfig } from '@objectql/plugin-formula';
11
11
  import type { Driver } from '@objectql/types';
12
12
  /**
13
13
  * Configuration for the ObjectQL Plugin
@@ -57,15 +57,14 @@ export interface ObjectQLPluginConfig {
57
57
  /**
58
58
  * ObjectQL Plugin
59
59
  *
60
- * Implements the RuntimePlugin interface from @objectql/runtime
61
- * to provide ObjectQL's enhanced features (Repository, Validator, Formula, AI)
62
- * on top of the ObjectStack kernel.
60
+ * Implements the RuntimePlugin interface to provide ObjectQL's enhanced features
61
+ * (Repository, Validator, Formula, AI) on top of the microkernel.
63
62
  */
64
63
  export declare class ObjectQLPlugin implements RuntimePlugin {
65
64
  private config;
66
65
  name: string;
67
66
  version: string;
68
- constructor(config?: ObjectQLPluginConfig);
67
+ constructor(config?: ObjectQLPluginConfig, ql?: any);
69
68
  /**
70
69
  * Install the plugin into the kernel
71
70
  * This is called during kernel initialization
@@ -76,6 +75,8 @@ export declare class ObjectQLPlugin implements RuntimePlugin {
76
75
  * This is the initialization phase
77
76
  */
78
77
  onStart(ctx: RuntimeContext): Promise<void>;
78
+ init(kernel: any): Promise<void>;
79
+ start(kernel: any): Promise<void>;
79
80
  /**
80
81
  * Register the Repository pattern
81
82
  * @private
package/dist/plugin.js CHANGED
@@ -8,22 +8,21 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ObjectQLPlugin = void 0;
11
- const validator_plugin_1 = require("./validator-plugin");
12
- const formula_plugin_1 = require("./formula-plugin");
11
+ const plugin_validator_1 = require("@objectql/plugin-validator");
12
+ const plugin_formula_1 = require("@objectql/plugin-formula");
13
13
  const query_service_1 = require("./query/query-service");
14
14
  const query_analyzer_1 = require("./query/query-analyzer");
15
15
  /**
16
16
  * ObjectQL Plugin
17
17
  *
18
- * Implements the RuntimePlugin interface from @objectql/runtime
19
- * to provide ObjectQL's enhanced features (Repository, Validator, Formula, AI)
20
- * on top of the ObjectStack kernel.
18
+ * Implements the RuntimePlugin interface to provide ObjectQL's enhanced features
19
+ * (Repository, Validator, Formula, AI) on top of the microkernel.
21
20
  */
22
21
  class ObjectQLPlugin {
23
- constructor(config = {}) {
22
+ constructor(config = {}, ql) {
24
23
  this.config = config;
25
24
  this.name = '@objectql/core';
26
- this.version = '4.0.0';
25
+ this.version = '4.0.2';
27
26
  // Set defaults
28
27
  this.config = {
29
28
  enableRepository: true,
@@ -39,32 +38,51 @@ class ObjectQLPlugin {
39
38
  * This is called during kernel initialization
40
39
  */
41
40
  async install(ctx) {
41
+ var _a, _b, _c;
42
42
  console.log(`[${this.name}] Installing plugin...`);
43
43
  const kernel = ctx.engine;
44
+ // Get datasources - either from config or from kernel drivers
45
+ let datasources = this.config.datasources;
46
+ if (!datasources) {
47
+ // Try to get drivers from kernel (micro-kernel pattern)
48
+ const drivers = (_a = kernel.getAllDrivers) === null || _a === void 0 ? void 0 : _a.call(kernel);
49
+ if (drivers && drivers.length > 0) {
50
+ datasources = {};
51
+ drivers.forEach((driver, index) => {
52
+ // Use driver name if available, otherwise use 'default' for first driver
53
+ const driverName = driver.name || (index === 0 ? 'default' : `driver_${index + 1}`);
54
+ datasources[driverName] = driver;
55
+ });
56
+ console.log(`[${this.name}] Using drivers from kernel:`, Object.keys(datasources));
57
+ }
58
+ else {
59
+ console.warn(`[${this.name}] No datasources configured and no drivers found in kernel. Repository and QueryService will not be available.`);
60
+ }
61
+ }
44
62
  // Register QueryService and QueryAnalyzer if enabled
45
- if (this.config.enableQueryService !== false && this.config.datasources) {
46
- const queryService = new query_service_1.QueryService(this.config.datasources, kernel.metadata);
63
+ if (this.config.enableQueryService !== false && datasources) {
64
+ const queryService = new query_service_1.QueryService(datasources, kernel.metadata);
47
65
  kernel.queryService = queryService;
48
66
  const queryAnalyzer = new query_analyzer_1.QueryAnalyzer(queryService, kernel.metadata);
49
67
  kernel.queryAnalyzer = queryAnalyzer;
50
68
  console.log(`[${this.name}] QueryService and QueryAnalyzer registered`);
51
69
  }
52
70
  // Register components based on configuration
53
- if (this.config.enableRepository !== false) {
54
- await this.registerRepository(ctx.engine);
71
+ if (this.config.enableRepository !== false && datasources) {
72
+ await this.registerRepository(kernel, datasources);
55
73
  }
56
74
  // Install validator plugin if enabled
57
75
  if (this.config.enableValidator !== false) {
58
- const validatorPlugin = new validator_plugin_1.ValidatorPlugin(this.config.validatorConfig || {});
59
- await validatorPlugin.install(ctx);
76
+ const validatorPlugin = new plugin_validator_1.ValidatorPlugin(this.config.validatorConfig || {});
77
+ await ((_b = validatorPlugin.install) === null || _b === void 0 ? void 0 : _b.call(validatorPlugin, ctx));
60
78
  }
61
79
  // Install formula plugin if enabled
62
80
  if (this.config.enableFormulas !== false) {
63
- const formulaPlugin = new formula_plugin_1.FormulaPlugin(this.config.formulaConfig || {});
64
- await formulaPlugin.install(ctx);
81
+ const formulaPlugin = new plugin_formula_1.FormulaPlugin(this.config.formulaConfig || {});
82
+ await ((_c = formulaPlugin.install) === null || _c === void 0 ? void 0 : _c.call(formulaPlugin, ctx));
65
83
  }
66
84
  if (this.config.enableAI !== false) {
67
- await this.registerAI(ctx.engine);
85
+ await this.registerAI(kernel);
68
86
  }
69
87
  console.log(`[${this.name}] Plugin installed successfully`);
70
88
  }
@@ -76,16 +94,29 @@ class ObjectQLPlugin {
76
94
  console.log(`[${this.name}] Starting plugin...`);
77
95
  // Additional startup logic can be added here
78
96
  }
97
+ // --- Adapter for @objectstack/core compatibility ---
98
+ async init(kernel) {
99
+ // The new core passes the kernel instance directly
100
+ // We wrap it to match the old RuntimeContext interface
101
+ const ctx = {
102
+ engine: kernel,
103
+ getKernel: () => kernel
104
+ };
105
+ return this.install(ctx);
106
+ }
107
+ async start(kernel) {
108
+ const ctx = {
109
+ engine: kernel,
110
+ getKernel: () => kernel
111
+ };
112
+ return this.onStart(ctx);
113
+ }
114
+ // ---------------------------------------------------
79
115
  /**
80
116
  * Register the Repository pattern
81
117
  * @private
82
118
  */
83
- async registerRepository(kernel) {
84
- if (!this.config.datasources) {
85
- console.log(`[${this.name}] No datasources configured, skipping repository registration`);
86
- return;
87
- }
88
- const datasources = this.config.datasources;
119
+ async registerRepository(kernel, datasources) {
89
120
  // Helper function to get the driver for an object
90
121
  const getDriver = (objectName) => {
91
122
  const objectConfig = kernel.metadata.get('object', objectName);
@@ -120,6 +151,10 @@ class ObjectQLPlugin {
120
151
  const driver = getDriver(objectName);
121
152
  return await driver.findOne(objectName, id);
122
153
  };
154
+ kernel.count = async (objectName, filters) => {
155
+ const driver = getDriver(objectName);
156
+ return await driver.count(objectName, filters || {}, {});
157
+ };
123
158
  console.log(`[${this.name}] Repository pattern registered`);
124
159
  }
125
160
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-analyzer.js","sourceRoot":"","sources":["../../src/query/query-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-analyzer.js","sourceRoot":"","sources":["../../src/query/query-analyzer.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,12 @@
7
7
  */
8
8
  import type { UnifiedQuery } from '@objectql/types';
9
9
  import { Data } from '@objectstack/spec';
10
- type QueryAST = Data.QueryAST;
10
+ interface QueryAST extends Data.QueryAST {
11
+ top?: number;
12
+ expand?: Record<string, any>;
13
+ aggregations?: any[];
14
+ having?: any;
15
+ }
11
16
  /**
12
17
  * Query Builder
13
18
  *