@nxuss/lemma 0.1.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/LICENSE +21 -0
- package/README.md +311 -0
- package/dist/cloud/KeyManager.d.ts +29 -0
- package/dist/cloud/KeyManager.d.ts.map +1 -0
- package/dist/cloud/KeyManager.js +142 -0
- package/dist/cloud/KeyManager.js.map +1 -0
- package/dist/cloud/TenantCache.d.ts +29 -0
- package/dist/cloud/TenantCache.d.ts.map +1 -0
- package/dist/cloud/TenantCache.js +162 -0
- package/dist/cloud/TenantCache.js.map +1 -0
- package/dist/cloud/index.d.ts +4 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +23 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/server.d.ts +17 -0
- package/dist/cloud/server.d.ts.map +1 -0
- package/dist/cloud/server.js +189 -0
- package/dist/cloud/server.js.map +1 -0
- package/dist/cloud/types.d.ts +35 -0
- package/dist/cloud/types.d.ts.map +1 -0
- package/dist/cloud/types.js +14 -0
- package/dist/cloud/types.js.map +1 -0
- package/dist/config/index.d.ts +44 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +161 -0
- package/dist/config/index.js.map +1 -0
- package/dist/consensus/ConsensusEngine.d.ts +119 -0
- package/dist/consensus/ConsensusEngine.d.ts.map +1 -0
- package/dist/consensus/ConsensusEngine.js +314 -0
- package/dist/consensus/ConsensusEngine.js.map +1 -0
- package/dist/consensus/ModelPool.d.ts +103 -0
- package/dist/consensus/ModelPool.d.ts.map +1 -0
- package/dist/consensus/ModelPool.js +276 -0
- package/dist/consensus/ModelPool.js.map +1 -0
- package/dist/consensus/index.d.ts +8 -0
- package/dist/consensus/index.d.ts.map +1 -0
- package/dist/consensus/index.js +13 -0
- package/dist/consensus/index.js.map +1 -0
- package/dist/core/AgentRegistry.d.ts +89 -0
- package/dist/core/AgentRegistry.d.ts.map +1 -0
- package/dist/core/AgentRegistry.js +264 -0
- package/dist/core/AgentRegistry.js.map +1 -0
- package/dist/core/DashboardBroadcaster.d.ts +67 -0
- package/dist/core/DashboardBroadcaster.d.ts.map +1 -0
- package/dist/core/DashboardBroadcaster.js +264 -0
- package/dist/core/DashboardBroadcaster.js.map +1 -0
- package/dist/core/OrchestrationEngine.d.ts +84 -0
- package/dist/core/OrchestrationEngine.d.ts.map +1 -0
- package/dist/core/OrchestrationEngine.js +455 -0
- package/dist/core/OrchestrationEngine.js.map +1 -0
- package/dist/core/SubconsciousEngine.d.ts +53 -0
- package/dist/core/SubconsciousEngine.d.ts.map +1 -0
- package/dist/core/SubconsciousEngine.js +273 -0
- package/dist/core/SubconsciousEngine.js.map +1 -0
- package/dist/core/WebSocketServer.d.ts +89 -0
- package/dist/core/WebSocketServer.d.ts.map +1 -0
- package/dist/core/WebSocketServer.js +416 -0
- package/dist/core/WebSocketServer.js.map +1 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +24 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/router.d.ts +105 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +420 -0
- package/dist/core/router.js.map +1 -0
- package/dist/embed/index.d.ts +153 -0
- package/dist/embed/index.d.ts.map +1 -0
- package/dist/embed/index.js +408 -0
- package/dist/embed/index.js.map +1 -0
- package/dist/embed.d.ts +11 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/embed.js +19 -0
- package/dist/embed.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +176 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol/flows.d.ts +126 -0
- package/dist/protocol/flows.d.ts.map +1 -0
- package/dist/protocol/flows.js +347 -0
- package/dist/protocol/flows.js.map +1 -0
- package/dist/protocol/iap.d.ts +54 -0
- package/dist/protocol/iap.d.ts.map +1 -0
- package/dist/protocol/iap.js +108 -0
- package/dist/protocol/iap.js.map +1 -0
- package/dist/protocol/index.d.ts +23 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +45 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/types.d.ts +332 -0
- package/dist/protocol/types.d.ts.map +1 -0
- package/dist/protocol/types.js +57 -0
- package/dist/protocol/types.js.map +1 -0
- package/dist/protocol/utils.d.ts +130 -0
- package/dist/protocol/utils.d.ts.map +1 -0
- package/dist/protocol/utils.js +292 -0
- package/dist/protocol/utils.js.map +1 -0
- package/dist/protocol/validators.d.ts +54 -0
- package/dist/protocol/validators.d.ts.map +1 -0
- package/dist/protocol/validators.js +344 -0
- package/dist/protocol/validators.js.map +1 -0
- package/dist/security/AuthManager.d.ts +73 -0
- package/dist/security/AuthManager.d.ts.map +1 -0
- package/dist/security/AuthManager.js +102 -0
- package/dist/security/AuthManager.js.map +1 -0
- package/dist/security/MessageSanitizer.d.ts +51 -0
- package/dist/security/MessageSanitizer.d.ts.map +1 -0
- package/dist/security/MessageSanitizer.js +166 -0
- package/dist/security/MessageSanitizer.js.map +1 -0
- package/dist/security/RateLimiter.d.ts +46 -0
- package/dist/security/RateLimiter.d.ts.map +1 -0
- package/dist/security/RateLimiter.js +133 -0
- package/dist/security/RateLimiter.js.map +1 -0
- package/dist/security/SecurityMiddleware.d.ts +88 -0
- package/dist/security/SecurityMiddleware.d.ts.map +1 -0
- package/dist/security/SecurityMiddleware.js +146 -0
- package/dist/security/SecurityMiddleware.js.map +1 -0
- package/dist/security/index.d.ts +35 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +42 -0
- package/dist/security/index.js.map +1 -0
- package/dist/speculative/PredictionEngine.d.ts +99 -0
- package/dist/speculative/PredictionEngine.d.ts.map +1 -0
- package/dist/speculative/PredictionEngine.js +291 -0
- package/dist/speculative/PredictionEngine.js.map +1 -0
- package/dist/speculative/SpeculativeCache.d.ts +117 -0
- package/dist/speculative/SpeculativeCache.d.ts.map +1 -0
- package/dist/speculative/SpeculativeCache.js +292 -0
- package/dist/speculative/SpeculativeCache.js.map +1 -0
- package/dist/speculative/SpeculativeEngine.d.ts +114 -0
- package/dist/speculative/SpeculativeEngine.d.ts.map +1 -0
- package/dist/speculative/SpeculativeEngine.js +244 -0
- package/dist/speculative/SpeculativeEngine.js.map +1 -0
- package/dist/speculative/WorkerPool.d.ts +109 -0
- package/dist/speculative/WorkerPool.d.ts.map +1 -0
- package/dist/speculative/WorkerPool.js +327 -0
- package/dist/speculative/WorkerPool.js.map +1 -0
- package/dist/speculative/index.d.ts +10 -0
- package/dist/speculative/index.d.ts.map +1 -0
- package/dist/speculative/index.js +17 -0
- package/dist/speculative/index.js.map +1 -0
- package/dist/subconscious/EmbeddingService.d.ts +73 -0
- package/dist/subconscious/EmbeddingService.d.ts.map +1 -0
- package/dist/subconscious/EmbeddingService.js +196 -0
- package/dist/subconscious/EmbeddingService.js.map +1 -0
- package/dist/subconscious/SemanticCache.d.ts +82 -0
- package/dist/subconscious/SemanticCache.d.ts.map +1 -0
- package/dist/subconscious/SemanticCache.js +164 -0
- package/dist/subconscious/SemanticCache.js.map +1 -0
- package/dist/subconscious/SubconsciousEngine.d.ts +121 -0
- package/dist/subconscious/SubconsciousEngine.d.ts.map +1 -0
- package/dist/subconscious/SubconsciousEngine.js +241 -0
- package/dist/subconscious/SubconsciousEngine.js.map +1 -0
- package/dist/subconscious/VectorStore.d.ts +54 -0
- package/dist/subconscious/VectorStore.d.ts.map +1 -0
- package/dist/subconscious/VectorStore.js +168 -0
- package/dist/subconscious/VectorStore.js.map +1 -0
- package/dist/subconscious/cache.d.ts +34 -0
- package/dist/subconscious/cache.d.ts.map +1 -0
- package/dist/subconscious/cache.js +156 -0
- package/dist/subconscious/cache.js.map +1 -0
- package/dist/subconscious/embeddings.d.ts +25 -0
- package/dist/subconscious/embeddings.d.ts.map +1 -0
- package/dist/subconscious/embeddings.js +65 -0
- package/dist/subconscious/embeddings.js.map +1 -0
- package/dist/subconscious/index.d.ts +12 -0
- package/dist/subconscious/index.d.ts.map +1 -0
- package/dist/subconscious/index.js +19 -0
- package/dist/subconscious/index.js.map +1 -0
- package/dist/types/index.d.ts +286 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +43 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/logger.d.ts +63 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +126 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Semantic cache using ChromaDB for vector storage
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SemanticCache = void 0;
|
|
7
|
+
const chromadb_1 = require("chromadb");
|
|
8
|
+
const embeddings_js_1 = require("./embeddings.js");
|
|
9
|
+
class SemanticCache {
|
|
10
|
+
constructor(host, port, collectionName, embeddingService, similarityThreshold = 0.95) {
|
|
11
|
+
this.collection = null;
|
|
12
|
+
this.client = new chromadb_1.ChromaClient({ path: `http://${host}:${port}` });
|
|
13
|
+
this.collectionName = collectionName;
|
|
14
|
+
this.embeddingService = embeddingService;
|
|
15
|
+
this.similarityThreshold = similarityThreshold;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Initialize the ChromaDB collection
|
|
19
|
+
*/
|
|
20
|
+
async initialize() {
|
|
21
|
+
try {
|
|
22
|
+
this.collection = await this.client.getOrCreateCollection({
|
|
23
|
+
name: this.collectionName,
|
|
24
|
+
metadata: { description: 'Subconscious Router semantic cache' },
|
|
25
|
+
});
|
|
26
|
+
console.log(`✓ Semantic cache initialized: ${this.collectionName}`);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error('Failed to initialize semantic cache:', error);
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Search for similar cached tasks
|
|
35
|
+
*/
|
|
36
|
+
async search(taskRequest) {
|
|
37
|
+
if (!this.collection) {
|
|
38
|
+
throw new Error('Cache not initialized');
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
// Generate embedding for the incoming task
|
|
42
|
+
const taskText = embeddings_js_1.EmbeddingService.serializeTask(taskRequest);
|
|
43
|
+
const queryEmbedding = await this.embeddingService.generateEmbedding(taskText);
|
|
44
|
+
// Query ChromaDB for similar entries
|
|
45
|
+
const results = await this.collection.query({
|
|
46
|
+
queryEmbeddings: [queryEmbedding],
|
|
47
|
+
nResults: 1,
|
|
48
|
+
});
|
|
49
|
+
// Check if we have results and if similarity exceeds threshold
|
|
50
|
+
if (results.ids[0].length === 0) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const similarity = 1 - (results.distances?.[0]?.[0] ?? 1);
|
|
54
|
+
if (similarity < this.similarityThreshold) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
// Retrieve the cached entry
|
|
58
|
+
const metadata = results.metadatas[0][0];
|
|
59
|
+
const document = results.documents[0][0];
|
|
60
|
+
if (!metadata || !document) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const cacheEntry = {
|
|
64
|
+
id: results.ids[0][0],
|
|
65
|
+
taskRequest: JSON.parse(metadata.taskRequest),
|
|
66
|
+
taskResponse: JSON.parse(metadata.taskResponse),
|
|
67
|
+
embedding: queryEmbedding,
|
|
68
|
+
timestamp: metadata.timestamp,
|
|
69
|
+
accessCount: metadata.accessCount + 1,
|
|
70
|
+
};
|
|
71
|
+
// Update access count
|
|
72
|
+
await this.updateAccessCount(cacheEntry.id, cacheEntry.accessCount);
|
|
73
|
+
return cacheEntry;
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.error('Cache search failed:', error);
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Store a new task-response pair in the cache
|
|
82
|
+
*/
|
|
83
|
+
async store(taskRequest, taskResponse) {
|
|
84
|
+
if (!this.collection) {
|
|
85
|
+
throw new Error('Cache not initialized');
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
const taskText = embeddings_js_1.EmbeddingService.serializeTask(taskRequest);
|
|
89
|
+
const embedding = await this.embeddingService.generateEmbedding(taskText);
|
|
90
|
+
const id = `cache_${taskRequest.taskId}_${Date.now()}`;
|
|
91
|
+
await this.collection.add({
|
|
92
|
+
ids: [id],
|
|
93
|
+
embeddings: [embedding],
|
|
94
|
+
documents: [taskText],
|
|
95
|
+
metadatas: [{
|
|
96
|
+
taskRequest: JSON.stringify(taskRequest),
|
|
97
|
+
taskResponse: JSON.stringify(taskResponse),
|
|
98
|
+
timestamp: Date.now(),
|
|
99
|
+
accessCount: 0,
|
|
100
|
+
}],
|
|
101
|
+
});
|
|
102
|
+
console.log(`✓ Cached task ${taskRequest.taskId} with similarity indexing`);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
console.error('Failed to store in cache:', error);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Update access count for a cache entry
|
|
110
|
+
*/
|
|
111
|
+
async updateAccessCount(id, newCount) {
|
|
112
|
+
if (!this.collection)
|
|
113
|
+
return;
|
|
114
|
+
try {
|
|
115
|
+
const result = await this.collection.get({ ids: [id] });
|
|
116
|
+
if (result.metadatas[0]) {
|
|
117
|
+
const metadata = result.metadatas[0];
|
|
118
|
+
metadata.accessCount = newCount;
|
|
119
|
+
await this.collection.update({
|
|
120
|
+
ids: [id],
|
|
121
|
+
metadatas: [metadata],
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
console.error('Failed to update access count:', error);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Clear old cache entries (TTL cleanup)
|
|
131
|
+
*/
|
|
132
|
+
async cleanup(ttl) {
|
|
133
|
+
if (!this.collection)
|
|
134
|
+
return;
|
|
135
|
+
try {
|
|
136
|
+
const now = Date.now();
|
|
137
|
+
const cutoff = now - ttl * 1000;
|
|
138
|
+
const allEntries = await this.collection.get();
|
|
139
|
+
const idsToDelete = [];
|
|
140
|
+
allEntries.metadatas.forEach((metadata, index) => {
|
|
141
|
+
if (metadata && metadata.timestamp < cutoff) {
|
|
142
|
+
idsToDelete.push(allEntries.ids[index]);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
if (idsToDelete.length > 0) {
|
|
146
|
+
await this.collection.delete({ ids: idsToDelete });
|
|
147
|
+
console.log(`✓ Cleaned up ${idsToDelete.length} expired cache entries`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
console.error('Cache cleanup failed:', error);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.SemanticCache = SemanticCache;
|
|
156
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/subconscious/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding service using Ollama for semantic vectorization
|
|
3
|
+
*/
|
|
4
|
+
export declare class EmbeddingService {
|
|
5
|
+
private baseUrl;
|
|
6
|
+
private model;
|
|
7
|
+
constructor(baseUrl: string, model: string);
|
|
8
|
+
/**
|
|
9
|
+
* Generate embeddings for a given text using Ollama
|
|
10
|
+
*/
|
|
11
|
+
generateEmbedding(text: string): Promise<number[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Calculate cosine similarity between two vectors
|
|
14
|
+
*/
|
|
15
|
+
static cosineSimilarity(vecA: number[], vecB: number[]): number;
|
|
16
|
+
/**
|
|
17
|
+
* Serialize a task request into a searchable string
|
|
18
|
+
*/
|
|
19
|
+
static serializeTask(task: Record<string, unknown> | {
|
|
20
|
+
taskType: string;
|
|
21
|
+
payload?: any;
|
|
22
|
+
context?: any;
|
|
23
|
+
}): string;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/subconscious/embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAK1C;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAcxD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAwB/D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM;CAOjH"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Embedding service using Ollama for semantic vectorization
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.EmbeddingService = void 0;
|
|
10
|
+
const axios_1 = __importDefault(require("axios"));
|
|
11
|
+
class EmbeddingService {
|
|
12
|
+
constructor(baseUrl, model) {
|
|
13
|
+
this.baseUrl = baseUrl;
|
|
14
|
+
this.model = model;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generate embeddings for a given text using Ollama
|
|
18
|
+
*/
|
|
19
|
+
async generateEmbedding(text) {
|
|
20
|
+
try {
|
|
21
|
+
const response = await axios_1.default.post(`${this.baseUrl}/api/embeddings`, {
|
|
22
|
+
model: this.model,
|
|
23
|
+
prompt: text,
|
|
24
|
+
});
|
|
25
|
+
return response.data.embedding;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
console.error('Failed to generate embedding:', error);
|
|
29
|
+
throw new Error(`Embedding generation failed: ${error}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Calculate cosine similarity between two vectors
|
|
34
|
+
*/
|
|
35
|
+
static cosineSimilarity(vecA, vecB) {
|
|
36
|
+
if (vecA.length !== vecB.length) {
|
|
37
|
+
throw new Error('Vectors must have the same length');
|
|
38
|
+
}
|
|
39
|
+
let dotProduct = 0;
|
|
40
|
+
let normA = 0;
|
|
41
|
+
let normB = 0;
|
|
42
|
+
for (let i = 0; i < vecA.length; i++) {
|
|
43
|
+
dotProduct += vecA[i] * vecB[i];
|
|
44
|
+
normA += vecA[i] * vecA[i];
|
|
45
|
+
normB += vecB[i] * vecB[i];
|
|
46
|
+
}
|
|
47
|
+
const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
|
|
48
|
+
if (magnitude === 0) {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
return dotProduct / magnitude;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Serialize a task request into a searchable string
|
|
55
|
+
*/
|
|
56
|
+
static serializeTask(task) {
|
|
57
|
+
return JSON.stringify({
|
|
58
|
+
taskType: task.taskType,
|
|
59
|
+
payload: task.payload || task.parameters,
|
|
60
|
+
context: task.context,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.EmbeddingService = EmbeddingService;
|
|
65
|
+
//# sourceMappingURL=embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/subconscious/embeddings.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,kDAA0B;AAE1B,MAAa,gBAAgB;IAI3B,YAAY,OAAe,EAAE,KAAa;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,iBAAiB,EAAE;gBAClE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAc,EAAE,IAAc;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAkF;QACrG,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAG,IAAY,CAAC,OAAO,IAAK,IAAY,CAAC,UAAU;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;CACF;AA/DD,4CA+DC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subconscious Semantic Engine
|
|
3
|
+
*
|
|
4
|
+
* A high-performance semantic caching system for AI agent orchestration.
|
|
5
|
+
* Provides "short-circuit" logic to return cached results for similar tasks,
|
|
6
|
+
* reducing latency from seconds to milliseconds.
|
|
7
|
+
*/
|
|
8
|
+
export { VectorStore } from './VectorStore';
|
|
9
|
+
export { EmbeddingService } from './EmbeddingService';
|
|
10
|
+
export { SemanticCache, CacheResult } from './SemanticCache';
|
|
11
|
+
export { SubconsciousEngine, SubconsciousConfig, Task, TaskResult, EngineMetrics, } from './SubconsciousEngine';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subconscious/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACV,aAAa,GACd,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Subconscious Semantic Engine
|
|
4
|
+
*
|
|
5
|
+
* A high-performance semantic caching system for AI agent orchestration.
|
|
6
|
+
* Provides "short-circuit" logic to return cached results for similar tasks,
|
|
7
|
+
* reducing latency from seconds to milliseconds.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.SubconsciousEngine = exports.SemanticCache = exports.EmbeddingService = exports.VectorStore = void 0;
|
|
11
|
+
var VectorStore_1 = require("./VectorStore");
|
|
12
|
+
Object.defineProperty(exports, "VectorStore", { enumerable: true, get: function () { return VectorStore_1.VectorStore; } });
|
|
13
|
+
var EmbeddingService_1 = require("./EmbeddingService");
|
|
14
|
+
Object.defineProperty(exports, "EmbeddingService", { enumerable: true, get: function () { return EmbeddingService_1.EmbeddingService; } });
|
|
15
|
+
var SemanticCache_1 = require("./SemanticCache");
|
|
16
|
+
Object.defineProperty(exports, "SemanticCache", { enumerable: true, get: function () { return SemanticCache_1.SemanticCache; } });
|
|
17
|
+
var SubconsciousEngine_1 = require("./SubconsciousEngine");
|
|
18
|
+
Object.defineProperty(exports, "SubconsciousEngine", { enumerable: true, get: function () { return SubconsciousEngine_1.SubconsciousEngine; } });
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subconscious/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,iDAA6D;AAApD,8GAAA,aAAa,OAAA;AACtB,2DAM8B;AAL5B,wHAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import WebSocket from 'ws';
|
|
2
|
+
/**
|
|
3
|
+
* WebSocket Server Configuration
|
|
4
|
+
*/
|
|
5
|
+
export interface ServerConfig {
|
|
6
|
+
port?: number;
|
|
7
|
+
heartbeatInterval?: number;
|
|
8
|
+
connectionTimeout?: number;
|
|
9
|
+
maxConnections?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Router Configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface RouterConfig {
|
|
15
|
+
defaultTimeout?: number;
|
|
16
|
+
maxRetries?: number;
|
|
17
|
+
retryDelay?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Agent Connection Information
|
|
21
|
+
*/
|
|
22
|
+
export interface AgentConnection {
|
|
23
|
+
id: string;
|
|
24
|
+
ws: WebSocket;
|
|
25
|
+
agentId: string | null;
|
|
26
|
+
capabilities: string[];
|
|
27
|
+
isAlive: boolean;
|
|
28
|
+
connectedAt: number;
|
|
29
|
+
lastPing: number;
|
|
30
|
+
metadata: {
|
|
31
|
+
ip?: string;
|
|
32
|
+
userAgent?: string;
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Connection Statistics
|
|
38
|
+
*/
|
|
39
|
+
export interface ConnectionStats {
|
|
40
|
+
totalConnections: number;
|
|
41
|
+
activeConnections: number;
|
|
42
|
+
messagesReceived: number;
|
|
43
|
+
messagesSent: number;
|
|
44
|
+
reconnections: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Agent Status Enum
|
|
48
|
+
*/
|
|
49
|
+
export declare enum AgentStatus {
|
|
50
|
+
ONLINE = "online",
|
|
51
|
+
OFFLINE = "offline",
|
|
52
|
+
BUSY = "busy",
|
|
53
|
+
ERROR = "error"
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Agent Capability Definition
|
|
57
|
+
*/
|
|
58
|
+
export interface AgentCapability {
|
|
59
|
+
name: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
version?: string;
|
|
62
|
+
parameters?: Record<string, any>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Agent Metrics
|
|
66
|
+
*/
|
|
67
|
+
export interface AgentMetrics {
|
|
68
|
+
tasksCompleted: number;
|
|
69
|
+
tasksInProgress: number;
|
|
70
|
+
tasksFailed: number;
|
|
71
|
+
averageResponseTime: number;
|
|
72
|
+
totalResponseTime: number;
|
|
73
|
+
uptime: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Agent Information
|
|
77
|
+
*/
|
|
78
|
+
export interface AgentInfo {
|
|
79
|
+
agentId: string;
|
|
80
|
+
connectionId: string;
|
|
81
|
+
capabilities: AgentCapability[];
|
|
82
|
+
status: AgentStatus;
|
|
83
|
+
registeredAt: number;
|
|
84
|
+
lastSeen: number;
|
|
85
|
+
metadata: Record<string, any>;
|
|
86
|
+
metrics: AgentMetrics;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Inter-Agent Protocol (I.A.P.) Message Types
|
|
90
|
+
*/
|
|
91
|
+
export declare enum IAPMessageType {
|
|
92
|
+
HANDSHAKE = "handshake",
|
|
93
|
+
HANDSHAKE_ACK = "handshake_ack",
|
|
94
|
+
HEARTBEAT = "heartbeat",
|
|
95
|
+
HEARTBEAT_ACK = "heartbeat_ack",
|
|
96
|
+
PING = "ping",
|
|
97
|
+
PONG = "pong",
|
|
98
|
+
TASK_REQUEST = "task_request",
|
|
99
|
+
TASK_RESPONSE = "task_response",
|
|
100
|
+
TASK_CANCEL = "task_cancel",
|
|
101
|
+
TASK_ASSIGN = "task_assign",
|
|
102
|
+
CAPABILITY_QUERY = "capability_query",
|
|
103
|
+
CAPABILITY_RESPONSE = "capability_response",
|
|
104
|
+
DISCOVER = "discover",
|
|
105
|
+
DISCOVER_RESPONSE = "discover_response",
|
|
106
|
+
ERROR = "error"
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Base I.A.P. Message Structure
|
|
110
|
+
*/
|
|
111
|
+
export interface IAPMessage {
|
|
112
|
+
type: IAPMessageType;
|
|
113
|
+
id?: string;
|
|
114
|
+
messageId?: string;
|
|
115
|
+
timestamp: number;
|
|
116
|
+
payload: any;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Task Request Payload
|
|
120
|
+
*/
|
|
121
|
+
export interface TaskRequest {
|
|
122
|
+
taskId?: string;
|
|
123
|
+
taskType: string;
|
|
124
|
+
description?: string;
|
|
125
|
+
requiredCapabilities: string[];
|
|
126
|
+
parameters: Record<string, any>;
|
|
127
|
+
context?: Record<string, any>;
|
|
128
|
+
priority?: number;
|
|
129
|
+
timeout?: number;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Task Response Payload
|
|
133
|
+
*/
|
|
134
|
+
export interface TaskResponse {
|
|
135
|
+
taskId: string;
|
|
136
|
+
success: boolean;
|
|
137
|
+
result?: any;
|
|
138
|
+
error?: string;
|
|
139
|
+
executionTime?: number;
|
|
140
|
+
tokensUsed?: number;
|
|
141
|
+
metadata?: Record<string, any>;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Routing Decision
|
|
145
|
+
*/
|
|
146
|
+
export interface RoutingDecision {
|
|
147
|
+
success: boolean;
|
|
148
|
+
selectedAgent?: AgentInfo;
|
|
149
|
+
reason: string;
|
|
150
|
+
selectionTime: number;
|
|
151
|
+
alternativeAgents?: AgentInfo[];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Handshake Payload
|
|
155
|
+
*/
|
|
156
|
+
export interface HandshakePayload {
|
|
157
|
+
agentId: string;
|
|
158
|
+
agentName?: string;
|
|
159
|
+
capabilities: AgentCapability[];
|
|
160
|
+
metadata?: Record<string, any>;
|
|
161
|
+
version?: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Error Payload
|
|
165
|
+
*/
|
|
166
|
+
export interface ErrorPayload {
|
|
167
|
+
error: string;
|
|
168
|
+
code?: string;
|
|
169
|
+
taskId?: string;
|
|
170
|
+
details?: any;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Cache Entry for Semantic Cache
|
|
174
|
+
*/
|
|
175
|
+
export interface CacheEntry {
|
|
176
|
+
id: string;
|
|
177
|
+
query: string;
|
|
178
|
+
embedding: number[];
|
|
179
|
+
response: any;
|
|
180
|
+
metadata: {
|
|
181
|
+
agentId: string;
|
|
182
|
+
timestamp: number;
|
|
183
|
+
executionTime?: number;
|
|
184
|
+
tokensUsed?: number;
|
|
185
|
+
[key: string]: any;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Semantic Cache Entry
|
|
190
|
+
*/
|
|
191
|
+
export interface SemanticCacheEntry {
|
|
192
|
+
id: string;
|
|
193
|
+
taskRequest: TaskRequest;
|
|
194
|
+
taskResponse: TaskResponse;
|
|
195
|
+
embedding: number[];
|
|
196
|
+
timestamp: number;
|
|
197
|
+
accessCount: number;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Agent Handshake (alias for HandshakePayload)
|
|
201
|
+
*/
|
|
202
|
+
export interface AgentHandshake {
|
|
203
|
+
agentId: string;
|
|
204
|
+
name: string;
|
|
205
|
+
version: string;
|
|
206
|
+
framework?: string;
|
|
207
|
+
capabilities: AgentCapability[];
|
|
208
|
+
maxConcurrentTasks?: number;
|
|
209
|
+
currentLoad?: number;
|
|
210
|
+
metadata?: Record<string, any>;
|
|
211
|
+
protocolVersion: string;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Task Bid
|
|
215
|
+
*/
|
|
216
|
+
export interface TaskBid {
|
|
217
|
+
taskId: string;
|
|
218
|
+
agentId: string;
|
|
219
|
+
bidAmount: number;
|
|
220
|
+
estimatedTime?: number;
|
|
221
|
+
confidence?: number;
|
|
222
|
+
metadata?: Record<string, any>;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Orchestration Metrics
|
|
226
|
+
*/
|
|
227
|
+
export interface OrchestrationMetrics {
|
|
228
|
+
totalRequests: number;
|
|
229
|
+
cacheHits: number;
|
|
230
|
+
cacheMisses: number;
|
|
231
|
+
averageLatency: number;
|
|
232
|
+
tokensSaved: number;
|
|
233
|
+
costSaved: number;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Message Type Enum (alias for compatibility)
|
|
237
|
+
*/
|
|
238
|
+
export declare const MessageType: typeof IAPMessageType;
|
|
239
|
+
/**
|
|
240
|
+
* Semantic Match Result
|
|
241
|
+
*/
|
|
242
|
+
export interface SemanticMatch {
|
|
243
|
+
id: string;
|
|
244
|
+
similarity: number;
|
|
245
|
+
response: any;
|
|
246
|
+
metadata: {
|
|
247
|
+
agentId: string;
|
|
248
|
+
timestamp: number;
|
|
249
|
+
executionTime?: number;
|
|
250
|
+
tokensUsed?: number;
|
|
251
|
+
[key: string]: any;
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Environment Configuration
|
|
256
|
+
*/
|
|
257
|
+
export interface EnvironmentConfig {
|
|
258
|
+
wsPort: number;
|
|
259
|
+
PORT: number;
|
|
260
|
+
NODE_ENV: string;
|
|
261
|
+
chromaUrl: string;
|
|
262
|
+
CHROMA_HOST: string;
|
|
263
|
+
CHROMA_PORT: number;
|
|
264
|
+
CHROMA_COLLECTION: string;
|
|
265
|
+
ollamaUrl: string;
|
|
266
|
+
OLLAMA_HOST: string;
|
|
267
|
+
OLLAMA_MODEL: string;
|
|
268
|
+
similarityThreshold: number;
|
|
269
|
+
SEMANTIC_THRESHOLD: number;
|
|
270
|
+
MAX_CACHE_SIZE: number;
|
|
271
|
+
ENABLE_CACHING: boolean;
|
|
272
|
+
logLevel: string;
|
|
273
|
+
LOG_LEVEL: string;
|
|
274
|
+
AUTH_ENABLED: boolean;
|
|
275
|
+
AUTH_REQUIRE_API_KEY: boolean;
|
|
276
|
+
AUTH_ALLOWED_ORIGINS: string[];
|
|
277
|
+
RATE_LIMIT_ENABLED: boolean;
|
|
278
|
+
RATE_LIMIT_REQUESTS_PER_MINUTE: number;
|
|
279
|
+
RATE_LIMIT_REQUESTS_PER_HOUR: number;
|
|
280
|
+
RATE_LIMIT_BLOCK_DURATION: number;
|
|
281
|
+
SANITIZATION_ENABLED: boolean;
|
|
282
|
+
SANITIZATION_MAX_STRING_LENGTH: number;
|
|
283
|
+
SANITIZATION_MAX_ARRAY_LENGTH: number;
|
|
284
|
+
SANITIZATION_MAX_OBJECT_DEPTH: number;
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageType = exports.IAPMessageType = exports.AgentStatus = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Agent Status Enum
|
|
6
|
+
*/
|
|
7
|
+
var AgentStatus;
|
|
8
|
+
(function (AgentStatus) {
|
|
9
|
+
AgentStatus["ONLINE"] = "online";
|
|
10
|
+
AgentStatus["OFFLINE"] = "offline";
|
|
11
|
+
AgentStatus["BUSY"] = "busy";
|
|
12
|
+
AgentStatus["ERROR"] = "error";
|
|
13
|
+
})(AgentStatus || (exports.AgentStatus = AgentStatus = {}));
|
|
14
|
+
/**
|
|
15
|
+
* Inter-Agent Protocol (I.A.P.) Message Types
|
|
16
|
+
*/
|
|
17
|
+
var IAPMessageType;
|
|
18
|
+
(function (IAPMessageType) {
|
|
19
|
+
// Connection lifecycle
|
|
20
|
+
IAPMessageType["HANDSHAKE"] = "handshake";
|
|
21
|
+
IAPMessageType["HANDSHAKE_ACK"] = "handshake_ack";
|
|
22
|
+
IAPMessageType["HEARTBEAT"] = "heartbeat";
|
|
23
|
+
IAPMessageType["HEARTBEAT_ACK"] = "heartbeat_ack";
|
|
24
|
+
IAPMessageType["PING"] = "ping";
|
|
25
|
+
IAPMessageType["PONG"] = "pong";
|
|
26
|
+
// Task management
|
|
27
|
+
IAPMessageType["TASK_REQUEST"] = "task_request";
|
|
28
|
+
IAPMessageType["TASK_RESPONSE"] = "task_response";
|
|
29
|
+
IAPMessageType["TASK_CANCEL"] = "task_cancel";
|
|
30
|
+
IAPMessageType["TASK_ASSIGN"] = "task_assign";
|
|
31
|
+
// Discovery
|
|
32
|
+
IAPMessageType["CAPABILITY_QUERY"] = "capability_query";
|
|
33
|
+
IAPMessageType["CAPABILITY_RESPONSE"] = "capability_response";
|
|
34
|
+
IAPMessageType["DISCOVER"] = "discover";
|
|
35
|
+
IAPMessageType["DISCOVER_RESPONSE"] = "discover_response";
|
|
36
|
+
// Error handling
|
|
37
|
+
IAPMessageType["ERROR"] = "error";
|
|
38
|
+
})(IAPMessageType || (exports.IAPMessageType = IAPMessageType = {}));
|
|
39
|
+
/**
|
|
40
|
+
* Message Type Enum (alias for compatibility)
|
|
41
|
+
*/
|
|
42
|
+
exports.MessageType = IAPMessageType;
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAkDA;;GAEG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAsCD;;GAEG;AACH,IAAY,cAuBX;AAvBD,WAAY,cAAc;IACxB,uBAAuB;IACvB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,+BAAa,CAAA;IACb,+BAAa,CAAA;IAEb,kBAAkB;IAClB,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,YAAY;IACZ,uDAAqC,CAAA;IACrC,6DAA2C,CAAA;IAC3C,uCAAqB,CAAA;IACrB,yDAAuC,CAAA;IAEvC,iBAAiB;IACjB,iCAAe,CAAA;AACjB,CAAC,EAvBW,cAAc,8BAAd,cAAc,QAuBzB;AA4ID;;GAEG;AACU,QAAA,WAAW,GAAG,cAAc,CAAC"}
|