@autonomaai/agent-core 1.0.2
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/base-agent.d.ts +112 -0
- package/dist/base-agent.d.ts.map +1 -0
- package/dist/base-agent.js +173 -0
- package/dist/base-agent.js.map +1 -0
- package/dist/core.d.ts +81 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +633 -0
- package/dist/core.js.map +1 -0
- package/dist/error-handler.d.ts +78 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +129 -0
- package/dist/error-handler.js.map +1 -0
- package/dist/factory.d.ts +60 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +621 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/streaming.d.ts +24 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +36 -0
- package/dist/streaming.js.map +1 -0
- package/dist/trading/formatters.d.ts +167 -0
- package/dist/trading/formatters.d.ts.map +1 -0
- package/dist/trading/formatters.js +271 -0
- package/dist/trading/formatters.js.map +1 -0
- package/dist/trading/index.d.ts +9 -0
- package/dist/trading/index.d.ts.map +1 -0
- package/dist/trading/index.js +10 -0
- package/dist/trading/index.js.map +1 -0
- package/dist/trading/types.d.ts +205 -0
- package/dist/trading/types.d.ts.map +1 -0
- package/dist/trading/types.js +7 -0
- package/dist/trading/types.js.map +1 -0
- package/dist/trading/utils.d.ts +120 -0
- package/dist/trading/utils.d.ts.map +1 -0
- package/dist/trading/utils.js +291 -0
- package/dist/trading/utils.js.map +1 -0
- package/dist/trading/validation.d.ts +40 -0
- package/dist/trading/validation.d.ts.map +1 -0
- package/dist/trading/validation.js +247 -0
- package/dist/trading/validation.js.map +1 -0
- package/dist/types.d.ts +282 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -0
- package/package.json +57 -0
- package/src/base-agent.ts +263 -0
- package/src/core.ts +792 -0
- package/src/error-handler.ts +166 -0
- package/src/factory.ts +687 -0
- package/src/global.d.ts +12 -0
- package/src/index.ts +24 -0
- package/src/streaming.ts +50 -0
- package/src/trading/formatters.ts +363 -0
- package/src/trading/index.ts +10 -0
- package/src/trading/types.ts +263 -0
- package/src/trading/utils.ts +355 -0
- package/src/trading/validation.ts +321 -0
- package/src/types.ts +402 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtD,mCAAmC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,4BAA4B;AAC5B,cAAc,cAAc,CAAC;AAE7B,mBAAmB;AACnB,cAAc,YAAY,CAAC;AAE3B,oBAAoB;AACpB,cAAc,gBAAgB,CAAC;AAE/B,8BAA8B;AAC9B,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight streaming event store for agents.
|
|
3
|
+
* Agents publish partial responses so external subscribers can poll for streaming updates.
|
|
4
|
+
*/
|
|
5
|
+
export type StreamingEventType = 'start' | 'progress' | 'done' | 'error';
|
|
6
|
+
export interface StreamingEvent {
|
|
7
|
+
sessionId: string;
|
|
8
|
+
type: StreamingEventType;
|
|
9
|
+
content: string;
|
|
10
|
+
timestamp: string;
|
|
11
|
+
metadata?: Record<string, any>;
|
|
12
|
+
}
|
|
13
|
+
declare class StreamingService {
|
|
14
|
+
private events;
|
|
15
|
+
private readonly maxEventsPerSession;
|
|
16
|
+
publish(sessionId: string, event: Omit<StreamingEvent, 'sessionId' | 'timestamp'> & {
|
|
17
|
+
timestamp?: string;
|
|
18
|
+
}): void;
|
|
19
|
+
consume(sessionId: string): StreamingEvent[];
|
|
20
|
+
clear(sessionId: string): void;
|
|
21
|
+
}
|
|
22
|
+
export declare const streamingService: StreamingService;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,cAAM,gBAAgB;IACpB,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAE1C,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAmBjH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE;IAM5C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAG/B;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight streaming event store for agents.
|
|
3
|
+
* Agents publish partial responses so external subscribers can poll for streaming updates.
|
|
4
|
+
*/
|
|
5
|
+
class StreamingService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.events = new Map();
|
|
8
|
+
this.maxEventsPerSession = 50;
|
|
9
|
+
}
|
|
10
|
+
publish(sessionId, event) {
|
|
11
|
+
const timestamp = event.timestamp || new Date().toISOString();
|
|
12
|
+
const payload = {
|
|
13
|
+
sessionId,
|
|
14
|
+
content: event.content,
|
|
15
|
+
type: event.type,
|
|
16
|
+
metadata: event.metadata,
|
|
17
|
+
timestamp
|
|
18
|
+
};
|
|
19
|
+
const existing = this.events.get(sessionId) || [];
|
|
20
|
+
existing.push(payload);
|
|
21
|
+
if (existing.length > this.maxEventsPerSession) {
|
|
22
|
+
existing.shift();
|
|
23
|
+
}
|
|
24
|
+
this.events.set(sessionId, existing);
|
|
25
|
+
}
|
|
26
|
+
consume(sessionId) {
|
|
27
|
+
const stored = this.events.get(sessionId) || [];
|
|
28
|
+
this.events.delete(sessionId);
|
|
29
|
+
return stored;
|
|
30
|
+
}
|
|
31
|
+
clear(sessionId) {
|
|
32
|
+
this.events.delete(sessionId);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export const streamingService = new StreamingService();
|
|
36
|
+
//# sourceMappingURL=streaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,gBAAgB;IAAtB;QACU,WAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;QACpC,wBAAmB,GAAG,EAAE,CAAC;IA8B5C,CAAC;IA5BC,OAAO,CAAC,SAAiB,EAAE,KAA+E;QACxG,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAmB;YAC9B,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS;SACV,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/C,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,SAAiB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trading Formatters for autonoma Agent Core
|
|
3
|
+
*
|
|
4
|
+
* Formatting utilities for displaying trading data in a consistent manner.
|
|
5
|
+
*/
|
|
6
|
+
import { Order, Position, Portfolio, TokenPrice, YieldOpportunity } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Format currency amount with appropriate decimal places
|
|
9
|
+
*/
|
|
10
|
+
export declare function formatCurrency(amount: number, currency?: string, decimals?: number): string;
|
|
11
|
+
/**
|
|
12
|
+
* Format cryptocurrency amount with appropriate precision
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatCrypto(amount: number, symbol: string, decimals?: number): string;
|
|
15
|
+
/**
|
|
16
|
+
* Format percentage with color coding
|
|
17
|
+
*/
|
|
18
|
+
export declare function formatPercentage(value: number, decimals?: number, showSign?: boolean): {
|
|
19
|
+
text: string;
|
|
20
|
+
color: 'green' | 'red' | 'gray';
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Format large numbers with appropriate units (K, M, B)
|
|
24
|
+
*/
|
|
25
|
+
export declare function formatLargeNumber(value: number, decimals?: number): string;
|
|
26
|
+
/**
|
|
27
|
+
* Format date for trading displays
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatTradingDate(date: Date): string;
|
|
30
|
+
/**
|
|
31
|
+
* Format relative time (e.g., "2 minutes ago")
|
|
32
|
+
*/
|
|
33
|
+
export declare function formatRelativeTime(date: Date): string;
|
|
34
|
+
/**
|
|
35
|
+
* Format duration in human readable format
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatDuration(milliseconds: number): string;
|
|
38
|
+
/**
|
|
39
|
+
* Format order for display
|
|
40
|
+
*/
|
|
41
|
+
export declare function formatOrder(order: Order): {
|
|
42
|
+
id: string;
|
|
43
|
+
symbol: string;
|
|
44
|
+
side: string;
|
|
45
|
+
type: string;
|
|
46
|
+
amount: string;
|
|
47
|
+
price: string;
|
|
48
|
+
status: string;
|
|
49
|
+
filled: string;
|
|
50
|
+
time: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Format position for display
|
|
54
|
+
*/
|
|
55
|
+
export declare function formatPosition(position: Position): {
|
|
56
|
+
symbol: string;
|
|
57
|
+
quantity: string;
|
|
58
|
+
avgPrice: string;
|
|
59
|
+
marketValue: string;
|
|
60
|
+
pnl: {
|
|
61
|
+
text: string;
|
|
62
|
+
color: 'green' | 'red' | 'gray';
|
|
63
|
+
};
|
|
64
|
+
change: {
|
|
65
|
+
text: string;
|
|
66
|
+
color: 'green' | 'red' | 'gray';
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Format portfolio summary
|
|
71
|
+
*/
|
|
72
|
+
export declare function formatPortfolioSummary(portfolio: Portfolio): {
|
|
73
|
+
totalValue: string;
|
|
74
|
+
cash: string;
|
|
75
|
+
invested: string;
|
|
76
|
+
dayPnL: {
|
|
77
|
+
text: string;
|
|
78
|
+
color: 'green' | 'red' | 'gray';
|
|
79
|
+
};
|
|
80
|
+
totalPnL: {
|
|
81
|
+
text: string;
|
|
82
|
+
color: 'green' | 'red' | 'gray';
|
|
83
|
+
};
|
|
84
|
+
lastUpdate: string;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Format token price for display
|
|
88
|
+
*/
|
|
89
|
+
export declare function formatTokenPrice(price: TokenPrice): {
|
|
90
|
+
symbol: string;
|
|
91
|
+
price: string;
|
|
92
|
+
change: {
|
|
93
|
+
text: string;
|
|
94
|
+
color: 'green' | 'red' | 'gray';
|
|
95
|
+
};
|
|
96
|
+
volume: string;
|
|
97
|
+
marketCap: string;
|
|
98
|
+
lastUpdate: string;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Format yield opportunity for display
|
|
102
|
+
*/
|
|
103
|
+
export declare function formatYieldOpportunity(opportunity: YieldOpportunity): {
|
|
104
|
+
protocol: string;
|
|
105
|
+
pool: string;
|
|
106
|
+
apy: {
|
|
107
|
+
text: string;
|
|
108
|
+
color: 'green' | 'red' | 'gray';
|
|
109
|
+
};
|
|
110
|
+
tvl: string;
|
|
111
|
+
risk: {
|
|
112
|
+
text: string;
|
|
113
|
+
color: 'green' | 'yellow' | 'red';
|
|
114
|
+
};
|
|
115
|
+
category: string;
|
|
116
|
+
blockchain: string;
|
|
117
|
+
minDeposit: string;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Format order status with color coding
|
|
121
|
+
*/
|
|
122
|
+
export declare function formatOrderStatus(status: string): {
|
|
123
|
+
text: string;
|
|
124
|
+
color: 'green' | 'yellow' | 'red' | 'blue' | 'gray';
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Format risk level with color coding
|
|
128
|
+
*/
|
|
129
|
+
export declare function formatRiskLevel(risk: string): {
|
|
130
|
+
text: string;
|
|
131
|
+
color: 'green' | 'yellow' | 'red';
|
|
132
|
+
icon: string;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Format data for chart display
|
|
136
|
+
*/
|
|
137
|
+
export declare function formatChartData(data: Array<{
|
|
138
|
+
timestamp: Date;
|
|
139
|
+
value: number;
|
|
140
|
+
}>, type: 'price' | 'percentage' | 'volume'): Array<{
|
|
141
|
+
x: string;
|
|
142
|
+
y: number;
|
|
143
|
+
formatted: string;
|
|
144
|
+
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Format trading session summary
|
|
147
|
+
*/
|
|
148
|
+
export declare function formatTradingSession(session: {
|
|
149
|
+
duration: number;
|
|
150
|
+
trades: number;
|
|
151
|
+
pnl: number;
|
|
152
|
+
winRate: number;
|
|
153
|
+
avgTradeSize: number;
|
|
154
|
+
}): {
|
|
155
|
+
duration: string;
|
|
156
|
+
trades: string;
|
|
157
|
+
pnl: {
|
|
158
|
+
text: string;
|
|
159
|
+
color: 'green' | 'red' | 'gray';
|
|
160
|
+
};
|
|
161
|
+
winRate: {
|
|
162
|
+
text: string;
|
|
163
|
+
color: 'green' | 'red' | 'gray';
|
|
164
|
+
};
|
|
165
|
+
avgTradeSize: string;
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/trading/formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trading Formatters for autonoma Agent Core
|
|
3
|
+
*
|
|
4
|
+
* Formatting utilities for displaying trading data in a consistent manner.
|
|
5
|
+
*/
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// Number Formatting
|
|
8
|
+
// =============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Format currency amount with appropriate decimal places
|
|
11
|
+
*/
|
|
12
|
+
export function formatCurrency(amount, currency = 'USD', decimals) {
|
|
13
|
+
// Auto-determine decimal places based on amount
|
|
14
|
+
if (decimals === undefined) {
|
|
15
|
+
if (amount >= 1000)
|
|
16
|
+
decimals = 0;
|
|
17
|
+
else if (amount >= 1)
|
|
18
|
+
decimals = 2;
|
|
19
|
+
else if (amount >= 0.01)
|
|
20
|
+
decimals = 4;
|
|
21
|
+
else
|
|
22
|
+
decimals = 8;
|
|
23
|
+
}
|
|
24
|
+
return new Intl.NumberFormat('en-US', {
|
|
25
|
+
style: 'currency',
|
|
26
|
+
currency: currency,
|
|
27
|
+
minimumFractionDigits: decimals,
|
|
28
|
+
maximumFractionDigits: decimals
|
|
29
|
+
}).format(amount);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Format cryptocurrency amount with appropriate precision
|
|
33
|
+
*/
|
|
34
|
+
export function formatCrypto(amount, symbol, decimals) {
|
|
35
|
+
if (decimals === undefined) {
|
|
36
|
+
// Common crypto decimal places
|
|
37
|
+
const cryptoDecimals = {
|
|
38
|
+
'BTC': 8,
|
|
39
|
+
'ETH': 6,
|
|
40
|
+
'USDT': 2,
|
|
41
|
+
'USDC': 2,
|
|
42
|
+
'BNB': 4,
|
|
43
|
+
'SOL': 4,
|
|
44
|
+
'ADA': 6,
|
|
45
|
+
'DOT': 4
|
|
46
|
+
};
|
|
47
|
+
decimals = cryptoDecimals[symbol.toUpperCase()] || 6;
|
|
48
|
+
}
|
|
49
|
+
return `${amount.toFixed(decimals)} ${symbol}`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Format percentage with color coding
|
|
53
|
+
*/
|
|
54
|
+
export function formatPercentage(value, decimals = 2, showSign = true) {
|
|
55
|
+
const sign = showSign && value >= 0 ? '+' : '';
|
|
56
|
+
const text = `${sign}${value.toFixed(decimals)}%`;
|
|
57
|
+
let color;
|
|
58
|
+
if (value > 0)
|
|
59
|
+
color = 'green';
|
|
60
|
+
else if (value < 0)
|
|
61
|
+
color = 'red';
|
|
62
|
+
else
|
|
63
|
+
color = 'gray';
|
|
64
|
+
return { text, color };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Format large numbers with appropriate units (K, M, B)
|
|
68
|
+
*/
|
|
69
|
+
export function formatLargeNumber(value, decimals = 1) {
|
|
70
|
+
const units = [
|
|
71
|
+
{ threshold: 1e12, suffix: 'T' },
|
|
72
|
+
{ threshold: 1e9, suffix: 'B' },
|
|
73
|
+
{ threshold: 1e6, suffix: 'M' },
|
|
74
|
+
{ threshold: 1e3, suffix: 'K' }
|
|
75
|
+
];
|
|
76
|
+
for (const unit of units) {
|
|
77
|
+
if (Math.abs(value) >= unit.threshold) {
|
|
78
|
+
return `${(value / unit.threshold).toFixed(decimals)}${unit.suffix}`;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return value.toFixed(decimals);
|
|
82
|
+
}
|
|
83
|
+
// =============================================================================
|
|
84
|
+
// Date & Time Formatting
|
|
85
|
+
// =============================================================================
|
|
86
|
+
/**
|
|
87
|
+
* Format date for trading displays
|
|
88
|
+
*/
|
|
89
|
+
export function formatTradingDate(date) {
|
|
90
|
+
return new Intl.DateTimeFormat('en-US', {
|
|
91
|
+
month: 'short',
|
|
92
|
+
day: '2-digit',
|
|
93
|
+
hour: '2-digit',
|
|
94
|
+
minute: '2-digit',
|
|
95
|
+
hour12: false
|
|
96
|
+
}).format(date);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Format relative time (e.g., "2 minutes ago")
|
|
100
|
+
*/
|
|
101
|
+
export function formatRelativeTime(date) {
|
|
102
|
+
const now = new Date();
|
|
103
|
+
const diffMs = now.getTime() - date.getTime();
|
|
104
|
+
const diffSeconds = Math.floor(diffMs / 1000);
|
|
105
|
+
const diffMinutes = Math.floor(diffSeconds / 60);
|
|
106
|
+
const diffHours = Math.floor(diffMinutes / 60);
|
|
107
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
108
|
+
if (diffSeconds < 60)
|
|
109
|
+
return 'just now';
|
|
110
|
+
if (diffMinutes < 60)
|
|
111
|
+
return `${diffMinutes}m ago`;
|
|
112
|
+
if (diffHours < 24)
|
|
113
|
+
return `${diffHours}h ago`;
|
|
114
|
+
if (diffDays < 7)
|
|
115
|
+
return `${diffDays}d ago`;
|
|
116
|
+
return formatTradingDate(date);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Format duration in human readable format
|
|
120
|
+
*/
|
|
121
|
+
export function formatDuration(milliseconds) {
|
|
122
|
+
const seconds = Math.floor(milliseconds / 1000);
|
|
123
|
+
const minutes = Math.floor(seconds / 60);
|
|
124
|
+
const hours = Math.floor(minutes / 60);
|
|
125
|
+
const days = Math.floor(hours / 24);
|
|
126
|
+
if (days > 0)
|
|
127
|
+
return `${days}d ${hours % 24}h`;
|
|
128
|
+
if (hours > 0)
|
|
129
|
+
return `${hours}h ${minutes % 60}m`;
|
|
130
|
+
if (minutes > 0)
|
|
131
|
+
return `${minutes}m ${seconds % 60}s`;
|
|
132
|
+
return `${seconds}s`;
|
|
133
|
+
}
|
|
134
|
+
// =============================================================================
|
|
135
|
+
// Trading Object Formatting
|
|
136
|
+
// =============================================================================
|
|
137
|
+
/**
|
|
138
|
+
* Format order for display
|
|
139
|
+
*/
|
|
140
|
+
export function formatOrder(order) {
|
|
141
|
+
return {
|
|
142
|
+
id: order.id.slice(0, 8),
|
|
143
|
+
symbol: order.symbol,
|
|
144
|
+
side: order.side.toUpperCase(),
|
|
145
|
+
type: order.type.toUpperCase(),
|
|
146
|
+
amount: formatCrypto(order.quantity, order.symbol.split('/')[0] ?? ''),
|
|
147
|
+
price: order.price ? formatCurrency(order.price) : 'Market',
|
|
148
|
+
status: order.status.toUpperCase(),
|
|
149
|
+
filled: `${((order.filledQuantity / order.quantity) * 100).toFixed(1)}%`,
|
|
150
|
+
time: formatRelativeTime(order.createdAt)
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Format position for display
|
|
155
|
+
*/
|
|
156
|
+
export function formatPosition(position) {
|
|
157
|
+
const currentPrice = position.marketValue / position.quantity;
|
|
158
|
+
const change = ((currentPrice - position.averagePrice) / position.averagePrice) * 100;
|
|
159
|
+
return {
|
|
160
|
+
symbol: position.symbol,
|
|
161
|
+
quantity: formatCrypto(position.quantity, position.symbol.split('/')[0] ?? ''),
|
|
162
|
+
avgPrice: formatCurrency(position.averagePrice),
|
|
163
|
+
marketValue: formatCurrency(position.marketValue),
|
|
164
|
+
pnl: formatPercentage(position.unrealizedPnL),
|
|
165
|
+
change: formatPercentage(change)
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Format portfolio summary
|
|
170
|
+
*/
|
|
171
|
+
export function formatPortfolioSummary(portfolio) {
|
|
172
|
+
const investedValue = portfolio.totalValue - portfolio.cash;
|
|
173
|
+
return {
|
|
174
|
+
totalValue: formatCurrency(portfolio.totalValue),
|
|
175
|
+
cash: formatCurrency(portfolio.cash),
|
|
176
|
+
invested: formatCurrency(investedValue),
|
|
177
|
+
dayPnL: formatPercentage(portfolio.dayPnL),
|
|
178
|
+
totalPnL: formatPercentage(portfolio.totalPnL),
|
|
179
|
+
lastUpdate: formatRelativeTime(portfolio.lastUpdate)
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Format token price for display
|
|
184
|
+
*/
|
|
185
|
+
export function formatTokenPrice(price) {
|
|
186
|
+
return {
|
|
187
|
+
symbol: price.symbol,
|
|
188
|
+
price: formatCurrency(price.price),
|
|
189
|
+
change: formatPercentage(price.change24h),
|
|
190
|
+
volume: formatLargeNumber(price.volume24h),
|
|
191
|
+
marketCap: price.marketCap ? formatLargeNumber(price.marketCap) : 'N/A',
|
|
192
|
+
lastUpdate: formatRelativeTime(price.timestamp)
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Format yield opportunity for display
|
|
197
|
+
*/
|
|
198
|
+
export function formatYieldOpportunity(opportunity) {
|
|
199
|
+
const riskColors = {
|
|
200
|
+
low: 'green',
|
|
201
|
+
medium: 'yellow',
|
|
202
|
+
high: 'red'
|
|
203
|
+
};
|
|
204
|
+
return {
|
|
205
|
+
protocol: opportunity.protocol,
|
|
206
|
+
pool: opportunity.pool,
|
|
207
|
+
apy: { text: `${opportunity.apy.toFixed(2)}%`, color: 'green' },
|
|
208
|
+
tvl: formatLargeNumber(opportunity.tvl),
|
|
209
|
+
risk: { text: opportunity.risk.toUpperCase(), color: riskColors[opportunity.risk] },
|
|
210
|
+
category: opportunity.category.charAt(0).toUpperCase() + opportunity.category.slice(1),
|
|
211
|
+
blockchain: opportunity.blockchain,
|
|
212
|
+
minDeposit: opportunity.minimumDeposit ? formatCurrency(opportunity.minimumDeposit) : 'No minimum'
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
// =============================================================================
|
|
216
|
+
// Status & Badge Formatting
|
|
217
|
+
// =============================================================================
|
|
218
|
+
/**
|
|
219
|
+
* Format order status with color coding
|
|
220
|
+
*/
|
|
221
|
+
export function formatOrderStatus(status) {
|
|
222
|
+
const statusMap = {
|
|
223
|
+
pending: { text: 'PENDING', color: 'yellow' },
|
|
224
|
+
open: { text: 'OPEN', color: 'blue' },
|
|
225
|
+
filled: { text: 'FILLED', color: 'green' },
|
|
226
|
+
canceled: { text: 'CANCELED', color: 'gray' },
|
|
227
|
+
rejected: { text: 'REJECTED', color: 'red' }
|
|
228
|
+
};
|
|
229
|
+
return statusMap[status.toLowerCase()] ||
|
|
230
|
+
{ text: status.toUpperCase(), color: 'gray' };
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Format risk level with color coding
|
|
234
|
+
*/
|
|
235
|
+
export function formatRiskLevel(risk) {
|
|
236
|
+
const riskMap = {
|
|
237
|
+
low: { text: 'LOW RISK', color: 'green', icon: '🟢' },
|
|
238
|
+
medium: { text: 'MEDIUM RISK', color: 'yellow', icon: '🟡' },
|
|
239
|
+
high: { text: 'HIGH RISK', color: 'red', icon: '🔴' }
|
|
240
|
+
};
|
|
241
|
+
return riskMap[risk.toLowerCase()] ||
|
|
242
|
+
{ text: risk.toUpperCase(), color: 'yellow', icon: '⚪' };
|
|
243
|
+
}
|
|
244
|
+
// =============================================================================
|
|
245
|
+
// Chart Data Formatting
|
|
246
|
+
// =============================================================================
|
|
247
|
+
/**
|
|
248
|
+
* Format data for chart display
|
|
249
|
+
*/
|
|
250
|
+
export function formatChartData(data, type) {
|
|
251
|
+
return data.map(point => ({
|
|
252
|
+
x: point.timestamp.toISOString(),
|
|
253
|
+
y: point.value,
|
|
254
|
+
formatted: type === 'price' ? formatCurrency(point.value) :
|
|
255
|
+
type === 'percentage' ? formatPercentage(point.value).text :
|
|
256
|
+
formatLargeNumber(point.value)
|
|
257
|
+
}));
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Format trading session summary
|
|
261
|
+
*/
|
|
262
|
+
export function formatTradingSession(session) {
|
|
263
|
+
return {
|
|
264
|
+
duration: formatDuration(session.duration),
|
|
265
|
+
trades: session.trades.toString(),
|
|
266
|
+
pnl: formatPercentage(session.pnl),
|
|
267
|
+
winRate: formatPercentage(session.winRate, 1),
|
|
268
|
+
avgTradeSize: formatCurrency(session.avgTradeSize)
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/trading/formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trading Utilities for autonoma Agents
|
|
3
|
+
*
|
|
4
|
+
* Common trading functions, types, and utilities used across trading agents.
|
|
5
|
+
*/
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export * from './utils.js';
|
|
8
|
+
export * from './validation.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trading/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trading Utilities for autonoma Agents
|
|
3
|
+
*
|
|
4
|
+
* Common trading functions, types, and utilities used across trading agents.
|
|
5
|
+
*/
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export * from './utils.js';
|
|
8
|
+
export * from './validation.js';
|
|
9
|
+
// Formatters exports removed to avoid conflicts with utils
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/trading/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,4DAA4D"}
|