@miller-tech/uap 1.10.1 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/benchmark.d.ts +14 -14
- package/dist/bin/cli.js +5 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/llama-server-optimize.js +0 -0
- package/dist/bin/policy.js +0 -0
- package/dist/cli/task.d.ts +1 -1
- package/dist/cli/task.d.ts.map +1 -1
- package/dist/cli/task.js +65 -0
- package/dist/cli/task.js.map +1 -1
- package/dist/dashboard/data-service.d.ts +10 -0
- package/dist/dashboard/data-service.d.ts.map +1 -1
- package/dist/dashboard/data-service.js +22 -1
- package/dist/dashboard/data-service.js.map +1 -1
- package/dist/models/profile-loader.d.ts +1 -1
- package/dist/models/types.d.ts +45 -45
- package/dist/policies/schemas/policy.d.ts +5 -5
- package/dist/tasks/types.d.ts +22 -22
- package/dist/types/config.d.ts +170 -170
- package/dist/types/coordination.d.ts +22 -22
- package/dist/uap-droids-strict.d.ts +4 -4
- package/package.json +1 -1
- package/scripts/maintenance/verify-compliance.sh +12 -12
- package/templates/hooks/session-start.sh +1 -1
- package/dist/bin/tool-calls.d.ts +0 -3
- package/dist/bin/tool-calls.d.ts.map +0 -1
- package/dist/bin/tool-calls.js +0 -4
- package/dist/bin/tool-calls.js.map +0 -1
- package/dist/cli/completion-gates.d.ts +0 -51
- package/dist/cli/completion-gates.d.ts.map +0 -1
- package/dist/cli/completion-gates.js +0 -201
- package/dist/cli/completion-gates.js.map +0 -1
- package/dist/cli/rtk-validation.d.ts +0 -24
- package/dist/cli/rtk-validation.d.ts.map +0 -1
- package/dist/cli/rtk-validation.js +0 -138
- package/dist/cli/rtk-validation.js.map +0 -1
- package/dist/cli/uap.d.ts +0 -10
- package/dist/cli/uap.d.ts.map +0 -1
- package/dist/cli/uap.js +0 -457
- package/dist/cli/uap.js.map +0 -1
- package/dist/coordination/droid-validator.d.ts +0 -59
- package/dist/coordination/droid-validator.d.ts.map +0 -1
- package/dist/coordination/droid-validator.js +0 -142
- package/dist/coordination/droid-validator.js.map +0 -1
- package/dist/coordination/worktree-enforcer.d.ts +0 -22
- package/dist/coordination/worktree-enforcer.d.ts.map +0 -1
- package/dist/coordination/worktree-enforcer.js +0 -71
- package/dist/coordination/worktree-enforcer.js.map +0 -1
- package/dist/generators/template-loader.d.ts +0 -105
- package/dist/generators/template-loader.d.ts.map +0 -1
- package/dist/generators/template-loader.js +0 -291
- package/dist/generators/template-loader.js.map +0 -1
- package/dist/memory/active-context.d.ts +0 -65
- package/dist/memory/active-context.d.ts.map +0 -1
- package/dist/memory/active-context.js +0 -126
- package/dist/memory/active-context.js.map +0 -1
- package/dist/memory/agent-scoped-memory.d.ts +0 -67
- package/dist/memory/agent-scoped-memory.d.ts.map +0 -1
- package/dist/memory/agent-scoped-memory.js +0 -126
- package/dist/memory/agent-scoped-memory.js.map +0 -1
- package/dist/memory/dedup-detector.d.ts +0 -57
- package/dist/memory/dedup-detector.d.ts.map +0 -1
- package/dist/memory/dedup-detector.js +0 -107
- package/dist/memory/dedup-detector.js.map +0 -1
- package/dist/memory/dedup-memory.d.ts +0 -89
- package/dist/memory/dedup-memory.d.ts.map +0 -1
- package/dist/memory/dedup-memory.js +0 -173
- package/dist/memory/dedup-memory.js.map +0 -1
- package/dist/memory/generic-uap-patterns.d.ts +0 -7
- package/dist/memory/generic-uap-patterns.d.ts.map +0 -1
- package/dist/memory/generic-uap-patterns.js +0 -43
- package/dist/memory/generic-uap-patterns.js.map +0 -1
- package/dist/memory/merge-claude-md.d.ts +0 -45
- package/dist/memory/merge-claude-md.d.ts.map +0 -1
- package/dist/memory/merge-claude-md.js +0 -118
- package/dist/memory/merge-claude-md.js.map +0 -1
- package/dist/memory/multi-view-memory.d.ts +0 -134
- package/dist/memory/multi-view-memory.d.ts.map +0 -1
- package/dist/memory/multi-view-memory.js +0 -430
- package/dist/memory/multi-view-memory.js.map +0 -1
- package/dist/memory/patterns.d.ts +0 -37
- package/dist/memory/patterns.d.ts.map +0 -1
- package/dist/memory/patterns.js +0 -81
- package/dist/memory/patterns.js.map +0 -1
- package/dist/memory/semantic-edge-graph.d.ts +0 -86
- package/dist/memory/semantic-edge-graph.d.ts.map +0 -1
- package/dist/memory/semantic-edge-graph.js +0 -168
- package/dist/memory/semantic-edge-graph.js.map +0 -1
- package/dist/memory/semantic-retrieval.d.ts +0 -70
- package/dist/memory/semantic-retrieval.d.ts.map +0 -1
- package/dist/memory/semantic-retrieval.js +0 -112
- package/dist/memory/semantic-retrieval.js.map +0 -1
- package/dist/memory/short-term/factory.d.ts +0 -26
- package/dist/memory/short-term/factory.d.ts.map +0 -1
- package/dist/memory/short-term/factory.js +0 -28
- package/dist/memory/short-term/factory.js.map +0 -1
- package/dist/memory/short-term/indexeddb.d.ts +0 -25
- package/dist/memory/short-term/indexeddb.d.ts.map +0 -1
- package/dist/memory/short-term/indexeddb.js +0 -64
- package/dist/memory/short-term/indexeddb.js.map +0 -1
- package/dist/memory/smart-consolidator.d.ts +0 -53
- package/dist/memory/smart-consolidator.d.ts.map +0 -1
- package/dist/memory/smart-consolidator.js +0 -144
- package/dist/memory/smart-consolidator.js.map +0 -1
- package/dist/memory/view-memory.d.ts +0 -80
- package/dist/memory/view-memory.d.ts.map +0 -1
- package/dist/memory/view-memory.js +0 -130
- package/dist/memory/view-memory.js.map +0 -1
- package/dist/memory/wrapped-memory.d.ts +0 -77
- package/dist/memory/wrapped-memory.d.ts.map +0 -1
- package/dist/memory/wrapped-memory.js +0 -127
- package/dist/memory/wrapped-memory.js.map +0 -1
- package/dist/models/api-client.d.ts +0 -46
- package/dist/models/api-client.d.ts.map +0 -1
- package/dist/models/api-client.js +0 -182
- package/dist/models/api-client.js.map +0 -1
- package/dist/utils/config-manager.d.ts +0 -30
- package/dist/utils/config-manager.d.ts.map +0 -1
- package/dist/utils/config-manager.js +0 -41
- package/dist/utils/config-manager.js.map +0 -1
- package/dist/utils/fetch-with-retry.d.ts +0 -5
- package/dist/utils/fetch-with-retry.d.ts.map +0 -1
- package/dist/utils/fetch-with-retry.js +0 -61
- package/dist/utils/fetch-with-retry.js.map +0 -1
- package/dist/utils/file-discovery.d.ts +0 -38
- package/dist/utils/file-discovery.d.ts.map +0 -1
- package/dist/utils/file-discovery.js +0 -100
- package/dist/utils/file-discovery.js.map +0 -1
- package/dist/utils/validate-json.d.ts +0 -51
- package/dist/utils/validate-json.d.ts.map +0 -1
- package/dist/utils/validate-json.js +0 -94
- package/dist/utils/validate-json.js.map +0 -1
- package/tools/agents/scripts/__pycache__/tool_call_wrapper.cpython-313.pyc +0 -0
|
@@ -1,430 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-View Memory System for UAP
|
|
3
|
-
*
|
|
4
|
-
* Implements:
|
|
5
|
-
* 1. Multi-view indexing (entity, temporal, semantic type views)
|
|
6
|
-
* 2. ENGRAM-style memory typing (episodic, semantic, procedural)
|
|
7
|
-
* 3. Async embedding generation
|
|
8
|
-
* 4. Speculative cache integration with task classifier
|
|
9
|
-
*
|
|
10
|
-
* Based on SimpleMem (2026) and ENGRAM (2025) research
|
|
11
|
-
*/
|
|
12
|
-
import { getEmbeddingService } from './embeddings.js';
|
|
13
|
-
import { getSpeculativeCache } from './speculative-cache.js';
|
|
14
|
-
import { classifyTask } from './task-classifier.js';
|
|
15
|
-
/**
|
|
16
|
-
* Classify memory into ENGRAM type
|
|
17
|
-
*/
|
|
18
|
-
export function classifyENGRAMType(content, context) {
|
|
19
|
-
// Procedural: how-to, commands, steps
|
|
20
|
-
if (/how to|step \d|first.*then|run |execute |use |install /i.test(content)) {
|
|
21
|
-
return 'procedural';
|
|
22
|
-
}
|
|
23
|
-
// Check explicit type hints
|
|
24
|
-
if (context?.type === 'action' || context?.type === 'goal') {
|
|
25
|
-
return 'procedural';
|
|
26
|
-
}
|
|
27
|
-
// Episodic: specific events, past tense, temporal markers
|
|
28
|
-
if (/yesterday|today|last week|earlier|just now|happened|occurred|found that/i.test(content)) {
|
|
29
|
-
return 'episodic';
|
|
30
|
-
}
|
|
31
|
-
if (context?.type === 'observation') {
|
|
32
|
-
return 'episodic';
|
|
33
|
-
}
|
|
34
|
-
// Semantic: general facts, definitions, patterns
|
|
35
|
-
if (/is a|are |means|defined as|always|never|typically|pattern/i.test(content)) {
|
|
36
|
-
return 'semantic';
|
|
37
|
-
}
|
|
38
|
-
// Default based on content characteristics
|
|
39
|
-
const hasCommand = /`[^`]+`/.test(content);
|
|
40
|
-
const hasPath = /\/[\w/.-]+/.test(content);
|
|
41
|
-
if (hasCommand || hasPath) {
|
|
42
|
-
return 'procedural';
|
|
43
|
-
}
|
|
44
|
-
return 'semantic'; // Default
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Extract temporal bucket from content/timestamp
|
|
48
|
-
*/
|
|
49
|
-
export function extractTemporalBucket(content, timestamp) {
|
|
50
|
-
// Check for relative time markers
|
|
51
|
-
if (/just now|moments ago/i.test(content))
|
|
52
|
-
return 'now';
|
|
53
|
-
if (/today|this morning|this afternoon/i.test(content))
|
|
54
|
-
return 'today';
|
|
55
|
-
if (/yesterday/i.test(content))
|
|
56
|
-
return 'yesterday';
|
|
57
|
-
if (/this week|past few days/i.test(content))
|
|
58
|
-
return 'this-week';
|
|
59
|
-
if (/last week/i.test(content))
|
|
60
|
-
return 'last-week';
|
|
61
|
-
if (/this month/i.test(content))
|
|
62
|
-
return 'this-month';
|
|
63
|
-
// Use timestamp if available
|
|
64
|
-
if (timestamp) {
|
|
65
|
-
return timestamp.split('T')[0]; // YYYY-MM-DD
|
|
66
|
-
}
|
|
67
|
-
return 'unknown';
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Multi-View Memory Manager
|
|
71
|
-
*/
|
|
72
|
-
export class MultiViewMemoryManager {
|
|
73
|
-
memories = new Map();
|
|
74
|
-
index = {
|
|
75
|
-
byEntity: new Map(),
|
|
76
|
-
byTemporal: new Map(),
|
|
77
|
-
bySemanticType: new Map(),
|
|
78
|
-
byENGRAMType: new Map(),
|
|
79
|
-
};
|
|
80
|
-
embeddingQueue = [];
|
|
81
|
-
isProcessingEmbeddings = false;
|
|
82
|
-
/**
|
|
83
|
-
* Add memory with multi-view indexing
|
|
84
|
-
*/
|
|
85
|
-
async add(content, options = {}) {
|
|
86
|
-
const id = options.id || `mem-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
87
|
-
// Classify ENGRAM type
|
|
88
|
-
const memoryType = classifyENGRAMType(content, { type: options.semanticType });
|
|
89
|
-
// Extract temporal bucket
|
|
90
|
-
const temporalBucket = extractTemporalBucket(content, options.timestamp);
|
|
91
|
-
// Extract entities if not provided
|
|
92
|
-
const entities = options.entities || this.extractEntities(content);
|
|
93
|
-
const memory = {
|
|
94
|
-
id,
|
|
95
|
-
content,
|
|
96
|
-
memoryType,
|
|
97
|
-
entities,
|
|
98
|
-
temporalBucket,
|
|
99
|
-
semanticType: options.semanticType || 'general',
|
|
100
|
-
importance: options.importance || 5,
|
|
101
|
-
accessCount: 0,
|
|
102
|
-
lastAccessed: new Date(),
|
|
103
|
-
qualityScore: options.importance || 5,
|
|
104
|
-
embeddingPending: options.generateEmbedding !== false,
|
|
105
|
-
};
|
|
106
|
-
// Store memory
|
|
107
|
-
this.memories.set(id, memory);
|
|
108
|
-
// Update indices
|
|
109
|
-
this.indexMemory(memory);
|
|
110
|
-
// Queue embedding generation if requested
|
|
111
|
-
if (options.generateEmbedding !== false) {
|
|
112
|
-
this.embeddingQueue.push(id);
|
|
113
|
-
this.processEmbeddingQueue();
|
|
114
|
-
}
|
|
115
|
-
return memory;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Index memory in all views
|
|
119
|
-
*/
|
|
120
|
-
indexMemory(memory) {
|
|
121
|
-
// Entity index
|
|
122
|
-
for (const entity of memory.entities) {
|
|
123
|
-
if (!this.index.byEntity.has(entity)) {
|
|
124
|
-
this.index.byEntity.set(entity, new Set());
|
|
125
|
-
}
|
|
126
|
-
this.index.byEntity.get(entity).add(memory.id);
|
|
127
|
-
}
|
|
128
|
-
// Temporal index
|
|
129
|
-
if (!this.index.byTemporal.has(memory.temporalBucket)) {
|
|
130
|
-
this.index.byTemporal.set(memory.temporalBucket, new Set());
|
|
131
|
-
}
|
|
132
|
-
this.index.byTemporal.get(memory.temporalBucket).add(memory.id);
|
|
133
|
-
// Semantic type index
|
|
134
|
-
if (!this.index.bySemanticType.has(memory.semanticType)) {
|
|
135
|
-
this.index.bySemanticType.set(memory.semanticType, new Set());
|
|
136
|
-
}
|
|
137
|
-
this.index.bySemanticType.get(memory.semanticType).add(memory.id);
|
|
138
|
-
// ENGRAM type index
|
|
139
|
-
if (!this.index.byENGRAMType.has(memory.memoryType)) {
|
|
140
|
-
this.index.byENGRAMType.set(memory.memoryType, new Set());
|
|
141
|
-
}
|
|
142
|
-
this.index.byENGRAMType.get(memory.memoryType).add(memory.id);
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Query by entity
|
|
146
|
-
*/
|
|
147
|
-
queryByEntity(entity) {
|
|
148
|
-
const ids = this.index.byEntity.get(entity);
|
|
149
|
-
if (!ids)
|
|
150
|
-
return [];
|
|
151
|
-
return Array.from(ids)
|
|
152
|
-
.map((id) => this.memories.get(id))
|
|
153
|
-
.filter(Boolean);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Query by ENGRAM type
|
|
157
|
-
*/
|
|
158
|
-
queryByENGRAMType(type) {
|
|
159
|
-
const ids = this.index.byENGRAMType.get(type);
|
|
160
|
-
if (!ids)
|
|
161
|
-
return [];
|
|
162
|
-
return Array.from(ids)
|
|
163
|
-
.map((id) => this.memories.get(id))
|
|
164
|
-
.filter(Boolean);
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Query by temporal bucket
|
|
168
|
-
*/
|
|
169
|
-
queryByTemporal(bucket) {
|
|
170
|
-
const ids = this.index.byTemporal.get(bucket);
|
|
171
|
-
if (!ids)
|
|
172
|
-
return [];
|
|
173
|
-
return Array.from(ids)
|
|
174
|
-
.map((id) => this.memories.get(id))
|
|
175
|
-
.filter(Boolean);
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Smart query using task classification to select best view
|
|
179
|
-
*/
|
|
180
|
-
async smartQuery(query, limit = 10) {
|
|
181
|
-
const classification = classifyTask(query);
|
|
182
|
-
const results = [];
|
|
183
|
-
const seen = new Set();
|
|
184
|
-
// Check speculative cache first
|
|
185
|
-
const cache = getSpeculativeCache();
|
|
186
|
-
const cached = cache.get(query);
|
|
187
|
-
if (cached) {
|
|
188
|
-
return cached.result;
|
|
189
|
-
}
|
|
190
|
-
// Determine best retrieval strategy based on task type
|
|
191
|
-
const strategy = this.getRetrievalStrategy(classification);
|
|
192
|
-
// Execute strategy
|
|
193
|
-
for (const step of strategy) {
|
|
194
|
-
const stepResults = await this.executeStrategyStep(step, query, classification);
|
|
195
|
-
for (const mem of stepResults) {
|
|
196
|
-
if (!seen.has(mem.id)) {
|
|
197
|
-
seen.add(mem.id);
|
|
198
|
-
results.push(mem);
|
|
199
|
-
this.recordAccess(mem.id);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
if (results.length >= limit)
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
// Sort by quality score and recency
|
|
206
|
-
results.sort((a, b) => {
|
|
207
|
-
const scoreA = a.qualityScore * (1 + a.accessCount * 0.1);
|
|
208
|
-
const scoreB = b.qualityScore * (1 + b.accessCount * 0.1);
|
|
209
|
-
return scoreB - scoreA;
|
|
210
|
-
});
|
|
211
|
-
const finalResults = results.slice(0, limit);
|
|
212
|
-
// Cache results
|
|
213
|
-
cache.set(query, finalResults);
|
|
214
|
-
// Pre-warm cache for predicted follow-up queries
|
|
215
|
-
cache.preWarm(query, async (q) => {
|
|
216
|
-
const r = await this.smartQuery(q, limit);
|
|
217
|
-
return r;
|
|
218
|
-
});
|
|
219
|
-
return finalResults;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Get retrieval strategy based on task classification
|
|
223
|
-
*/
|
|
224
|
-
getRetrievalStrategy(classification) {
|
|
225
|
-
const strategies = {
|
|
226
|
-
sysadmin: [
|
|
227
|
-
{ view: 'engram', filter: 'procedural', weight: 1.5 },
|
|
228
|
-
{ view: 'semantic', filter: 'action', weight: 1.2 },
|
|
229
|
-
{ view: 'embedding', weight: 1.0 },
|
|
230
|
-
],
|
|
231
|
-
debugging: [
|
|
232
|
-
{ view: 'engram', filter: 'episodic', weight: 1.5 },
|
|
233
|
-
{ view: 'temporal', filter: 'today', weight: 1.3 },
|
|
234
|
-
{ view: 'embedding', weight: 1.0 },
|
|
235
|
-
],
|
|
236
|
-
coding: [
|
|
237
|
-
{ view: 'engram', filter: 'procedural', weight: 1.3 },
|
|
238
|
-
{ view: 'engram', filter: 'semantic', weight: 1.2 },
|
|
239
|
-
{ view: 'embedding', weight: 1.0 },
|
|
240
|
-
],
|
|
241
|
-
security: [
|
|
242
|
-
{ view: 'engram', filter: 'semantic', weight: 1.5 },
|
|
243
|
-
{ view: 'semantic', filter: 'gotcha', weight: 1.3 },
|
|
244
|
-
{ view: 'embedding', weight: 1.0 },
|
|
245
|
-
],
|
|
246
|
-
default: [
|
|
247
|
-
{ view: 'embedding', weight: 1.0 },
|
|
248
|
-
{ view: 'engram', filter: 'semantic', weight: 0.8 },
|
|
249
|
-
],
|
|
250
|
-
};
|
|
251
|
-
return strategies[classification.category] || strategies['default'];
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Execute a single strategy step
|
|
255
|
-
*/
|
|
256
|
-
async executeStrategyStep(step, query, _classification) {
|
|
257
|
-
switch (step.view) {
|
|
258
|
-
case 'entity': {
|
|
259
|
-
const entities = this.extractEntities(query);
|
|
260
|
-
const results = [];
|
|
261
|
-
for (const entity of entities) {
|
|
262
|
-
results.push(...this.queryByEntity(entity));
|
|
263
|
-
}
|
|
264
|
-
return results;
|
|
265
|
-
}
|
|
266
|
-
case 'temporal': {
|
|
267
|
-
if (step.filter) {
|
|
268
|
-
return this.queryByTemporal(step.filter);
|
|
269
|
-
}
|
|
270
|
-
// Return recent memories
|
|
271
|
-
return this.queryByTemporal('today').concat(this.queryByTemporal('yesterday'));
|
|
272
|
-
}
|
|
273
|
-
case 'semantic': {
|
|
274
|
-
if (step.filter) {
|
|
275
|
-
const ids = this.index.bySemanticType.get(step.filter);
|
|
276
|
-
if (ids) {
|
|
277
|
-
return Array.from(ids)
|
|
278
|
-
.map((id) => this.memories.get(id))
|
|
279
|
-
.filter(Boolean);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
return [];
|
|
283
|
-
}
|
|
284
|
-
case 'engram': {
|
|
285
|
-
if (step.filter) {
|
|
286
|
-
return this.queryByENGRAMType(step.filter);
|
|
287
|
-
}
|
|
288
|
-
return [];
|
|
289
|
-
}
|
|
290
|
-
case 'embedding': {
|
|
291
|
-
return this.semanticSearch(query, 10);
|
|
292
|
-
}
|
|
293
|
-
default:
|
|
294
|
-
return [];
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Semantic search using embeddings
|
|
299
|
-
*/
|
|
300
|
-
async semanticSearch(query, limit = 10) {
|
|
301
|
-
const embeddingService = getEmbeddingService();
|
|
302
|
-
try {
|
|
303
|
-
const queryEmbedding = await embeddingService.embed(query);
|
|
304
|
-
const scored = [];
|
|
305
|
-
for (const memory of this.memories.values()) {
|
|
306
|
-
if (memory.embedding) {
|
|
307
|
-
const score = embeddingService.cosineSimilarity(queryEmbedding, memory.embedding);
|
|
308
|
-
if (score > 0.5) {
|
|
309
|
-
scored.push({ memory, score });
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
scored.sort((a, b) => b.score - a.score);
|
|
314
|
-
return scored.slice(0, limit).map((s) => s.memory);
|
|
315
|
-
}
|
|
316
|
-
catch {
|
|
317
|
-
return [];
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Process embedding queue asynchronously
|
|
322
|
-
*/
|
|
323
|
-
async processEmbeddingQueue() {
|
|
324
|
-
if (this.isProcessingEmbeddings || this.embeddingQueue.length === 0)
|
|
325
|
-
return;
|
|
326
|
-
this.isProcessingEmbeddings = true;
|
|
327
|
-
const embeddingService = getEmbeddingService();
|
|
328
|
-
try {
|
|
329
|
-
// Process in batches of 10
|
|
330
|
-
while (this.embeddingQueue.length > 0) {
|
|
331
|
-
const batch = this.embeddingQueue.splice(0, 10);
|
|
332
|
-
const memories = batch
|
|
333
|
-
.map((id) => this.memories.get(id))
|
|
334
|
-
.filter(Boolean);
|
|
335
|
-
const texts = memories.map((m) => m.content);
|
|
336
|
-
if (texts.length > 0) {
|
|
337
|
-
const embeddings = await embeddingService.embedBatch(texts);
|
|
338
|
-
for (let i = 0; i < memories.length; i++) {
|
|
339
|
-
memories[i].embedding = embeddings[i];
|
|
340
|
-
memories[i].embeddingPending = false;
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
catch (error) {
|
|
346
|
-
console.error('[MultiViewMemory] Embedding generation error:', error);
|
|
347
|
-
}
|
|
348
|
-
finally {
|
|
349
|
-
this.isProcessingEmbeddings = false;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Extract entities from content
|
|
354
|
-
*/
|
|
355
|
-
extractEntities(content) {
|
|
356
|
-
const entities = [];
|
|
357
|
-
// File paths
|
|
358
|
-
const paths = content.match(/[\w./\\-]+\.(ts|js|py|json|yaml|yml|md|sh|sql)/gi);
|
|
359
|
-
if (paths)
|
|
360
|
-
entities.push(...paths);
|
|
361
|
-
// Function/class names
|
|
362
|
-
const names = content.match(/\b[a-z][a-zA-Z0-9]*(?:[A-Z][a-zA-Z0-9]*)+\b/g);
|
|
363
|
-
if (names)
|
|
364
|
-
entities.push(...names);
|
|
365
|
-
// Commands
|
|
366
|
-
const commands = content.match(/\b(npm|git|uap|docker|curl|pip|python|node)\s+\w+/gi);
|
|
367
|
-
if (commands)
|
|
368
|
-
entities.push(...commands.map((c) => c.trim()));
|
|
369
|
-
// Quoted strings
|
|
370
|
-
const quoted = content.match(/`([^`]+)`/g);
|
|
371
|
-
if (quoted)
|
|
372
|
-
entities.push(...quoted.map((q) => q.replace(/`/g, '')));
|
|
373
|
-
return [...new Set(entities)];
|
|
374
|
-
}
|
|
375
|
-
/**
|
|
376
|
-
* Record memory access
|
|
377
|
-
*/
|
|
378
|
-
recordAccess(memoryId) {
|
|
379
|
-
const memory = this.memories.get(memoryId);
|
|
380
|
-
if (memory) {
|
|
381
|
-
memory.accessCount++;
|
|
382
|
-
memory.lastAccessed = new Date();
|
|
383
|
-
memory.qualityScore = Math.min(10, memory.qualityScore + 0.1);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
/**
|
|
387
|
-
* Get statistics
|
|
388
|
-
*/
|
|
389
|
-
getStats() {
|
|
390
|
-
const byENGRAMType = {
|
|
391
|
-
episodic: this.index.byENGRAMType.get('episodic')?.size || 0,
|
|
392
|
-
semantic: this.index.byENGRAMType.get('semantic')?.size || 0,
|
|
393
|
-
procedural: this.index.byENGRAMType.get('procedural')?.size || 0,
|
|
394
|
-
};
|
|
395
|
-
return {
|
|
396
|
-
totalMemories: this.memories.size,
|
|
397
|
-
byENGRAMType,
|
|
398
|
-
pendingEmbeddings: this.embeddingQueue.length,
|
|
399
|
-
entitiesIndexed: this.index.byEntity.size,
|
|
400
|
-
};
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Export all memories
|
|
404
|
-
*/
|
|
405
|
-
export() {
|
|
406
|
-
return Array.from(this.memories.values());
|
|
407
|
-
}
|
|
408
|
-
/**
|
|
409
|
-
* Import memories
|
|
410
|
-
*/
|
|
411
|
-
async import(memories) {
|
|
412
|
-
for (const memory of memories) {
|
|
413
|
-
this.memories.set(memory.id, memory);
|
|
414
|
-
this.indexMemory(memory);
|
|
415
|
-
if (!memory.embedding) {
|
|
416
|
-
this.embeddingQueue.push(memory.id);
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
this.processEmbeddingQueue();
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
// Singleton instance
|
|
423
|
-
let globalMultiViewManager = null;
|
|
424
|
-
export function getMultiViewMemoryManager() {
|
|
425
|
-
if (!globalMultiViewManager) {
|
|
426
|
-
globalMultiViewManager = new MultiViewMemoryManager();
|
|
427
|
-
}
|
|
428
|
-
return globalMultiViewManager;
|
|
429
|
-
}
|
|
430
|
-
//# sourceMappingURL=multi-view-memory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multi-view-memory.js","sourceRoot":"","sources":["../../src/memory/multi-view-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Memory Patterns Module for UAP
|
|
3
|
-
*
|
|
4
|
-
* Provides common memory patterns and utilities for agent memory management.
|
|
5
|
-
*/
|
|
6
|
-
export interface MemoryPattern {
|
|
7
|
-
id: string;
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
template: string;
|
|
11
|
-
variables: string[];
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Common memory patterns for agents
|
|
15
|
-
*/
|
|
16
|
-
export declare const MEMORY_PATTERNS: MemoryPattern[];
|
|
17
|
-
/**
|
|
18
|
-
* Fill in a pattern template with values
|
|
19
|
-
*/
|
|
20
|
-
export declare function fillPattern(pattern: MemoryPattern, values: Record<string, string>): string;
|
|
21
|
-
/**
|
|
22
|
-
* Get a pattern by ID
|
|
23
|
-
*/
|
|
24
|
-
export declare function getPattern(id: string): MemoryPattern | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* Search patterns by keywords
|
|
27
|
-
*/
|
|
28
|
-
export declare function searchPatterns(query: string): MemoryPattern[];
|
|
29
|
-
/**
|
|
30
|
-
* Get all pattern IDs
|
|
31
|
-
*/
|
|
32
|
-
export declare function getPatternIds(): string[];
|
|
33
|
-
/**
|
|
34
|
-
* Create a new pattern
|
|
35
|
-
*/
|
|
36
|
-
export declare function createPattern(id: string, name: string, description: string, template: string, variables: string[]): MemoryPattern;
|
|
37
|
-
//# sourceMappingURL=patterns.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/memory/patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EAyC1C,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAQ1F;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAO7D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,GAClB,aAAa,CAEf"}
|
package/dist/memory/patterns.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Memory Patterns Module for UAP
|
|
3
|
-
*
|
|
4
|
-
* Provides common memory patterns and utilities for agent memory management.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Common memory patterns for agents
|
|
8
|
-
*/
|
|
9
|
-
export const MEMORY_PATTERNS = [
|
|
10
|
-
{
|
|
11
|
-
id: 'decision',
|
|
12
|
-
name: 'Decision Log',
|
|
13
|
-
description: 'Record a decision made by the agent',
|
|
14
|
-
template: '# Decision: {{title}}\n\n**Context:** {{context}}\n\n**Decision:** {{decision}}\n\n**Reasoning:** {{reasoning}}\n\n**Expected Outcome:** {{outcome}}',
|
|
15
|
-
variables: ['title', 'context', 'decision', 'reasoning', 'outcome'],
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
id: 'lesson',
|
|
19
|
-
name: 'Lesson Learned',
|
|
20
|
-
description: 'Capture a lesson learned during development',
|
|
21
|
-
template: '# Lesson: {{title}}\n\n**Problem:** {{problem}}\n\n**Solution:** {{solution}}\n\n**Key Insight:** {{insight}}\n\n**When to Apply:** {{whenToApply}}',
|
|
22
|
-
variables: ['title', 'problem', 'solution', 'insight', 'whenToApply'],
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: 'gotcha',
|
|
26
|
-
name: 'Gotcha / Warning',
|
|
27
|
-
description: 'Document a common pitfall or gotcha',
|
|
28
|
-
template: '# ⚠️ Gotcha: {{title}}\n\n**What to Avoid:** {{avoid}}\n\n**Why:** {{why}}\n\n**Correct Approach:** {{correctApproach}}',
|
|
29
|
-
variables: ['title', 'avoid', 'why', 'correctApproach'],
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
id: 'pattern',
|
|
33
|
-
name: 'Design Pattern',
|
|
34
|
-
description: 'Document a recurring design pattern',
|
|
35
|
-
template: '# Pattern: {{title}}\n\n**Purpose:** {{purpose}}\n\n**Structure:** {{structure}}\n\n**Usage Example:**\n\n```{{language}}\n{{example}}\n```',
|
|
36
|
-
variables: ['title', 'purpose', 'structure', 'language', 'example'],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
id: 'architecture',
|
|
40
|
-
name: 'Architecture Decision',
|
|
41
|
-
description: 'Record an architectural decision',
|
|
42
|
-
template: '# ADR: {{title}}\n\n**Status:** {{status}}\n\n**Context:** {{context}}\n\n**Decision:** {{decision}}\n\n**Consequences:** {{consequences}}',
|
|
43
|
-
variables: ['title', 'status', 'context', 'decision', 'consequences'],
|
|
44
|
-
},
|
|
45
|
-
];
|
|
46
|
-
/**
|
|
47
|
-
* Fill in a pattern template with values
|
|
48
|
-
*/
|
|
49
|
-
export function fillPattern(pattern, values) {
|
|
50
|
-
let result = pattern.template;
|
|
51
|
-
for (const [key, value] of Object.entries(values)) {
|
|
52
|
-
result = result.replace(new RegExp(`{{${key}}}`, 'g'), value);
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get a pattern by ID
|
|
58
|
-
*/
|
|
59
|
-
export function getPattern(id) {
|
|
60
|
-
return MEMORY_PATTERNS.find((p) => p.id === id);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Search patterns by keywords
|
|
64
|
-
*/
|
|
65
|
-
export function searchPatterns(query) {
|
|
66
|
-
const lowerQuery = query.toLowerCase();
|
|
67
|
-
return MEMORY_PATTERNS.filter((p) => p.name.toLowerCase().includes(lowerQuery) || p.description.toLowerCase().includes(lowerQuery));
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Get all pattern IDs
|
|
71
|
-
*/
|
|
72
|
-
export function getPatternIds() {
|
|
73
|
-
return MEMORY_PATTERNS.map((p) => p.id);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Create a new pattern
|
|
77
|
-
*/
|
|
78
|
-
export function createPattern(id, name, description, template, variables) {
|
|
79
|
-
return { id, name, description, template, variables };
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=patterns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/memory/patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EACN,sJAAsJ;QACxJ,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC;KACpE;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EACN,qJAAqJ;QACvJ,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC;KACtE;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EACN,yHAAyH;QAC3H,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC;KACxD;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EACN,6IAA6I;QAC/I,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;KACpE;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EACN,4IAA4I;QAC9I,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC;KACtE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAsB,EAAE,MAA8B;IAChF,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,OAAO,eAAe,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAChG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAU,EACV,IAAY,EACZ,WAAmB,EACnB,QAAgB,EAChB,SAAmB;IAEnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Semantic Edge Graph Module for UAP
|
|
3
|
-
*
|
|
4
|
-
* Implements a knowledge graph with semantic edges for efficient memory retrieval.
|
|
5
|
-
*/
|
|
6
|
-
export interface GraphNode {
|
|
7
|
-
id: string;
|
|
8
|
-
content: string;
|
|
9
|
-
type: 'concept' | 'fact' | 'entity' | 'relationship';
|
|
10
|
-
metadata: Record<string, any>;
|
|
11
|
-
embedding?: number[];
|
|
12
|
-
}
|
|
13
|
-
export interface GraphEdge {
|
|
14
|
-
source: string;
|
|
15
|
-
target: string;
|
|
16
|
-
type: string;
|
|
17
|
-
weight: number;
|
|
18
|
-
metadata: Record<string, any>;
|
|
19
|
-
}
|
|
20
|
-
export interface SemanticEdgeGraphConfig {
|
|
21
|
-
maxEdgesPerNode: number;
|
|
22
|
-
similarityThreshold: number;
|
|
23
|
-
decayRate: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Semantic Edge Graph
|
|
27
|
-
* A knowledge graph with semantic connections between nodes
|
|
28
|
-
*/
|
|
29
|
-
export declare class SemanticEdgeGraph {
|
|
30
|
-
private config;
|
|
31
|
-
private nodes;
|
|
32
|
-
private edges;
|
|
33
|
-
constructor(config?: Partial<SemanticEdgeGraphConfig>);
|
|
34
|
-
/**
|
|
35
|
-
* Add a node to the graph
|
|
36
|
-
*/
|
|
37
|
-
addNode(node: GraphNode): void;
|
|
38
|
-
/**
|
|
39
|
-
* Add an edge between nodes
|
|
40
|
-
*/
|
|
41
|
-
addEdge(source: string, target: string, type: string, weight?: number): void;
|
|
42
|
-
private addEdgeToAdjacency;
|
|
43
|
-
/**
|
|
44
|
-
* Get neighbors of a node
|
|
45
|
-
*/
|
|
46
|
-
getNeighbors(nodeId: string, limit?: number): Array<{
|
|
47
|
-
nodeId: string;
|
|
48
|
-
edge: GraphEdge;
|
|
49
|
-
}>;
|
|
50
|
-
/**
|
|
51
|
-
* Get all nodes
|
|
52
|
-
*/
|
|
53
|
-
getAllNodes(): GraphNode[];
|
|
54
|
-
/**
|
|
55
|
-
* Get a node by ID
|
|
56
|
-
*/
|
|
57
|
-
getNode(nodeId: string): GraphNode | null;
|
|
58
|
-
/**
|
|
59
|
-
* Find similar nodes by content
|
|
60
|
-
*/
|
|
61
|
-
findSimilar(nodeId: string, threshold?: number): Array<{
|
|
62
|
-
node: GraphNode;
|
|
63
|
-
similarity: number;
|
|
64
|
-
}>;
|
|
65
|
-
/**
|
|
66
|
-
* Find shortest path between nodes
|
|
67
|
-
*/
|
|
68
|
-
findPath(start: string, end: string): string[] | null;
|
|
69
|
-
/**
|
|
70
|
-
* Calculate cosine similarity between vectors
|
|
71
|
-
*/
|
|
72
|
-
private cosineSimilarity;
|
|
73
|
-
/**
|
|
74
|
-
* Get graph statistics
|
|
75
|
-
*/
|
|
76
|
-
getStats(): {
|
|
77
|
-
nodeCount: number;
|
|
78
|
-
edgeCount: number;
|
|
79
|
-
avgEdgesPerNode: number;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Clear the graph
|
|
83
|
-
*/
|
|
84
|
-
clear(): void;
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=semantic-edge-graph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-edge-graph.d.ts","sourceRoot":"","sources":["../../src/memory/semantic-edge-graph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,KAAK,CAAuC;gBAExC,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAIzD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAO9B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,GAAG,IAAI;IAkBjF,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAUxF;;OAEG;IACH,WAAW,IAAI,SAAS,EAAE;IAI1B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIzC;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAY,GACtB,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBjD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IA6BrD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAeD;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
|