@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,4 @@
1
+
2
+ > @objectql/core@4.0.4 build /home/runner/work/objectql/objectql/packages/foundation/core
3
+ > tsc
4
+
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @objectql/core
2
2
 
3
+ ## 4.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - **Patch Release v4.0.3**
8
+
9
+ This patch release includes infrastructure improvements and development experience enhancements:
10
+ - Refactored dev server setup for improved configuration handling
11
+ - Enhanced example scripts and development workflow
12
+ - Updated build and test infrastructure
13
+ - Improved documentation and developer tools
14
+ - Bug fixes and stability improvements
15
+
16
+ - Updated dependencies
17
+ - @objectql/plugin-formula@4.0.3
18
+ - @objectql/plugin-validator@4.0.3
19
+ - @objectql/types@4.0.3
20
+
3
21
  ## 4.0.2
4
22
 
5
23
  ### Patch Changes
package/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  > **Implementation Status**: ✅ **Production Ready** - All core features fully implemented and tested. See [Implementation Status](https://github.com/objectstack-ai/objectql/blob/main/IMPLEMENTATION_STATUS.md) for complete details.
4
4
 
5
- The core ORM and runtime engine for ObjectQL. This package handles object querying, CRUD operations, database driver coordination, transaction management, and **metadata-driven validation**. As of version 4.0.0, it wraps the **ObjectStackKernel** for plugin architecture and lifecycle management.
5
+ The core ORM and runtime engine for ObjectQL. This package handles object querying, CRUD operations, database driver coordination, transaction management, and **metadata-driven validation**. As of version 4.0.0, it wraps the **ObjectKernel** for plugin architecture and lifecycle management.
6
6
 
7
7
  ## Features
8
8
 
9
- - ✅ **Plugin Architecture**: Built on top of `@objectql/runtime` with kernel-based plugin system
9
+ - ✅ **Plugin Architecture**: Built on top of `@objectstack/runtime` with kernel-based plugin system
10
10
  - ✅ **Unified Query Language**: A generic way to query data across different databases (SQL, Mongo, etc.)
11
11
  - ✅ **Repository Pattern**: `ObjectRepository` for managing object records
12
12
  - ✅ **Driver Agnostic**: Abstraction layer for database drivers
@@ -19,12 +19,12 @@ The core ORM and runtime engine for ObjectQL. This package handles object queryi
19
19
  ## Installation
20
20
 
21
21
  ```bash
22
- npm install @objectql/core @objectql/types @objectql/runtime @objectstack/spec
22
+ npm install @objectql/core @objectql/types @objectstack/runtime @objectstack/spec
23
23
  ```
24
24
 
25
25
  ## Architecture
26
26
 
27
- ObjectQL now wraps the `ObjectStackKernel` from `@objectql/runtime`, providing:
27
+ ObjectQL now wraps the `ObjectKernel` from `@objectstack/runtime`, providing:
28
28
 
29
29
  - **Kernel-based lifecycle management**: Initialization, startup, and shutdown
30
30
  - **Plugin system**: Extensible architecture with `ObjectQLPlugin`
package/dist/app.d.ts CHANGED
@@ -6,11 +6,11 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { MetadataRegistry, Driver, ObjectConfig, ObjectQLContext, ObjectQLContextOptions, IObjectQL, ObjectQLConfig, HookName, HookHandler, HookContext, ActionHandler, ActionContext } from '@objectql/types';
9
- import { ObjectStackKernel, type RuntimePlugin } from '@objectql/runtime';
9
+ import { ObjectKernel, type Plugin } from '@objectstack/core';
10
10
  /**
11
11
  * ObjectQL
12
12
  *
13
- * ObjectQL implementation that wraps ObjectStackKernel
13
+ * ObjectQL implementation that wraps ObjectKernel
14
14
  * to provide the plugin architecture.
15
15
  */
16
16
  export declare class ObjectQL implements IObjectQL {
@@ -18,10 +18,13 @@ export declare class ObjectQL implements IObjectQL {
18
18
  private datasources;
19
19
  private remotes;
20
20
  private kernel;
21
+ private ql;
21
22
  private kernelPlugins;
23
+ private hookManager;
24
+ private localActions;
22
25
  private config;
23
26
  constructor(config: ObjectQLConfig);
24
- use(plugin: RuntimePlugin): void;
27
+ use(plugin: Plugin): void;
25
28
  removePackage(name: string): void;
26
29
  on(event: HookName, objectName: string, handler: HookHandler, packageName?: string): void;
27
30
  triggerHook(event: HookName, objectName: string, ctx: HookContext): Promise<void>;
@@ -29,15 +32,15 @@ export declare class ObjectQL implements IObjectQL {
29
32
  executeAction(objectName: string, actionName: string, ctx: ActionContext): Promise<any>;
30
33
  createContext(options: ObjectQLContextOptions): ObjectQLContext;
31
34
  /**
32
- * Get the underlying ObjectStackKernel instance
35
+ * Get the underlying ObjectKernel instance
33
36
  *
34
37
  * This provides access to the kernel for advanced usage scenarios
35
38
  * where you need direct access to the plugin architecture.
36
39
  *
37
- * @returns The ObjectStackKernel instance
40
+ * @returns The ObjectKernel instance
38
41
  * @throws Error if called before init()
39
42
  */
40
- getKernel(): ObjectStackKernel;
43
+ getKernel(): ObjectKernel;
41
44
  registerObject(object: ObjectConfig): void;
42
45
  unregisterObject(name: string): void;
43
46
  getObject(name: string): ObjectConfig | undefined;
package/dist/app.js CHANGED
@@ -8,14 +8,15 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ObjectQL = void 0;
11
- const runtime_1 = require("@objectql/runtime");
11
+ const core_1 = require("@objectstack/core");
12
+ const objectql_1 = require("@objectstack/objectql");
12
13
  const repository_1 = require("./repository");
13
- const plugin_1 = require("./plugin");
14
14
  const util_1 = require("./util");
15
+ const CompiledHookManager_1 = require("./optimizations/CompiledHookManager");
15
16
  /**
16
17
  * ObjectQL
17
18
  *
18
- * ObjectQL implementation that wraps ObjectStackKernel
19
+ * ObjectQL implementation that wraps ObjectKernel
19
20
  * to provide the plugin architecture.
20
21
  */
21
22
  class ObjectQL {
@@ -27,15 +28,19 @@ class ObjectQL {
27
28
  this.datasources = {};
28
29
  this.remotes = [];
29
30
  this.kernelPlugins = [];
31
+ // Optimized managers
32
+ this.hookManager = new CompiledHookManager_1.CompiledHookManager();
33
+ this.localActions = new Map();
30
34
  this.config = config;
31
35
  this.datasources = config.datasources || {};
32
36
  if (config.connection) {
33
37
  throw new Error("Connection strings are not supported in core directly. Use @objectql/platform-node's createDriverFromConnection or pass a driver instance to 'datasources'.");
34
38
  }
35
- // Add the ObjectQL plugin to provide enhanced features
36
- this.kernelPlugins.push(new plugin_1.ObjectQLPlugin({
37
- datasources: this.datasources
38
- }));
39
+ // Use the imported RuntimeObjectQL, assuming it works as intended
40
+ this.ql = new objectql_1.ObjectQL();
41
+ // Note: ObjectQLPlugin removed as it now uses RuntimePlugin interface
42
+ // which is incompatible with the legacy Plugin interface from @objectstack/core
43
+ // For new code, use the microkernel pattern with RuntimePlugin directly
39
44
  // Add runtime plugins from config
40
45
  if (config.plugins) {
41
46
  for (const plugin of config.plugins) {
@@ -47,8 +52,97 @@ class ObjectQL {
47
52
  }
48
53
  }
49
54
  }
50
- // Create the kernel
51
- this.kernel = new runtime_1.ObjectStackKernel(this.kernelPlugins);
55
+ // Create the kernel with registered plugins
56
+ this.kernel = new core_1.ObjectKernel();
57
+ for (const plugin of this.kernelPlugins) {
58
+ if (this.kernel.use) {
59
+ this.kernel.use(plugin);
60
+ }
61
+ }
62
+ // Helper to unwrap content property (matching MetadataRegistry behavior)
63
+ const unwrapContent = (item) => {
64
+ if (item && item.content) {
65
+ return item.content;
66
+ }
67
+ return item;
68
+ };
69
+ // Stub legacy accessors
70
+ this.kernel.metadata = {
71
+ register: (type, item) => objectql_1.SchemaRegistry.registerItem(type, item, item.id ? 'id' : 'name'),
72
+ get: (type, name) => {
73
+ const item = objectql_1.SchemaRegistry.getItem(type, name);
74
+ return unwrapContent(item);
75
+ },
76
+ getEntry: (type, name) => objectql_1.SchemaRegistry.getItem(type, name),
77
+ list: (type) => {
78
+ const items = objectql_1.SchemaRegistry.listItems(type);
79
+ return items.map(unwrapContent);
80
+ },
81
+ unregister: (type, name) => {
82
+ // Access private static storage using any cast
83
+ const metadata = objectql_1.SchemaRegistry.metadata;
84
+ if (metadata instanceof Map) {
85
+ const collection = metadata.get(type);
86
+ if (collection instanceof Map) {
87
+ collection.delete(name);
88
+ }
89
+ }
90
+ },
91
+ unregisterPackage: (packageName) => {
92
+ const metadata = objectql_1.SchemaRegistry.metadata;
93
+ if (metadata instanceof Map) {
94
+ for (const [type, collection] of metadata.entries()) {
95
+ if (collection instanceof Map) {
96
+ for (const [key, item] of collection.entries()) {
97
+ // console.log(`[App] Check ${type} ${key} pkg=${(item as any).package}`);
98
+ if (item.package === packageName) {
99
+ collection.delete(key);
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ else {
106
+ console.warn('Metadata is not a Map');
107
+ }
108
+ }
109
+ };
110
+ const kernelHooks = this.kernel.hooks || {};
111
+ Object.assign(kernelHooks, {
112
+ register: (event, objectName, handler, packageName) => {
113
+ this.hookManager.registerHook(event, objectName, handler, packageName);
114
+ },
115
+ removePackage: (packageName) => {
116
+ this.hookManager.removePackage(packageName);
117
+ },
118
+ trigger: async (event, objectName, ctx) => {
119
+ await this.hookManager.runHooks(event, objectName, ctx);
120
+ }
121
+ });
122
+ if (!this.kernel.hooks) {
123
+ this.kernel.hooks = kernelHooks;
124
+ }
125
+ this.kernel.actions = {
126
+ register: (objectName, actionName, handler, packageName) => {
127
+ const key = `${objectName}:${actionName}`;
128
+ handler._package = packageName;
129
+ this.localActions.set(key, handler);
130
+ },
131
+ removePackage: (packageName) => {
132
+ for (const [key, handler] of this.localActions.entries()) {
133
+ if (handler._package === packageName) {
134
+ this.localActions.delete(key);
135
+ }
136
+ }
137
+ },
138
+ execute: async (objectName, actionName, ctx) => {
139
+ const handler = this.localActions.get(`${objectName}:${actionName}`);
140
+ if (handler) {
141
+ return handler(ctx);
142
+ }
143
+ throw new Error(`Action '${actionName}' on object '${objectName}' not found`);
144
+ }
145
+ };
52
146
  // Register initial metadata if provided
53
147
  if (config.registry) {
54
148
  // Copy metadata from provided registry to kernel's registry
@@ -70,6 +164,9 @@ class ObjectQL {
70
164
  }
71
165
  use(plugin) {
72
166
  this.kernelPlugins.push(plugin);
167
+ if (this.kernel && this.kernel.use) {
168
+ this.kernel.use(plugin);
169
+ }
73
170
  }
74
171
  removePackage(name) {
75
172
  // Delegate to kernel managers
@@ -146,12 +243,12 @@ class ObjectQL {
146
243
  return ctx;
147
244
  }
148
245
  /**
149
- * Get the underlying ObjectStackKernel instance
246
+ * Get the underlying ObjectKernel instance
150
247
  *
151
248
  * This provides access to the kernel for advanced usage scenarios
152
249
  * where you need direct access to the plugin architecture.
153
250
  *
154
- * @returns The ObjectStackKernel instance
251
+ * @returns The ObjectKernel instance
155
252
  * @throws Error if called before init()
156
253
  */
157
254
  getKernel() {
@@ -169,23 +266,23 @@ class ObjectQL {
169
266
  }
170
267
  }
171
268
  }
172
- this.kernel.metadata.register('object', {
173
- type: 'object',
174
- id: object.name,
175
- content: object
176
- });
269
+ this.kernel.metadata.register('object', object);
177
270
  }
178
271
  unregisterObject(name) {
179
272
  this.kernel.metadata.unregister('object', name);
180
273
  }
181
274
  getObject(name) {
182
- return this.kernel.metadata.get('object', name);
275
+ const item = this.kernel.metadata.get('object', name);
276
+ return (item === null || item === void 0 ? void 0 : item.content) || item;
183
277
  }
184
278
  getConfigs() {
185
279
  const result = {};
186
- const items = this.kernel.metadata.list('object');
280
+ const items = this.kernel.metadata.list('object') || [];
187
281
  for (const item of items) {
188
- result[item.name] = item;
282
+ const config = item.content || item;
283
+ if (config === null || config === void 0 ? void 0 : config.name) {
284
+ result[config.name] = config;
285
+ }
189
286
  }
190
287
  return result;
191
288
  }
@@ -229,24 +326,47 @@ class ObjectQL {
229
326
  }
230
327
  }
231
328
  async init() {
232
- console.log('[ObjectQL] Initializing with ObjectStackKernel...');
329
+ console.log('[ObjectQL] Initializing with ObjectKernel...');
233
330
  // Start the kernel - this will install and start all plugins
234
- await this.kernel.start();
331
+ if (this.kernel.start) {
332
+ await this.kernel.start();
333
+ }
334
+ else if (this.kernel.bootstrap) {
335
+ await this.kernel.bootstrap();
336
+ }
337
+ else {
338
+ console.warn('ObjectKernel does not have start() or bootstrap() method');
339
+ }
235
340
  // TEMPORARY: Set driver for backward compatibility during migration
236
341
  // This allows the kernel mock to delegate to the driver
342
+ const defaultDriver = this.datasources['default'];
237
343
  if (typeof this.kernel.setDriver === 'function') {
238
- const defaultDriver = this.datasources['default'];
239
344
  if (defaultDriver) {
240
345
  this.kernel.setDriver(defaultDriver);
241
346
  }
242
347
  }
348
+ // TEMPORARY: Patch kernel with CRUD methods dynamically if missing
349
+ // This ensures the repository can delegate to the kernel even if using the new @objectstack/core kernel
350
+ if (typeof this.kernel.create !== 'function' && defaultDriver) {
351
+ this.kernel.create = (object, doc, options) => defaultDriver.create(object, doc, options);
352
+ this.kernel.update = (object, id, doc, options) => defaultDriver.update(object, id, doc, options);
353
+ this.kernel.delete = (object, id, options) => defaultDriver.delete(object, id, options);
354
+ this.kernel.find = async (object, query, options) => {
355
+ const res = await defaultDriver.find(object, query, options);
356
+ return { value: res || [], count: (res || []).length };
357
+ };
358
+ this.kernel.findOne = (object, id, options) => defaultDriver.findOne(object, id, options);
359
+ this.kernel.get = (object, id) => defaultDriver.findOne(object, id);
360
+ this.kernel.count = (object, query, options) => defaultDriver.count(object, query, options);
361
+ }
243
362
  // Load In-Memory Objects (Dynamic Layer)
244
363
  if (this.config.objects) {
245
364
  for (const [key, obj] of Object.entries(this.config.objects)) {
246
365
  this.registerObject(obj);
247
366
  }
248
367
  }
249
- const objects = this.kernel.metadata.list('object');
368
+ const registryItems = this.kernel.metadata.list('object');
369
+ const objects = (registryItems || []).map((item) => item.content || item);
250
370
  // Init Datasources
251
371
  // Let's pass all objects to all configured drivers.
252
372
  for (const [name, driver] of Object.entries(this.datasources)) {
@@ -267,15 +387,17 @@ class ObjectQL {
267
387
  // We need a system context to write data
268
388
  const ctx = this.createContext({ isSystem: true });
269
389
  for (const entry of dataEntries) {
390
+ // Unwrapping metadata content if present
391
+ const dataContent = entry.content || entry;
270
392
  // Expected format:
271
393
  // 1. { object: 'User', records: [...] }
272
394
  // 2. [ record1, record2 ] (with name property added by loader inferred from filename)
273
- let objectName = entry.object;
274
- let records = entry.records;
275
- if (Array.isArray(entry)) {
276
- records = entry;
277
- if (!objectName && entry.name) {
278
- objectName = entry.name;
395
+ let objectName = dataContent.object;
396
+ let records = dataContent.records;
397
+ if (Array.isArray(dataContent)) {
398
+ records = dataContent;
399
+ if (!objectName && dataContent.name) {
400
+ objectName = dataContent.name;
279
401
  }
280
402
  }
281
403
  if (!objectName || !records || !Array.isArray(records)) {
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,18 +5,15 @@
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
- export type { ObjectStackKernel, ObjectStackRuntimeProtocol } from '@objectql/runtime';
9
- import { Data, Driver } from '@objectstack/spec';
8
+ export type { ObjectKernel } from '@objectstack/runtime';
9
+ export type { ObjectStackProtocolImplementation } from '@objectstack/objectql';
10
+ import { Data } from '@objectstack/spec';
10
11
  export type QueryAST = Data.QueryAST;
11
- export type DriverInterface = Driver.DriverInterface;
12
- export type DriverOptions = Driver.DriverOptions;
12
+ export type DriverInterface = Data.DriverInterface;
13
+ export type DriverOptions = Data.DriverOptions;
13
14
  export * from './repository';
14
15
  export * from './app';
15
16
  export * from './plugin';
16
- export * from './validator-plugin';
17
- export * from './formula-plugin';
18
17
  export * from './query';
19
- export * from './validator';
20
18
  export * from './util';
21
- export * from './ai-agent';
22
- export * from './formula-engine';
19
+ export * from './optimizations';
package/dist/index.js CHANGED
@@ -25,13 +25,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
25
25
  __exportStar(require("./repository"), exports);
26
26
  __exportStar(require("./app"), exports);
27
27
  __exportStar(require("./plugin"), exports);
28
- __exportStar(require("./validator-plugin"), exports);
29
- __exportStar(require("./formula-plugin"), exports);
30
28
  // Export query-specific modules (ObjectQL core competency)
31
29
  __exportStar(require("./query"), exports);
32
30
  // Export utilities
33
- __exportStar(require("./validator"), exports);
34
31
  __exportStar(require("./util"), exports);
35
- __exportStar(require("./ai-agent"), exports);
36
- __exportStar(require("./formula-engine"), exports);
32
+ // Export kernel optimizations
33
+ __exportStar(require("./optimizations"), exports);
37
34
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAcH,kEAAkE;AAClE,+CAA6B;AAC7B,wCAAsB;AACtB,2CAAyB;AACzB,qDAAmC;AACnC,mDAAiC;AAEjC,2DAA2D;AAC3D,0CAAwB;AAExB,mBAAmB;AACnB,8CAA4B;AAC5B,yCAAuB;AACvB,6CAA2B;AAC3B,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAeH,kEAAkE;AAClE,+CAA6B;AAC7B,wCAAsB;AACtB,2CAAyB;AAEzB,2DAA2D;AAC3D,0CAAwB;AAExB,mBAAmB;AACnB,yCAAuB;AAEvB,8BAA8B;AAC9B,kDAAgC"}
@@ -0,0 +1,55 @@
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
+ * Hook definition
10
+ */
11
+ export interface Hook {
12
+ pattern: string;
13
+ handler: (context: any) => Promise<void> | void;
14
+ packageName?: string;
15
+ priority?: number;
16
+ }
17
+ /**
18
+ * Compiled Hook Manager
19
+ *
20
+ * Improvement: Pre-compiles hook pipelines by event pattern at registration time.
21
+ * No runtime pattern matching required.
22
+ *
23
+ * Expected: 5x faster hook execution, parallel async support
24
+ */
25
+ export declare class CompiledHookManager {
26
+ private pipelines;
27
+ private allHooks;
28
+ /**
29
+ * Expand a pattern like "before*" to all matching events
30
+ */
31
+ private expandPattern;
32
+ /**
33
+ * Register a hook - pre-groups by event pattern
34
+ */
35
+ registerHook(event: string, objectName: string, handler: any, packageName?: string): void;
36
+ /**
37
+ * Run hooks for an event - direct lookup, no pattern matching
38
+ */
39
+ runHooks(event: string, objectName: string, context: any): Promise<void>;
40
+ /**
41
+ * Remove all hooks from a package
42
+ */
43
+ removePackage(packageName: string): void;
44
+ /**
45
+ * Clear all hooks
46
+ */
47
+ clear(): void;
48
+ /**
49
+ * Get statistics about registered hooks
50
+ */
51
+ getStats(): {
52
+ totalHooks: number;
53
+ totalPipelines: number;
54
+ };
55
+ }