@objectql/core 4.0.1 → 4.0.2

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 CHANGED
@@ -1,5 +1,19 @@
1
1
  # @objectql/core
2
2
 
3
+ ## 4.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - **Patch Release v4.0.2**
8
+
9
+ This patch release includes:
10
+ - Infrastructure improvements and maintenance updates
11
+ - Enhanced stability and reliability
12
+ - Bug fixes and performance optimizations
13
+
14
+ - Updated dependencies
15
+ - @objectql/types@4.0.2
16
+
3
17
  ## 4.0.1
4
18
 
5
19
  ### Patch Changes
package/README.md CHANGED
@@ -1,18 +1,20 @@
1
1
  # @objectql/core
2
2
 
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
+
3
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.
4
6
 
5
7
  ## Features
6
8
 
7
- - **Plugin Architecture**: Built on top of `@objectql/runtime` with kernel-based plugin system
8
- - **Unified Query Language**: A generic way to query data across different databases (SQL, Mongo, etc.)
9
- - **Repository Pattern**: `ObjectRepository` for managing object records
10
- - **Driver Agnostic**: Abstraction layer for database drivers
11
- - **Dynamic Schema**: Loads object definitions from metadata
12
- - **Hooks & Actions**: Runtime logic injection
13
- - **Validation Engine**: Metadata-driven validation with field-level, cross-field, and state machine rules
14
- - **Formula Engine**: Computed fields with dynamic formulas
15
- - **AI Integration**: Built-in AI agent capabilities
9
+ - **Plugin Architecture**: Built on top of `@objectql/runtime` with kernel-based plugin system
10
+ - **Unified Query Language**: A generic way to query data across different databases (SQL, Mongo, etc.)
11
+ - **Repository Pattern**: `ObjectRepository` for managing object records
12
+ - **Driver Agnostic**: Abstraction layer for database drivers
13
+ - **Dynamic Schema**: Loads object definitions from metadata
14
+ - **Hooks & Actions**: Runtime logic injection - fully implemented
15
+ - **Validation Engine**: Metadata-driven validation with field-level, cross-field, and state machine rules
16
+ - **Formula Engine**: Computed fields with dynamic formulas
17
+ - **AI Integration**: Built-in AI agent capabilities for code generation
16
18
 
17
19
  ## Installation
18
20
 
package/dist/index.d.ts CHANGED
@@ -6,10 +6,10 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  export type { ObjectStackKernel, ObjectStackRuntimeProtocol } from '@objectql/runtime';
9
- import { Data, System } from '@objectstack/spec';
9
+ import { Data, Driver } from '@objectstack/spec';
10
10
  export type QueryAST = Data.QueryAST;
11
- export type DriverInterface = System.DriverInterface;
12
- export type DriverOptions = System.DriverOptions;
11
+ export type DriverInterface = Driver.DriverInterface;
12
+ export type DriverOptions = Driver.DriverOptions;
13
13
  export * from './repository';
14
14
  export * from './app';
15
15
  export * from './plugin';
@@ -7,33 +7,21 @@
7
7
  */
8
8
  import type { Filter } from '@objectql/types';
9
9
  import { Data } from '@objectstack/spec';
10
- type FilterNode = Data.FilterNode;
10
+ type FilterCondition = Data.FilterCondition;
11
11
  /**
12
12
  * Filter Translator
13
13
  *
14
- * Translates ObjectQL Filter (FilterCondition) to ObjectStack FilterNode format.
15
- * Converts modern object-based syntax to legacy array-based syntax for backward compatibility.
14
+ * Translates ObjectQL Filter to ObjectStack FilterCondition format.
15
+ * Since both now use the same format, this is mostly a pass-through.
16
16
  *
17
17
  * @example
18
18
  * Input: { age: { $gte: 18 }, $or: [{ status: "active" }, { role: "admin" }] }
19
- * Output: [["age", ">=", 18], "or", [["status", "=", "active"], "or", ["role", "=", "admin"]]]
19
+ * Output: { age: { $gte: 18 }, $or: [{ status: "active" }, { role: "admin" }] }
20
20
  */
21
21
  export declare class FilterTranslator {
22
22
  /**
23
- * Translate filters from ObjectQL format to ObjectStack FilterNode format
23
+ * Translate filters from ObjectQL format to ObjectStack FilterCondition format
24
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;
25
+ translate(filters?: Filter): FilterCondition | undefined;
38
26
  }
39
27
  export {};
@@ -8,127 +8,30 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.FilterTranslator = void 0;
11
- const types_1 = require("@objectql/types");
12
11
  /**
13
12
  * Filter Translator
14
13
  *
15
- * Translates ObjectQL Filter (FilterCondition) to ObjectStack FilterNode format.
16
- * Converts modern object-based syntax to legacy array-based syntax for backward compatibility.
14
+ * Translates ObjectQL Filter to ObjectStack FilterCondition format.
15
+ * Since both now use the same format, this is mostly a pass-through.
17
16
  *
18
17
  * @example
19
18
  * Input: { age: { $gte: 18 }, $or: [{ status: "active" }, { role: "admin" }] }
20
- * Output: [["age", ">=", 18], "or", [["status", "=", "active"], "or", ["role", "=", "admin"]]]
19
+ * Output: { age: { $gte: 18 }, $or: [{ status: "active" }, { role: "admin" }] }
21
20
  */
22
21
  class FilterTranslator {
23
22
  /**
24
- * Translate filters from ObjectQL format to ObjectStack FilterNode format
23
+ * Translate filters from ObjectQL format to ObjectStack FilterCondition format
25
24
  */
26
25
  translate(filters) {
27
26
  if (!filters) {
28
27
  return undefined;
29
28
  }
30
- // Backward compatibility: if it's already an array (old format), pass through
31
- if (Array.isArray(filters)) {
32
- return filters;
33
- }
34
29
  // If it's an empty object, return undefined
35
30
  if (typeof filters === 'object' && Object.keys(filters).length === 0) {
36
31
  return undefined;
37
32
  }
38
- return this.convertToNode(filters);
39
- }
40
- /**
41
- * Recursively converts FilterCondition to FilterNode array format
42
- */
43
- convertToNode(filter) {
44
- const nodes = [];
45
- // Process logical operators first
46
- if (filter.$and) {
47
- const andNodes = filter.$and.map((f) => this.convertToNode(f));
48
- nodes.push(...this.interleaveWithOperator(andNodes, 'and'));
49
- }
50
- if (filter.$or) {
51
- const orNodes = filter.$or.map((f) => this.convertToNode(f));
52
- if (nodes.length > 0) {
53
- nodes.push('and');
54
- }
55
- nodes.push(...this.interleaveWithOperator(orNodes, 'or'));
56
- }
57
- // Note: $not operator is not currently supported in the legacy FilterNode format
58
- if (filter.$not) {
59
- throw new types_1.ObjectQLError({
60
- code: 'UNSUPPORTED_OPERATOR',
61
- message: '$not operator is not supported. Use $ne for field negation instead.'
62
- });
63
- }
64
- // Process field conditions
65
- for (const [field, value] of Object.entries(filter)) {
66
- if (field.startsWith('$')) {
67
- continue; // Skip logical operators (already processed)
68
- }
69
- if (nodes.length > 0) {
70
- nodes.push('and');
71
- }
72
- // Handle field value
73
- if (value === null || value === undefined) {
74
- nodes.push([field, '=', value]);
75
- }
76
- else if (typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
77
- // Explicit operators - multiple operators on same field are AND-ed together
78
- const entries = Object.entries(value);
79
- for (let i = 0; i < entries.length; i++) {
80
- const [op, opValue] = entries[i];
81
- // Add 'and' before each operator (except the very first node)
82
- if (nodes.length > 0 || i > 0) {
83
- nodes.push('and');
84
- }
85
- const legacyOp = this.mapOperatorToLegacy(op);
86
- nodes.push([field, legacyOp, opValue]);
87
- }
88
- }
89
- else {
90
- // Implicit equality
91
- nodes.push([field, '=', value]);
92
- }
93
- }
94
- // Return as FilterNode (type assertion for backward compatibility)
95
- return (nodes.length === 1 ? nodes[0] : nodes);
96
- }
97
- /**
98
- * Interleaves filter nodes with a logical operator
99
- */
100
- interleaveWithOperator(nodes, operator) {
101
- if (nodes.length === 0)
102
- return [];
103
- if (nodes.length === 1)
104
- return [nodes[0]];
105
- const result = [nodes[0]];
106
- for (let i = 1; i < nodes.length; i++) {
107
- result.push(operator, nodes[i]);
108
- }
109
- return result;
110
- }
111
- /**
112
- * Maps modern $-prefixed operators to legacy format
113
- */
114
- mapOperatorToLegacy(operator) {
115
- const mapping = {
116
- '$eq': '=',
117
- '$ne': '!=',
118
- '$gt': '>',
119
- '$gte': '>=',
120
- '$lt': '<',
121
- '$lte': '<=',
122
- '$in': 'in',
123
- '$nin': 'nin',
124
- '$contains': 'contains',
125
- '$startsWith': 'startswith',
126
- '$endsWith': 'endswith',
127
- '$null': 'is_null',
128
- '$exist': 'is_not_null',
129
- '$between': 'between',
130
- };
131
- return mapping[operator] || operator.replace('$', '');
33
+ // Both ObjectQL Filter and ObjectStack FilterCondition use the same format now
34
+ return filters;
132
35
  }
133
36
  }
134
37
  exports.FilterTranslator = FilterTranslator;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-translator.js","sourceRoot":"","sources":["../../src/query/filter-translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-translator.js","sourceRoot":"","sources":["../../src/query/filter-translator.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAOH;;;;;;;;;GASG;AACH,MAAa,gBAAgB;IACzB;;OAEG;IACH,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,+EAA+E;QAC/E,OAAO,OAAqC,CAAC;IACjD,CAAC;CACJ;AAjBD,4CAiBC"}
@@ -45,10 +45,10 @@ class QueryAnalyzer {
45
45
  // Build the QueryAST (without executing)
46
46
  const ast = {
47
47
  object: objectName,
48
- filters: query.filters, // FilterCondition is compatible with FilterNode
49
- sort: query.sort, // Will be converted to SortNode[] format
50
- top: query.limit, // Changed from limit to top (QueryAST uses 'top')
51
- skip: query.skip,
48
+ where: query.where, // FilterCondition format
49
+ orderBy: query.orderBy, // Will be converted to SortNode[] format
50
+ limit: query.limit,
51
+ offset: query.offset,
52
52
  fields: query.fields
53
53
  };
54
54
  // Analyze filters for index usage
@@ -144,7 +144,7 @@ class QueryAnalyzer {
144
144
  */
145
145
  findApplicableIndexes(schema, query) {
146
146
  const indexes = [];
147
- if (!schema.indexes || !query.filters) {
147
+ if (!schema.indexes || !query.where) {
148
148
  return indexes;
149
149
  }
150
150
  // Extract fields used in filters
@@ -170,7 +170,7 @@ class QueryAnalyzer {
170
170
  filterFields.add(key);
171
171
  }
172
172
  };
173
- extractFieldsFromFilter(query.filters);
173
+ extractFieldsFromFilter(query.where);
174
174
  // Check which indexes could be used
175
175
  const indexesArray = Array.isArray(schema.indexes) ? schema.indexes : Object.values(schema.indexes || {});
176
176
  for (const index of indexesArray) {
@@ -192,7 +192,7 @@ class QueryAnalyzer {
192
192
  analyzeWarnings(schema, query) {
193
193
  const warnings = [];
194
194
  // Warning: No filters (full table scan)
195
- if (!query.filters || query.filters.length === 0) {
195
+ if (!query.where || Object.keys(query.where).length === 0) {
196
196
  warnings.push('No filters specified - this will scan all records');
197
197
  }
198
198
  // Warning: No limit on potentially large dataset
@@ -207,7 +207,7 @@ class QueryAnalyzer {
207
207
  }
208
208
  }
209
209
  // Warning: Complex filters without indexes
210
- if (query.filters && query.filters.length > 5) {
210
+ if (query.where && Object.keys(query.where).length > 5) {
211
211
  const indexes = this.findApplicableIndexes(schema, query);
212
212
  if (indexes.length === 0) {
213
213
  warnings.push('Complex filters without matching indexes - consider adding indexes');
@@ -226,10 +226,8 @@ class QueryAnalyzer {
226
226
  suggestions.push('Add a limit clause to restrict result set size');
227
227
  }
228
228
  // Suggest adding indexes
229
- if (query.filters && query.filters.length > 0 && indexes.length === 0) {
230
- const filterFields = query.filters
231
- .filter((f) => Array.isArray(f) && f.length >= 1)
232
- .map((f) => String(f[0]));
229
+ if (query.where && Object.keys(query.where).length > 0 && indexes.length === 0) {
230
+ const filterFields = Object.keys(query.where).filter(k => !k.startsWith('$'));
233
231
  if (filterFields.length > 0) {
234
232
  suggestions.push(`Consider adding an index on: ${filterFields.join(', ')}`);
235
233
  }
@@ -239,10 +237,9 @@ class QueryAnalyzer {
239
237
  suggestions.push('Select only required fields to reduce data transfer');
240
238
  }
241
239
  // Suggest composite index for multiple filters
242
- if (query.filters && query.filters.length > 1 && indexes.length < 2) {
243
- const filterFields = query.filters
244
- .filter((f) => Array.isArray(f) && f.length >= 1)
245
- .map((f) => String(f[0]))
240
+ if (query.where && Object.keys(query.where).length > 1 && indexes.length < 2) {
241
+ const filterFields = Object.keys(query.where)
242
+ .filter(k => !k.startsWith('$'))
246
243
  .slice(0, 3); // Top 3 fields
247
244
  if (filterFields.length > 1) {
248
245
  suggestions.push(`Consider a composite index on: (${filterFields.join(', ')})`);
@@ -259,17 +256,18 @@ class QueryAnalyzer {
259
256
  // Base complexity
260
257
  complexity += 10;
261
258
  // Filters add complexity
262
- if (query.filters) {
263
- complexity += query.filters.length * 5;
264
- // Nested filters (OR conditions) add more
265
- const hasNestedFilters = query.filters.some((f) => Array.isArray(f) && Array.isArray(f[0]));
266
- if (hasNestedFilters) {
259
+ if (query.where) {
260
+ const filterCount = Object.keys(query.where).length;
261
+ complexity += filterCount * 5;
262
+ // Nested filters (OR/AND conditions) add more
263
+ const hasLogicalOps = query.where.$and || query.where.$or;
264
+ if (hasLogicalOps) {
267
265
  complexity += 15;
268
266
  }
269
267
  }
270
268
  // Sorting adds complexity
271
- if (query.sort && query.sort.length > 0) {
272
- complexity += query.sort.length * 3;
269
+ if (query.orderBy && query.orderBy.length > 0) {
270
+ complexity += query.orderBy.length * 3;
273
271
  }
274
272
  // Field selection reduces complexity slightly
275
273
  if (query.fields && query.fields.length > 0 && query.fields.length < 10) {
@@ -290,12 +288,13 @@ class QueryAnalyzer {
290
288
  // This is a placeholder - real implementation would need statistics
291
289
  // from the database (row count, index selectivity, etc.)
292
290
  // Default to unknown
293
- if (!query.filters || query.filters.length === 0) {
291
+ if (!query.where || Object.keys(query.where).length === 0) {
294
292
  return -1; // Unknown, full scan
295
293
  }
296
294
  // Very rough estimate based on filter count
297
295
  const baseEstimate = 1000;
298
- const filterReduction = Math.pow(0.5, query.filters.length);
296
+ const filterCount = Object.keys(query.where).length;
297
+ const filterReduction = Math.pow(0.5, filterCount);
299
298
  const estimated = Math.floor(baseEstimate * filterReduction);
300
299
  // Apply limit if present
301
300
  if (query.limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"query-analyzer.js","sourceRoot":"","sources":["../../src/query/query-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-analyzer.js","sourceRoot":"","sources":["../../src/query/query-analyzer.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ type QueryAST = Data.QueryAST;
12
12
  * Query Builder
13
13
  *
14
14
  * Builds ObjectStack QueryAST from ObjectQL UnifiedQuery.
15
- * This is the central query construction module for ObjectQL.
15
+ * Since UnifiedQuery now uses the standard protocol format directly,
16
+ * this is now a simple pass-through with object name injection.
16
17
  */
17
18
  export declare class QueryBuilder {
18
19
  private filterTranslator;
@@ -21,7 +22,7 @@ export declare class QueryBuilder {
21
22
  * Build a QueryAST from a UnifiedQuery
22
23
  *
23
24
  * @param objectName - Target object name
24
- * @param query - ObjectQL UnifiedQuery
25
+ * @param query - ObjectQL UnifiedQuery (now in standard QueryAST format)
25
26
  * @returns ObjectStack QueryAST
26
27
  */
27
28
  build(objectName: string, query: UnifiedQuery): QueryAST;
@@ -13,7 +13,8 @@ const filter_translator_1 = require("./filter-translator");
13
13
  * Query Builder
14
14
  *
15
15
  * Builds ObjectStack QueryAST from ObjectQL UnifiedQuery.
16
- * This is the central query construction module for ObjectQL.
16
+ * Since UnifiedQuery now uses the standard protocol format directly,
17
+ * this is now a simple pass-through with object name injection.
17
18
  */
18
19
  class QueryBuilder {
19
20
  constructor() {
@@ -23,46 +24,19 @@ class QueryBuilder {
23
24
  * Build a QueryAST from a UnifiedQuery
24
25
  *
25
26
  * @param objectName - Target object name
26
- * @param query - ObjectQL UnifiedQuery
27
+ * @param query - ObjectQL UnifiedQuery (now in standard QueryAST format)
27
28
  * @returns ObjectStack QueryAST
28
29
  */
29
30
  build(objectName, query) {
31
+ // UnifiedQuery now uses the same format as QueryAST
32
+ // Just add the object name and pass through
30
33
  const ast = {
31
34
  object: objectName,
35
+ ...query
32
36
  };
33
- // Map fields
34
- if (query.fields) {
35
- ast.fields = query.fields;
36
- }
37
- // Map filters using FilterTranslator
38
- if (query.filters) {
39
- ast.filters = this.filterTranslator.translate(query.filters);
40
- }
41
- // Map sort
42
- if (query.sort) {
43
- ast.sort = query.sort.map(([field, order]) => ({
44
- field,
45
- order: order
46
- }));
47
- }
48
- // Map pagination
49
- if (query.limit !== undefined) {
50
- ast.top = query.limit;
51
- }
52
- if (query.skip !== undefined) {
53
- ast.skip = query.skip;
54
- }
55
- // Map groupBy
56
- if (query.groupBy) {
57
- ast.groupBy = query.groupBy;
58
- }
59
- // Map aggregations
60
- if (query.aggregate) {
61
- ast.aggregations = query.aggregate.map(agg => ({
62
- function: agg.func,
63
- field: agg.field,
64
- alias: agg.alias || `${agg.func}_${agg.field}`
65
- }));
37
+ // Ensure where is properly formatted
38
+ if (query.where) {
39
+ ast.where = this.filterTranslator.translate(query.where);
66
40
  }
67
41
  return ast;
68
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAKH,2DAAuD;AAEvD;;;;;GAKG;AACH,MAAa,YAAY;IAGrB;QACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAgB,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAkB,EAAE,KAAmB;QACzC,MAAM,GAAG,GAAa;YAClB,MAAM,EAAE,UAAU;SACrB,CAAC;QAEF,aAAa;QACb,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,qCAAqC;QACrC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,KAAK;gBACL,KAAK,EAAE,KAAuB;aACjC,CAAC,CAAC,CAAC;QACR,CAAC;QAED,iBAAiB;QACjB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,cAAc;QACd,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAChC,CAAC;QAED,mBAAmB;QACnB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3C,QAAQ,EAAE,GAAG,CAAC,IAAW;gBACzB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;aACjD,CAAC,CAAC,CAAC;QACR,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA7DD,oCA6DC"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAKH,2DAAuD;AAEvD;;;;;;GAMG;AACH,MAAa,YAAY;IAGrB;QACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAgB,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAkB,EAAE,KAAmB;QACzC,oDAAoD;QACpD,4CAA4C;QAC5C,MAAM,GAAG,GAAa;YAClB,MAAM,EAAE,UAAU;YAClB,GAAG,KAAK;SACX,CAAC;QAEF,qCAAqC;QACrC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA7BD,oCA6BC"}
@@ -121,11 +121,11 @@ export declare class QueryService {
121
121
  * Execute a count query
122
122
  *
123
123
  * @param objectName - The object to query
124
- * @param filters - Optional filters
124
+ * @param where - Optional filter condition
125
125
  * @param options - Query execution options
126
126
  * @returns Count of matching records
127
127
  */
128
- count(objectName: string, filters?: Filter[], options?: QueryOptions): Promise<QueryResult<number>>;
128
+ count(objectName: string, where?: Filter, options?: QueryOptions): Promise<QueryResult<number>>;
129
129
  /**
130
130
  * Execute an aggregate query
131
131
  *
@@ -132,7 +132,7 @@ class QueryService {
132
132
  else if (driver.executeQuery) {
133
133
  // Fallback to query with ID filter
134
134
  const query = {
135
- filters: [['_id', '=', id]]
135
+ where: { _id: id }
136
136
  };
137
137
  const ast = this.buildQueryAST(objectName, query);
138
138
  const queryResult = await driver.executeQuery(ast, driverOptions);
@@ -154,15 +154,15 @@ class QueryService {
154
154
  * Execute a count query
155
155
  *
156
156
  * @param objectName - The object to query
157
- * @param filters - Optional filters
157
+ * @param where - Optional filter condition
158
158
  * @param options - Query execution options
159
159
  * @returns Count of matching records
160
160
  */
161
- async count(objectName, filters, options = {}) {
161
+ async count(objectName, where, options = {}) {
162
162
  var _a, _b, _c;
163
163
  const driver = this.getDriver(objectName);
164
164
  const startTime = options.profile ? Date.now() : 0;
165
- const query = filters ? { filters } : {};
165
+ const query = where ? { where } : {};
166
166
  const ast = this.buildQueryAST(objectName, query);
167
167
  const driverOptions = {
168
168
  transaction: options.transaction,
@@ -171,7 +171,7 @@ class QueryService {
171
171
  let count;
172
172
  if (driver.count) {
173
173
  // Legacy driver interface
174
- count = await driver.count(objectName, filters || [], driverOptions);
174
+ count = await driver.count(objectName, where || {}, driverOptions);
175
175
  }
176
176
  else if (driver.executeQuery) {
177
177
  // Use executeQuery and count results
@@ -1 +1 @@
1
- {"version":3,"file":"query-service.js","sourceRoot":"","sources":["../../src/query/query-service.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAWH,mDAA+C;AAwE/C;;;;;;;;;;;GAWG;AACH,MAAa,YAAY;IAGrB,YACY,WAAmC,EACnC,QAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAwB;QACnC,aAAQ,GAAR,QAAQ,CAAkB;QAElC,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,UAAkB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,2BAA2B,UAAU,GAAG,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,UAAkB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAe,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,yBAAyB,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,UAAkB,EAAE,KAAmB;QACzD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CACN,UAAkB,EAClB,QAAsB,EAAE,EACxB,UAAwB,EAAE;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,iBAAiB;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAElD,2BAA2B;QAC3B,MAAM,aAAa,GAAG;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,OAAO,CAAC,aAAa;SAC3B,CAAC;QAEF,IAAI,OAAc,CAAC;QACnB,IAAI,KAAyB,CAAC;QAE9B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,0BAA0B;YAC1B,MAAM,MAAM,GAAQ,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YACxE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;YACjE,KAAK,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,MAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7H,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC7D,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO;YACH,KAAK,EAAE,OAAO;YACd,KAAK;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvB,aAAa;gBACb,GAAG;gBACH,WAAW,EAAE,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAC,CAAC,SAAS;SAChB,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACT,UAAkB,EAClB,EAAmB,EACnB,UAAwB,EAAE;;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,OAAO,CAAC,aAAa;SAC3B,CAAC;QAEF,IAAI,MAAW,CAAC;QAEhB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,0BAA0B;YAC1B,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACpB,0BAA0B;YAC1B,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,mCAAmC;YACnC,MAAM,KAAK,GAAiB;gBACxB,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;aAC9B,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAClE,MAAM,GAAG,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO;YACH,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvB,aAAa;gBACb,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B,CAAC,CAAC,CAAC,SAAS;SAChB,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CACP,UAAkB,EAClB,OAAkB,EAClB,UAAwB,EAAE;;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAiB,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAElD,MAAM,aAAa,GAAG;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,OAAO,CAAC,aAAa;SAC3B,CAAC;QAEF,IAAI,KAAa,CAAC;QAElB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,0BAA0B;YAC1B,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,qCAAqC;YACrC,+CAA+C;YAC/C,6DAA6D;YAC7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC7D,KAAK,GAAG,MAAA,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAA,MAAM,CAAC,KAAK,0CAAE,MAAM,mCAAI,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvB,aAAa;gBACb,GAAG;aACN,CAAC,CAAC,CAAC,SAAS;SAChB,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACX,UAAkB,EAClB,KAAmB,EACnB,UAAwB,EAAE;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,OAAO,CAAC,aAAa;SAC3B,CAAC;QAEF,IAAI,OAAc,CAAC;QAEnB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,8BAA8B;YAC9B,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACJ,qCAAqC;YACrC,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;QACxH,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO;YACH,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvB,aAAa;gBACb,WAAW,EAAE,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAC,CAAC,SAAS;SAChB,CAAC;IACN,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CACb,UAAkB,EAClB,WAAmB,EACnB,MAAc,EACd,UAAwB,EAAE;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,OAAO,CAAC,aAAa;SAC3B,CAAC;QAEF,IAAI,OAAY,CAAC;QAEjB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,0BAA0B;YAC1B,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO;YACH,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvB,aAAa;aAChB,CAAC,CAAC,CAAC,SAAS;SAChB,CAAC;IACN,CAAC;CACJ;AAnSD,oCAmSC"}
1
+ {"version":3,"file":"query-service.js","sourceRoot":"","sources":["../../src/query/query-service.ts"],"names":[],"mappings":"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"}