@objectql/core 3.0.0 → 4.0.0
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.
- package/CHANGELOG.md +32 -0
- package/IMPLEMENTATION_STATUS.md +364 -0
- package/README.md +31 -9
- package/RUNTIME_INTEGRATION.md +391 -0
- package/dist/ai-agent.d.ts +4 -3
- package/dist/ai-agent.js +10 -3
- package/dist/ai-agent.js.map +1 -1
- package/dist/app.d.ts +29 -6
- package/dist/app.js +117 -58
- package/dist/app.js.map +1 -1
- package/dist/formula-engine.d.ts +7 -0
- package/dist/formula-engine.js +9 -2
- package/dist/formula-engine.js.map +1 -1
- package/dist/formula-plugin.d.ts +52 -0
- package/dist/formula-plugin.js +107 -0
- package/dist/formula-plugin.js.map +1 -0
- package/dist/index.d.ts +13 -3
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts +89 -0
- package/dist/plugin.js +99 -0
- package/dist/plugin.js.map +1 -0
- package/dist/query/filter-translator.d.ts +37 -0
- package/dist/query/filter-translator.js +135 -0
- package/dist/query/filter-translator.js.map +1 -0
- package/dist/query/index.d.ts +22 -0
- package/dist/query/index.js +39 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/query-analyzer.d.ts +186 -0
- package/dist/query/query-analyzer.js +349 -0
- package/dist/query/query-analyzer.js.map +1 -0
- package/dist/query/query-builder.d.ts +27 -0
- package/dist/query/query-builder.js +71 -0
- package/dist/query/query-builder.js.map +1 -0
- package/dist/query/query-service.d.ts +150 -0
- package/dist/query/query-service.js +268 -0
- package/dist/query/query-service.js.map +1 -0
- package/dist/repository.d.ts +23 -2
- package/dist/repository.js +62 -13
- package/dist/repository.js.map +1 -1
- package/dist/util.d.ts +7 -0
- package/dist/util.js +18 -3
- package/dist/util.js.map +1 -1
- package/dist/validator-plugin.d.ts +56 -0
- package/dist/validator-plugin.js +106 -0
- package/dist/validator-plugin.js.map +1 -0
- package/dist/validator.d.ts +7 -0
- package/dist/validator.js +10 -8
- package/dist/validator.js.map +1 -1
- package/jest.config.js +16 -0
- package/package.json +8 -5
- package/src/ai-agent.ts +8 -0
- package/src/app.ts +136 -72
- package/src/formula-engine.ts +8 -0
- package/src/formula-plugin.ts +141 -0
- package/src/index.ts +25 -3
- package/src/plugin.ts +179 -0
- package/src/query/filter-translator.ts +147 -0
- package/src/query/index.ts +24 -0
- package/src/query/query-analyzer.ts +535 -0
- package/src/query/query-builder.ts +80 -0
- package/src/query/query-service.ts +392 -0
- package/src/repository.ts +81 -17
- package/src/util.ts +19 -3
- package/src/validator-plugin.ts +140 -0
- package/src/validator.ts +12 -5
- package/test/__mocks__/@objectstack/runtime.ts +255 -0
- package/test/app.test.ts +23 -35
- package/test/filter-syntax.test.ts +233 -0
- package/test/formula-engine.test.ts +8 -0
- package/test/formula-integration.test.ts +8 -0
- package/test/formula-plugin.test.ts +197 -0
- package/test/introspection.test.ts +8 -0
- package/test/mock-driver.ts +8 -0
- package/test/plugin-integration.test.ts +213 -0
- package/test/repository-validation.test.ts +8 -0
- package/test/repository.test.ts +8 -0
- package/test/util.test.ts +9 -1
- package/test/utils.ts +8 -0
- package/test/validator-plugin.test.ts +126 -0
- package/test/validator.test.ts +8 -0
- package/tsconfig.json +9 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/action.d.ts +0 -7
- package/dist/action.js +0 -23
- package/dist/action.js.map +0 -1
- package/dist/hook.d.ts +0 -8
- package/dist/hook.js +0 -25
- package/dist/hook.js.map +0 -1
- package/dist/object.d.ts +0 -3
- package/dist/object.js +0 -28
- package/dist/object.js.map +0 -1
- package/src/action.ts +0 -40
- package/src/hook.ts +0 -42
- package/src/object.ts +0 -26
- package/test/action.test.ts +0 -276
- package/test/hook.test.ts +0 -343
- package/test/object.test.ts +0 -183
package/dist/app.js
CHANGED
|
@@ -1,29 +1,42 @@
|
|
|
1
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
|
+
*/
|
|
2
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
10
|
exports.ObjectQL = void 0;
|
|
4
|
-
const
|
|
11
|
+
const runtime_1 = require("@objectstack/runtime");
|
|
5
12
|
const repository_1 = require("./repository");
|
|
6
|
-
|
|
7
|
-
// import { loadRemoteFromUrl } from './remote';
|
|
8
|
-
const action_1 = require("./action");
|
|
9
|
-
const hook_1 = require("./hook");
|
|
10
|
-
const object_1 = require("./object");
|
|
13
|
+
const plugin_1 = require("./plugin");
|
|
11
14
|
const util_1 = require("./util");
|
|
15
|
+
/**
|
|
16
|
+
* ObjectQL
|
|
17
|
+
*
|
|
18
|
+
* ObjectQL implementation that wraps ObjectStackKernel
|
|
19
|
+
* to provide the plugin architecture.
|
|
20
|
+
*/
|
|
12
21
|
class ObjectQL {
|
|
22
|
+
// Delegate to kernel for metadata, hooks, and actions
|
|
23
|
+
get metadata() {
|
|
24
|
+
return this.kernel.metadata;
|
|
25
|
+
}
|
|
13
26
|
constructor(config) {
|
|
14
27
|
this.datasources = {};
|
|
15
28
|
this.remotes = [];
|
|
16
|
-
this.
|
|
17
|
-
this.actions = {};
|
|
18
|
-
this.pluginsList = [];
|
|
29
|
+
this.kernelPlugins = [];
|
|
19
30
|
this.config = config;
|
|
20
|
-
this.metadata = config.registry || new types_1.MetadataRegistry();
|
|
21
31
|
this.datasources = config.datasources || {};
|
|
22
|
-
// this.remotes = config.remotes || [];
|
|
23
32
|
if (config.connection) {
|
|
24
33
|
throw new Error("Connection strings are not supported in core directly. Use @objectql/platform-node's createDriverFromConnection or pass a driver instance to 'datasources'.");
|
|
25
34
|
}
|
|
26
|
-
//
|
|
35
|
+
// Add the ObjectQL plugin to provide enhanced features
|
|
36
|
+
this.kernelPlugins.push(new plugin_1.ObjectQLPlugin({
|
|
37
|
+
datasources: this.datasources
|
|
38
|
+
}));
|
|
39
|
+
// Add runtime plugins from config
|
|
27
40
|
if (config.plugins) {
|
|
28
41
|
for (const plugin of config.plugins) {
|
|
29
42
|
if (typeof plugin === 'string') {
|
|
@@ -34,34 +47,59 @@ class ObjectQL {
|
|
|
34
47
|
}
|
|
35
48
|
}
|
|
36
49
|
}
|
|
50
|
+
// Create the kernel
|
|
51
|
+
this.kernel = new runtime_1.ObjectStackKernel(this.kernelPlugins);
|
|
52
|
+
// Register initial metadata if provided
|
|
53
|
+
if (config.registry) {
|
|
54
|
+
// Copy metadata from provided registry to kernel's registry
|
|
55
|
+
for (const type of config.registry.getTypes()) {
|
|
56
|
+
const items = config.registry.list(type);
|
|
57
|
+
for (const item of items) {
|
|
58
|
+
// Safely extract the item's id/name
|
|
59
|
+
const itemId = typeof item === 'object' && item !== null
|
|
60
|
+
? item.name || item.id || 'unknown'
|
|
61
|
+
: 'unknown';
|
|
62
|
+
this.kernel.metadata.register(type, {
|
|
63
|
+
type,
|
|
64
|
+
id: itemId,
|
|
65
|
+
content: item
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
37
70
|
}
|
|
38
71
|
use(plugin) {
|
|
39
|
-
this.
|
|
72
|
+
this.kernelPlugins.push(plugin);
|
|
40
73
|
}
|
|
41
74
|
removePackage(name) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
// Remove actions
|
|
48
|
-
for (const key of Object.keys(this.actions)) {
|
|
49
|
-
if (this.actions[key].packageName === name) {
|
|
50
|
-
delete this.actions[key];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
75
|
+
// Delegate to kernel managers
|
|
76
|
+
this.kernel.metadata.unregisterPackage(name);
|
|
77
|
+
this.kernel.hooks.removePackage(name);
|
|
78
|
+
this.kernel.actions.removePackage(name);
|
|
53
79
|
}
|
|
54
80
|
on(event, objectName, handler, packageName) {
|
|
55
|
-
|
|
81
|
+
// Delegate to kernel hook manager
|
|
82
|
+
// We wrap the handler to bridge ObjectQL's rich context types with runtime's base types
|
|
83
|
+
// The runtime HookContext supports all fields via index signature, so this is safe
|
|
84
|
+
const wrappedHandler = handler;
|
|
85
|
+
this.kernel.hooks.register(event, objectName, wrappedHandler, packageName);
|
|
56
86
|
}
|
|
57
87
|
async triggerHook(event, objectName, ctx) {
|
|
58
|
-
|
|
88
|
+
// Delegate to kernel hook manager
|
|
89
|
+
// Runtime HookContext supports ObjectQL-specific fields via index signature
|
|
90
|
+
await this.kernel.hooks.trigger(event, objectName, ctx);
|
|
59
91
|
}
|
|
60
92
|
registerAction(objectName, actionName, handler, packageName) {
|
|
61
|
-
|
|
93
|
+
// Delegate to kernel action manager
|
|
94
|
+
// We wrap the handler to bridge ObjectQL's rich context types with runtime's base types
|
|
95
|
+
// The runtime ActionContext supports all fields via index signature, so this is safe
|
|
96
|
+
const wrappedHandler = handler;
|
|
97
|
+
this.kernel.actions.register(objectName, actionName, wrappedHandler, packageName);
|
|
62
98
|
}
|
|
63
99
|
async executeAction(objectName, actionName, ctx) {
|
|
64
|
-
|
|
100
|
+
// Delegate to kernel action manager
|
|
101
|
+
// Runtime ActionContext supports ObjectQL-specific fields via index signature
|
|
102
|
+
return await this.kernel.actions.execute(objectName, actionName, ctx);
|
|
65
103
|
}
|
|
66
104
|
createContext(options) {
|
|
67
105
|
const ctx = {
|
|
@@ -107,17 +145,49 @@ class ObjectQL {
|
|
|
107
145
|
};
|
|
108
146
|
return ctx;
|
|
109
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Get the underlying ObjectStackKernel instance
|
|
150
|
+
*
|
|
151
|
+
* This provides access to the kernel for advanced usage scenarios
|
|
152
|
+
* where you need direct access to the plugin architecture.
|
|
153
|
+
*
|
|
154
|
+
* @returns The ObjectStackKernel instance
|
|
155
|
+
* @throws Error if called before init()
|
|
156
|
+
*/
|
|
157
|
+
getKernel() {
|
|
158
|
+
if (!this.kernel) {
|
|
159
|
+
throw new Error('Kernel not initialized. Call init() first.');
|
|
160
|
+
}
|
|
161
|
+
return this.kernel;
|
|
162
|
+
}
|
|
110
163
|
registerObject(object) {
|
|
111
|
-
|
|
164
|
+
// Normalize fields
|
|
165
|
+
if (object.fields) {
|
|
166
|
+
for (const [key, field] of Object.entries(object.fields)) {
|
|
167
|
+
if (field && !field.name) {
|
|
168
|
+
field.name = key;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
this.kernel.metadata.register('object', {
|
|
173
|
+
type: 'object',
|
|
174
|
+
id: object.name,
|
|
175
|
+
content: object
|
|
176
|
+
});
|
|
112
177
|
}
|
|
113
178
|
unregisterObject(name) {
|
|
114
|
-
this.metadata.unregister('object', name);
|
|
179
|
+
this.kernel.metadata.unregister('object', name);
|
|
115
180
|
}
|
|
116
181
|
getObject(name) {
|
|
117
|
-
return this.metadata.get('object', name);
|
|
182
|
+
return this.kernel.metadata.get('object', name);
|
|
118
183
|
}
|
|
119
184
|
getConfigs() {
|
|
120
|
-
|
|
185
|
+
const result = {};
|
|
186
|
+
const items = this.kernel.metadata.list('object');
|
|
187
|
+
for (const item of items) {
|
|
188
|
+
result[item.name] = item;
|
|
189
|
+
}
|
|
190
|
+
return result;
|
|
121
191
|
}
|
|
122
192
|
datasource(name) {
|
|
123
193
|
const driver = this.datasources[name];
|
|
@@ -159,37 +229,25 @@ class ObjectQL {
|
|
|
159
229
|
}
|
|
160
230
|
}
|
|
161
231
|
async init() {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
return (event, obj, handler) => target.on(event, obj, handler, pkgName);
|
|
172
|
-
}
|
|
173
|
-
if (prop === 'registerAction') {
|
|
174
|
-
return (obj, act, handler) => target.registerAction(obj, act, handler, pkgName);
|
|
175
|
-
}
|
|
176
|
-
const value = target[prop];
|
|
177
|
-
return typeof value === 'function' ? value.bind(target) : value;
|
|
178
|
-
}
|
|
179
|
-
});
|
|
232
|
+
console.log('[ObjectQL] Initializing with ObjectStackKernel...');
|
|
233
|
+
// Start the kernel - this will install and start all plugins
|
|
234
|
+
await this.kernel.start();
|
|
235
|
+
// TEMPORARY: Set driver for backward compatibility during migration
|
|
236
|
+
// This allows the kernel mock to delegate to the driver
|
|
237
|
+
if (typeof this.kernel.setDriver === 'function') {
|
|
238
|
+
const defaultDriver = this.datasources['default'];
|
|
239
|
+
if (defaultDriver) {
|
|
240
|
+
this.kernel.setDriver(defaultDriver);
|
|
180
241
|
}
|
|
181
|
-
await plugin.setup(app);
|
|
182
242
|
}
|
|
183
|
-
//
|
|
184
|
-
// Use @objectql/platform-node's ObjectLoader or platform-specific loaders.
|
|
185
|
-
// 3. Load In-Memory Objects (Dynamic Layer)
|
|
243
|
+
// Load In-Memory Objects (Dynamic Layer)
|
|
186
244
|
if (this.config.objects) {
|
|
187
245
|
for (const [key, obj] of Object.entries(this.config.objects)) {
|
|
188
246
|
this.registerObject(obj);
|
|
189
247
|
}
|
|
190
248
|
}
|
|
191
|
-
const objects = this.metadata.list('object');
|
|
192
|
-
//
|
|
249
|
+
const objects = this.kernel.metadata.list('object');
|
|
250
|
+
// Init Datasources
|
|
193
251
|
// Let's pass all objects to all configured drivers.
|
|
194
252
|
for (const [name, driver] of Object.entries(this.datasources)) {
|
|
195
253
|
if (driver.init) {
|
|
@@ -197,11 +255,12 @@ class ObjectQL {
|
|
|
197
255
|
await driver.init(objects);
|
|
198
256
|
}
|
|
199
257
|
}
|
|
200
|
-
//
|
|
258
|
+
// Process Initial Data
|
|
201
259
|
await this.processInitialData();
|
|
260
|
+
console.log('[ObjectQL] Initialization complete');
|
|
202
261
|
}
|
|
203
262
|
async processInitialData() {
|
|
204
|
-
const dataEntries = this.metadata.list('data');
|
|
263
|
+
const dataEntries = this.kernel.metadata.list('data');
|
|
205
264
|
if (dataEntries.length === 0)
|
|
206
265
|
return;
|
|
207
266
|
console.log(`Processing ${dataEntries.length} initial data files...`);
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/formula-engine.d.ts
CHANGED
package/dist/formula-engine.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
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.FormulaEngine = void 0;
|
|
2
11
|
/**
|
|
3
12
|
* Formula Engine Implementation
|
|
4
13
|
*
|
|
@@ -8,8 +17,6 @@
|
|
|
8
17
|
* @see @objectql/types/formula for type definitions
|
|
9
18
|
* @see docs/spec/formula.md for complete specification
|
|
10
19
|
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.FormulaEngine = void 0;
|
|
13
20
|
const types_1 = require("@objectql/types");
|
|
14
21
|
/**
|
|
15
22
|
* Formula Engine for evaluating JavaScript-style expressions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-engine.js","sourceRoot":"","sources":["../src/formula-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formula-engine.js","sourceRoot":"","sources":["../src/formula-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectQL Formula Plugin
|
|
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
|
+
import type { RuntimePlugin, RuntimeContext } from '@objectstack/runtime';
|
|
9
|
+
import { FormulaEngine } from './formula-engine';
|
|
10
|
+
import type { FormulaEngineConfig } from '@objectql/types';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for the Formula Plugin
|
|
13
|
+
*/
|
|
14
|
+
export interface FormulaPluginConfig extends FormulaEngineConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Enable automatic formula evaluation on queries
|
|
17
|
+
* @default true
|
|
18
|
+
*/
|
|
19
|
+
autoEvaluateOnQuery?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Formula Plugin
|
|
23
|
+
*
|
|
24
|
+
* Wraps the ObjectQL Formula Engine as an ObjectStack plugin.
|
|
25
|
+
* Registers formula evaluation capabilities into the kernel.
|
|
26
|
+
*/
|
|
27
|
+
export declare class FormulaPlugin implements RuntimePlugin {
|
|
28
|
+
name: string;
|
|
29
|
+
version: string;
|
|
30
|
+
private engine;
|
|
31
|
+
private config;
|
|
32
|
+
constructor(config?: FormulaPluginConfig);
|
|
33
|
+
/**
|
|
34
|
+
* Install the plugin into the kernel
|
|
35
|
+
* Registers formula evaluation capabilities
|
|
36
|
+
*/
|
|
37
|
+
install(ctx: RuntimeContext): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Register the formula provider with the kernel
|
|
40
|
+
* @private
|
|
41
|
+
*/
|
|
42
|
+
private registerFormulaProvider;
|
|
43
|
+
/**
|
|
44
|
+
* Register formula evaluation middleware
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
private registerFormulaMiddleware;
|
|
48
|
+
/**
|
|
49
|
+
* Get the formula engine instance for direct access
|
|
50
|
+
*/
|
|
51
|
+
getEngine(): FormulaEngine;
|
|
52
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ObjectQL Formula Plugin
|
|
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.FormulaPlugin = void 0;
|
|
11
|
+
const formula_engine_1 = require("./formula-engine");
|
|
12
|
+
/**
|
|
13
|
+
* Formula Plugin
|
|
14
|
+
*
|
|
15
|
+
* Wraps the ObjectQL Formula Engine as an ObjectStack plugin.
|
|
16
|
+
* Registers formula evaluation capabilities into the kernel.
|
|
17
|
+
*/
|
|
18
|
+
class FormulaPlugin {
|
|
19
|
+
constructor(config = {}) {
|
|
20
|
+
this.name = '@objectql/formulas';
|
|
21
|
+
this.version = '4.0.0';
|
|
22
|
+
this.config = {
|
|
23
|
+
autoEvaluateOnQuery: true,
|
|
24
|
+
...config
|
|
25
|
+
};
|
|
26
|
+
// Initialize the formula engine with configuration
|
|
27
|
+
this.engine = new formula_engine_1.FormulaEngine(config);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Install the plugin into the kernel
|
|
31
|
+
* Registers formula evaluation capabilities
|
|
32
|
+
*/
|
|
33
|
+
async install(ctx) {
|
|
34
|
+
const kernel = ctx.engine;
|
|
35
|
+
console.log(`[${this.name}] Installing formula plugin...`);
|
|
36
|
+
// Make formula engine accessible from the kernel for direct usage
|
|
37
|
+
kernel.formulaEngine = this.engine;
|
|
38
|
+
// Register formula provider if the kernel supports it
|
|
39
|
+
this.registerFormulaProvider(kernel);
|
|
40
|
+
// Register formula evaluation middleware if auto-evaluation is enabled
|
|
41
|
+
if (this.config.autoEvaluateOnQuery !== false) {
|
|
42
|
+
this.registerFormulaMiddleware(kernel);
|
|
43
|
+
}
|
|
44
|
+
console.log(`[${this.name}] Formula plugin installed`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Register the formula provider with the kernel
|
|
48
|
+
* @private
|
|
49
|
+
*/
|
|
50
|
+
registerFormulaProvider(kernel) {
|
|
51
|
+
// Check if kernel supports formula provider registration
|
|
52
|
+
if (typeof kernel.registerFormulaProvider === 'function') {
|
|
53
|
+
kernel.registerFormulaProvider({
|
|
54
|
+
evaluate: (formula, context) => {
|
|
55
|
+
// Delegate to the formula engine
|
|
56
|
+
// Note: In a real implementation, we would need to properly construct
|
|
57
|
+
// the FormulaContext from the provided context
|
|
58
|
+
return this.engine.evaluate(formula, context, 'text', // default data type
|
|
59
|
+
{});
|
|
60
|
+
},
|
|
61
|
+
validate: (expression) => {
|
|
62
|
+
return this.engine.validate(expression);
|
|
63
|
+
},
|
|
64
|
+
extractMetadata: (fieldName, expression, dataType) => {
|
|
65
|
+
return this.engine.extractMetadata(fieldName, expression, dataType);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
// Note: formulaEngine is already registered in install() method above
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Register formula evaluation middleware
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
registerFormulaMiddleware(kernel) {
|
|
76
|
+
// Check if kernel supports middleware hooks
|
|
77
|
+
if (typeof kernel.use === 'function') {
|
|
78
|
+
// Register middleware to evaluate formulas after queries
|
|
79
|
+
kernel.use('afterQuery', async (context) => {
|
|
80
|
+
var _a;
|
|
81
|
+
// Formula evaluation logic would go here
|
|
82
|
+
// This would automatically compute formula fields after data is retrieved
|
|
83
|
+
if (context.results && ((_a = context.metadata) === null || _a === void 0 ? void 0 : _a.fields)) {
|
|
84
|
+
// Iterate through fields and evaluate formulas
|
|
85
|
+
// const formulaFields = Object.entries(context.metadata.fields)
|
|
86
|
+
// .filter(([_, fieldConfig]) => (fieldConfig as any).formula);
|
|
87
|
+
//
|
|
88
|
+
// for (const record of context.results) {
|
|
89
|
+
// for (const [fieldName, fieldConfig] of formulaFields) {
|
|
90
|
+
// const formula = (fieldConfig as any).formula;
|
|
91
|
+
// const result = this.engine.evaluate(formula, /* context */, /* dataType */);
|
|
92
|
+
// record[fieldName] = result.value;
|
|
93
|
+
// }
|
|
94
|
+
// }
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the formula engine instance for direct access
|
|
101
|
+
*/
|
|
102
|
+
getEngine() {
|
|
103
|
+
return this.engine;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.FormulaPlugin = FormulaPlugin;
|
|
107
|
+
//# sourceMappingURL=formula-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-plugin.js","sourceRoot":"","sources":["../src/formula-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,qDAAiD;AAqBjD;;;;;GAKG;AACH,MAAa,aAAa;IAOxB,YAAY,SAA8B,EAAE;QAN5C,SAAI,GAAG,oBAAoB,CAAC;QAC5B,YAAO,GAAG,OAAO,CAAC;QAMhB,IAAI,CAAC,MAAM,GAAG;YACZ,mBAAmB,EAAE,IAAI;YACzB,GAAG,MAAM;SACV,CAAC;QAEF,mDAAmD;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,MAA4B,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,gCAAgC,CAAC,CAAC;QAE3D,kEAAkE;QAClE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAEnC,sDAAsD;QACtD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAErC,uEAAuE;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YAC9C,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAAC,MAA0B;QACxD,yDAAyD;QACzD,IAAI,OAAQ,MAAc,CAAC,uBAAuB,KAAK,UAAU,EAAE,CAAC;YACjE,MAAc,CAAC,uBAAuB,CAAC;gBACtC,QAAQ,EAAE,CAAC,OAAe,EAAE,OAAY,EAAE,EAAE;oBAC1C,iCAAiC;oBACjC,sEAAsE;oBACtE,+CAA+C;oBAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CACzB,OAAO,EACP,OAAO,EACP,MAAM,EAAE,oBAAoB;oBAC5B,EAAE,CACH,CAAC;gBACJ,CAAC;gBACD,QAAQ,EAAE,CAAC,UAAkB,EAAE,EAAE;oBAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1C,CAAC;gBACD,eAAe,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,QAAa,EAAE,EAAE;oBACxE,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACtE,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QACD,sEAAsE;IACxE,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAAC,MAA0B;QAC1D,4CAA4C;QAC5C,IAAI,OAAQ,MAAc,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9C,yDAAyD;YACxD,MAAc,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;;gBACvD,yCAAyC;gBACzC,0EAA0E;gBAC1E,IAAI,OAAO,CAAC,OAAO,KAAI,MAAA,OAAO,CAAC,QAAQ,0CAAE,MAAM,CAAA,EAAE,CAAC;oBAChD,+CAA+C;oBAC/C,gEAAgE;oBAChE,iEAAiE;oBACjE,GAAG;oBACH,0CAA0C;oBAC1C,4DAA4D;oBAC5D,oDAAoD;oBACpD,mFAAmF;oBACnF,wCAAwC;oBACxC,MAAM;oBACN,IAAI;gBACN,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAxGD,sCAwGC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
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
|
+
export type { ObjectStackKernel, ObjectStackRuntimeProtocol } from '@objectstack/runtime';
|
|
9
|
+
export type { DriverInterface, DriverOptions, QueryAST } from '@objectstack/spec';
|
|
1
10
|
export * from './repository';
|
|
2
11
|
export * from './app';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
12
|
+
export * from './plugin';
|
|
13
|
+
export * from './validator-plugin';
|
|
14
|
+
export * from './formula-plugin';
|
|
15
|
+
export * from './query';
|
|
6
16
|
export * from './validator';
|
|
7
17
|
export * from './util';
|
|
8
18
|
export * from './ai-agent';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
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
|
+
*/
|
|
2
9
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
10
|
if (k2 === undefined) k2 = k;
|
|
4
11
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -14,11 +21,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
21
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
22
|
};
|
|
16
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
// Export our enhanced runtime components (actual implementations)
|
|
17
25
|
__exportStar(require("./repository"), exports);
|
|
18
26
|
__exportStar(require("./app"), exports);
|
|
19
|
-
__exportStar(require("./
|
|
20
|
-
__exportStar(require("./
|
|
21
|
-
__exportStar(require("./
|
|
27
|
+
__exportStar(require("./plugin"), exports);
|
|
28
|
+
__exportStar(require("./validator-plugin"), exports);
|
|
29
|
+
__exportStar(require("./formula-plugin"), exports);
|
|
30
|
+
// Export query-specific modules (ObjectQL core competency)
|
|
31
|
+
__exportStar(require("./query"), exports);
|
|
32
|
+
// Export utilities
|
|
22
33
|
__exportStar(require("./validator"), exports);
|
|
23
34
|
__exportStar(require("./util"), exports);
|
|
24
35
|
__exportStar(require("./ai-agent"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAWH,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"}
|