@elizaos/plugin-social-alpha 2.0.3-beta.5 → 2.0.3-beta.7

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.
Files changed (151) hide show
  1. package/dist/clients.d.ts +354 -0
  2. package/dist/clients.d.ts.map +1 -0
  3. package/dist/clients.js +670 -0
  4. package/dist/clients.js.map +1 -0
  5. package/dist/config.d.ts +144 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +122 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/events.d.ts +5 -0
  10. package/dist/events.d.ts.map +1 -0
  11. package/dist/events.js +426 -0
  12. package/dist/events.js.map +1 -0
  13. package/dist/frontend/LeaderboardView.helpers.d.ts +6 -0
  14. package/dist/frontend/LeaderboardView.helpers.d.ts.map +1 -0
  15. package/dist/frontend/LeaderboardView.helpers.js +59 -0
  16. package/dist/frontend/LeaderboardView.helpers.js.map +1 -0
  17. package/dist/frontend/SocialAlphaSpatialView.d.ts +52 -0
  18. package/dist/frontend/SocialAlphaSpatialView.d.ts.map +1 -0
  19. package/dist/frontend/SocialAlphaSpatialView.js +72 -0
  20. package/dist/frontend/SocialAlphaSpatialView.js.map +1 -0
  21. package/dist/frontend/SocialAlphaView.d.ts +35 -0
  22. package/dist/frontend/SocialAlphaView.d.ts.map +1 -0
  23. package/dist/frontend/SocialAlphaView.js +125 -0
  24. package/dist/frontend/SocialAlphaView.js.map +1 -0
  25. package/dist/index.d.ts +24 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +73 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/mockPriceService.d.ts +22 -0
  30. package/dist/mockPriceService.d.ts.map +1 -0
  31. package/dist/mockPriceService.js +21 -0
  32. package/dist/mockPriceService.js.map +1 -0
  33. package/dist/providers/socialAlphaProvider.d.ts +15 -0
  34. package/dist/providers/socialAlphaProvider.d.ts.map +1 -0
  35. package/dist/providers/socialAlphaProvider.js +261 -0
  36. package/dist/providers/socialAlphaProvider.js.map +1 -0
  37. package/dist/register-terminal-view.d.ts +15 -0
  38. package/dist/register-terminal-view.d.ts.map +1 -0
  39. package/dist/register-terminal-view.js +21 -0
  40. package/dist/register-terminal-view.js.map +1 -0
  41. package/dist/register.d.ts +10 -0
  42. package/dist/register.d.ts.map +1 -0
  43. package/dist/register.js +5 -0
  44. package/dist/register.js.map +1 -0
  45. package/dist/reports.d.ts +57 -0
  46. package/dist/reports.d.ts.map +1 -0
  47. package/dist/reports.js +455 -0
  48. package/dist/reports.js.map +1 -0
  49. package/dist/routes.d.ts +3 -0
  50. package/dist/routes.d.ts.map +1 -0
  51. package/dist/routes.js +59 -0
  52. package/dist/routes.js.map +1 -0
  53. package/dist/schemas.d.ts +151 -0
  54. package/dist/schemas.d.ts.map +1 -0
  55. package/dist/schemas.js +258 -0
  56. package/dist/schemas.js.map +1 -0
  57. package/dist/service.d.ts +306 -0
  58. package/dist/service.d.ts.map +1 -0
  59. package/dist/service.js +3078 -0
  60. package/dist/service.js.map +1 -0
  61. package/dist/services/balancedTrustScoreCalculator.d.ts +61 -0
  62. package/dist/services/balancedTrustScoreCalculator.d.ts.map +1 -0
  63. package/dist/services/balancedTrustScoreCalculator.js +207 -0
  64. package/dist/services/balancedTrustScoreCalculator.js.map +1 -0
  65. package/dist/services/historicalPriceService.d.ts +59 -0
  66. package/dist/services/historicalPriceService.d.ts.map +1 -0
  67. package/dist/services/historicalPriceService.js +291 -0
  68. package/dist/services/historicalPriceService.js.map +1 -0
  69. package/dist/services/index.d.ts +12 -0
  70. package/dist/services/index.d.ts.map +1 -0
  71. package/dist/services/index.js +17 -0
  72. package/dist/services/index.js.map +1 -0
  73. package/dist/services/priceEnrichmentService.d.ts +109 -0
  74. package/dist/services/priceEnrichmentService.d.ts.map +1 -0
  75. package/dist/services/priceEnrichmentService.js +780 -0
  76. package/dist/services/priceEnrichmentService.js.map +1 -0
  77. package/dist/services/simulationActorsV2.d.ts +54 -0
  78. package/dist/services/simulationActorsV2.d.ts.map +1 -0
  79. package/dist/services/simulationActorsV2.js +362 -0
  80. package/dist/services/simulationActorsV2.js.map +1 -0
  81. package/dist/services/simulationRunner.d.ts +113 -0
  82. package/dist/services/simulationRunner.d.ts.map +1 -0
  83. package/dist/services/simulationRunner.js +771 -0
  84. package/dist/services/simulationRunner.js.map +1 -0
  85. package/dist/services/tokenSimulationService.d.ts +34 -0
  86. package/dist/services/tokenSimulationService.d.ts.map +1 -0
  87. package/dist/services/tokenSimulationService.js +297 -0
  88. package/dist/services/tokenSimulationService.js.map +1 -0
  89. package/dist/services/trustScoreOptimizer.d.ts +110 -0
  90. package/dist/services/trustScoreOptimizer.d.ts.map +1 -0
  91. package/dist/services/trustScoreOptimizer.js +635 -0
  92. package/dist/services/trustScoreOptimizer.js.map +1 -0
  93. package/dist/simulationActors.d.ts +35 -0
  94. package/dist/simulationActors.d.ts.map +1 -0
  95. package/dist/simulationActors.js +160 -0
  96. package/dist/simulationActors.js.map +1 -0
  97. package/dist/social-alpha-view-bundle.d.ts +2 -0
  98. package/dist/social-alpha-view-bundle.d.ts.map +1 -0
  99. package/dist/social-alpha-view-bundle.js +5 -0
  100. package/dist/social-alpha-view-bundle.js.map +1 -0
  101. package/dist/types.d.ts +937 -0
  102. package/dist/types.d.ts.map +1 -0
  103. package/dist/types.js +46 -0
  104. package/dist/types.js.map +1 -0
  105. package/dist/views/brand/background/clouds_background.jpg +0 -0
  106. package/dist/views/brand/banners/eliza_banner.svg +20 -0
  107. package/dist/views/brand/banners/elizacloud_banner.svg +20 -0
  108. package/dist/views/brand/banners/elizaos_banner.svg +20 -0
  109. package/dist/views/brand/concepts/billboard_concept_1200.jpg +0 -0
  110. package/dist/views/brand/concepts/chibi_usb_concept_900.jpg +0 -0
  111. package/dist/views/brand/concepts/concept_minipc_900.jpg +0 -0
  112. package/dist/views/brand/concepts/concept_phone_800.jpg +0 -0
  113. package/dist/views/brand/concepts/concept_usbdrive_900.jpg +0 -0
  114. package/dist/views/brand/favicons/android-chrome-192x192.png +0 -0
  115. package/dist/views/brand/favicons/android-chrome-512x512.png +0 -0
  116. package/dist/views/brand/favicons/apple-touch-icon.png +0 -0
  117. package/dist/views/brand/favicons/favicon-16x16.png +0 -0
  118. package/dist/views/brand/favicons/favicon-32x32.png +0 -0
  119. package/dist/views/brand/favicons/favicon.ico +0 -0
  120. package/dist/views/brand/favicons/favicon.svg +17 -0
  121. package/dist/views/brand/logos/elizaOS_text_black.svg +3 -0
  122. package/dist/views/brand/logos/elizaOS_text_white.svg +3 -0
  123. package/dist/views/brand/logos/eliza_logotext.svg +26 -0
  124. package/dist/views/brand/logos/eliza_logotext_black.svg +26 -0
  125. package/dist/views/brand/logos/eliza_text_black.svg +3 -0
  126. package/dist/views/brand/logos/eliza_text_white.svg +3 -0
  127. package/dist/views/brand/logos/elizacloud_logotext.svg +26 -0
  128. package/dist/views/brand/logos/elizacloud_logotext_black.svg +26 -0
  129. package/dist/views/brand/logos/elizacloud_text_black.svg +3 -0
  130. package/dist/views/brand/logos/elizacloud_text_white.svg +3 -0
  131. package/dist/views/brand/logos/elizaos_logotext.svg +26 -0
  132. package/dist/views/brand/logos/elizaos_logotext_black.svg +26 -0
  133. package/dist/views/brand/logos/logo_blue_blackbg.svg +18 -0
  134. package/dist/views/brand/logos/logo_blue_nobg.svg +17 -0
  135. package/dist/views/brand/logos/logo_orange_blackbg.svg +18 -0
  136. package/dist/views/brand/logos/logo_orange_nobg.svg +17 -0
  137. package/dist/views/brand/logos/logo_white_blackbg.svg +25 -0
  138. package/dist/views/brand/logos/logo_white_bluebg.svg +25 -0
  139. package/dist/views/brand/logos/logo_white_graybg.svg +18 -0
  140. package/dist/views/brand/logos/logo_white_nobg.svg +24 -0
  141. package/dist/views/brand/logos/logo_white_orangebg.svg +25 -0
  142. package/dist/views/brand/ogembeds/eliza_ogembed.png +0 -0
  143. package/dist/views/brand/ogembeds/eliza_ogembed.svg +20 -0
  144. package/dist/views/brand/ogembeds/elizacloud_ogembed.png +0 -0
  145. package/dist/views/brand/ogembeds/elizacloud_ogembed.svg +20 -0
  146. package/dist/views/brand/ogembeds/elizaos_ogembed.png +0 -0
  147. package/dist/views/brand/ogembeds/elizaos_ogembed.svg +20 -0
  148. package/dist/views/bundle.js +268 -0
  149. package/dist/views/bundle.js.map +1 -0
  150. package/dist/views/site.webmanifest +19 -0
  151. package/package.json +5 -5
@@ -0,0 +1,306 @@
1
+ import { type Entity, type IAgentRuntime, type Memory, Service, type UUID } from "@elizaos/core";
2
+ import { type TradingConfig } from "./config";
3
+ import { type BuySignalMessage, Conviction, type ICommunityInvestorService, type LeaderboardEntry, type Position, type PositionWithBalance, type ProcessedTokenData, type Recommendation, type RecommendationMetric, RecommendationType, type RecommenderMetrics, type RecommenderMetricsHistory, ServiceType, SupportedChain, type TokenAPIData, type TokenMarketData, type TokenMetadata, type TokenPerformance, type TokenRecommendation, type Transaction } from "./types";
4
+ type ExtractedSignal = {
5
+ messageIndex: number | string;
6
+ isCall: boolean | string;
7
+ tokenMentioned?: string;
8
+ nameMentioned?: string;
9
+ caMentioned?: string;
10
+ chain?: string;
11
+ sentiment?: string;
12
+ conviction?: string;
13
+ llmReasoning?: string;
14
+ };
15
+ /** Shape of one message inside a historical batch file. */
16
+ interface HistoricalBatchMessage {
17
+ id: UUID;
18
+ uid: string;
19
+ ts: string | number;
20
+ content: string;
21
+ }
22
+ type NormalizedExtractedSignal = Omit<ExtractedSignal, "messageIndex" | "isCall"> & {
23
+ messageIndex: number;
24
+ isCall: boolean;
25
+ };
26
+ /**
27
+ * Represents different types of trading events that can occur.
28
+ * @typedef {Object} TradingEvent
29
+ * @property {string} type - The type of trading event.
30
+ * @property {Position} [position] - The position associated with the event. (if type is 'position_opened' or 'position_closed')
31
+ * @property {Transaction} [transaction] - The transaction associated with the event. (if type is 'transaction_added')
32
+ * @property {TokenRecommendation} [recommendation] - The token recommendation associated with the event. (if type is 'recommendation_added')
33
+ * @property {TokenPerformance} [performance] - The token performance associated with the event. (if type is 'token_performance_updated')
34
+ */
35
+ export type TradingEvent = {
36
+ type: "position_opened";
37
+ position: Position;
38
+ } | {
39
+ type: "position_closed";
40
+ position: Position;
41
+ } | {
42
+ type: "transaction_added";
43
+ transaction: Transaction;
44
+ } | {
45
+ type: "recommendation_added";
46
+ recommendation: TokenRecommendation;
47
+ } | {
48
+ type: "token_performance_updated";
49
+ performance: TokenPerformance;
50
+ };
51
+ /**
52
+ * CommunityInvestorService class representing a service for trading on the Solana blockchain.
53
+ * @extends Service
54
+ * @property {string} serviceType - The type of service, set to ServiceType.COMMUNITY_INVESTOR.
55
+ * @property {string} capabilityDescription - Description of the agent's ability to trade on the Solana blockchain.
56
+ * @method storeRecommenderMetrics - Store entity metrics and cache for 5 minutes.
57
+ * @method storeRecommenderMetricsHistory - Store entity metrics history.
58
+ */
59
+ export declare class CommunityInvestorService extends Service implements ICommunityInvestorService {
60
+ static serviceType: ServiceType;
61
+ capabilityDescription: string;
62
+ private birdeyeClient;
63
+ private dexscreenerClient;
64
+ private heliusClient;
65
+ tradingConfig: TradingConfig;
66
+ private apiKeys;
67
+ private balancedTrustCalculator;
68
+ private readonly POSITIVE_TRADE_THRESHOLD;
69
+ private readonly NEUTRAL_MARGIN;
70
+ private readonly RECENCY_WEIGHT_MONTHS;
71
+ private readonly USER_TRADE_COOLDOWN_HOURS;
72
+ private readonly METRIC_REFRESH_INTERVAL;
73
+ private userRegistry;
74
+ readonly componentWorldId: UUID;
75
+ readonly componentRoomId: UUID;
76
+ constructor(runtime?: IAgentRuntime);
77
+ static start(runtime: IAgentRuntime): Promise<CommunityInvestorService>;
78
+ static stop(runtime: IAgentRuntime): Promise<void>;
79
+ stop(): Promise<void>;
80
+ /**
81
+ * Process a buy signal from an entity
82
+ */
83
+ processBuySignal(buySignal: BuySignalMessage, entity: Entity): Promise<Position | null>;
84
+ /**
85
+ * Process a sell signal for an existing position
86
+ */
87
+ processSellSignal(positionId: UUID, _sellRecommenderId: UUID): Promise<boolean>;
88
+ /**
89
+ * Handle a recommendation from a entity
90
+ */
91
+ handleRecommendation(entity: Entity, recommendation: {
92
+ chain: string;
93
+ tokenAddress: string;
94
+ conviction: Conviction;
95
+ type: RecommendationType;
96
+ timestamp: Date;
97
+ metadata?: Record<string, unknown>;
98
+ }): Promise<Position | null>;
99
+ /**
100
+ * Check if a wallet is registered for a chain
101
+ */
102
+ hasWallet(chain: string): boolean;
103
+ /**
104
+ * Get token overview data
105
+ */
106
+ getTokenOverview(chain: string, tokenAddress: string, forceRefresh?: boolean): Promise<TokenMetadata & TokenMarketData>;
107
+ /**
108
+ * Resolve a ticker to a token address
109
+ */
110
+ resolveTicker(ticker: string, chain?: SupportedChain, contextMessages?: Memory[]): Promise<{
111
+ address: string;
112
+ chain: SupportedChain;
113
+ ticker?: string;
114
+ } | null>;
115
+ /**
116
+ * Get current price for a token
117
+ */
118
+ getCurrentPrice(chain: string, tokenAddress: string): Promise<number>;
119
+ /**
120
+ * Determine if a token should be traded
121
+ */
122
+ shouldTradeToken(chain: string, tokenAddress: string): Promise<boolean>;
123
+ /**
124
+ * Get processed token data with security and trade information
125
+ */
126
+ getProcessedTokenData(chain: string, tokenAddress: string): Promise<ProcessedTokenData | null>;
127
+ /**
128
+ * Analyze holder distribution trend
129
+ */
130
+ private analyzeHolderDistribution;
131
+ /**
132
+ * Update token performance data
133
+ */
134
+ updateTokenPerformance(chain: string, tokenAddress: string): Promise<TokenPerformance>;
135
+ /**
136
+ * Calculate risk score for a token
137
+ */
138
+ calculateRiskScore(token: TokenPerformance): number;
139
+ /**
140
+ * Update entity metrics based on their recommendation performance
141
+ */
142
+ updateRecommenderMetrics(entityId: UUID, performance?: number): Promise<void>;
143
+ /**
144
+ * Calculate trust score based on metrics and new performance
145
+ */
146
+ private calculateTrustScore;
147
+ /**
148
+ * Get or fetch token performance data
149
+ */
150
+ private getOrFetchTokenPerformance;
151
+ /**
152
+ * Validate if a token meets trading criteria
153
+ */
154
+ private validateToken;
155
+ /**
156
+ * Create a token recommendation
157
+ */
158
+ private createTokenRecommendation;
159
+ /**
160
+ * Calculate buy amount based on entity trust score and conviction
161
+ */
162
+ private calculateBuyAmount;
163
+ /**
164
+ * Create a new position
165
+ */
166
+ private createPosition;
167
+ /**
168
+ * Record a transaction
169
+ */
170
+ private recordTransaction;
171
+ /**
172
+ * Get all positions for an entity
173
+ */
174
+ getPositionsByRecommender(entityId: UUID): Promise<Position[]>;
175
+ /**
176
+ * Get all positions for a token
177
+ */
178
+ private getPositionsByToken;
179
+ /**
180
+ * Get all transactions for a position
181
+ */
182
+ getTransactionsByPosition(positionId: UUID): Promise<Transaction[]>;
183
+ /**
184
+ * Get all transactions for a token
185
+ */
186
+ getTransactionsByToken(tokenAddress: string): Promise<Transaction[]>;
187
+ /**
188
+ * Get a position by ID
189
+ */
190
+ getPosition(positionId: UUID): Promise<Position | null>;
191
+ /**
192
+ * Get all recommendations by a entity
193
+ */
194
+ getRecommendationsByRecommender(entityId: UUID): Promise<TokenRecommendation[]>;
195
+ /**
196
+ * Close a position and update metrics
197
+ */
198
+ closePosition(positionId: UUID): Promise<boolean>;
199
+ /**
200
+ * Calculate position performance
201
+ */
202
+ private calculatePositionPerformance;
203
+ /**
204
+ * Store token performance data
205
+ */
206
+ private storeTokenPerformance;
207
+ /**
208
+ * Store position data
209
+ */
210
+ private storePosition;
211
+ /**
212
+ * Store transaction data
213
+ */
214
+ private storeTransaction;
215
+ /**
216
+ * Store token recommendation data
217
+ */
218
+ private storeTokenRecommendation;
219
+ /**
220
+ * Store entity metrics
221
+ */
222
+ private storeRecommenderMetrics;
223
+ /**
224
+ * Store entity metrics history
225
+ */
226
+ private storeRecommenderMetricsHistory;
227
+ /**
228
+ * Get entity metrics
229
+ */
230
+ getRecommenderMetrics(entityId: UUID): Promise<RecommenderMetrics | null>;
231
+ /**
232
+ * Get entity metrics history
233
+ */
234
+ getRecommenderMetricsHistory(entityId: UUID): Promise<RecommenderMetricsHistory[]>;
235
+ /**
236
+ * Initialize entity metrics
237
+ */
238
+ initializeRecommenderMetrics(entityId: UUID, platform: string): Promise<void>;
239
+ /**
240
+ * Get token performance
241
+ */
242
+ getTokenPerformance(tokenAddress: string, chain: string): Promise<TokenPerformance | null>;
243
+ /**
244
+ * Get open positions with balance
245
+ */
246
+ getOpenPositionsWithBalance(): Promise<PositionWithBalance[]>;
247
+ /**
248
+ * Get positions transactions
249
+ */
250
+ getPositionsTransactions(positionIds: UUID[]): Promise<Transaction[]>;
251
+ /**
252
+ * Get formatted portfolio report
253
+ */
254
+ getFormattedPortfolioReport(entityId?: UUID): Promise<string>;
255
+ initialize(runtime: IAgentRuntime): Promise<void>;
256
+ /**
257
+ * Fetches token data from an external API.
258
+ * Uses Birdeye and DexScreener for real market data.
259
+ */
260
+ getTokenAPIData(address: string, chain: SupportedChain): Promise<TokenAPIData | null>;
261
+ isLikelyScamOrRug(tokenData: TokenAPIData, recommendationTimestamp: number): Promise<boolean>;
262
+ evaluateRecommendationPerformance(recommendation: Recommendation, tokenData: TokenAPIData): Promise<RecommendationMetric>;
263
+ getRecencyWeight(recommendationTimestamp: number): number;
264
+ getConvictionWeight(conviction: Recommendation["conviction"]): number;
265
+ calculateUserTrustScore(userId: UUID, runtime: IAgentRuntime, _worldId?: UUID): Promise<number>;
266
+ /**
267
+ * Calculate trust score from user profile recommendations
268
+ */
269
+ private calculateNewScoreFromProfile;
270
+ private executeProcessTradeDecision;
271
+ private registerTaskWorkers;
272
+ getLeaderboardData(runtime: IAgentRuntime): Promise<LeaderboardEntry[]>;
273
+ private registerUser;
274
+ private loadUserRegistry;
275
+ private ensurePluginComponentContext;
276
+ /**
277
+ * Processes a batch of historical messages, intended to be called from a script.
278
+ */
279
+ processHistoricalData(batch: {
280
+ fileId: string;
281
+ batchIndex: number;
282
+ messages: HistoricalBatchMessage[];
283
+ userMap: Record<string, string>;
284
+ }): Promise<NormalizedExtractedSignal[]>;
285
+ /**
286
+ * Main entry point for processing a single, real-time message from the event handler.
287
+ */
288
+ processIncomingMessage(message: {
289
+ id?: UUID;
290
+ userId: UUID;
291
+ roomId: UUID;
292
+ text: string;
293
+ timestamp: number;
294
+ username?: string;
295
+ }): Promise<void>;
296
+ /**
297
+ * Builds the system and user prompts for the recommendation extraction LLM call.
298
+ */
299
+ private buildExtractionPrompts;
300
+ /**
301
+ * Updates a user's profile with new recommendations extracted from a message batch.
302
+ */
303
+ private updateProfileWithRecommendations;
304
+ }
305
+ export {};
306
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}