@agentuity/runtime 0.1.13 → 0.1.14
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/package.json +8 -8
- package/src/_config.ts +13 -0
- package/src/_standalone.ts +167 -19
- package/src/index.ts +1 -0
- package/dist/_config.d.ts +0 -90
- package/dist/_config.d.ts.map +0 -1
- package/dist/_config.js +0 -135
- package/dist/_config.js.map +0 -1
- package/dist/_context.d.ts +0 -76
- package/dist/_context.d.ts.map +0 -1
- package/dist/_context.js +0 -147
- package/dist/_context.js.map +0 -1
- package/dist/_events.d.ts +0 -64
- package/dist/_events.d.ts.map +0 -1
- package/dist/_events.js +0 -92
- package/dist/_events.js.map +0 -1
- package/dist/_idle.d.ts +0 -7
- package/dist/_idle.d.ts.map +0 -1
- package/dist/_idle.js +0 -10
- package/dist/_idle.js.map +0 -1
- package/dist/_metadata.d.ts +0 -117
- package/dist/_metadata.d.ts.map +0 -1
- package/dist/_metadata.js +0 -246
- package/dist/_metadata.js.map +0 -1
- package/dist/_process-protection.d.ts +0 -25
- package/dist/_process-protection.d.ts.map +0 -1
- package/dist/_process-protection.js +0 -65
- package/dist/_process-protection.js.map +0 -1
- package/dist/_server.d.ts +0 -46
- package/dist/_server.d.ts.map +0 -1
- package/dist/_server.js +0 -85
- package/dist/_server.js.map +0 -1
- package/dist/_services.d.ts +0 -21
- package/dist/_services.d.ts.map +0 -1
- package/dist/_services.js +0 -248
- package/dist/_services.js.map +0 -1
- package/dist/_standalone.d.ts +0 -168
- package/dist/_standalone.d.ts.map +0 -1
- package/dist/_standalone.js +0 -441
- package/dist/_standalone.js.map +0 -1
- package/dist/_tokens.d.ts +0 -12
- package/dist/_tokens.d.ts.map +0 -1
- package/dist/_tokens.js +0 -96
- package/dist/_tokens.js.map +0 -1
- package/dist/_util.d.ts +0 -16
- package/dist/_util.d.ts.map +0 -1
- package/dist/_util.js +0 -54
- package/dist/_util.js.map +0 -1
- package/dist/_validation.d.ts +0 -89
- package/dist/_validation.d.ts.map +0 -1
- package/dist/_validation.js +0 -29
- package/dist/_validation.js.map +0 -1
- package/dist/_waituntil.d.ts +0 -18
- package/dist/_waituntil.d.ts.map +0 -1
- package/dist/_waituntil.js +0 -97
- package/dist/_waituntil.js.map +0 -1
- package/dist/agent.d.ts +0 -1210
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -903
- package/dist/agent.js.map +0 -1
- package/dist/app.d.ts +0 -322
- package/dist/app.d.ts.map +0 -1
- package/dist/app.js +0 -160
- package/dist/app.js.map +0 -1
- package/dist/bun-s3-patch.d.ts +0 -37
- package/dist/bun-s3-patch.d.ts.map +0 -1
- package/dist/bun-s3-patch.js +0 -139
- package/dist/bun-s3-patch.js.map +0 -1
- package/dist/cors.d.ts +0 -42
- package/dist/cors.d.ts.map +0 -1
- package/dist/cors.js +0 -117
- package/dist/cors.js.map +0 -1
- package/dist/devmode.d.ts +0 -3
- package/dist/devmode.d.ts.map +0 -1
- package/dist/devmode.js +0 -167
- package/dist/devmode.js.map +0 -1
- package/dist/eval.d.ts +0 -91
- package/dist/eval.d.ts.map +0 -1
- package/dist/eval.js +0 -16
- package/dist/eval.js.map +0 -1
- package/dist/handlers/cron.d.ts +0 -47
- package/dist/handlers/cron.d.ts.map +0 -1
- package/dist/handlers/cron.js +0 -49
- package/dist/handlers/cron.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -5
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -5
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/sse.d.ts +0 -91
- package/dist/handlers/sse.d.ts.map +0 -1
- package/dist/handlers/sse.js +0 -213
- package/dist/handlers/sse.js.map +0 -1
- package/dist/handlers/stream.d.ts +0 -52
- package/dist/handlers/stream.d.ts.map +0 -1
- package/dist/handlers/stream.js +0 -116
- package/dist/handlers/stream.js.map +0 -1
- package/dist/handlers/websocket.d.ts +0 -49
- package/dist/handlers/websocket.d.ts.map +0 -1
- package/dist/handlers/websocket.js +0 -143
- package/dist/handlers/websocket.js.map +0 -1
- package/dist/index.d.ts +0 -71
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -58
- package/dist/index.js.map +0 -1
- package/dist/logger/console.d.ts +0 -70
- package/dist/logger/console.d.ts.map +0 -1
- package/dist/logger/console.js +0 -274
- package/dist/logger/console.js.map +0 -1
- package/dist/logger/index.d.ts +0 -3
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/index.js +0 -3
- package/dist/logger/index.js.map +0 -1
- package/dist/logger/internal.d.ts +0 -79
- package/dist/logger/internal.d.ts.map +0 -1
- package/dist/logger/internal.js +0 -133
- package/dist/logger/internal.js.map +0 -1
- package/dist/logger/logger.d.ts +0 -41
- package/dist/logger/logger.d.ts.map +0 -1
- package/dist/logger/logger.js +0 -2
- package/dist/logger/logger.js.map +0 -1
- package/dist/logger/user.d.ts +0 -8
- package/dist/logger/user.d.ts.map +0 -1
- package/dist/logger/user.js +0 -7
- package/dist/logger/user.js.map +0 -1
- package/dist/logger/util.d.ts +0 -11
- package/dist/logger/util.d.ts.map +0 -1
- package/dist/logger/util.js +0 -77
- package/dist/logger/util.js.map +0 -1
- package/dist/middleware.d.ts +0 -112
- package/dist/middleware.d.ts.map +0 -1
- package/dist/middleware.js +0 -507
- package/dist/middleware.js.map +0 -1
- package/dist/otel/config.d.ts +0 -19
- package/dist/otel/config.d.ts.map +0 -1
- package/dist/otel/config.js +0 -26
- package/dist/otel/config.js.map +0 -1
- package/dist/otel/console.d.ts +0 -33
- package/dist/otel/console.d.ts.map +0 -1
- package/dist/otel/console.js +0 -86
- package/dist/otel/console.js.map +0 -1
- package/dist/otel/exporters/index.d.ts +0 -4
- package/dist/otel/exporters/index.d.ts.map +0 -1
- package/dist/otel/exporters/index.js +0 -4
- package/dist/otel/exporters/index.js.map +0 -1
- package/dist/otel/exporters/jsonl-log-exporter.d.ts +0 -36
- package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-log-exporter.js +0 -103
- package/dist/otel/exporters/jsonl-log-exporter.js.map +0 -1
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts +0 -40
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-metric-exporter.js +0 -104
- package/dist/otel/exporters/jsonl-metric-exporter.js.map +0 -1
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts +0 -36
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-trace-exporter.js +0 -111
- package/dist/otel/exporters/jsonl-trace-exporter.js.map +0 -1
- package/dist/otel/fetch.d.ts +0 -12
- package/dist/otel/fetch.d.ts.map +0 -1
- package/dist/otel/fetch.js +0 -82
- package/dist/otel/fetch.js.map +0 -1
- package/dist/otel/http.d.ts +0 -16
- package/dist/otel/http.d.ts.map +0 -1
- package/dist/otel/http.js +0 -44
- package/dist/otel/http.js.map +0 -1
- package/dist/otel/logger.d.ts +0 -37
- package/dist/otel/logger.d.ts.map +0 -1
- package/dist/otel/logger.js +0 -268
- package/dist/otel/logger.js.map +0 -1
- package/dist/otel/otel.d.ts +0 -65
- package/dist/otel/otel.d.ts.map +0 -1
- package/dist/otel/otel.js +0 -261
- package/dist/otel/otel.js.map +0 -1
- package/dist/router.d.ts +0 -100
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -163
- package/dist/router.js.map +0 -1
- package/dist/services/evalrun/composite.d.ts +0 -21
- package/dist/services/evalrun/composite.d.ts.map +0 -1
- package/dist/services/evalrun/composite.js +0 -26
- package/dist/services/evalrun/composite.js.map +0 -1
- package/dist/services/evalrun/http.d.ts +0 -24
- package/dist/services/evalrun/http.d.ts.map +0 -1
- package/dist/services/evalrun/http.js +0 -86
- package/dist/services/evalrun/http.js.map +0 -1
- package/dist/services/evalrun/index.d.ts +0 -5
- package/dist/services/evalrun/index.d.ts.map +0 -1
- package/dist/services/evalrun/index.js +0 -5
- package/dist/services/evalrun/index.js.map +0 -1
- package/dist/services/evalrun/json.d.ts +0 -21
- package/dist/services/evalrun/json.d.ts.map +0 -1
- package/dist/services/evalrun/json.js +0 -38
- package/dist/services/evalrun/json.js.map +0 -1
- package/dist/services/evalrun/local.d.ts +0 -19
- package/dist/services/evalrun/local.d.ts.map +0 -1
- package/dist/services/evalrun/local.js +0 -22
- package/dist/services/evalrun/local.js.map +0 -1
- package/dist/services/local/_db.d.ts +0 -4
- package/dist/services/local/_db.d.ts.map +0 -1
- package/dist/services/local/_db.js +0 -123
- package/dist/services/local/_db.js.map +0 -1
- package/dist/services/local/_router.d.ts +0 -3
- package/dist/services/local/_router.d.ts.map +0 -1
- package/dist/services/local/_router.js +0 -28
- package/dist/services/local/_router.js.map +0 -1
- package/dist/services/local/_util.d.ts +0 -18
- package/dist/services/local/_util.d.ts.map +0 -1
- package/dist/services/local/_util.js +0 -44
- package/dist/services/local/_util.js.map +0 -1
- package/dist/services/local/index.d.ts +0 -7
- package/dist/services/local/index.d.ts.map +0 -1
- package/dist/services/local/index.js +0 -7
- package/dist/services/local/index.js.map +0 -1
- package/dist/services/local/keyvalue.d.ts +0 -17
- package/dist/services/local/keyvalue.d.ts.map +0 -1
- package/dist/services/local/keyvalue.js +0 -125
- package/dist/services/local/keyvalue.js.map +0 -1
- package/dist/services/local/stream.d.ts +0 -12
- package/dist/services/local/stream.d.ts.map +0 -1
- package/dist/services/local/stream.js +0 -262
- package/dist/services/local/stream.js.map +0 -1
- package/dist/services/local/vector.d.ts +0 -17
- package/dist/services/local/vector.d.ts.map +0 -1
- package/dist/services/local/vector.js +0 -303
- package/dist/services/local/vector.js.map +0 -1
- package/dist/services/sandbox/http.d.ts +0 -13
- package/dist/services/sandbox/http.d.ts.map +0 -1
- package/dist/services/sandbox/http.js +0 -130
- package/dist/services/sandbox/http.js.map +0 -1
- package/dist/services/sandbox/index.d.ts +0 -2
- package/dist/services/sandbox/index.d.ts.map +0 -1
- package/dist/services/sandbox/index.js +0 -2
- package/dist/services/sandbox/index.js.map +0 -1
- package/dist/services/session/composite.d.ts +0 -21
- package/dist/services/session/composite.d.ts.map +0 -1
- package/dist/services/session/composite.js +0 -26
- package/dist/services/session/composite.js.map +0 -1
- package/dist/services/session/http.d.ts +0 -34
- package/dist/services/session/http.d.ts.map +0 -1
- package/dist/services/session/http.js +0 -80
- package/dist/services/session/http.js.map +0 -1
- package/dist/services/session/index.d.ts +0 -5
- package/dist/services/session/index.d.ts.map +0 -1
- package/dist/services/session/index.js +0 -5
- package/dist/services/session/index.js.map +0 -1
- package/dist/services/session/json.d.ts +0 -22
- package/dist/services/session/json.d.ts.map +0 -1
- package/dist/services/session/json.js +0 -35
- package/dist/services/session/json.js.map +0 -1
- package/dist/services/session/local.d.ts +0 -19
- package/dist/services/session/local.d.ts.map +0 -1
- package/dist/services/session/local.js +0 -23
- package/dist/services/session/local.js.map +0 -1
- package/dist/services/thread/local.d.ts +0 -20
- package/dist/services/thread/local.d.ts.map +0 -1
- package/dist/services/thread/local.js +0 -158
- package/dist/services/thread/local.js.map +0 -1
- package/dist/session.d.ts +0 -734
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -1139
- package/dist/session.js.map +0 -1
- package/dist/validator.d.ts +0 -142
- package/dist/validator.d.ts.map +0 -1
- package/dist/validator.js +0 -149
- package/dist/validator.js.map +0 -1
- package/dist/web.d.ts +0 -8
- package/dist/web.d.ts.map +0 -1
- package/dist/web.js +0 -66
- package/dist/web.js.map +0 -1
- package/dist/workbench.d.ts +0 -17
- package/dist/workbench.d.ts.map +0 -1
- package/dist/workbench.js +0 -507
- package/dist/workbench.js.map +0 -1
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { simpleEmbedding, cosineSimilarity, now } from './_util';
|
|
3
|
-
export class LocalVectorStorage {
|
|
4
|
-
#db;
|
|
5
|
-
#projectPath;
|
|
6
|
-
constructor(db, projectPath) {
|
|
7
|
-
this.#db = db;
|
|
8
|
-
this.#projectPath = projectPath;
|
|
9
|
-
}
|
|
10
|
-
async upsert(name, ...documents) {
|
|
11
|
-
if (!name?.trim()) {
|
|
12
|
-
throw new Error('Vector storage name is required');
|
|
13
|
-
}
|
|
14
|
-
if (documents.length === 0) {
|
|
15
|
-
throw new Error('At least one document is required');
|
|
16
|
-
}
|
|
17
|
-
const results = [];
|
|
18
|
-
const stmt = this.#db.prepare(`
|
|
19
|
-
INSERT INTO vector_storage (
|
|
20
|
-
project_path, name, id, key, embedding, document, metadata, created_at, updated_at
|
|
21
|
-
)
|
|
22
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
23
|
-
ON CONFLICT(project_path, name, key)
|
|
24
|
-
DO UPDATE SET
|
|
25
|
-
embedding = excluded.embedding,
|
|
26
|
-
document = excluded.document,
|
|
27
|
-
metadata = excluded.metadata,
|
|
28
|
-
updated_at = excluded.updated_at
|
|
29
|
-
`);
|
|
30
|
-
for (const doc of documents) {
|
|
31
|
-
if (!doc.key?.trim()) {
|
|
32
|
-
throw new Error('Each document must have a non-empty key');
|
|
33
|
-
}
|
|
34
|
-
// Generate or use provided embeddings
|
|
35
|
-
let embedding;
|
|
36
|
-
if ('embeddings' in doc && doc.embeddings) {
|
|
37
|
-
if (!Array.isArray(doc.embeddings) || doc.embeddings.length === 0) {
|
|
38
|
-
throw new Error('Embeddings must be a non-empty array');
|
|
39
|
-
}
|
|
40
|
-
embedding = doc.embeddings;
|
|
41
|
-
}
|
|
42
|
-
else if ('document' in doc && doc.document) {
|
|
43
|
-
if (!doc.document?.trim()) {
|
|
44
|
-
throw new Error('Document text must be non-empty');
|
|
45
|
-
}
|
|
46
|
-
embedding = simpleEmbedding(doc.document);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
throw new Error('Each document must have either embeddings or document text');
|
|
50
|
-
}
|
|
51
|
-
const id = randomUUID();
|
|
52
|
-
const timestamp = now();
|
|
53
|
-
const embeddingJson = JSON.stringify(embedding);
|
|
54
|
-
const documentText = 'document' in doc ? doc.document : null;
|
|
55
|
-
const metadata = doc.metadata ? JSON.stringify(doc.metadata) : null;
|
|
56
|
-
stmt.run(this.#projectPath, name, id, doc.key, embeddingJson, documentText ?? null, metadata ?? null, timestamp, timestamp);
|
|
57
|
-
const row = this.#db
|
|
58
|
-
.prepare('SELECT id FROM vector_storage WHERE project_path = ? AND name = ? AND key = ?')
|
|
59
|
-
.get(this.#projectPath, name, doc.key);
|
|
60
|
-
const actualId = row?.id ?? id;
|
|
61
|
-
results.push({ key: doc.key, id: actualId });
|
|
62
|
-
}
|
|
63
|
-
return results;
|
|
64
|
-
}
|
|
65
|
-
async get(name, key) {
|
|
66
|
-
if (!name?.trim() || !key?.trim()) {
|
|
67
|
-
throw new Error('Vector storage name and key are required');
|
|
68
|
-
}
|
|
69
|
-
const query = this.#db.query(`
|
|
70
|
-
SELECT id, key, embedding, document, metadata
|
|
71
|
-
FROM vector_storage
|
|
72
|
-
WHERE project_path = ? AND name = ? AND key = ?
|
|
73
|
-
`);
|
|
74
|
-
const row = query.get(this.#projectPath, name, key);
|
|
75
|
-
if (!row) {
|
|
76
|
-
return { exists: false };
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
exists: true,
|
|
80
|
-
data: {
|
|
81
|
-
id: row.id,
|
|
82
|
-
key: row.key,
|
|
83
|
-
embeddings: JSON.parse(row.embedding),
|
|
84
|
-
document: row.document || undefined,
|
|
85
|
-
metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
|
|
86
|
-
similarity: 1.0, // Perfect match for direct get
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
async getMany(name, ...keys) {
|
|
91
|
-
if (!name?.trim()) {
|
|
92
|
-
throw new Error('Vector storage name is required');
|
|
93
|
-
}
|
|
94
|
-
if (keys.length === 0) {
|
|
95
|
-
return new Map();
|
|
96
|
-
}
|
|
97
|
-
const results = await Promise.all(keys.map(async (key) => {
|
|
98
|
-
const result = await this.get(name, key);
|
|
99
|
-
return { key, result };
|
|
100
|
-
}));
|
|
101
|
-
const map = new Map();
|
|
102
|
-
for (const { key, result } of results) {
|
|
103
|
-
if (result.exists) {
|
|
104
|
-
map.set(key, result.data);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return map;
|
|
108
|
-
}
|
|
109
|
-
async search(name, params) {
|
|
110
|
-
if (!name?.trim()) {
|
|
111
|
-
throw new Error('Vector storage name is required');
|
|
112
|
-
}
|
|
113
|
-
if (!params.query?.trim()) {
|
|
114
|
-
throw new Error('Query is required');
|
|
115
|
-
}
|
|
116
|
-
// Fetch all vectors for this name
|
|
117
|
-
const query = this.#db.query(`
|
|
118
|
-
SELECT id, key, embedding, metadata
|
|
119
|
-
FROM vector_storage
|
|
120
|
-
WHERE project_path = ? AND name = ?
|
|
121
|
-
`);
|
|
122
|
-
const rows = query.all(this.#projectPath, name);
|
|
123
|
-
// If no vectors exist, return empty results
|
|
124
|
-
const row = rows[0];
|
|
125
|
-
if (!row) {
|
|
126
|
-
return [];
|
|
127
|
-
}
|
|
128
|
-
// Detect dimensionality from first stored vector
|
|
129
|
-
const firstEmbedding = JSON.parse(row.embedding);
|
|
130
|
-
const dimensions = firstEmbedding.length;
|
|
131
|
-
// Generate query embedding with matching dimensions
|
|
132
|
-
const queryEmbedding = simpleEmbedding(params.query, dimensions);
|
|
133
|
-
// Calculate similarities
|
|
134
|
-
const results = [];
|
|
135
|
-
for (const row of rows) {
|
|
136
|
-
const embedding = JSON.parse(row.embedding);
|
|
137
|
-
const similarity = cosineSimilarity(queryEmbedding, embedding);
|
|
138
|
-
// Apply similarity threshold
|
|
139
|
-
if (params.similarity !== undefined && similarity < params.similarity) {
|
|
140
|
-
continue;
|
|
141
|
-
}
|
|
142
|
-
// Apply metadata filter
|
|
143
|
-
if (params.metadata) {
|
|
144
|
-
const rowMetadata = row.metadata ? JSON.parse(row.metadata) : {};
|
|
145
|
-
const matches = Object.entries(params.metadata).every(([key, value]) => rowMetadata[key] === value);
|
|
146
|
-
if (!matches) {
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
results.push({
|
|
151
|
-
id: row.id,
|
|
152
|
-
key: row.key,
|
|
153
|
-
metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
|
|
154
|
-
similarity,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
// Sort by similarity descending
|
|
158
|
-
results.sort((a, b) => b.similarity - a.similarity);
|
|
159
|
-
// Apply limit
|
|
160
|
-
const limit = params.limit || 10;
|
|
161
|
-
return results.slice(0, limit);
|
|
162
|
-
}
|
|
163
|
-
async delete(name, ...keys) {
|
|
164
|
-
if (!name?.trim()) {
|
|
165
|
-
throw new Error('Vector storage name is required');
|
|
166
|
-
}
|
|
167
|
-
if (keys.length === 0) {
|
|
168
|
-
return 0;
|
|
169
|
-
}
|
|
170
|
-
const placeholders = keys.map(() => '?').join(', ');
|
|
171
|
-
const stmt = this.#db.prepare(`
|
|
172
|
-
DELETE FROM vector_storage
|
|
173
|
-
WHERE project_path = ? AND name = ? AND key IN (${placeholders})
|
|
174
|
-
`);
|
|
175
|
-
const result = stmt.run(this.#projectPath, name, ...keys);
|
|
176
|
-
return result.changes;
|
|
177
|
-
}
|
|
178
|
-
async exists(name) {
|
|
179
|
-
if (!name?.trim()) {
|
|
180
|
-
throw new Error('Vector storage name is required');
|
|
181
|
-
}
|
|
182
|
-
const query = this.#db.query(`
|
|
183
|
-
SELECT COUNT(*) as count
|
|
184
|
-
FROM vector_storage
|
|
185
|
-
WHERE project_path = ? AND name = ?
|
|
186
|
-
`);
|
|
187
|
-
const { count } = query.get(this.#projectPath, name);
|
|
188
|
-
return count > 0;
|
|
189
|
-
}
|
|
190
|
-
async getStats(name) {
|
|
191
|
-
if (!name?.trim()) {
|
|
192
|
-
throw new Error('Vector storage name is required');
|
|
193
|
-
}
|
|
194
|
-
const countQuery = this.#db.query(`
|
|
195
|
-
SELECT COUNT(*) as count,
|
|
196
|
-
MIN(created_at) as created_at, MAX(updated_at) as last_used
|
|
197
|
-
FROM vector_storage
|
|
198
|
-
WHERE project_path = ? AND name = ?
|
|
199
|
-
`);
|
|
200
|
-
const stats = countQuery.get(this.#projectPath, name);
|
|
201
|
-
if (stats.count === 0) {
|
|
202
|
-
return { sum: 0, count: 0 };
|
|
203
|
-
}
|
|
204
|
-
const sampleQuery = this.#db.query(`
|
|
205
|
-
SELECT key, embedding, document, metadata, created_at, updated_at
|
|
206
|
-
FROM vector_storage
|
|
207
|
-
WHERE project_path = ? AND name = ?
|
|
208
|
-
LIMIT 20
|
|
209
|
-
`);
|
|
210
|
-
const samples = sampleQuery.all(this.#projectPath, name);
|
|
211
|
-
const encoder = new TextEncoder();
|
|
212
|
-
let totalSum = 0;
|
|
213
|
-
const sampledResults = {};
|
|
214
|
-
for (const sample of samples) {
|
|
215
|
-
const embeddingBytes = encoder.encode(sample.embedding).length;
|
|
216
|
-
const documentBytes = sample.document ? encoder.encode(sample.document).length : 0;
|
|
217
|
-
const size = embeddingBytes + documentBytes;
|
|
218
|
-
totalSum += size;
|
|
219
|
-
sampledResults[sample.key] = {
|
|
220
|
-
embedding: JSON.parse(sample.embedding),
|
|
221
|
-
document: sample.document || undefined,
|
|
222
|
-
size,
|
|
223
|
-
metadata: sample.metadata ? JSON.parse(sample.metadata) : undefined,
|
|
224
|
-
firstUsed: sample.created_at,
|
|
225
|
-
lastUsed: sample.updated_at,
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
// Estimate total size based on sampled average if we have more records than samples
|
|
229
|
-
const estimatedSum = stats.count <= samples.length
|
|
230
|
-
? totalSum
|
|
231
|
-
: Math.round((totalSum / samples.length) * stats.count);
|
|
232
|
-
return {
|
|
233
|
-
sum: estimatedSum,
|
|
234
|
-
count: stats.count,
|
|
235
|
-
createdAt: stats.created_at || undefined,
|
|
236
|
-
lastUsed: stats.last_used || undefined,
|
|
237
|
-
sampledResults,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
async getAllStats() {
|
|
241
|
-
const query = this.#db.query(`
|
|
242
|
-
SELECT name, embedding, document
|
|
243
|
-
FROM vector_storage
|
|
244
|
-
WHERE project_path = ?
|
|
245
|
-
`);
|
|
246
|
-
const rows = query.all(this.#projectPath);
|
|
247
|
-
const encoder = new TextEncoder();
|
|
248
|
-
const namespaceStats = new Map();
|
|
249
|
-
for (const row of rows) {
|
|
250
|
-
const embeddingBytes = encoder.encode(row.embedding).length;
|
|
251
|
-
const documentBytes = row.document ? encoder.encode(row.document).length : 0;
|
|
252
|
-
const size = embeddingBytes + documentBytes;
|
|
253
|
-
const existing = namespaceStats.get(row.name);
|
|
254
|
-
if (existing) {
|
|
255
|
-
existing.sum += size;
|
|
256
|
-
existing.count += 1;
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
namespaceStats.set(row.name, { sum: size, count: 1 });
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
// Get timestamps in a separate query
|
|
263
|
-
const timestampQuery = this.#db.query(`
|
|
264
|
-
SELECT name, MIN(created_at) as created_at, MAX(updated_at) as last_used
|
|
265
|
-
FROM vector_storage
|
|
266
|
-
WHERE project_path = ?
|
|
267
|
-
GROUP BY name
|
|
268
|
-
`);
|
|
269
|
-
const timestamps = timestampQuery.all(this.#projectPath);
|
|
270
|
-
for (const ts of timestamps) {
|
|
271
|
-
const stats = namespaceStats.get(ts.name);
|
|
272
|
-
if (stats) {
|
|
273
|
-
stats.createdAt = ts.created_at || undefined;
|
|
274
|
-
stats.lastUsed = ts.last_used || undefined;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
const results = {};
|
|
278
|
-
for (const [name, stats] of namespaceStats) {
|
|
279
|
-
results[name] = stats;
|
|
280
|
-
}
|
|
281
|
-
return results;
|
|
282
|
-
}
|
|
283
|
-
async getNamespaces() {
|
|
284
|
-
const query = this.#db.query(`
|
|
285
|
-
SELECT DISTINCT name
|
|
286
|
-
FROM vector_storage
|
|
287
|
-
WHERE project_path = ?
|
|
288
|
-
`);
|
|
289
|
-
const rows = query.all(this.#projectPath);
|
|
290
|
-
return rows.map((row) => row.name);
|
|
291
|
-
}
|
|
292
|
-
async deleteNamespace(name) {
|
|
293
|
-
if (!name?.trim()) {
|
|
294
|
-
throw new Error('Vector storage name is required');
|
|
295
|
-
}
|
|
296
|
-
const stmt = this.#db.prepare(`
|
|
297
|
-
DELETE FROM vector_storage
|
|
298
|
-
WHERE project_path = ? AND name = ?
|
|
299
|
-
`);
|
|
300
|
-
stmt.run(this.#projectPath, name);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
//# sourceMappingURL=vector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../src/services/local/vector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { APIClient } from '@agentuity/server';
|
|
2
|
-
import type { SandboxService, Sandbox, SandboxInfo, SandboxCreateOptions, SandboxRunOptions, SandboxRunResult, ListSandboxesParams, ListSandboxesResponse } from '@agentuity/core';
|
|
3
|
-
export declare class HTTPSandboxService implements SandboxService {
|
|
4
|
-
private client;
|
|
5
|
-
private streamBaseUrl;
|
|
6
|
-
constructor(client: APIClient, streamBaseUrl: string);
|
|
7
|
-
run(options: SandboxRunOptions): Promise<SandboxRunResult>;
|
|
8
|
-
create(options?: SandboxCreateOptions): Promise<Sandbox>;
|
|
9
|
-
get(sandboxId: string): Promise<SandboxInfo>;
|
|
10
|
-
list(params?: ListSandboxesParams): Promise<ListSandboxesResponse>;
|
|
11
|
-
destroy(sandboxId: string): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=http.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EAST,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,cAAc,EACd,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EAMrB,MAAM,iBAAiB,CAAC;AA8HzB,qBAAa,kBAAmB,YAAW,cAAc;IACxD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,aAAa,CAAS;gBAElB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM;IAK9C,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW1D,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBxD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5C,IAAI,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAWlE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK/C"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { sandboxCreate, sandboxDestroy, sandboxExecute, sandboxGet, sandboxList, sandboxRun, sandboxWriteFiles, sandboxReadFile, } from '@agentuity/server';
|
|
2
|
-
import { context, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
|
|
3
|
-
const TRACER_NAME = 'agentuity.sandbox';
|
|
4
|
-
async function withSpan(name, attributes, fn) {
|
|
5
|
-
const tracer = trace.getTracer(TRACER_NAME);
|
|
6
|
-
const currentContext = context.active();
|
|
7
|
-
const span = tracer.startSpan(name, { attributes, kind: SpanKind.CLIENT }, currentContext);
|
|
8
|
-
const spanContext = trace.setSpan(currentContext, span);
|
|
9
|
-
try {
|
|
10
|
-
const result = await context.with(spanContext, fn);
|
|
11
|
-
span.setStatus({ code: SpanStatusCode.OK });
|
|
12
|
-
return result;
|
|
13
|
-
}
|
|
14
|
-
catch (err) {
|
|
15
|
-
const e = err;
|
|
16
|
-
span.recordException(e);
|
|
17
|
-
span.setStatus({ code: SpanStatusCode.ERROR, message: e?.message ?? String(err) });
|
|
18
|
-
throw err;
|
|
19
|
-
}
|
|
20
|
-
finally {
|
|
21
|
-
span.end();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function createStreamReader(id, baseUrl) {
|
|
25
|
-
const streamId = id ?? '';
|
|
26
|
-
const url = streamId ? `${baseUrl}/${streamId}` : '';
|
|
27
|
-
return {
|
|
28
|
-
id: streamId,
|
|
29
|
-
url,
|
|
30
|
-
readonly: true,
|
|
31
|
-
getReader() {
|
|
32
|
-
if (!url) {
|
|
33
|
-
return new ReadableStream({
|
|
34
|
-
start(controller) {
|
|
35
|
-
controller.close();
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return new ReadableStream({
|
|
40
|
-
async start(controller) {
|
|
41
|
-
try {
|
|
42
|
-
const response = await fetch(url);
|
|
43
|
-
if (!response.ok || !response.body) {
|
|
44
|
-
controller.close();
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const reader = response.body.getReader();
|
|
48
|
-
while (true) {
|
|
49
|
-
const { done, value } = await reader.read();
|
|
50
|
-
if (done)
|
|
51
|
-
break;
|
|
52
|
-
controller.enqueue(value);
|
|
53
|
-
}
|
|
54
|
-
controller.close();
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
controller.close();
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
});
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function createSandboxInstance(client, sandboxId, status, streamBaseUrl, stdoutStreamId, stderrStreamId) {
|
|
65
|
-
const interleaved = !!(stdoutStreamId && stderrStreamId && stdoutStreamId === stderrStreamId);
|
|
66
|
-
return {
|
|
67
|
-
id: sandboxId,
|
|
68
|
-
status,
|
|
69
|
-
stdout: createStreamReader(stdoutStreamId, streamBaseUrl),
|
|
70
|
-
stderr: createStreamReader(stderrStreamId, streamBaseUrl),
|
|
71
|
-
interleaved,
|
|
72
|
-
async execute(options) {
|
|
73
|
-
return withSpan('agentuity.sandbox.execute', {
|
|
74
|
-
'sandbox.id': sandboxId,
|
|
75
|
-
'sandbox.command': options.command?.join(' ') ?? '',
|
|
76
|
-
}, () => sandboxExecute(client, { sandboxId, options, signal: options.signal }));
|
|
77
|
-
},
|
|
78
|
-
async writeFiles(files) {
|
|
79
|
-
await withSpan('agentuity.sandbox.writeFiles', {
|
|
80
|
-
'sandbox.id': sandboxId,
|
|
81
|
-
'sandbox.files.count': files.length,
|
|
82
|
-
}, () => sandboxWriteFiles(client, { sandboxId, files }));
|
|
83
|
-
},
|
|
84
|
-
async readFile(path) {
|
|
85
|
-
return withSpan('agentuity.sandbox.readFile', {
|
|
86
|
-
'sandbox.id': sandboxId,
|
|
87
|
-
'sandbox.file.path': path,
|
|
88
|
-
}, () => sandboxReadFile(client, { sandboxId, path }));
|
|
89
|
-
},
|
|
90
|
-
async destroy() {
|
|
91
|
-
await withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () => sandboxDestroy(client, { sandboxId }));
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
export class HTTPSandboxService {
|
|
96
|
-
client;
|
|
97
|
-
streamBaseUrl;
|
|
98
|
-
constructor(client, streamBaseUrl) {
|
|
99
|
-
this.client = client;
|
|
100
|
-
this.streamBaseUrl = streamBaseUrl;
|
|
101
|
-
}
|
|
102
|
-
async run(options) {
|
|
103
|
-
return withSpan('agentuity.sandbox.run', {
|
|
104
|
-
'sandbox.command': options.command?.exec?.join(' ') ?? '',
|
|
105
|
-
'sandbox.mode': 'oneshot',
|
|
106
|
-
}, () => sandboxRun(this.client, { options }));
|
|
107
|
-
}
|
|
108
|
-
async create(options) {
|
|
109
|
-
return withSpan('agentuity.sandbox.create', {
|
|
110
|
-
'sandbox.network': options?.network?.enabled ?? false,
|
|
111
|
-
'sandbox.snapshot': options?.snapshot ?? '',
|
|
112
|
-
}, async () => {
|
|
113
|
-
const response = await sandboxCreate(this.client, { options });
|
|
114
|
-
return createSandboxInstance(this.client, response.sandboxId, response.status, this.streamBaseUrl, response.stdoutStreamId, response.stderrStreamId);
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
async get(sandboxId) {
|
|
118
|
-
return withSpan('agentuity.sandbox.get', { 'sandbox.id': sandboxId }, () => sandboxGet(this.client, { sandboxId }));
|
|
119
|
-
}
|
|
120
|
-
async list(params) {
|
|
121
|
-
return withSpan('agentuity.sandbox.list', {
|
|
122
|
-
'sandbox.status': params?.status ?? '',
|
|
123
|
-
'sandbox.limit': params?.limit ?? 50,
|
|
124
|
-
}, () => sandboxList(this.client, params));
|
|
125
|
-
}
|
|
126
|
-
async destroy(sandboxId) {
|
|
127
|
-
return withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () => sandboxDestroy(this.client, { sandboxId }));
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=http.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type SessionCompleteEvent, type SessionEventProvider, type SessionStartEvent } from '@agentuity/core';
|
|
2
|
-
/**
|
|
3
|
-
* A composite implementation of SessionEventProvider that forwards events to multiple providers
|
|
4
|
-
*/
|
|
5
|
-
export declare class CompositeSessionEventProvider implements SessionEventProvider {
|
|
6
|
-
private providers;
|
|
7
|
-
constructor(...providers: SessionEventProvider[]);
|
|
8
|
-
/**
|
|
9
|
-
* called when the session starts
|
|
10
|
-
*
|
|
11
|
-
* @param event SessionStartEvent
|
|
12
|
-
*/
|
|
13
|
-
start(event: SessionStartEvent): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* called when the session completes
|
|
16
|
-
*
|
|
17
|
-
* @param event SessionCompleteEvent
|
|
18
|
-
*/
|
|
19
|
-
complete(event: SessionCompleteEvent): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=composite.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composite.d.ts","sourceRoot":"","sources":["../../../src/services/session/composite.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,6BAA8B,YAAW,oBAAoB;IACzE,OAAO,CAAC,SAAS,CAAyB;gBAE9B,GAAG,SAAS,EAAE,oBAAoB,EAAE;IAGhD;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1D"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A composite implementation of SessionEventProvider that forwards events to multiple providers
|
|
3
|
-
*/
|
|
4
|
-
export class CompositeSessionEventProvider {
|
|
5
|
-
providers;
|
|
6
|
-
constructor(...providers) {
|
|
7
|
-
this.providers = providers;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* called when the session starts
|
|
11
|
-
*
|
|
12
|
-
* @param event SessionStartEvent
|
|
13
|
-
*/
|
|
14
|
-
async start(event) {
|
|
15
|
-
await Promise.all(this.providers.map((p) => p.start(event)));
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* called when the session completes
|
|
19
|
-
*
|
|
20
|
-
* @param event SessionCompleteEvent
|
|
21
|
-
*/
|
|
22
|
-
async complete(event) {
|
|
23
|
-
await Promise.all(this.providers.map((p) => p.complete(event)));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=composite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composite.js","sourceRoot":"","sources":["../../../src/services/session/composite.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,OAAO,6BAA6B;IACjC,SAAS,CAAyB;IAE1C,YAAY,GAAG,SAAiC;QAC/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,KAAwB;QACnC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,KAA2B;QACzC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;CACD"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { APIClient } from '@agentuity/server';
|
|
2
|
-
import { type SessionEventProvider, type SessionStartEvent, type SessionCompleteEvent, type Logger } from '@agentuity/core';
|
|
3
|
-
/**
|
|
4
|
-
* An implementation of the SessionEventProvider which uses HTTP for delivery.
|
|
5
|
-
*
|
|
6
|
-
* This provider checks that the event has required fields (orgId, projectId for start events)
|
|
7
|
-
* before sending to the backend. If required fields are missing, the event is silently skipped.
|
|
8
|
-
*/
|
|
9
|
-
export declare class HTTPSessionEventProvider implements SessionEventProvider {
|
|
10
|
-
private apiClient;
|
|
11
|
-
private logger;
|
|
12
|
-
constructor(client: APIClient, logger: Logger);
|
|
13
|
-
/**
|
|
14
|
-
* Check if a start event has all required fields for HTTP delivery
|
|
15
|
-
*/
|
|
16
|
-
private canSendStartEvent;
|
|
17
|
-
/**
|
|
18
|
-
* called when the session starts
|
|
19
|
-
*
|
|
20
|
-
* @param event SessionStartEvent
|
|
21
|
-
*/
|
|
22
|
-
start(event: SessionStartEvent): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* Track session IDs that have been started (to know if we should send complete)
|
|
25
|
-
*/
|
|
26
|
-
private startedSessions;
|
|
27
|
-
/**
|
|
28
|
-
* called when the session completes
|
|
29
|
-
*
|
|
30
|
-
* @param event SessionCompleteEvent
|
|
31
|
-
*/
|
|
32
|
-
complete(event: SessionCompleteEvent): Promise<void>;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=http.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/session/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EAEX,MAAM,iBAAiB,CAAC;AAKzB;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACpE,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAK7C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBpD;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqB;IAE5C;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B1D"}
|