@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.
@@ -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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"}
@@ -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":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Type definitions for the Conversation Operations Tracking System
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,mEAAmE"}