@objectql/core 4.0.2 → 4.0.3

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 +6 -7
  38. package/dist/plugin.js +39 -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 +51 -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
@@ -1 +1 @@
1
- {"version":3,"file":"query-service.js","sourceRoot":"","sources":["../../src/query/query-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-service.js","sourceRoot":"","sources":["../../src/query/query-service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class ObjectRepository {
11
11
  private context;
12
12
  private app;
13
13
  private queryBuilder;
14
+ private static queryCompiler;
14
15
  constructor(objectName: string, context: ObjectQLContext, app: IObjectQL);
15
16
  /**
16
17
  * Get validator instance from kernel (via plugin)
@@ -27,6 +28,7 @@ export declare class ObjectRepository {
27
28
  private getOptions;
28
29
  /**
29
30
  * Translates ObjectQL UnifiedQuery to ObjectStack QueryAST format
31
+ * Uses query compiler for caching and optimization
30
32
  */
31
33
  private buildQueryAST;
32
34
  getSchema(): ObjectConfig;
@@ -9,9 +9,10 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ObjectRepository = void 0;
11
11
  const types_1 = require("@objectql/types");
12
- const validator_1 = require("./validator");
13
- const formula_engine_1 = require("./formula-engine");
12
+ const plugin_validator_1 = require("@objectql/plugin-validator");
13
+ const plugin_formula_1 = require("@objectql/plugin-formula");
14
14
  const query_1 = require("./query");
15
+ const QueryCompiler_1 = require("./optimizations/QueryCompiler");
15
16
  class ObjectRepository {
16
17
  constructor(objectName, context, app) {
17
18
  this.objectName = objectName;
@@ -29,7 +30,7 @@ class ObjectRepository {
29
30
  return kernel.validator;
30
31
  }
31
32
  // Fallback for backward compatibility
32
- return new validator_1.Validator();
33
+ return new plugin_validator_1.Validator();
33
34
  }
34
35
  /**
35
36
  * Get formula engine instance from kernel (via plugin)
@@ -41,7 +42,7 @@ class ObjectRepository {
41
42
  return kernel.formulaEngine;
42
43
  }
43
44
  // Fallback for backward compatibility
44
- return new formula_engine_1.FormulaEngine();
45
+ return new plugin_formula_1.FormulaEngine();
45
46
  }
46
47
  getDriver() {
47
48
  const obj = this.getSchema();
@@ -59,9 +60,13 @@ class ObjectRepository {
59
60
  }
60
61
  /**
61
62
  * Translates ObjectQL UnifiedQuery to ObjectStack QueryAST format
63
+ * Uses query compiler for caching and optimization
62
64
  */
63
65
  buildQueryAST(query) {
64
- return this.queryBuilder.build(this.objectName, query);
66
+ const ast = this.queryBuilder.build(this.objectName, query);
67
+ // Use query compiler to cache and optimize the AST
68
+ const compiled = ObjectRepository.queryCompiler.compile(this.objectName, ast);
69
+ return compiled.ast;
65
70
  }
66
71
  getSchema() {
67
72
  const obj = this.app.getObject(this.objectName);
@@ -193,7 +198,6 @@ class ObjectRepository {
193
198
  record[fieldName] = null;
194
199
  // Formula evaluation should not throw here, but we need observability
195
200
  // This logging is intentionally minimal and side-effect free
196
- // eslint-disable-next-line no-console
197
201
  console.error('[ObjectQL][FormulaEngine] Formula evaluation failed', {
198
202
  objectName: this.objectName,
199
203
  fieldName,
@@ -309,7 +313,7 @@ class ObjectRepository {
309
313
  // Validate the record before creating
310
314
  await this.validateRecord('create', finalDoc);
311
315
  // Execute via kernel
312
- const result = await this.getKernel().create(this.objectName, finalDoc);
316
+ const result = await this.getKernel().create(this.objectName, finalDoc, this.getOptions());
313
317
  hookCtx.result = result;
314
318
  await this.app.triggerHook('afterCreate', this.objectName, hookCtx);
315
319
  return hookCtx.result;
@@ -332,7 +336,7 @@ class ObjectRepository {
332
336
  // Validate the update
333
337
  await this.validateRecord('update', hookCtx.data, previousData);
334
338
  // Execute via kernel
335
- const result = await this.getKernel().update(this.objectName, String(id), hookCtx.data);
339
+ const result = await this.getKernel().update(this.objectName, String(id), hookCtx.data, this.getOptions());
336
340
  hookCtx.result = result;
337
341
  await this.app.triggerHook('afterUpdate', this.objectName, hookCtx);
338
342
  return hookCtx.result;
@@ -351,7 +355,7 @@ class ObjectRepository {
351
355
  };
352
356
  await this.app.triggerHook('beforeDelete', this.objectName, hookCtx);
353
357
  // Execute via kernel
354
- const result = await this.getKernel().delete(this.objectName, String(id));
358
+ const result = await this.getKernel().delete(this.objectName, String(id), this.getOptions());
355
359
  hookCtx.result = result;
356
360
  await this.app.triggerHook('afterDelete', this.objectName, hookCtx);
357
361
  return hookCtx.result;
@@ -433,4 +437,6 @@ class ObjectRepository {
433
437
  }
434
438
  }
435
439
  exports.ObjectRepository = ObjectRepository;
440
+ // Shared query compiler for caching compiled queries
441
+ ObjectRepository.queryCompiler = new QueryCompiler_1.QueryCompiler(1000);
436
442
  //# sourceMappingURL=repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
package/jest.config.js CHANGED
@@ -11,19 +11,19 @@ module.exports = {
11
11
  testEnvironment: 'node',
12
12
  testMatch: ['**/test/**/*.test.ts'],
13
13
  moduleNameMapper: {
14
- '^@objectql/runtime$': '<rootDir>/../../objectstack/runtime/src',
15
14
  '^@objectql/(.*)$': '<rootDir>/../$1/src',
16
15
  },
17
16
  transform: {
18
- '^.+\\.ts$': ['ts-jest', {
17
+ '^.+\\.(t|j)sx?$': ['ts-jest', {
19
18
  isolatedModules: true,
20
19
  tsconfig: {
21
20
  esModuleInterop: true,
22
21
  allowSyntheticDefaultImports: true,
22
+ allowJs: true,
23
23
  }
24
24
  }],
25
25
  },
26
26
  transformIgnorePatterns: [
27
- 'node_modules/(?!(@objectstack))',
27
+ "/node_modules/(?!(@objectstack|.pnpm))"
28
28
  ],
29
29
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectql/core",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "description": "Universal runtime engine for ObjectQL - AI-native metadata-driven ORM with validation, repository pattern, and driver orchestration",
5
5
  "keywords": [
6
6
  "objectql",
@@ -18,11 +18,14 @@
18
18
  "main": "dist/index.js",
19
19
  "types": "dist/index.d.ts",
20
20
  "dependencies": {
21
- "@objectstack/spec": "^0.3.3",
21
+ "@objectstack/spec": "^0.8.0",
22
+ "@objectstack/runtime": "^0.8.0",
23
+ "@objectstack/objectql": "^0.8.0",
24
+ "@objectstack/core": "^0.8.0",
22
25
  "js-yaml": "^4.1.0",
23
- "openai": "^4.28.0",
24
- "@objectql/types": "4.0.2",
25
- "@objectql/runtime": "0.2.0"
26
+ "@objectql/types": "4.0.3",
27
+ "@objectql/plugin-formula": "4.0.3",
28
+ "@objectql/plugin-validator": "4.0.3"
26
29
  },
27
30
  "devDependencies": {
28
31
  "@types/js-yaml": "^4.0.5",
package/src/app.ts CHANGED
@@ -22,29 +22,35 @@ import {
22
22
  ActionContext,
23
23
  LoaderPlugin
24
24
  } from '@objectql/types';
25
- import { ObjectStackKernel, type RuntimePlugin } from '@objectql/runtime';
25
+ import { ObjectKernel, type Plugin } from '@objectstack/core';
26
+ import { ObjectQL as RuntimeObjectQL, SchemaRegistry } from '@objectstack/objectql';
26
27
  import { ObjectRepository } from './repository';
27
- import { ObjectQLPlugin } from './plugin';
28
28
  import { convertIntrospectedSchemaToObjects } from './util';
29
+ import { CompiledHookManager } from './optimizations/CompiledHookManager';
29
30
 
30
31
  /**
31
32
  * ObjectQL
32
33
  *
33
- * ObjectQL implementation that wraps ObjectStackKernel
34
+ * ObjectQL implementation that wraps ObjectKernel
34
35
  * to provide the plugin architecture.
35
36
  */
36
37
  export class ObjectQL implements IObjectQL {
37
38
  // Delegate to kernel for metadata, hooks, and actions
38
39
  public get metadata(): MetadataRegistry {
39
- return this.kernel.metadata;
40
+ return (this.kernel as any).metadata;
40
41
  }
41
42
 
42
43
  private datasources: Record<string, Driver> = {};
43
44
  private remotes: string[] = [];
44
45
 
45
46
  // ObjectStack Kernel Integration
46
- private kernel!: ObjectStackKernel;
47
- private kernelPlugins: RuntimePlugin[] = [];
47
+ private kernel!: ObjectKernel & Record<string, any>;
48
+ private ql: any;
49
+ private kernelPlugins: any[] = [];
50
+
51
+ // Optimized managers
52
+ private hookManager = new CompiledHookManager();
53
+ private localActions = new Map<string, any>();
48
54
 
49
55
  // Store config for lazy loading in init()
50
56
  private config: ObjectQLConfig;
@@ -57,10 +63,12 @@ export class ObjectQL implements IObjectQL {
57
63
  throw new Error("Connection strings are not supported in core directly. Use @objectql/platform-node's createDriverFromConnection or pass a driver instance to 'datasources'.");
58
64
  }
59
65
 
60
- // Add the ObjectQL plugin to provide enhanced features
61
- this.kernelPlugins.push(new ObjectQLPlugin({
62
- datasources: this.datasources
63
- }));
66
+ // Use the imported RuntimeObjectQL, assuming it works as intended
67
+ this.ql = new RuntimeObjectQL();
68
+
69
+ // Note: ObjectQLPlugin removed as it now uses RuntimePlugin interface
70
+ // which is incompatible with the legacy Plugin interface from @objectstack/core
71
+ // For new code, use the microkernel pattern with RuntimePlugin directly
64
72
 
65
73
  // Add runtime plugins from config
66
74
  if (config.plugins) {
@@ -68,13 +76,103 @@ export class ObjectQL implements IObjectQL {
68
76
  if (typeof plugin === 'string') {
69
77
  throw new Error("String plugins are not supported in core. Use @objectql/platform-node or pass plugin instance.");
70
78
  } else {
71
- this.use(plugin);
79
+ this.use(plugin as any);
72
80
  }
73
81
  }
74
82
  }
75
83
 
76
- // Create the kernel
77
- this.kernel = new ObjectStackKernel(this.kernelPlugins);
84
+ // Create the kernel with registered plugins
85
+ this.kernel = new (ObjectKernel as any)();
86
+ for (const plugin of this.kernelPlugins) {
87
+ if ((this.kernel as any).use) {
88
+ (this.kernel as any).use(plugin);
89
+ }
90
+ }
91
+
92
+ // Helper to unwrap content property (matching MetadataRegistry behavior)
93
+ const unwrapContent = (item: any) => {
94
+ if (item && item.content) {
95
+ return item.content;
96
+ }
97
+ return item;
98
+ };
99
+
100
+ // Stub legacy accessors
101
+ (this.kernel as any).metadata = {
102
+ register: (type: string, item: any) => SchemaRegistry.registerItem(type, item, item.id ? 'id' : 'name'),
103
+ get: (type: string, name: string) => {
104
+ const item = SchemaRegistry.getItem(type, name) as any;
105
+ return unwrapContent(item);
106
+ },
107
+ getEntry: (type: string, name: string) => SchemaRegistry.getItem(type, name),
108
+ list: (type: string) => {
109
+ const items = SchemaRegistry.listItems(type);
110
+ return items.map(unwrapContent);
111
+ },
112
+ unregister: (type: string, name: string) => {
113
+ // Access private static storage using any cast
114
+ const metadata = (SchemaRegistry as any).metadata;
115
+ if (metadata instanceof Map) {
116
+ const collection = metadata.get(type);
117
+ if (collection instanceof Map) {
118
+ collection.delete(name);
119
+ }
120
+ }
121
+ },
122
+ unregisterPackage: (packageName: string) => {
123
+ const metadata = (SchemaRegistry as any).metadata;
124
+ if (metadata instanceof Map) {
125
+ for (const [type, collection] of metadata.entries()) {
126
+ if (collection instanceof Map) {
127
+ for (const [key, item] of collection.entries()) {
128
+ // console.log(`[App] Check ${type} ${key} pkg=${(item as any).package}`);
129
+ if ((item as any).package === packageName) {
130
+ collection.delete(key);
131
+ }
132
+ }
133
+ }
134
+ }
135
+ } else {
136
+ console.warn('Metadata is not a Map');
137
+ }
138
+ }
139
+ };
140
+ const kernelHooks = (this.kernel as any).hooks || {};
141
+ Object.assign(kernelHooks, {
142
+ register: (event: string, objectName: string, handler: any, packageName?: string) => {
143
+ this.hookManager.registerHook(event, objectName, handler, packageName);
144
+ },
145
+ removePackage: (packageName: string) => {
146
+ this.hookManager.removePackage(packageName);
147
+ },
148
+ trigger: async (event: string, objectName: string, ctx: any) => {
149
+ await this.hookManager.runHooks(event, objectName, ctx);
150
+ }
151
+ });
152
+ if (!(this.kernel as any).hooks) {
153
+ (this.kernel as any).hooks = kernelHooks;
154
+ }
155
+ (this.kernel as any).actions = {
156
+ register: (objectName: string, actionName: string, handler: any, packageName?: string) => {
157
+ const key = `${objectName}:${actionName}`;
158
+ (handler as any)._package = packageName;
159
+ this.localActions.set(key, handler);
160
+ },
161
+ removePackage: (packageName: string) => {
162
+ for (const [key, handler] of this.localActions.entries()) {
163
+ if ((handler as any)._package === packageName) {
164
+ this.localActions.delete(key);
165
+ }
166
+ }
167
+ },
168
+ execute: async (objectName: string, actionName: string, ctx: any) => {
169
+ const handler = this.localActions.get(`${objectName}:${actionName}`);
170
+ if (handler) {
171
+ return handler(ctx);
172
+ }
173
+ throw new Error(`Action '${actionName}' on object '${objectName}' not found`);
174
+ }
175
+ };
78
176
 
79
177
  // Register initial metadata if provided
80
178
  if (config.registry) {
@@ -87,7 +185,7 @@ export class ObjectQL implements IObjectQL {
87
185
  ? (item as { name?: string; id?: string }).name || (item as { name?: string; id?: string }).id || 'unknown'
88
186
  : 'unknown';
89
187
 
90
- this.kernel.metadata.register(type, {
188
+ (this.kernel as any).metadata.register(type, {
91
189
  type,
92
190
  id: itemId,
93
191
  content: item
@@ -97,43 +195,46 @@ export class ObjectQL implements IObjectQL {
97
195
  }
98
196
  }
99
197
 
100
- use(plugin: RuntimePlugin) {
198
+ use(plugin: Plugin) {
101
199
  this.kernelPlugins.push(plugin);
200
+ if (this.kernel && (this.kernel as any).use) {
201
+ (this.kernel as any).use(plugin);
202
+ }
102
203
  }
103
204
 
104
205
  removePackage(name: string) {
105
206
  // Delegate to kernel managers
106
- this.kernel.metadata.unregisterPackage(name);
107
- this.kernel.hooks.removePackage(name);
108
- this.kernel.actions.removePackage(name);
207
+ (this.kernel as any).metadata.unregisterPackage(name);
208
+ (this.kernel as any).hooks.removePackage(name);
209
+ (this.kernel as any).actions.removePackage(name);
109
210
  }
110
211
 
111
212
  on(event: HookName, objectName: string, handler: HookHandler, packageName?: string) {
112
213
  // Delegate to kernel hook manager
113
214
  // We wrap the handler to bridge ObjectQL's rich context types with runtime's base types
114
215
  // The runtime HookContext supports all fields via index signature, so this is safe
115
- const wrappedHandler = handler as unknown as import('../../../objectstack/runtime/dist').HookHandler;
116
- this.kernel.hooks.register(event, objectName, wrappedHandler, packageName);
216
+ const wrappedHandler = handler as unknown as any;
217
+ (this.kernel as any).hooks.register(event, objectName, wrappedHandler, packageName);
117
218
  }
118
219
 
119
220
  async triggerHook(event: HookName, objectName: string, ctx: HookContext) {
120
221
  // Delegate to kernel hook manager
121
222
  // Runtime HookContext supports ObjectQL-specific fields via index signature
122
- await this.kernel.hooks.trigger(event, objectName, ctx);
223
+ await (this.kernel as any).hooks.trigger(event, objectName, ctx);
123
224
  }
124
225
 
125
226
  registerAction(objectName: string, actionName: string, handler: ActionHandler, packageName?: string) {
126
227
  // Delegate to kernel action manager
127
228
  // We wrap the handler to bridge ObjectQL's rich context types with runtime's base types
128
229
  // The runtime ActionContext supports all fields via index signature, so this is safe
129
- const wrappedHandler = handler as unknown as import('../../../objectstack/runtime/dist').ActionHandler;
130
- this.kernel.actions.register(objectName, actionName, wrappedHandler, packageName);
230
+ const wrappedHandler = handler as unknown as any;
231
+ (this.kernel as any).actions.register(objectName, actionName, wrappedHandler, packageName);
131
232
  }
132
233
 
133
234
  async executeAction(objectName: string, actionName: string, ctx: ActionContext) {
134
235
  // Delegate to kernel action manager
135
236
  // Runtime ActionContext supports ObjectQL-specific fields via index signature
136
- return await this.kernel.actions.execute(objectName, actionName, ctx);
237
+ return await (this.kernel as any).actions.execute(objectName, actionName, ctx);
137
238
  }
138
239
 
139
240
  createContext(options: ObjectQLContextOptions): ObjectQLContext {
@@ -181,15 +282,15 @@ export class ObjectQL implements IObjectQL {
181
282
  }
182
283
 
183
284
  /**
184
- * Get the underlying ObjectStackKernel instance
285
+ * Get the underlying ObjectKernel instance
185
286
  *
186
287
  * This provides access to the kernel for advanced usage scenarios
187
288
  * where you need direct access to the plugin architecture.
188
289
  *
189
- * @returns The ObjectStackKernel instance
290
+ * @returns The ObjectKernel instance
190
291
  * @throws Error if called before init()
191
292
  */
192
- getKernel(): ObjectStackKernel {
293
+ getKernel(): ObjectKernel {
193
294
  if (!this.kernel) {
194
295
  throw new Error('Kernel not initialized. Call init() first.');
195
296
  }
@@ -205,26 +306,26 @@ export class ObjectQL implements IObjectQL {
205
306
  }
206
307
  }
207
308
  }
208
- this.kernel.metadata.register('object', {
209
- type: 'object',
210
- id: object.name,
211
- content: object
212
- });
309
+ (this.kernel as any).metadata.register('object', object);
213
310
  }
214
311
 
215
312
  unregisterObject(name: string) {
216
- this.kernel.metadata.unregister('object', name);
313
+ (this.kernel as any).metadata.unregister('object', name);
217
314
  }
218
315
 
219
316
  getObject(name: string): ObjectConfig | undefined {
220
- return this.kernel.metadata.get<ObjectConfig>('object', name);
317
+ const item = (this.kernel as any).metadata.get('object', name);
318
+ return item?.content || item;
221
319
  }
222
320
 
223
321
  getConfigs(): Record<string, ObjectConfig> {
224
322
  const result: Record<string, ObjectConfig> = {};
225
- const items = this.kernel.metadata.list<ObjectConfig>('object');
323
+ const items = (this.kernel as any).metadata.list('object') || [];
226
324
  for (const item of items) {
227
- result[item.name] = item;
325
+ const config = item.content || item;
326
+ if (config?.name) {
327
+ result[config.name] = config;
328
+ }
228
329
  }
229
330
  return result;
230
331
  }
@@ -285,20 +386,41 @@ export class ObjectQL implements IObjectQL {
285
386
  }
286
387
 
287
388
  async init() {
288
- console.log('[ObjectQL] Initializing with ObjectStackKernel...');
389
+ console.log('[ObjectQL] Initializing with ObjectKernel...');
289
390
 
290
391
  // Start the kernel - this will install and start all plugins
291
- await this.kernel.start();
392
+ if ((this.kernel as any).start) {
393
+ await (this.kernel as any).start();
394
+ } else if ((this.kernel as any).bootstrap) {
395
+ await (this.kernel as any).bootstrap();
396
+ } else {
397
+ console.warn('ObjectKernel does not have start() or bootstrap() method');
398
+ }
292
399
 
293
400
  // TEMPORARY: Set driver for backward compatibility during migration
294
401
  // This allows the kernel mock to delegate to the driver
402
+ const defaultDriver = this.datasources['default'];
295
403
  if (typeof (this.kernel as any).setDriver === 'function') {
296
- const defaultDriver = this.datasources['default'];
297
404
  if (defaultDriver) {
298
405
  (this.kernel as any).setDriver(defaultDriver);
299
406
  }
300
407
  }
301
408
 
409
+ // TEMPORARY: Patch kernel with CRUD methods dynamically if missing
410
+ // This ensures the repository can delegate to the kernel even if using the new @objectstack/core kernel
411
+ if (typeof (this.kernel as any).create !== 'function' && defaultDriver) {
412
+ (this.kernel as any).create = (object: string, doc: any, options: any) => defaultDriver.create(object, doc, options);
413
+ (this.kernel as any).update = (object: string, id: any, doc: any, options: any) => defaultDriver.update(object, id, doc, options);
414
+ (this.kernel as any).delete = (object: string, id: any, options: any) => defaultDriver.delete(object, id, options);
415
+ (this.kernel as any).find = async (object: string, query: any, options: any) => {
416
+ const res = await defaultDriver.find(object, query, options);
417
+ return { value: res || [], count: (res || []).length };
418
+ };
419
+ (this.kernel as any).findOne = (object: string, id: any, options: any) => defaultDriver.findOne(object, id, options);
420
+ (this.kernel as any).get = (object: string, id: any) => defaultDriver.findOne(object, id);
421
+ (this.kernel as any).count = (object: string, query: any, options: any) => defaultDriver.count(object, query, options);
422
+ }
423
+
302
424
  // Load In-Memory Objects (Dynamic Layer)
303
425
  if (this.config.objects) {
304
426
  for (const [key, obj] of Object.entries(this.config.objects)) {
@@ -306,7 +428,8 @@ export class ObjectQL implements IObjectQL {
306
428
  }
307
429
  }
308
430
 
309
- const objects = this.kernel.metadata.list<ObjectConfig>('object');
431
+ const registryItems = (this.kernel as any).metadata.list('object');
432
+ const objects = (registryItems || []).map((item: any) => item.content || item) as ObjectConfig[];
310
433
 
311
434
  // Init Datasources
312
435
  // Let's pass all objects to all configured drivers.
@@ -324,7 +447,7 @@ export class ObjectQL implements IObjectQL {
324
447
  }
325
448
 
326
449
  private async processInitialData() {
327
- const dataEntries = this.kernel.metadata.list<any>('data');
450
+ const dataEntries = (this.kernel as any).metadata.list('data');
328
451
  if (dataEntries.length === 0) return;
329
452
 
330
453
  console.log(`Processing ${dataEntries.length} initial data files...`);
@@ -333,17 +456,20 @@ export class ObjectQL implements IObjectQL {
333
456
  const ctx = this.createContext({ isSystem: true });
334
457
 
335
458
  for (const entry of dataEntries) {
459
+ // Unwrapping metadata content if present
460
+ const dataContent = (entry as any).content || entry;
461
+
336
462
  // Expected format:
337
463
  // 1. { object: 'User', records: [...] }
338
464
  // 2. [ record1, record2 ] (with name property added by loader inferred from filename)
339
465
 
340
- let objectName = entry.object;
341
- let records = entry.records;
466
+ let objectName = dataContent.object;
467
+ let records = dataContent.records;
342
468
 
343
- if (Array.isArray(entry)) {
344
- records = entry;
345
- if (!objectName && (entry as any).name) {
346
- objectName = (entry as any).name;
469
+ if (Array.isArray(dataContent)) {
470
+ records = dataContent;
471
+ if (!objectName && (dataContent as any).name) {
472
+ objectName = (dataContent as any).name;
347
473
  }
348
474
  }
349
475