@autonomaai/conversation-tracker 1.0.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/agentMiddleware.d.ts +38 -0
- package/dist/agentMiddleware.d.ts.map +1 -0
- package/dist/agentMiddleware.js +240 -0
- package/dist/agentMiddleware.js.map +1 -0
- package/dist/bffDataService.d.ts +68 -0
- package/dist/bffDataService.d.ts.map +1 -0
- package/dist/bffDataService.js +251 -0
- package/dist/bffDataService.js.map +1 -0
- package/dist/conversationService.d.ts +20 -0
- package/dist/conversationService.d.ts.map +1 -0
- package/dist/conversationService.js +336 -0
- package/dist/conversationService.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/operationsService.d.ts +27 -0
- package/dist/operationsService.d.ts.map +1 -0
- package/dist/operationsService.js +384 -0
- package/dist/operationsService.js.map +1 -0
- package/dist/types.d.ts +226 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.OperationsTrackingService = void 0;
|
|
7
|
+
const supabase_js_1 = require("@supabase/supabase-js");
|
|
8
|
+
const winston_1 = __importDefault(require("winston"));
|
|
9
|
+
class OperationsTrackingService {
|
|
10
|
+
supabase;
|
|
11
|
+
logger;
|
|
12
|
+
_config;
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this._config = config;
|
|
15
|
+
this.supabase = (0, supabase_js_1.createClient)(config.supabaseUrl, config.supabaseKey);
|
|
16
|
+
this.logger = winston_1.default.createLogger({
|
|
17
|
+
level: 'info',
|
|
18
|
+
format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.errors({ stack: true }), winston_1.default.format.json()),
|
|
19
|
+
defaultMeta: { service: 'operations-tracker' },
|
|
20
|
+
transports: [
|
|
21
|
+
new winston_1.default.transports.Console({
|
|
22
|
+
format: winston_1.default.format.simple()
|
|
23
|
+
})
|
|
24
|
+
],
|
|
25
|
+
silent: !config.enableLogging
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
// Trading operations
|
|
29
|
+
async logTradingOperation(operation) {
|
|
30
|
+
try {
|
|
31
|
+
const { data, error } = await this.supabase
|
|
32
|
+
.from('trading_operations')
|
|
33
|
+
.insert([{
|
|
34
|
+
...operation,
|
|
35
|
+
initiated_at: new Date().toISOString()
|
|
36
|
+
}])
|
|
37
|
+
.select()
|
|
38
|
+
.single();
|
|
39
|
+
if (error) {
|
|
40
|
+
this.logger.error('Failed to log trading operation', { error, operation });
|
|
41
|
+
throw new Error(`Failed to log trading operation: ${error.message}`);
|
|
42
|
+
}
|
|
43
|
+
this.logger.info('Trading operation logged', {
|
|
44
|
+
operationId: data.id,
|
|
45
|
+
type: operation.operation_type,
|
|
46
|
+
userId: operation.user_id
|
|
47
|
+
});
|
|
48
|
+
return data.id;
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
this.logger.error('Error logging trading operation', { error, operation });
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async updateTradingOperation(operationId, updates) {
|
|
56
|
+
try {
|
|
57
|
+
const updateData = {
|
|
58
|
+
...updates,
|
|
59
|
+
...(updates.status === 'completed' && { completed_at: new Date().toISOString() })
|
|
60
|
+
};
|
|
61
|
+
const { error } = await this.supabase
|
|
62
|
+
.from('trading_operations')
|
|
63
|
+
.update(updateData)
|
|
64
|
+
.eq('id', operationId);
|
|
65
|
+
if (error) {
|
|
66
|
+
this.logger.error('Failed to update trading operation', { error, operationId, updates });
|
|
67
|
+
throw new Error(`Failed to update trading operation: ${error.message}`);
|
|
68
|
+
}
|
|
69
|
+
this.logger.info('Trading operation updated', { operationId, updates });
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.logger.error('Error updating trading operation', { error, operationId, updates });
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Portfolio snapshots
|
|
77
|
+
async savePortfolioSnapshot(snapshot) {
|
|
78
|
+
try {
|
|
79
|
+
const { data, error } = await this.supabase
|
|
80
|
+
.from('portfolio_snapshots')
|
|
81
|
+
.insert([{
|
|
82
|
+
...snapshot,
|
|
83
|
+
snapshot_time: new Date().toISOString()
|
|
84
|
+
}])
|
|
85
|
+
.select()
|
|
86
|
+
.single();
|
|
87
|
+
if (error) {
|
|
88
|
+
this.logger.error('Failed to save portfolio snapshot', { error, snapshot });
|
|
89
|
+
throw new Error(`Failed to save portfolio snapshot: ${error.message}`);
|
|
90
|
+
}
|
|
91
|
+
this.logger.info('Portfolio snapshot saved', {
|
|
92
|
+
snapshotId: data.id,
|
|
93
|
+
userId: snapshot.user_id,
|
|
94
|
+
totalValue: snapshot.total_value_usd
|
|
95
|
+
});
|
|
96
|
+
return data.id;
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
this.logger.error('Error saving portfolio snapshot', { error, snapshot });
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async getLatestPortfolioSnapshot(userId) {
|
|
104
|
+
try {
|
|
105
|
+
const { data, error } = await this.supabase
|
|
106
|
+
.from('portfolio_snapshots')
|
|
107
|
+
.select('*')
|
|
108
|
+
.eq('user_id', userId)
|
|
109
|
+
.order('snapshot_time', { ascending: false })
|
|
110
|
+
.limit(1)
|
|
111
|
+
.single();
|
|
112
|
+
if (error) {
|
|
113
|
+
if (error.code === 'PGRST116') { // No rows returned
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
this.logger.error('Failed to get latest portfolio snapshot', { error, userId });
|
|
117
|
+
throw new Error(`Failed to get latest portfolio snapshot: ${error.message}`);
|
|
118
|
+
}
|
|
119
|
+
return data;
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
this.logger.error('Error getting latest portfolio snapshot', { error, userId });
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Wallet operations
|
|
127
|
+
async logWalletOperation(operation) {
|
|
128
|
+
try {
|
|
129
|
+
const { data, error } = await this.supabase
|
|
130
|
+
.from('wallet_operations')
|
|
131
|
+
.insert([{
|
|
132
|
+
...operation,
|
|
133
|
+
submitted_at: new Date().toISOString()
|
|
134
|
+
}])
|
|
135
|
+
.select()
|
|
136
|
+
.single();
|
|
137
|
+
if (error) {
|
|
138
|
+
this.logger.error('Failed to log wallet operation', { error, operation });
|
|
139
|
+
throw new Error(`Failed to log wallet operation: ${error.message}`);
|
|
140
|
+
}
|
|
141
|
+
this.logger.info('Wallet operation logged', {
|
|
142
|
+
operationId: data.id,
|
|
143
|
+
type: operation.operation_type,
|
|
144
|
+
userId: operation.user_id,
|
|
145
|
+
txHash: operation.transaction_hash
|
|
146
|
+
});
|
|
147
|
+
return data.id;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
this.logger.error('Error logging wallet operation', { error, operation });
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
async updateWalletOperation(operationId, updates) {
|
|
155
|
+
try {
|
|
156
|
+
const updateData = {
|
|
157
|
+
...updates,
|
|
158
|
+
...(updates.status === 'confirmed' && { confirmed_at: new Date().toISOString() })
|
|
159
|
+
};
|
|
160
|
+
const { error } = await this.supabase
|
|
161
|
+
.from('wallet_operations')
|
|
162
|
+
.update(updateData)
|
|
163
|
+
.eq('id', operationId);
|
|
164
|
+
if (error) {
|
|
165
|
+
this.logger.error('Failed to update wallet operation', { error, operationId, updates });
|
|
166
|
+
throw new Error(`Failed to update wallet operation: ${error.message}`);
|
|
167
|
+
}
|
|
168
|
+
this.logger.info('Wallet operation updated', { operationId, updates });
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
this.logger.error('Error updating wallet operation', { error, operationId, updates });
|
|
172
|
+
throw error;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Analytics for BFF
|
|
176
|
+
async getTradingPerformance(userId, timeframe = '30d') {
|
|
177
|
+
try {
|
|
178
|
+
const hours = this.parseTimeframe(timeframe);
|
|
179
|
+
const since = new Date(Date.now() - hours * 60 * 60 * 1000);
|
|
180
|
+
const { data: operations, error } = await this.supabase
|
|
181
|
+
.from('trading_operations')
|
|
182
|
+
.select('*')
|
|
183
|
+
.eq('user_id', userId)
|
|
184
|
+
.eq('status', 'completed')
|
|
185
|
+
.gte('completed_at', since.toISOString());
|
|
186
|
+
if (error) {
|
|
187
|
+
this.logger.error('Failed to get trading performance', { error, userId, timeframe });
|
|
188
|
+
throw new Error(`Failed to get trading performance: ${error.message}`);
|
|
189
|
+
}
|
|
190
|
+
const ops = operations || [];
|
|
191
|
+
const totalPnl = ops.reduce((sum, op) => sum + (op.pnl_usd || 0), 0);
|
|
192
|
+
const totalVolume = ops.reduce((sum, op) => sum + (op.amount_quote || 0), 0);
|
|
193
|
+
const winningTrades = ops.filter((op) => (op.pnl_usd || 0) > 0).length;
|
|
194
|
+
const avgRoi = ops.length > 0
|
|
195
|
+
? ops.reduce((sum, op) => sum + (op.roi_percentage || 0), 0) / ops.length
|
|
196
|
+
: 0;
|
|
197
|
+
return {
|
|
198
|
+
total_trades: ops.length,
|
|
199
|
+
total_pnl_usd: totalPnl,
|
|
200
|
+
total_volume_usd: totalVolume,
|
|
201
|
+
win_rate: ops.length > 0 ? winningTrades / ops.length : 0,
|
|
202
|
+
avg_roi: avgRoi,
|
|
203
|
+
timeframe
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
this.logger.error('Error getting trading performance', { error, userId, timeframe });
|
|
208
|
+
throw error;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
async getPortfolioHistory(userId, timeframe = '30d') {
|
|
212
|
+
try {
|
|
213
|
+
const hours = this.parseTimeframe(timeframe);
|
|
214
|
+
const since = new Date(Date.now() - hours * 60 * 60 * 1000);
|
|
215
|
+
const { data, error } = await this.supabase
|
|
216
|
+
.from('portfolio_snapshots')
|
|
217
|
+
.select('snapshot_time, total_value_usd, daily_pnl_usd, daily_roi_percentage')
|
|
218
|
+
.eq('user_id', userId)
|
|
219
|
+
.gte('snapshot_time', since.toISOString())
|
|
220
|
+
.order('snapshot_time', { ascending: true });
|
|
221
|
+
if (error) {
|
|
222
|
+
this.logger.error('Failed to get portfolio history', { error, userId, timeframe });
|
|
223
|
+
throw new Error(`Failed to get portfolio history: ${error.message}`);
|
|
224
|
+
}
|
|
225
|
+
return (data || []).map((item) => ({
|
|
226
|
+
timestamp: new Date(item.snapshot_time),
|
|
227
|
+
total_value_usd: item.total_value_usd,
|
|
228
|
+
daily_pnl_usd: item.daily_pnl_usd,
|
|
229
|
+
daily_roi_percentage: item.daily_roi_percentage
|
|
230
|
+
}));
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
this.logger.error('Error getting portfolio history', { error, userId, timeframe });
|
|
234
|
+
throw error;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
async getAgentPerformanceMetrics(userId, agentType) {
|
|
238
|
+
try {
|
|
239
|
+
let query = this.supabase
|
|
240
|
+
.from('agent_performance_metrics')
|
|
241
|
+
.select('*')
|
|
242
|
+
.eq('user_id', userId)
|
|
243
|
+
.order('metric_date', { ascending: false })
|
|
244
|
+
.limit(30);
|
|
245
|
+
if (agentType) {
|
|
246
|
+
query = query.eq('agent_type', agentType);
|
|
247
|
+
}
|
|
248
|
+
const { data, error } = await query;
|
|
249
|
+
if (error) {
|
|
250
|
+
this.logger.error('Failed to get agent performance metrics', { error, userId, agentType });
|
|
251
|
+
throw new Error(`Failed to get agent performance metrics: ${error.message}`);
|
|
252
|
+
}
|
|
253
|
+
return data || [];
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
this.logger.error('Error getting agent performance metrics', { error, userId, agentType });
|
|
257
|
+
throw error;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// Helper methods for Hummingbot integration
|
|
261
|
+
async trackHummingbotOperation(executorData, userId) {
|
|
262
|
+
try {
|
|
263
|
+
const operationData = {
|
|
264
|
+
operation_type: 'market_making',
|
|
265
|
+
agent_type: 'market_maker',
|
|
266
|
+
user_id: userId,
|
|
267
|
+
executor_id: executorData.executor_id,
|
|
268
|
+
strategy_name: executorData.strategy,
|
|
269
|
+
trading_pair: executorData.trading_pair,
|
|
270
|
+
exchange: executorData.exchange,
|
|
271
|
+
status: this.mapHummingbotStatus(executorData.status),
|
|
272
|
+
source: 'hummingbot',
|
|
273
|
+
metadata: executorData
|
|
274
|
+
};
|
|
275
|
+
return await this.logTradingOperation(operationData);
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
this.logger.error('Error tracking Hummingbot operation', { error, executorData, userId });
|
|
279
|
+
throw error;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Portfolio performance calculations
|
|
283
|
+
calculateMaxDrawdown(history) {
|
|
284
|
+
if (history.length < 2)
|
|
285
|
+
return 0;
|
|
286
|
+
let maxDrawdown = 0;
|
|
287
|
+
let peak = history[0]?.total_value_usd || 0;
|
|
288
|
+
for (const snapshot of history) {
|
|
289
|
+
if (snapshot.total_value_usd > peak) {
|
|
290
|
+
peak = snapshot.total_value_usd;
|
|
291
|
+
}
|
|
292
|
+
const drawdown = ((peak - snapshot.total_value_usd) / peak) * 100;
|
|
293
|
+
if (drawdown > maxDrawdown) {
|
|
294
|
+
maxDrawdown = drawdown;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return maxDrawdown;
|
|
298
|
+
}
|
|
299
|
+
// Automated portfolio snapshots
|
|
300
|
+
async createAutomaticPortfolioSnapshot(userId, portfolioData) {
|
|
301
|
+
try {
|
|
302
|
+
const snapshotData = {
|
|
303
|
+
...portfolioData,
|
|
304
|
+
user_id: userId,
|
|
305
|
+
snapshot_type: 'auto'
|
|
306
|
+
};
|
|
307
|
+
return await this.savePortfolioSnapshot(snapshotData);
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
this.logger.error('Error creating automatic portfolio snapshot', { error, userId });
|
|
311
|
+
throw error;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
// Private helper methods
|
|
315
|
+
parseTimeframe(timeframe) {
|
|
316
|
+
const timeMap = {
|
|
317
|
+
'1h': 1,
|
|
318
|
+
'24h': 24,
|
|
319
|
+
'7d': 168,
|
|
320
|
+
'30d': 720,
|
|
321
|
+
'90d': 2160
|
|
322
|
+
};
|
|
323
|
+
return timeMap[timeframe] || 720; // Default to 30 days
|
|
324
|
+
}
|
|
325
|
+
mapHummingbotStatus(status) {
|
|
326
|
+
const statusMap = {
|
|
327
|
+
'running': 'executing',
|
|
328
|
+
'stopped': 'completed',
|
|
329
|
+
'error': 'failed',
|
|
330
|
+
'created': 'pending',
|
|
331
|
+
'cancelled': 'cancelled'
|
|
332
|
+
};
|
|
333
|
+
return statusMap[status] || 'pending';
|
|
334
|
+
}
|
|
335
|
+
// Cleanup old data
|
|
336
|
+
async cleanupOldOperations(daysOld = 180) {
|
|
337
|
+
try {
|
|
338
|
+
const cutoffDate = new Date(Date.now() - daysOld * 24 * 60 * 60 * 1000);
|
|
339
|
+
// Cleanup trading operations
|
|
340
|
+
const { data: tradingData, error: tradingError } = await this.supabase
|
|
341
|
+
.from('trading_operations')
|
|
342
|
+
.delete()
|
|
343
|
+
.lt('initiated_at', cutoffDate.toISOString())
|
|
344
|
+
.eq('status', 'completed')
|
|
345
|
+
.select('id');
|
|
346
|
+
if (tradingError) {
|
|
347
|
+
throw new Error(`Failed to cleanup trading operations: ${tradingError.message}`);
|
|
348
|
+
}
|
|
349
|
+
// Cleanup wallet operations
|
|
350
|
+
const { data: walletData, error: walletError } = await this.supabase
|
|
351
|
+
.from('wallet_operations')
|
|
352
|
+
.delete()
|
|
353
|
+
.lt('submitted_at', cutoffDate.toISOString())
|
|
354
|
+
.eq('status', 'confirmed')
|
|
355
|
+
.select('id');
|
|
356
|
+
if (walletError) {
|
|
357
|
+
throw new Error(`Failed to cleanup wallet operations: ${walletError.message}`);
|
|
358
|
+
}
|
|
359
|
+
// Cleanup old auto portfolio snapshots (keep manual and daily/weekly snapshots longer)
|
|
360
|
+
const { data: snapshotData, error: snapshotError } = await this.supabase
|
|
361
|
+
.from('portfolio_snapshots')
|
|
362
|
+
.delete()
|
|
363
|
+
.lt('snapshot_time', cutoffDate.toISOString())
|
|
364
|
+
.eq('snapshot_type', 'auto')
|
|
365
|
+
.select('id');
|
|
366
|
+
if (snapshotError) {
|
|
367
|
+
throw new Error(`Failed to cleanup portfolio snapshots: ${snapshotError.message}`);
|
|
368
|
+
}
|
|
369
|
+
const result = {
|
|
370
|
+
trading: tradingData?.length || 0,
|
|
371
|
+
wallet: walletData?.length || 0,
|
|
372
|
+
snapshots: snapshotData?.length || 0
|
|
373
|
+
};
|
|
374
|
+
this.logger.info('Cleaned up old operations', { ...result, daysOld });
|
|
375
|
+
return result;
|
|
376
|
+
}
|
|
377
|
+
catch (error) {
|
|
378
|
+
this.logger.error('Error cleaning up old operations', { error, daysOld });
|
|
379
|
+
throw error;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
exports.OperationsTrackingService = OperationsTrackingService;
|
|
384
|
+
//# sourceMappingURL=operationsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operationsService.js","sourceRoot":"","sources":["../src/operationsService.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
export type AgentType = 'market_maker' | 'apy_strategy' | 'portfolio_manager' | 'memecoin';
|
|
2
|
+
export type MessageSender = 'user' | 'agent';
|
|
3
|
+
export type ContentType = 'text' | 'json' | 'markdown';
|
|
4
|
+
export type OperationType = 'market_making' | 'yield_farming' | 'arbitrage' | 'manual_trade' | 'rebalance';
|
|
5
|
+
export type OperationStatus = 'pending' | 'executing' | 'completed' | 'failed' | 'cancelled';
|
|
6
|
+
export type TradeSide = 'buy' | 'sell' | 'long' | 'short';
|
|
7
|
+
export type OperationSource = 'hummingbot' | 'direct_wallet' | 'agent_suggestion' | 'manual';
|
|
8
|
+
export type WalletOperationType = 'deposit' | 'withdrawal' | 'swap' | 'approve' | 'stake' | 'unstake' | 'claim';
|
|
9
|
+
export type WalletOperationStatus = 'pending' | 'confirmed' | 'failed';
|
|
10
|
+
export type SnapshotType = 'auto' | 'manual' | 'daily' | 'weekly';
|
|
11
|
+
export type InteractionType = 'chat_message' | 'button_click' | 'page_view' | 'trade_execute' | 'settings_change';
|
|
12
|
+
export type InitiatedBy = 'agent' | 'user' | 'system';
|
|
13
|
+
export interface ConversationSession {
|
|
14
|
+
id: string;
|
|
15
|
+
user_id: string;
|
|
16
|
+
agent_type: AgentType;
|
|
17
|
+
session_start: Date;
|
|
18
|
+
session_end?: Date;
|
|
19
|
+
total_messages: number;
|
|
20
|
+
session_duration_seconds?: number;
|
|
21
|
+
user_agent?: string;
|
|
22
|
+
ip_address?: string;
|
|
23
|
+
is_active: boolean;
|
|
24
|
+
metadata?: Record<string, any>;
|
|
25
|
+
}
|
|
26
|
+
export interface ConversationMessage {
|
|
27
|
+
id: string;
|
|
28
|
+
session_id: string;
|
|
29
|
+
message_sequence: number;
|
|
30
|
+
sender: MessageSender;
|
|
31
|
+
content: string;
|
|
32
|
+
content_type: ContentType;
|
|
33
|
+
timestamp: Date;
|
|
34
|
+
response_time_ms?: number;
|
|
35
|
+
token_count?: number;
|
|
36
|
+
cost_usd?: number;
|
|
37
|
+
agent_tools_used?: string[];
|
|
38
|
+
error_occurred: boolean;
|
|
39
|
+
error_message?: string;
|
|
40
|
+
metadata?: Record<string, any>;
|
|
41
|
+
}
|
|
42
|
+
export interface TradingOperation {
|
|
43
|
+
id: string;
|
|
44
|
+
operation_type: OperationType;
|
|
45
|
+
agent_type?: AgentType;
|
|
46
|
+
user_id: string;
|
|
47
|
+
executor_id?: string;
|
|
48
|
+
strategy_name?: string;
|
|
49
|
+
trading_pair?: string;
|
|
50
|
+
exchange?: string;
|
|
51
|
+
chain?: string;
|
|
52
|
+
side?: TradeSide;
|
|
53
|
+
amount_base?: number;
|
|
54
|
+
amount_quote?: number;
|
|
55
|
+
price?: number;
|
|
56
|
+
fee_amount?: number;
|
|
57
|
+
fee_currency?: string;
|
|
58
|
+
status: OperationStatus;
|
|
59
|
+
initiated_at: Date;
|
|
60
|
+
completed_at?: Date;
|
|
61
|
+
pnl_usd?: number;
|
|
62
|
+
roi_percentage?: number;
|
|
63
|
+
gas_cost_usd?: number;
|
|
64
|
+
source: OperationSource;
|
|
65
|
+
transaction_hash?: string;
|
|
66
|
+
block_number?: number;
|
|
67
|
+
metadata?: Record<string, any>;
|
|
68
|
+
}
|
|
69
|
+
export interface PortfolioSnapshot {
|
|
70
|
+
id: string;
|
|
71
|
+
user_id: string;
|
|
72
|
+
snapshot_time: Date;
|
|
73
|
+
total_value_usd: number;
|
|
74
|
+
cash_usd: number;
|
|
75
|
+
trading_positions_usd: number;
|
|
76
|
+
yield_farming_usd: number;
|
|
77
|
+
staking_usd: number;
|
|
78
|
+
other_investments_usd: number;
|
|
79
|
+
daily_pnl_usd?: number;
|
|
80
|
+
daily_roi_percentage?: number;
|
|
81
|
+
total_fees_paid_usd?: number;
|
|
82
|
+
active_positions_count: number;
|
|
83
|
+
portfolio_beta?: number;
|
|
84
|
+
sharpe_ratio?: number;
|
|
85
|
+
max_drawdown_percentage?: number;
|
|
86
|
+
snapshot_type: SnapshotType;
|
|
87
|
+
metadata?: Record<string, any>;
|
|
88
|
+
}
|
|
89
|
+
export interface WalletOperation {
|
|
90
|
+
id: string;
|
|
91
|
+
user_id: string;
|
|
92
|
+
wallet_address: string;
|
|
93
|
+
chain: string;
|
|
94
|
+
operation_type: WalletOperationType;
|
|
95
|
+
protocol?: string;
|
|
96
|
+
token_in_symbol?: string;
|
|
97
|
+
token_in_amount?: number;
|
|
98
|
+
token_out_symbol?: string;
|
|
99
|
+
token_out_amount?: number;
|
|
100
|
+
transaction_hash: string;
|
|
101
|
+
block_number?: number;
|
|
102
|
+
gas_used?: number;
|
|
103
|
+
gas_price_gwei?: number;
|
|
104
|
+
gas_cost_usd?: number;
|
|
105
|
+
status: WalletOperationStatus;
|
|
106
|
+
submitted_at: Date;
|
|
107
|
+
confirmed_at?: Date;
|
|
108
|
+
related_trading_operation_id?: string;
|
|
109
|
+
initiated_by?: InitiatedBy;
|
|
110
|
+
metadata?: Record<string, any>;
|
|
111
|
+
}
|
|
112
|
+
export interface AgentPerformanceMetrics {
|
|
113
|
+
id: string;
|
|
114
|
+
agent_type: AgentType;
|
|
115
|
+
user_id: string;
|
|
116
|
+
metric_date: Date;
|
|
117
|
+
total_conversations: number;
|
|
118
|
+
total_messages: number;
|
|
119
|
+
avg_response_time_ms: number;
|
|
120
|
+
success_rate: number;
|
|
121
|
+
trades_suggested: number;
|
|
122
|
+
trades_executed: number;
|
|
123
|
+
total_volume_usd: number;
|
|
124
|
+
total_pnl_usd: number;
|
|
125
|
+
avg_roi_percentage: number;
|
|
126
|
+
total_cost_usd: number;
|
|
127
|
+
tokens_used: number;
|
|
128
|
+
api_calls_made: number;
|
|
129
|
+
created_at: Date;
|
|
130
|
+
}
|
|
131
|
+
export interface UserInteraction {
|
|
132
|
+
id: string;
|
|
133
|
+
user_id: string;
|
|
134
|
+
interaction_type: InteractionType;
|
|
135
|
+
page_url?: string;
|
|
136
|
+
component?: string;
|
|
137
|
+
action?: string;
|
|
138
|
+
agent_type?: AgentType;
|
|
139
|
+
session_id?: string;
|
|
140
|
+
timestamp: Date;
|
|
141
|
+
duration_ms?: number;
|
|
142
|
+
interaction_data?: Record<string, any>;
|
|
143
|
+
user_agent?: string;
|
|
144
|
+
ip_address?: string;
|
|
145
|
+
}
|
|
146
|
+
export type ConversationSessionInput = Omit<ConversationSession, 'id' | 'session_start' | 'total_messages' | 'is_active'>;
|
|
147
|
+
export type ConversationMessageInput = Omit<ConversationMessage, 'id' | 'timestamp' | 'error_occurred'>;
|
|
148
|
+
export type TradingOperationInput = Omit<TradingOperation, 'id' | 'initiated_at'>;
|
|
149
|
+
export type PortfolioSnapshotInput = Omit<PortfolioSnapshot, 'id' | 'snapshot_time'>;
|
|
150
|
+
export type WalletOperationInput = Omit<WalletOperation, 'id' | 'submitted_at'>;
|
|
151
|
+
export type AgentPerformanceMetricsInput = Omit<AgentPerformanceMetrics, 'id' | 'created_at'>;
|
|
152
|
+
export type UserInteractionInput = Omit<UserInteraction, 'id' | 'timestamp'>;
|
|
153
|
+
export interface ConversationMetrics {
|
|
154
|
+
total_sessions: number;
|
|
155
|
+
total_messages: number;
|
|
156
|
+
avg_session_duration: number;
|
|
157
|
+
most_used_agent: AgentType;
|
|
158
|
+
success_rate: number;
|
|
159
|
+
timeframe: string;
|
|
160
|
+
}
|
|
161
|
+
export interface TradingPerformance {
|
|
162
|
+
total_trades: number;
|
|
163
|
+
total_pnl_usd: number;
|
|
164
|
+
total_volume_usd: number;
|
|
165
|
+
win_rate: number;
|
|
166
|
+
avg_roi: number;
|
|
167
|
+
timeframe: string;
|
|
168
|
+
}
|
|
169
|
+
export interface PortfolioHistory {
|
|
170
|
+
timestamp: Date;
|
|
171
|
+
total_value_usd: number;
|
|
172
|
+
daily_pnl_usd?: number;
|
|
173
|
+
daily_roi_percentage?: number;
|
|
174
|
+
}
|
|
175
|
+
export interface DashboardData {
|
|
176
|
+
conversations: ConversationMetrics;
|
|
177
|
+
trading: TradingPerformance;
|
|
178
|
+
portfolio: PortfolioSnapshot | null;
|
|
179
|
+
agents: AgentPerformanceMetrics[];
|
|
180
|
+
generated_at: string;
|
|
181
|
+
}
|
|
182
|
+
export interface PortfolioChartData {
|
|
183
|
+
timeframe: string;
|
|
184
|
+
data_points: number;
|
|
185
|
+
portfolio_values: PortfolioHistory[];
|
|
186
|
+
performance_summary: {
|
|
187
|
+
start_value: number;
|
|
188
|
+
end_value: number;
|
|
189
|
+
total_return: number;
|
|
190
|
+
max_drawdown: number;
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
export interface AgentAnalytics {
|
|
194
|
+
total_sessions: number;
|
|
195
|
+
agent_distribution: Array<{
|
|
196
|
+
agent_type: AgentType;
|
|
197
|
+
sessions: number;
|
|
198
|
+
percentage: number;
|
|
199
|
+
}>;
|
|
200
|
+
most_active_agent: AgentType;
|
|
201
|
+
recent_activity: Array<{
|
|
202
|
+
agent_type: AgentType;
|
|
203
|
+
session_start: Date;
|
|
204
|
+
message_count: number;
|
|
205
|
+
duration_minutes: number | null;
|
|
206
|
+
}>;
|
|
207
|
+
}
|
|
208
|
+
export interface ConversationError {
|
|
209
|
+
occurred: boolean;
|
|
210
|
+
message?: string;
|
|
211
|
+
}
|
|
212
|
+
export interface ConversationTrackerConfig {
|
|
213
|
+
supabaseUrl: string;
|
|
214
|
+
supabaseKey: string;
|
|
215
|
+
enableLogging?: boolean;
|
|
216
|
+
retryAttempts?: number;
|
|
217
|
+
cacheTimeout?: number;
|
|
218
|
+
}
|
|
219
|
+
export interface MessageMetadata {
|
|
220
|
+
responseTimeMs?: number;
|
|
221
|
+
tokenCount?: number;
|
|
222
|
+
costUsd?: number;
|
|
223
|
+
toolsUsed?: string[];
|
|
224
|
+
error?: ConversationError;
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAC7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,eAAe,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;AAC3G,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAC7F,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,eAAe,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAC7F,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAChH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAClH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAGtD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,EAAE,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,YAAY,EAAE,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,eAAe,GAAG,gBAAgB,GAAG,WAAW,CAAC,CAAC;AAC1H,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,WAAW,GAAG,gBAAgB,CAAC,CAAC;AACxG,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,eAAe,CAAC,CAAC;AACrF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;AAChF,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,uBAAuB,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC;AAC9F,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC;AAG7E,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,SAAS,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,mBAAmB,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,KAAK,CAAC;QACxB,UAAU,EAAE,SAAS,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,EAAE,KAAK,CAAC;QACrB,UAAU,EAAE,SAAS,CAAC;QACtB,aAAa,EAAE,IAAI,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,CAAC,CAAC;CACJ;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,mEAAmE"}
|