@claude-flow/memory 3.0.0-alpha.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/.agentic-flow/intelligence.json +16 -0
- package/README.md +249 -0
- package/__tests__/coverage/base.css +224 -0
- package/__tests__/coverage/block-navigation.js +87 -0
- package/__tests__/coverage/coverage-final.json +19 -0
- package/__tests__/coverage/favicon.png +0 -0
- package/__tests__/coverage/index.html +206 -0
- package/__tests__/coverage/lcov-report/base.css +224 -0
- package/__tests__/coverage/lcov-report/block-navigation.js +87 -0
- package/__tests__/coverage/lcov-report/favicon.png +0 -0
- package/__tests__/coverage/lcov-report/index.html +206 -0
- package/__tests__/coverage/lcov-report/prettify.css +1 -0
- package/__tests__/coverage/lcov-report/prettify.js +2 -0
- package/__tests__/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/__tests__/coverage/lcov-report/sorter.js +210 -0
- package/__tests__/coverage/lcov-report/src/agentdb-adapter.ts.html +2737 -0
- package/__tests__/coverage/lcov-report/src/agentdb-backend.ts.html +3130 -0
- package/__tests__/coverage/lcov-report/src/application/commands/delete-memory.command.ts.html +601 -0
- package/__tests__/coverage/lcov-report/src/application/commands/index.html +131 -0
- package/__tests__/coverage/lcov-report/src/application/commands/store-memory.command.ts.html +394 -0
- package/__tests__/coverage/lcov-report/src/application/queries/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/application/queries/search-memory.query.ts.html +796 -0
- package/__tests__/coverage/lcov-report/src/application/services/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/application/services/memory-application-service.ts.html +793 -0
- package/__tests__/coverage/lcov-report/src/cache-manager.ts.html +1633 -0
- package/__tests__/coverage/lcov-report/src/database-provider.ts.html +1618 -0
- package/__tests__/coverage/lcov-report/src/domain/entities/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/domain/entities/memory-entry.ts.html +952 -0
- package/__tests__/coverage/lcov-report/src/domain/services/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/domain/services/memory-domain-service.ts.html +1294 -0
- package/__tests__/coverage/lcov-report/src/hnsw-index.ts.html +3124 -0
- package/__tests__/coverage/lcov-report/src/hybrid-backend.ts.html +2167 -0
- package/__tests__/coverage/lcov-report/src/index.html +266 -0
- package/__tests__/coverage/lcov-report/src/infrastructure/repositories/hybrid-memory-repository.ts.html +1633 -0
- package/__tests__/coverage/lcov-report/src/infrastructure/repositories/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/migration.ts.html +2092 -0
- package/__tests__/coverage/lcov-report/src/query-builder.ts.html +1711 -0
- package/__tests__/coverage/lcov-report/src/sqlite-backend.ts.html +2281 -0
- package/__tests__/coverage/lcov-report/src/sqljs-backend.ts.html +2374 -0
- package/__tests__/coverage/lcov-report/src/types.ts.html +2266 -0
- package/__tests__/coverage/lcov.info +10238 -0
- package/__tests__/coverage/prettify.css +1 -0
- package/__tests__/coverage/prettify.js +2 -0
- package/__tests__/coverage/sort-arrow-sprite.png +0 -0
- package/__tests__/coverage/sorter.js +210 -0
- package/__tests__/coverage/src/agentdb-adapter.ts.html +2737 -0
- package/__tests__/coverage/src/agentdb-backend.ts.html +3130 -0
- package/__tests__/coverage/src/application/commands/delete-memory.command.ts.html +601 -0
- package/__tests__/coverage/src/application/commands/index.html +131 -0
- package/__tests__/coverage/src/application/commands/store-memory.command.ts.html +394 -0
- package/__tests__/coverage/src/application/queries/index.html +116 -0
- package/__tests__/coverage/src/application/queries/search-memory.query.ts.html +796 -0
- package/__tests__/coverage/src/application/services/index.html +116 -0
- package/__tests__/coverage/src/application/services/memory-application-service.ts.html +793 -0
- package/__tests__/coverage/src/cache-manager.ts.html +1633 -0
- package/__tests__/coverage/src/database-provider.ts.html +1618 -0
- package/__tests__/coverage/src/domain/entities/index.html +116 -0
- package/__tests__/coverage/src/domain/entities/memory-entry.ts.html +952 -0
- package/__tests__/coverage/src/domain/services/index.html +116 -0
- package/__tests__/coverage/src/domain/services/memory-domain-service.ts.html +1294 -0
- package/__tests__/coverage/src/hnsw-index.ts.html +3124 -0
- package/__tests__/coverage/src/hybrid-backend.ts.html +2167 -0
- package/__tests__/coverage/src/index.html +266 -0
- package/__tests__/coverage/src/infrastructure/repositories/hybrid-memory-repository.ts.html +1633 -0
- package/__tests__/coverage/src/infrastructure/repositories/index.html +116 -0
- package/__tests__/coverage/src/migration.ts.html +2092 -0
- package/__tests__/coverage/src/query-builder.ts.html +1711 -0
- package/__tests__/coverage/src/sqlite-backend.ts.html +2281 -0
- package/__tests__/coverage/src/sqljs-backend.ts.html +2374 -0
- package/__tests__/coverage/src/types.ts.html +2266 -0
- package/benchmarks/cache-hit-rate.bench.ts +535 -0
- package/benchmarks/hnsw-indexing.bench.ts +552 -0
- package/benchmarks/memory-write.bench.ts +469 -0
- package/benchmarks/vector-search.bench.ts +449 -0
- package/dist/agentdb-adapter.d.ts +146 -0
- package/dist/agentdb-adapter.d.ts.map +1 -0
- package/dist/agentdb-adapter.js +679 -0
- package/dist/agentdb-adapter.js.map +1 -0
- package/dist/agentdb-backend.d.ts +214 -0
- package/dist/agentdb-backend.d.ts.map +1 -0
- package/dist/agentdb-backend.js +827 -0
- package/dist/agentdb-backend.js.map +1 -0
- package/dist/agentdb-backend.test.d.ts +7 -0
- package/dist/agentdb-backend.test.d.ts.map +1 -0
- package/dist/agentdb-backend.test.js +258 -0
- package/dist/agentdb-backend.test.js.map +1 -0
- package/dist/application/commands/delete-memory.command.d.ts +65 -0
- package/dist/application/commands/delete-memory.command.d.ts.map +1 -0
- package/dist/application/commands/delete-memory.command.js +129 -0
- package/dist/application/commands/delete-memory.command.js.map +1 -0
- package/dist/application/commands/store-memory.command.d.ts +48 -0
- package/dist/application/commands/store-memory.command.d.ts.map +1 -0
- package/dist/application/commands/store-memory.command.js +72 -0
- package/dist/application/commands/store-memory.command.js.map +1 -0
- package/dist/application/index.d.ts +12 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +15 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/queries/search-memory.query.d.ts +72 -0
- package/dist/application/queries/search-memory.query.d.ts.map +1 -0
- package/dist/application/queries/search-memory.query.js +143 -0
- package/dist/application/queries/search-memory.query.js.map +1 -0
- package/dist/application/services/memory-application-service.d.ts +121 -0
- package/dist/application/services/memory-application-service.d.ts.map +1 -0
- package/dist/application/services/memory-application-service.js +190 -0
- package/dist/application/services/memory-application-service.js.map +1 -0
- package/dist/cache-manager.d.ts +134 -0
- package/dist/cache-manager.d.ts.map +1 -0
- package/dist/cache-manager.js +407 -0
- package/dist/cache-manager.js.map +1 -0
- package/dist/database-provider.d.ts +86 -0
- package/dist/database-provider.d.ts.map +1 -0
- package/dist/database-provider.js +385 -0
- package/dist/database-provider.js.map +1 -0
- package/dist/database-provider.test.d.ts +7 -0
- package/dist/database-provider.test.d.ts.map +1 -0
- package/dist/database-provider.test.js +285 -0
- package/dist/database-provider.test.js.map +1 -0
- package/dist/domain/entities/memory-entry.d.ts +143 -0
- package/dist/domain/entities/memory-entry.d.ts.map +1 -0
- package/dist/domain/entities/memory-entry.js +226 -0
- package/dist/domain/entities/memory-entry.js.map +1 -0
- package/dist/domain/index.d.ts +11 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +12 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
- package/dist/domain/repositories/memory-repository.interface.d.ts.map +1 -0
- package/dist/domain/repositories/memory-repository.interface.js +11 -0
- package/dist/domain/repositories/memory-repository.interface.js.map +1 -0
- package/dist/domain/services/memory-domain-service.d.ts +105 -0
- package/dist/domain/services/memory-domain-service.d.ts.map +1 -0
- package/dist/domain/services/memory-domain-service.js +297 -0
- package/dist/domain/services/memory-domain-service.js.map +1 -0
- package/dist/hnsw-index.d.ts +111 -0
- package/dist/hnsw-index.d.ts.map +1 -0
- package/dist/hnsw-index.js +781 -0
- package/dist/hnsw-index.js.map +1 -0
- package/dist/hybrid-backend.d.ts +217 -0
- package/dist/hybrid-backend.d.ts.map +1 -0
- package/dist/hybrid-backend.js +491 -0
- package/dist/hybrid-backend.js.map +1 -0
- package/dist/hybrid-backend.test.d.ts +8 -0
- package/dist/hybrid-backend.test.d.ts.map +1 -0
- package/dist/hybrid-backend.test.js +320 -0
- package/dist/hybrid-backend.test.js.map +1 -0
- package/dist/index.d.ts +188 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +345 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/index.d.ts +17 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +16 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.js.map +1 -0
- package/dist/migration.d.ts +68 -0
- package/dist/migration.d.ts.map +1 -0
- package/dist/migration.js +513 -0
- package/dist/migration.js.map +1 -0
- package/dist/query-builder.d.ts +211 -0
- package/dist/query-builder.d.ts.map +1 -0
- package/dist/query-builder.js +438 -0
- package/dist/query-builder.js.map +1 -0
- package/dist/sqlite-backend.d.ts +121 -0
- package/dist/sqlite-backend.d.ts.map +1 -0
- package/dist/sqlite-backend.js +564 -0
- package/dist/sqlite-backend.js.map +1 -0
- package/dist/sqljs-backend.d.ts +128 -0
- package/dist/sqljs-backend.d.ts.map +1 -0
- package/dist/sqljs-backend.js +598 -0
- package/dist/sqljs-backend.js.map +1 -0
- package/dist/types.d.ts +481 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +58 -0
- package/dist/types.js.map +1 -0
- package/docs/AGENTDB-INTEGRATION.md +388 -0
- package/docs/CROSS_PLATFORM.md +505 -0
- package/docs/WINDOWS_SUPPORT.md +422 -0
- package/examples/agentdb-example.ts +345 -0
- package/examples/cross-platform-usage.ts +326 -0
- package/framework/benchmark.ts +112 -0
- package/package.json +31 -0
- package/src/agentdb-adapter.ts +884 -0
- package/src/agentdb-backend.test.ts +339 -0
- package/src/agentdb-backend.ts +1016 -0
- package/src/application/commands/delete-memory.command.ts +172 -0
- package/src/application/commands/store-memory.command.ts +103 -0
- package/src/application/index.ts +36 -0
- package/src/application/queries/search-memory.query.ts +237 -0
- package/src/application/services/memory-application-service.ts +236 -0
- package/src/cache-manager.ts +516 -0
- package/src/database-provider.test.ts +364 -0
- package/src/database-provider.ts +511 -0
- package/src/domain/entities/memory-entry.ts +289 -0
- package/src/domain/index.ts +35 -0
- package/src/domain/repositories/memory-repository.interface.ts +120 -0
- package/src/domain/services/memory-domain-service.ts +403 -0
- package/src/hnsw-index.ts +1013 -0
- package/src/hybrid-backend.test.ts +399 -0
- package/src/hybrid-backend.ts +694 -0
- package/src/index.ts +515 -0
- package/src/infrastructure/index.ts +23 -0
- package/src/infrastructure/repositories/hybrid-memory-repository.ts +516 -0
- package/src/migration.ts +669 -0
- package/src/query-builder.ts +542 -0
- package/src/sqlite-backend.ts +732 -0
- package/src/sqljs-backend.ts +763 -0
- package/src/types.ts +727 -0
- package/tsconfig.json +9 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/verify-cross-platform.ts +170 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Query Builder
|
|
3
|
+
*
|
|
4
|
+
* Fluent API for building memory queries with filter chaining,
|
|
5
|
+
* sorting options, and pagination support.
|
|
6
|
+
*
|
|
7
|
+
* @module v3/memory/query-builder
|
|
8
|
+
*/
|
|
9
|
+
import { MemoryQuery, MemoryType, AccessLevel, DistanceMetric } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Sort direction
|
|
12
|
+
*/
|
|
13
|
+
export type SortDirection = 'asc' | 'desc';
|
|
14
|
+
/**
|
|
15
|
+
* Sort field options
|
|
16
|
+
*/
|
|
17
|
+
export type SortField = 'createdAt' | 'updatedAt' | 'lastAccessedAt' | 'accessCount' | 'key' | 'score';
|
|
18
|
+
/**
|
|
19
|
+
* Fluent query builder for constructing memory queries
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const query = new QueryBuilder()
|
|
24
|
+
* .semantic('user authentication patterns')
|
|
25
|
+
* .inNamespace('security')
|
|
26
|
+
* .withTags(['auth', 'patterns'])
|
|
27
|
+
* .ofType('semantic')
|
|
28
|
+
* .limit(10)
|
|
29
|
+
* .threshold(0.8)
|
|
30
|
+
* .build();
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class QueryBuilder {
|
|
34
|
+
private state;
|
|
35
|
+
constructor();
|
|
36
|
+
/**
|
|
37
|
+
* Create a semantic (vector similarity) query
|
|
38
|
+
*/
|
|
39
|
+
semantic(content: string): this;
|
|
40
|
+
/**
|
|
41
|
+
* Create a semantic query with pre-computed embedding
|
|
42
|
+
*/
|
|
43
|
+
semanticWithEmbedding(embedding: Float32Array): this;
|
|
44
|
+
/**
|
|
45
|
+
* Create an exact key match query
|
|
46
|
+
*/
|
|
47
|
+
exact(key: string): this;
|
|
48
|
+
/**
|
|
49
|
+
* Create a key prefix match query
|
|
50
|
+
*/
|
|
51
|
+
prefix(keyPrefix: string): this;
|
|
52
|
+
/**
|
|
53
|
+
* Create a tag-based query
|
|
54
|
+
*/
|
|
55
|
+
byTags(tags: string[]): this;
|
|
56
|
+
/**
|
|
57
|
+
* Create a hybrid query (semantic + filters)
|
|
58
|
+
*/
|
|
59
|
+
hybrid(content: string): this;
|
|
60
|
+
/**
|
|
61
|
+
* Filter by namespace
|
|
62
|
+
*/
|
|
63
|
+
inNamespace(namespace: string): this;
|
|
64
|
+
/**
|
|
65
|
+
* Add tag filter (entries must have all specified tags)
|
|
66
|
+
*/
|
|
67
|
+
withTags(tags: string[]): this;
|
|
68
|
+
/**
|
|
69
|
+
* Add a single tag filter
|
|
70
|
+
*/
|
|
71
|
+
withTag(tag: string): this;
|
|
72
|
+
/**
|
|
73
|
+
* Filter by memory type
|
|
74
|
+
*/
|
|
75
|
+
ofType(type: MemoryType): this;
|
|
76
|
+
/**
|
|
77
|
+
* Filter by access level
|
|
78
|
+
*/
|
|
79
|
+
withAccessLevel(level: AccessLevel): this;
|
|
80
|
+
/**
|
|
81
|
+
* Filter by owner
|
|
82
|
+
*/
|
|
83
|
+
ownedBy(ownerId: string): this;
|
|
84
|
+
/**
|
|
85
|
+
* Filter by metadata field
|
|
86
|
+
*/
|
|
87
|
+
whereMetadata(key: string, value: unknown): this;
|
|
88
|
+
/**
|
|
89
|
+
* Filter by creation date range
|
|
90
|
+
*/
|
|
91
|
+
createdBetween(after: Date | number, before?: Date | number): this;
|
|
92
|
+
/**
|
|
93
|
+
* Filter entries created after a date
|
|
94
|
+
*/
|
|
95
|
+
createdAfter(date: Date | number): this;
|
|
96
|
+
/**
|
|
97
|
+
* Filter entries created before a date
|
|
98
|
+
*/
|
|
99
|
+
createdBefore(date: Date | number): this;
|
|
100
|
+
/**
|
|
101
|
+
* Filter by update date range
|
|
102
|
+
*/
|
|
103
|
+
updatedBetween(after: Date | number, before?: Date | number): this;
|
|
104
|
+
/**
|
|
105
|
+
* Filter entries updated in the last N milliseconds
|
|
106
|
+
*/
|
|
107
|
+
updatedWithin(milliseconds: number): this;
|
|
108
|
+
/**
|
|
109
|
+
* Set maximum number of results
|
|
110
|
+
*/
|
|
111
|
+
limit(count: number): this;
|
|
112
|
+
/**
|
|
113
|
+
* Set pagination offset
|
|
114
|
+
*/
|
|
115
|
+
offset(count: number): this;
|
|
116
|
+
/**
|
|
117
|
+
* Set pagination with page number and size
|
|
118
|
+
*/
|
|
119
|
+
page(pageNumber: number, pageSize: number): this;
|
|
120
|
+
/**
|
|
121
|
+
* Set minimum similarity threshold for semantic search
|
|
122
|
+
*/
|
|
123
|
+
threshold(minScore: number): this;
|
|
124
|
+
/**
|
|
125
|
+
* Include expired entries in results
|
|
126
|
+
*/
|
|
127
|
+
includeExpired(include?: boolean): this;
|
|
128
|
+
/**
|
|
129
|
+
* Set distance metric for semantic search
|
|
130
|
+
*/
|
|
131
|
+
withMetric(metric: DistanceMetric): this;
|
|
132
|
+
/**
|
|
133
|
+
* Sort results by field
|
|
134
|
+
*/
|
|
135
|
+
sortBy(field: SortField, direction?: SortDirection): this;
|
|
136
|
+
/**
|
|
137
|
+
* Sort by creation date (newest first)
|
|
138
|
+
*/
|
|
139
|
+
newestFirst(): this;
|
|
140
|
+
/**
|
|
141
|
+
* Sort by creation date (oldest first)
|
|
142
|
+
*/
|
|
143
|
+
oldestFirst(): this;
|
|
144
|
+
/**
|
|
145
|
+
* Sort by relevance score (highest first)
|
|
146
|
+
*/
|
|
147
|
+
mostRelevant(): this;
|
|
148
|
+
/**
|
|
149
|
+
* Sort by access count (most accessed first)
|
|
150
|
+
*/
|
|
151
|
+
mostAccessed(): this;
|
|
152
|
+
/**
|
|
153
|
+
* Sort by last accessed time (most recent first)
|
|
154
|
+
*/
|
|
155
|
+
recentlyAccessed(): this;
|
|
156
|
+
/**
|
|
157
|
+
* Build the final query object
|
|
158
|
+
*/
|
|
159
|
+
build(): MemoryQuery;
|
|
160
|
+
/**
|
|
161
|
+
* Clone this builder
|
|
162
|
+
*/
|
|
163
|
+
clone(): QueryBuilder;
|
|
164
|
+
/**
|
|
165
|
+
* Reset the builder to initial state
|
|
166
|
+
*/
|
|
167
|
+
reset(): this;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Convenience function to create a new query builder
|
|
171
|
+
*/
|
|
172
|
+
export declare function query(): QueryBuilder;
|
|
173
|
+
/**
|
|
174
|
+
* Predefined query templates for common use cases
|
|
175
|
+
*/
|
|
176
|
+
export declare const QueryTemplates: {
|
|
177
|
+
/**
|
|
178
|
+
* Find recent entries in a namespace
|
|
179
|
+
*/
|
|
180
|
+
recentInNamespace(namespace: string, limit?: number): MemoryQuery;
|
|
181
|
+
/**
|
|
182
|
+
* Find entries by exact key
|
|
183
|
+
*/
|
|
184
|
+
byKey(namespace: string, key: string): MemoryQuery;
|
|
185
|
+
/**
|
|
186
|
+
* Semantic search with threshold
|
|
187
|
+
*/
|
|
188
|
+
semanticSearch(content: string, namespace?: string, threshold?: number, limit?: number): MemoryQuery;
|
|
189
|
+
/**
|
|
190
|
+
* Find entries with specific tags
|
|
191
|
+
*/
|
|
192
|
+
withTags(tags: string[], namespace?: string, limit?: number): MemoryQuery;
|
|
193
|
+
/**
|
|
194
|
+
* Find entries owned by a specific agent
|
|
195
|
+
*/
|
|
196
|
+
ownedBy(ownerId: string, namespace?: string, limit?: number): MemoryQuery;
|
|
197
|
+
/**
|
|
198
|
+
* Find episodic memories within a time range
|
|
199
|
+
*/
|
|
200
|
+
episodicInRange(after: Date | number, before: Date | number, limit?: number): MemoryQuery;
|
|
201
|
+
/**
|
|
202
|
+
* Find hot entries (frequently accessed)
|
|
203
|
+
*/
|
|
204
|
+
hotEntries(namespace?: string, limit?: number): MemoryQuery;
|
|
205
|
+
/**
|
|
206
|
+
* Find stale entries (not accessed recently)
|
|
207
|
+
*/
|
|
208
|
+
staleEntries(staleThresholdMs: number, namespace?: string, limit?: number): MemoryQuery;
|
|
209
|
+
};
|
|
210
|
+
export default QueryBuilder;
|
|
211
|
+
//# sourceMappingURL=query-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EAEX,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,KAAK,GACL,OAAO,CAAC;AA8BZ;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAoB;;IAcjC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM/B;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAMpD;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMxB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAM5B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM7B;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAK9B;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKzC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKhD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAQlE;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAKvC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAKxC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAQlE;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKzC;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B;;OAEG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhD;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjC;;OAEG;IACH,cAAc,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAK7C;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAKxC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,GAAE,aAAsB,GAAG,IAAI;IAMjE;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACH,KAAK,IAAI,WAAW;IA+BpB;;OAEG;IACH,KAAK,IAAI,YAAY;IAUrB;;OAEG;IACH,KAAK,IAAI,IAAI;CAYd;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,YAAY,CAEpC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB;;OAEG;iCAC0B,MAAM,UAAS,MAAM,GAAQ,WAAW;IAQrE;;OAEG;qBACc,MAAM,OAAO,MAAM,GAAG,WAAW;IAQlD;;OAEG;4BAEQ,MAAM,cACH,MAAM,cACP,MAAM,UACV,MAAM,GACZ,WAAW;IAad;;OAEG;mBACY,MAAM,EAAE,cAAc,MAAM,UAAS,MAAM,GAAQ,WAAW;IAY7E;;OAEG;qBACc,MAAM,cAAc,MAAM,UAAS,MAAM,GAAQ,WAAW;IAa7E;;OAEG;2BAEM,IAAI,GAAG,MAAM,UACZ,IAAI,GAAG,MAAM,UACd,MAAM,GACZ,WAAW;IASd;;OAEG;2BACoB,MAAM,UAAS,MAAM,GAAQ,WAAW;IAY/D;;OAEG;mCAEiB,MAAM,cACZ,MAAM,UACX,MAAM,GACZ,WAAW;CAYf,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Query Builder
|
|
3
|
+
*
|
|
4
|
+
* Fluent API for building memory queries with filter chaining,
|
|
5
|
+
* sorting options, and pagination support.
|
|
6
|
+
*
|
|
7
|
+
* @module v3/memory/query-builder
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Fluent query builder for constructing memory queries
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const query = new QueryBuilder()
|
|
15
|
+
* .semantic('user authentication patterns')
|
|
16
|
+
* .inNamespace('security')
|
|
17
|
+
* .withTags(['auth', 'patterns'])
|
|
18
|
+
* .ofType('semantic')
|
|
19
|
+
* .limit(10)
|
|
20
|
+
* .threshold(0.8)
|
|
21
|
+
* .build();
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export class QueryBuilder {
|
|
25
|
+
state;
|
|
26
|
+
constructor() {
|
|
27
|
+
this.state = {
|
|
28
|
+
type: 'hybrid',
|
|
29
|
+
tags: [],
|
|
30
|
+
metadata: {},
|
|
31
|
+
limit: 10,
|
|
32
|
+
offset: 0,
|
|
33
|
+
includeExpired: false,
|
|
34
|
+
sortDirection: 'desc',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create a semantic (vector similarity) query
|
|
39
|
+
*/
|
|
40
|
+
semantic(content) {
|
|
41
|
+
this.state.type = 'semantic';
|
|
42
|
+
this.state.content = content;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a semantic query with pre-computed embedding
|
|
47
|
+
*/
|
|
48
|
+
semanticWithEmbedding(embedding) {
|
|
49
|
+
this.state.type = 'semantic';
|
|
50
|
+
this.state.embedding = embedding;
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Create an exact key match query
|
|
55
|
+
*/
|
|
56
|
+
exact(key) {
|
|
57
|
+
this.state.type = 'exact';
|
|
58
|
+
this.state.key = key;
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create a key prefix match query
|
|
63
|
+
*/
|
|
64
|
+
prefix(keyPrefix) {
|
|
65
|
+
this.state.type = 'prefix';
|
|
66
|
+
this.state.keyPrefix = keyPrefix;
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create a tag-based query
|
|
71
|
+
*/
|
|
72
|
+
byTags(tags) {
|
|
73
|
+
this.state.type = 'tag';
|
|
74
|
+
this.state.tags = tags;
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create a hybrid query (semantic + filters)
|
|
79
|
+
*/
|
|
80
|
+
hybrid(content) {
|
|
81
|
+
this.state.type = 'hybrid';
|
|
82
|
+
this.state.content = content;
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Filter by namespace
|
|
87
|
+
*/
|
|
88
|
+
inNamespace(namespace) {
|
|
89
|
+
this.state.namespace = namespace;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Add tag filter (entries must have all specified tags)
|
|
94
|
+
*/
|
|
95
|
+
withTags(tags) {
|
|
96
|
+
this.state.tags = [...this.state.tags, ...tags];
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Add a single tag filter
|
|
101
|
+
*/
|
|
102
|
+
withTag(tag) {
|
|
103
|
+
this.state.tags.push(tag);
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Filter by memory type
|
|
108
|
+
*/
|
|
109
|
+
ofType(type) {
|
|
110
|
+
this.state.memoryType = type;
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Filter by access level
|
|
115
|
+
*/
|
|
116
|
+
withAccessLevel(level) {
|
|
117
|
+
this.state.accessLevel = level;
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Filter by owner
|
|
122
|
+
*/
|
|
123
|
+
ownedBy(ownerId) {
|
|
124
|
+
this.state.ownerId = ownerId;
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Filter by metadata field
|
|
129
|
+
*/
|
|
130
|
+
whereMetadata(key, value) {
|
|
131
|
+
this.state.metadata[key] = value;
|
|
132
|
+
return this;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Filter by creation date range
|
|
136
|
+
*/
|
|
137
|
+
createdBetween(after, before) {
|
|
138
|
+
this.state.createdAfter = after instanceof Date ? after.getTime() : after;
|
|
139
|
+
if (before !== undefined) {
|
|
140
|
+
this.state.createdBefore = before instanceof Date ? before.getTime() : before;
|
|
141
|
+
}
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Filter entries created after a date
|
|
146
|
+
*/
|
|
147
|
+
createdAfter(date) {
|
|
148
|
+
this.state.createdAfter = date instanceof Date ? date.getTime() : date;
|
|
149
|
+
return this;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Filter entries created before a date
|
|
153
|
+
*/
|
|
154
|
+
createdBefore(date) {
|
|
155
|
+
this.state.createdBefore = date instanceof Date ? date.getTime() : date;
|
|
156
|
+
return this;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Filter by update date range
|
|
160
|
+
*/
|
|
161
|
+
updatedBetween(after, before) {
|
|
162
|
+
this.state.updatedAfter = after instanceof Date ? after.getTime() : after;
|
|
163
|
+
if (before !== undefined) {
|
|
164
|
+
this.state.updatedBefore = before instanceof Date ? before.getTime() : before;
|
|
165
|
+
}
|
|
166
|
+
return this;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Filter entries updated in the last N milliseconds
|
|
170
|
+
*/
|
|
171
|
+
updatedWithin(milliseconds) {
|
|
172
|
+
this.state.updatedAfter = Date.now() - milliseconds;
|
|
173
|
+
return this;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Set maximum number of results
|
|
177
|
+
*/
|
|
178
|
+
limit(count) {
|
|
179
|
+
this.state.limit = Math.max(1, count);
|
|
180
|
+
return this;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Set pagination offset
|
|
184
|
+
*/
|
|
185
|
+
offset(count) {
|
|
186
|
+
this.state.offset = Math.max(0, count);
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Set pagination with page number and size
|
|
191
|
+
*/
|
|
192
|
+
page(pageNumber, pageSize) {
|
|
193
|
+
this.state.limit = Math.max(1, pageSize);
|
|
194
|
+
this.state.offset = Math.max(0, (pageNumber - 1) * pageSize);
|
|
195
|
+
return this;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Set minimum similarity threshold for semantic search
|
|
199
|
+
*/
|
|
200
|
+
threshold(minScore) {
|
|
201
|
+
this.state.threshold = Math.max(0, Math.min(1, minScore));
|
|
202
|
+
return this;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Include expired entries in results
|
|
206
|
+
*/
|
|
207
|
+
includeExpired(include = true) {
|
|
208
|
+
this.state.includeExpired = include;
|
|
209
|
+
return this;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Set distance metric for semantic search
|
|
213
|
+
*/
|
|
214
|
+
withMetric(metric) {
|
|
215
|
+
this.state.distanceMetric = metric;
|
|
216
|
+
return this;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Sort results by field
|
|
220
|
+
*/
|
|
221
|
+
sortBy(field, direction = 'desc') {
|
|
222
|
+
this.state.sortField = field;
|
|
223
|
+
this.state.sortDirection = direction;
|
|
224
|
+
return this;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Sort by creation date (newest first)
|
|
228
|
+
*/
|
|
229
|
+
newestFirst() {
|
|
230
|
+
return this.sortBy('createdAt', 'desc');
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Sort by creation date (oldest first)
|
|
234
|
+
*/
|
|
235
|
+
oldestFirst() {
|
|
236
|
+
return this.sortBy('createdAt', 'asc');
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Sort by relevance score (highest first)
|
|
240
|
+
*/
|
|
241
|
+
mostRelevant() {
|
|
242
|
+
return this.sortBy('score', 'desc');
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Sort by access count (most accessed first)
|
|
246
|
+
*/
|
|
247
|
+
mostAccessed() {
|
|
248
|
+
return this.sortBy('accessCount', 'desc');
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Sort by last accessed time (most recent first)
|
|
252
|
+
*/
|
|
253
|
+
recentlyAccessed() {
|
|
254
|
+
return this.sortBy('lastAccessedAt', 'desc');
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Build the final query object
|
|
258
|
+
*/
|
|
259
|
+
build() {
|
|
260
|
+
const query = {
|
|
261
|
+
type: this.state.type,
|
|
262
|
+
limit: this.state.limit,
|
|
263
|
+
};
|
|
264
|
+
// Add optional fields
|
|
265
|
+
if (this.state.content)
|
|
266
|
+
query.content = this.state.content;
|
|
267
|
+
if (this.state.embedding)
|
|
268
|
+
query.embedding = this.state.embedding;
|
|
269
|
+
if (this.state.key)
|
|
270
|
+
query.key = this.state.key;
|
|
271
|
+
if (this.state.keyPrefix)
|
|
272
|
+
query.keyPrefix = this.state.keyPrefix;
|
|
273
|
+
if (this.state.namespace)
|
|
274
|
+
query.namespace = this.state.namespace;
|
|
275
|
+
if (this.state.tags.length > 0)
|
|
276
|
+
query.tags = this.state.tags;
|
|
277
|
+
if (this.state.memoryType)
|
|
278
|
+
query.memoryType = this.state.memoryType;
|
|
279
|
+
if (this.state.accessLevel)
|
|
280
|
+
query.accessLevel = this.state.accessLevel;
|
|
281
|
+
if (this.state.ownerId)
|
|
282
|
+
query.ownerId = this.state.ownerId;
|
|
283
|
+
if (Object.keys(this.state.metadata).length > 0) {
|
|
284
|
+
query.metadata = this.state.metadata;
|
|
285
|
+
}
|
|
286
|
+
if (this.state.createdAfter)
|
|
287
|
+
query.createdAfter = this.state.createdAfter;
|
|
288
|
+
if (this.state.createdBefore)
|
|
289
|
+
query.createdBefore = this.state.createdBefore;
|
|
290
|
+
if (this.state.updatedAfter)
|
|
291
|
+
query.updatedAfter = this.state.updatedAfter;
|
|
292
|
+
if (this.state.updatedBefore)
|
|
293
|
+
query.updatedBefore = this.state.updatedBefore;
|
|
294
|
+
if (this.state.offset > 0)
|
|
295
|
+
query.offset = this.state.offset;
|
|
296
|
+
if (this.state.threshold !== undefined)
|
|
297
|
+
query.threshold = this.state.threshold;
|
|
298
|
+
if (this.state.includeExpired)
|
|
299
|
+
query.includeExpired = this.state.includeExpired;
|
|
300
|
+
if (this.state.distanceMetric)
|
|
301
|
+
query.distanceMetric = this.state.distanceMetric;
|
|
302
|
+
return query;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Clone this builder
|
|
306
|
+
*/
|
|
307
|
+
clone() {
|
|
308
|
+
const cloned = new QueryBuilder();
|
|
309
|
+
cloned.state = {
|
|
310
|
+
...this.state,
|
|
311
|
+
tags: [...this.state.tags],
|
|
312
|
+
metadata: { ...this.state.metadata },
|
|
313
|
+
};
|
|
314
|
+
return cloned;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Reset the builder to initial state
|
|
318
|
+
*/
|
|
319
|
+
reset() {
|
|
320
|
+
this.state = {
|
|
321
|
+
type: 'hybrid',
|
|
322
|
+
tags: [],
|
|
323
|
+
metadata: {},
|
|
324
|
+
limit: 10,
|
|
325
|
+
offset: 0,
|
|
326
|
+
includeExpired: false,
|
|
327
|
+
sortDirection: 'desc',
|
|
328
|
+
};
|
|
329
|
+
return this;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Convenience function to create a new query builder
|
|
334
|
+
*/
|
|
335
|
+
export function query() {
|
|
336
|
+
return new QueryBuilder();
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Predefined query templates for common use cases
|
|
340
|
+
*/
|
|
341
|
+
export const QueryTemplates = {
|
|
342
|
+
/**
|
|
343
|
+
* Find recent entries in a namespace
|
|
344
|
+
*/
|
|
345
|
+
recentInNamespace(namespace, limit = 10) {
|
|
346
|
+
return query()
|
|
347
|
+
.inNamespace(namespace)
|
|
348
|
+
.newestFirst()
|
|
349
|
+
.limit(limit)
|
|
350
|
+
.build();
|
|
351
|
+
},
|
|
352
|
+
/**
|
|
353
|
+
* Find entries by exact key
|
|
354
|
+
*/
|
|
355
|
+
byKey(namespace, key) {
|
|
356
|
+
return query()
|
|
357
|
+
.exact(key)
|
|
358
|
+
.inNamespace(namespace)
|
|
359
|
+
.limit(1)
|
|
360
|
+
.build();
|
|
361
|
+
},
|
|
362
|
+
/**
|
|
363
|
+
* Semantic search with threshold
|
|
364
|
+
*/
|
|
365
|
+
semanticSearch(content, namespace, threshold = 0.7, limit = 10) {
|
|
366
|
+
const builder = query()
|
|
367
|
+
.semantic(content)
|
|
368
|
+
.threshold(threshold)
|
|
369
|
+
.limit(limit);
|
|
370
|
+
if (namespace) {
|
|
371
|
+
builder.inNamespace(namespace);
|
|
372
|
+
}
|
|
373
|
+
return builder.build();
|
|
374
|
+
},
|
|
375
|
+
/**
|
|
376
|
+
* Find entries with specific tags
|
|
377
|
+
*/
|
|
378
|
+
withTags(tags, namespace, limit = 10) {
|
|
379
|
+
const builder = query()
|
|
380
|
+
.byTags(tags)
|
|
381
|
+
.limit(limit);
|
|
382
|
+
if (namespace) {
|
|
383
|
+
builder.inNamespace(namespace);
|
|
384
|
+
}
|
|
385
|
+
return builder.build();
|
|
386
|
+
},
|
|
387
|
+
/**
|
|
388
|
+
* Find entries owned by a specific agent
|
|
389
|
+
*/
|
|
390
|
+
ownedBy(ownerId, namespace, limit = 10) {
|
|
391
|
+
const builder = query()
|
|
392
|
+
.ownedBy(ownerId)
|
|
393
|
+
.newestFirst()
|
|
394
|
+
.limit(limit);
|
|
395
|
+
if (namespace) {
|
|
396
|
+
builder.inNamespace(namespace);
|
|
397
|
+
}
|
|
398
|
+
return builder.build();
|
|
399
|
+
},
|
|
400
|
+
/**
|
|
401
|
+
* Find episodic memories within a time range
|
|
402
|
+
*/
|
|
403
|
+
episodicInRange(after, before, limit = 100) {
|
|
404
|
+
return query()
|
|
405
|
+
.ofType('episodic')
|
|
406
|
+
.createdBetween(after, before)
|
|
407
|
+
.oldestFirst()
|
|
408
|
+
.limit(limit)
|
|
409
|
+
.build();
|
|
410
|
+
},
|
|
411
|
+
/**
|
|
412
|
+
* Find hot entries (frequently accessed)
|
|
413
|
+
*/
|
|
414
|
+
hotEntries(namespace, limit = 10) {
|
|
415
|
+
const builder = query()
|
|
416
|
+
.mostAccessed()
|
|
417
|
+
.limit(limit);
|
|
418
|
+
if (namespace) {
|
|
419
|
+
builder.inNamespace(namespace);
|
|
420
|
+
}
|
|
421
|
+
return builder.build();
|
|
422
|
+
},
|
|
423
|
+
/**
|
|
424
|
+
* Find stale entries (not accessed recently)
|
|
425
|
+
*/
|
|
426
|
+
staleEntries(staleThresholdMs, namespace, limit = 100) {
|
|
427
|
+
const builder = query()
|
|
428
|
+
.updatedBetween(0, Date.now() - staleThresholdMs)
|
|
429
|
+
.sortBy('lastAccessedAt', 'asc')
|
|
430
|
+
.limit(limit);
|
|
431
|
+
if (namespace) {
|
|
432
|
+
builder.inNamespace(namespace);
|
|
433
|
+
}
|
|
434
|
+
return builder.build();
|
|
435
|
+
},
|
|
436
|
+
};
|
|
437
|
+
export default QueryBuilder;
|
|
438
|
+
//# sourceMappingURL=query-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"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"}
|