@objectql/core 3.0.1 → 4.0.1
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 +17 -3
- package/README.md +31 -9
- 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 +16 -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 +136 -0
- package/dist/plugin.js.map +1 -0
- package/dist/query/filter-translator.d.ts +39 -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 +188 -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 +29 -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 +152 -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 +81 -14
- 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 +7 -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 +28 -3
- package/src/plugin.ts +224 -0
- package/src/query/filter-translator.ts +148 -0
- package/src/query/index.ts +24 -0
- package/src/query/query-analyzer.ts +537 -0
- package/src/query/query-builder.ts +81 -0
- package/src/query/query-service.ts +393 -0
- package/src/repository.ts +101 -18
- 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 +8 -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
|
@@ -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 '@objectql/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,21 @@
|
|
|
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 '@objectql/runtime';
|
|
9
|
+
import { Data, System } from '@objectstack/spec';
|
|
10
|
+
export type QueryAST = Data.QueryAST;
|
|
11
|
+
export type DriverInterface = System.DriverInterface;
|
|
12
|
+
export type DriverOptions = System.DriverOptions;
|
|
1
13
|
export * from './repository';
|
|
2
14
|
export * from './app';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
15
|
+
export * from './plugin';
|
|
16
|
+
export * from './validator-plugin';
|
|
17
|
+
export * from './formula-plugin';
|
|
18
|
+
export * from './query';
|
|
6
19
|
export * from './validator';
|
|
7
20
|
export * from './util';
|
|
8
21
|
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;;;;;;;;;;;;;;;;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"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectQL 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 '@objectql/runtime';
|
|
9
|
+
import { ValidatorPluginConfig } from './validator-plugin';
|
|
10
|
+
import { FormulaPluginConfig } from './formula-plugin';
|
|
11
|
+
import type { Driver } from '@objectql/types';
|
|
12
|
+
/**
|
|
13
|
+
* Configuration for the ObjectQL Plugin
|
|
14
|
+
*/
|
|
15
|
+
export interface ObjectQLPluginConfig {
|
|
16
|
+
/**
|
|
17
|
+
* Enable repository pattern for data access
|
|
18
|
+
* @default true
|
|
19
|
+
*/
|
|
20
|
+
enableRepository?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Enable validation engine
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
enableValidator?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Validator plugin configuration
|
|
28
|
+
* Only used if enableValidator is not false
|
|
29
|
+
*/
|
|
30
|
+
validatorConfig?: ValidatorPluginConfig;
|
|
31
|
+
/**
|
|
32
|
+
* Enable formula engine
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
enableFormulas?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Formula plugin configuration
|
|
38
|
+
* Only used if enableFormulas is not false
|
|
39
|
+
*/
|
|
40
|
+
formulaConfig?: FormulaPluginConfig;
|
|
41
|
+
/**
|
|
42
|
+
* Enable AI integration
|
|
43
|
+
* @default true
|
|
44
|
+
*/
|
|
45
|
+
enableAI?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Enable query service and analyzer
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
enableQueryService?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Datasources for query service
|
|
53
|
+
* Required if enableQueryService is true
|
|
54
|
+
*/
|
|
55
|
+
datasources?: Record<string, Driver>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* ObjectQL Plugin
|
|
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.
|
|
63
|
+
*/
|
|
64
|
+
export declare class ObjectQLPlugin implements RuntimePlugin {
|
|
65
|
+
private config;
|
|
66
|
+
name: string;
|
|
67
|
+
version: string;
|
|
68
|
+
constructor(config?: ObjectQLPluginConfig);
|
|
69
|
+
/**
|
|
70
|
+
* Install the plugin into the kernel
|
|
71
|
+
* This is called during kernel initialization
|
|
72
|
+
*/
|
|
73
|
+
install(ctx: RuntimeContext): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Called when the kernel starts
|
|
76
|
+
* This is the initialization phase
|
|
77
|
+
*/
|
|
78
|
+
onStart(ctx: RuntimeContext): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Register the Repository pattern
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
83
|
+
private registerRepository;
|
|
84
|
+
/**
|
|
85
|
+
* Register AI integration
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
private registerAI;
|
|
89
|
+
}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ObjectQL 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.ObjectQLPlugin = void 0;
|
|
11
|
+
const validator_plugin_1 = require("./validator-plugin");
|
|
12
|
+
const formula_plugin_1 = require("./formula-plugin");
|
|
13
|
+
const query_service_1 = require("./query/query-service");
|
|
14
|
+
const query_analyzer_1 = require("./query/query-analyzer");
|
|
15
|
+
/**
|
|
16
|
+
* ObjectQL Plugin
|
|
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.
|
|
21
|
+
*/
|
|
22
|
+
class ObjectQLPlugin {
|
|
23
|
+
constructor(config = {}) {
|
|
24
|
+
this.config = config;
|
|
25
|
+
this.name = '@objectql/core';
|
|
26
|
+
this.version = '4.0.0';
|
|
27
|
+
// Set defaults
|
|
28
|
+
this.config = {
|
|
29
|
+
enableRepository: true,
|
|
30
|
+
enableValidator: true,
|
|
31
|
+
enableFormulas: true,
|
|
32
|
+
enableAI: true,
|
|
33
|
+
enableQueryService: true,
|
|
34
|
+
...config
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Install the plugin into the kernel
|
|
39
|
+
* This is called during kernel initialization
|
|
40
|
+
*/
|
|
41
|
+
async install(ctx) {
|
|
42
|
+
console.log(`[${this.name}] Installing plugin...`);
|
|
43
|
+
const kernel = ctx.engine;
|
|
44
|
+
// 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);
|
|
47
|
+
kernel.queryService = queryService;
|
|
48
|
+
const queryAnalyzer = new query_analyzer_1.QueryAnalyzer(queryService, kernel.metadata);
|
|
49
|
+
kernel.queryAnalyzer = queryAnalyzer;
|
|
50
|
+
console.log(`[${this.name}] QueryService and QueryAnalyzer registered`);
|
|
51
|
+
}
|
|
52
|
+
// Register components based on configuration
|
|
53
|
+
if (this.config.enableRepository !== false) {
|
|
54
|
+
await this.registerRepository(ctx.engine);
|
|
55
|
+
}
|
|
56
|
+
// Install validator plugin if enabled
|
|
57
|
+
if (this.config.enableValidator !== false) {
|
|
58
|
+
const validatorPlugin = new validator_plugin_1.ValidatorPlugin(this.config.validatorConfig || {});
|
|
59
|
+
await validatorPlugin.install(ctx);
|
|
60
|
+
}
|
|
61
|
+
// Install formula plugin if enabled
|
|
62
|
+
if (this.config.enableFormulas !== false) {
|
|
63
|
+
const formulaPlugin = new formula_plugin_1.FormulaPlugin(this.config.formulaConfig || {});
|
|
64
|
+
await formulaPlugin.install(ctx);
|
|
65
|
+
}
|
|
66
|
+
if (this.config.enableAI !== false) {
|
|
67
|
+
await this.registerAI(ctx.engine);
|
|
68
|
+
}
|
|
69
|
+
console.log(`[${this.name}] Plugin installed successfully`);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Called when the kernel starts
|
|
73
|
+
* This is the initialization phase
|
|
74
|
+
*/
|
|
75
|
+
async onStart(ctx) {
|
|
76
|
+
console.log(`[${this.name}] Starting plugin...`);
|
|
77
|
+
// Additional startup logic can be added here
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Register the Repository pattern
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
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;
|
|
89
|
+
// Helper function to get the driver for an object
|
|
90
|
+
const getDriver = (objectName) => {
|
|
91
|
+
const objectConfig = kernel.metadata.get('object', objectName);
|
|
92
|
+
const datasourceName = (objectConfig === null || objectConfig === void 0 ? void 0 : objectConfig.datasource) || 'default';
|
|
93
|
+
const driver = datasources[datasourceName];
|
|
94
|
+
if (!driver) {
|
|
95
|
+
throw new Error(`Datasource '${datasourceName}' not found for object '${objectName}'`);
|
|
96
|
+
}
|
|
97
|
+
return driver;
|
|
98
|
+
};
|
|
99
|
+
// Override kernel CRUD methods to use drivers
|
|
100
|
+
kernel.create = async (objectName, data) => {
|
|
101
|
+
const driver = getDriver(objectName);
|
|
102
|
+
return await driver.create(objectName, data, {});
|
|
103
|
+
};
|
|
104
|
+
kernel.update = async (objectName, id, data) => {
|
|
105
|
+
const driver = getDriver(objectName);
|
|
106
|
+
return await driver.update(objectName, id, data, {});
|
|
107
|
+
};
|
|
108
|
+
kernel.delete = async (objectName, id) => {
|
|
109
|
+
const driver = getDriver(objectName);
|
|
110
|
+
const result = await driver.delete(objectName, id, {});
|
|
111
|
+
return !!result;
|
|
112
|
+
};
|
|
113
|
+
kernel.find = async (objectName, query) => {
|
|
114
|
+
const driver = getDriver(objectName);
|
|
115
|
+
const value = await driver.find(objectName, query);
|
|
116
|
+
const count = value.length;
|
|
117
|
+
return { value, count };
|
|
118
|
+
};
|
|
119
|
+
kernel.get = async (objectName, id) => {
|
|
120
|
+
const driver = getDriver(objectName);
|
|
121
|
+
return await driver.findOne(objectName, id);
|
|
122
|
+
};
|
|
123
|
+
console.log(`[${this.name}] Repository pattern registered`);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Register AI integration
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
129
|
+
async registerAI(kernel) {
|
|
130
|
+
// TODO: Implement AI registration
|
|
131
|
+
// For now, this is a placeholder to establish the structure
|
|
132
|
+
console.log(`[${this.name}] AI integration registered`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.ObjectQLPlugin = ObjectQLPlugin;
|
|
136
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
import type { Filter } from '@objectql/types';
|
|
9
|
+
import { Data } from '@objectstack/spec';
|
|
10
|
+
type FilterNode = Data.FilterNode;
|
|
11
|
+
/**
|
|
12
|
+
* Filter Translator
|
|
13
|
+
*
|
|
14
|
+
* Translates ObjectQL Filter (FilterCondition) to ObjectStack FilterNode format.
|
|
15
|
+
* Converts modern object-based syntax to legacy array-based syntax for backward compatibility.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* Input: { age: { $gte: 18 }, $or: [{ status: "active" }, { role: "admin" }] }
|
|
19
|
+
* Output: [["age", ">=", 18], "or", [["status", "=", "active"], "or", ["role", "=", "admin"]]]
|
|
20
|
+
*/
|
|
21
|
+
export declare class FilterTranslator {
|
|
22
|
+
/**
|
|
23
|
+
* Translate filters from ObjectQL format to ObjectStack FilterNode format
|
|
24
|
+
*/
|
|
25
|
+
translate(filters?: Filter): FilterNode | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Recursively converts FilterCondition to FilterNode array format
|
|
28
|
+
*/
|
|
29
|
+
private convertToNode;
|
|
30
|
+
/**
|
|
31
|
+
* Interleaves filter nodes with a logical operator
|
|
32
|
+
*/
|
|
33
|
+
private interleaveWithOperator;
|
|
34
|
+
/**
|
|
35
|
+
* Maps modern $-prefixed operators to legacy format
|
|
36
|
+
*/
|
|
37
|
+
private mapOperatorToLegacy;
|
|
38
|
+
}
|
|
39
|
+
export {};
|