httpcat-cli 0.3.0 → 0.3.1

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 (322) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/.github/workflows/rc-publish.yml +6 -0
  3. package/.github/workflows/release.yml +102 -0
  4. package/.github/workflows/sync-version.yml +31 -2
  5. package/README.md +1408 -109
  6. package/additions.txt +3 -0
  7. package/bun.lock +260 -25
  8. package/dist/agent/autonomous-trader.d.ts.map +1 -0
  9. package/dist/agent/autonomous-trader.js +362 -0
  10. package/dist/agent/autonomous-trader.js.map +1 -0
  11. package/dist/agent/ax-agent.d.ts.map +1 -1
  12. package/dist/agent/ax-agent.js +356 -18
  13. package/dist/agent/ax-agent.js.map +1 -1
  14. package/dist/agent/event-client.d.ts.map +1 -0
  15. package/dist/agent/event-client.js +82 -0
  16. package/dist/agent/event-client.js.map +1 -0
  17. package/dist/agent/log-stream.d.ts.map +1 -0
  18. package/dist/agent/log-stream.js +95 -0
  19. package/dist/agent/log-stream.js.map +1 -0
  20. package/dist/agent/memory/conversation-session.d.ts.map +1 -0
  21. package/dist/agent/memory/conversation-session.js +232 -0
  22. package/dist/agent/memory/conversation-session.js.map +1 -0
  23. package/dist/agent/memory/conversation-store.d.ts.map +1 -0
  24. package/dist/agent/memory/conversation-store.js +214 -0
  25. package/dist/agent/memory/conversation-store.js.map +1 -0
  26. package/dist/agent/memory/database-schema.d.ts.map +1 -0
  27. package/dist/agent/memory/database-schema.js +355 -0
  28. package/dist/agent/memory/database-schema.js.map +1 -0
  29. package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
  30. package/dist/agent/memory/decision-tracker.js +274 -0
  31. package/dist/agent/memory/decision-tracker.js.map +1 -0
  32. package/dist/agent/memory/memory-manager.d.ts.map +1 -0
  33. package/dist/agent/memory/memory-manager.js +187 -0
  34. package/dist/agent/memory/memory-manager.js.map +1 -0
  35. package/dist/agent/memory/types.d.ts.map +1 -0
  36. package/dist/agent/memory/types.js +5 -0
  37. package/dist/agent/memory/types.js.map +1 -0
  38. package/dist/agent/message-formatter.d.ts.map +1 -0
  39. package/dist/agent/message-formatter.js +76 -0
  40. package/dist/agent/message-formatter.js.map +1 -0
  41. package/dist/agent/position-db.d.ts.map +1 -0
  42. package/dist/agent/position-db.js +154 -0
  43. package/dist/agent/position-db.js.map +1 -0
  44. package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
  45. package/dist/agent/simple-chat-ui-static.js +129 -0
  46. package/dist/agent/simple-chat-ui-static.js.map +1 -0
  47. package/dist/agent/simple-chat-ui.d.ts.map +1 -0
  48. package/dist/agent/simple-chat-ui.js +90 -0
  49. package/dist/agent/simple-chat-ui.js.map +1 -0
  50. package/dist/agent/tools.d.ts.map +1 -1
  51. package/dist/agent/tools.js +297 -4
  52. package/dist/agent/tools.js.map +1 -1
  53. package/dist/agent/ui.d.ts.map +1 -0
  54. package/dist/agent/ui.js +84 -0
  55. package/dist/agent/ui.js.map +1 -0
  56. package/dist/agent/unified-runtime.d.ts.map +1 -0
  57. package/dist/agent/unified-runtime.js +397 -0
  58. package/dist/agent/unified-runtime.js.map +1 -0
  59. package/dist/client.d.ts.map +1 -1
  60. package/dist/client.js +272 -21
  61. package/dist/client.js.map +1 -1
  62. package/dist/commands/account.d.ts.map +1 -1
  63. package/dist/commands/account.js +187 -33
  64. package/dist/commands/account.js.map +1 -1
  65. package/dist/commands/agent.d.ts.map +1 -0
  66. package/dist/commands/agent.js +125 -0
  67. package/dist/commands/agent.js.map +1 -0
  68. package/dist/commands/approve.d.ts.map +1 -0
  69. package/dist/commands/approve.js +505 -0
  70. package/dist/commands/approve.js.map +1 -0
  71. package/dist/commands/automation.d.ts.map +1 -0
  72. package/dist/commands/automation.js +346 -0
  73. package/dist/commands/automation.js.map +1 -0
  74. package/dist/commands/balances.d.ts.map +1 -1
  75. package/dist/commands/balances.js +226 -73
  76. package/dist/commands/balances.js.map +1 -1
  77. package/dist/commands/buy.d.ts.map +1 -1
  78. package/dist/commands/buy.js +149 -146
  79. package/dist/commands/buy.js.map +1 -1
  80. package/dist/commands/call.d.ts.map +1 -0
  81. package/dist/commands/call.js +51 -0
  82. package/dist/commands/call.js.map +1 -0
  83. package/dist/commands/cex.d.ts.map +1 -0
  84. package/dist/commands/cex.js +958 -0
  85. package/dist/commands/cex.js.map +1 -0
  86. package/dist/commands/chat.d.ts.map +1 -1
  87. package/dist/commands/chat.js +169 -411
  88. package/dist/commands/chat.js.map +1 -1
  89. package/dist/commands/claim.d.ts.map +1 -1
  90. package/dist/commands/claim.js +313 -29
  91. package/dist/commands/claim.js.map +1 -1
  92. package/dist/commands/create.d.ts.map +1 -1
  93. package/dist/commands/create.js +151 -43
  94. package/dist/commands/create.js.map +1 -1
  95. package/dist/commands/gasless-swap.d.ts.map +1 -0
  96. package/dist/commands/gasless-swap.js +232 -0
  97. package/dist/commands/gasless-swap.js.map +1 -0
  98. package/dist/commands/health.d.ts.map +1 -1
  99. package/dist/commands/health.js +63 -7
  100. package/dist/commands/health.js.map +1 -1
  101. package/dist/commands/info.d.ts.map +1 -1
  102. package/dist/commands/info.js +131 -47
  103. package/dist/commands/info.js.map +1 -1
  104. package/dist/commands/launchpad.d.ts.map +1 -0
  105. package/dist/commands/launchpad.js +708 -0
  106. package/dist/commands/launchpad.js.map +1 -0
  107. package/dist/commands/list.d.ts.map +1 -1
  108. package/dist/commands/list.js +57 -23
  109. package/dist/commands/list.js.map +1 -1
  110. package/dist/commands/market.d.ts.map +1 -0
  111. package/dist/commands/market.js +960 -0
  112. package/dist/commands/market.js.map +1 -0
  113. package/dist/commands/mcp-install.d.ts.map +1 -0
  114. package/dist/commands/mcp-install.js +387 -0
  115. package/dist/commands/mcp-install.js.map +1 -0
  116. package/dist/commands/opps.d.ts.map +1 -0
  117. package/dist/commands/opps.js +409 -0
  118. package/dist/commands/opps.js.map +1 -0
  119. package/dist/commands/perps.d.ts.map +1 -0
  120. package/dist/commands/perps.js +248 -0
  121. package/dist/commands/perps.js.map +1 -0
  122. package/dist/commands/portfolio.d.ts.map +1 -0
  123. package/dist/commands/portfolio.js +679 -0
  124. package/dist/commands/portfolio.js.map +1 -0
  125. package/dist/commands/positions.d.ts.map +1 -1
  126. package/dist/commands/positions.js +76 -47
  127. package/dist/commands/positions.js.map +1 -1
  128. package/dist/commands/predict.d.ts.map +1 -0
  129. package/dist/commands/predict.js +280 -0
  130. package/dist/commands/predict.js.map +1 -0
  131. package/dist/commands/predictions.d.ts.map +1 -0
  132. package/dist/commands/predictions.js +486 -0
  133. package/dist/commands/predictions.js.map +1 -0
  134. package/dist/commands/risk.d.ts.map +1 -0
  135. package/dist/commands/risk.js +225 -0
  136. package/dist/commands/risk.js.map +1 -0
  137. package/dist/commands/security.d.ts.map +1 -0
  138. package/dist/commands/security.js +244 -0
  139. package/dist/commands/security.js.map +1 -0
  140. package/dist/commands/sell.d.ts.map +1 -1
  141. package/dist/commands/sell.js +67 -34
  142. package/dist/commands/sell.js.map +1 -1
  143. package/dist/commands/send.d.ts.map +1 -0
  144. package/dist/commands/send.js +733 -0
  145. package/dist/commands/send.js.map +1 -0
  146. package/dist/commands/sign.d.ts.map +1 -0
  147. package/dist/commands/sign.js +1048 -0
  148. package/dist/commands/sign.js.map +1 -0
  149. package/dist/commands/swap.d.ts.map +1 -0
  150. package/dist/commands/swap.js +744 -0
  151. package/dist/commands/swap.js.map +1 -0
  152. package/dist/commands/system.d.ts.map +1 -0
  153. package/dist/commands/system.js +417 -0
  154. package/dist/commands/system.js.map +1 -0
  155. package/dist/commands/tools/index.d.ts.map +1 -0
  156. package/dist/commands/tools/index.js +2040 -0
  157. package/dist/commands/tools/index.js.map +1 -0
  158. package/dist/commands/trade.d.ts.map +1 -0
  159. package/dist/commands/trade.js +237 -0
  160. package/dist/commands/trade.js.map +1 -0
  161. package/dist/commands/transactions.d.ts.map +1 -1
  162. package/dist/commands/transactions.js +29 -17
  163. package/dist/commands/transactions.js.map +1 -1
  164. package/dist/commands/update.d.ts.map +1 -0
  165. package/dist/commands/update.js +429 -0
  166. package/dist/commands/update.js.map +1 -0
  167. package/dist/config.d.ts.map +1 -1
  168. package/dist/config.js +351 -40
  169. package/dist/config.js.map +1 -1
  170. package/dist/index.js +4524 -924
  171. package/dist/index.js.map +1 -1
  172. package/dist/interactive/art.d.ts.map +1 -1
  173. package/dist/interactive/art.js +33 -1
  174. package/dist/interactive/art.js.map +1 -1
  175. package/dist/interactive/shell.d.ts.map +1 -1
  176. package/dist/interactive/shell.js +467 -2652
  177. package/dist/interactive/shell.js.map +1 -1
  178. package/dist/mcp/context.d.ts.map +1 -0
  179. package/dist/mcp/context.js +211 -0
  180. package/dist/mcp/context.js.map +1 -0
  181. package/dist/mcp/onboarding.d.ts.map +1 -0
  182. package/dist/mcp/onboarding.js +266 -0
  183. package/dist/mcp/onboarding.js.map +1 -0
  184. package/dist/mcp/resources.d.ts.map +1 -0
  185. package/dist/mcp/resources.js +222 -0
  186. package/dist/mcp/resources.js.map +1 -0
  187. package/dist/mcp/server.d.ts.map +1 -1
  188. package/dist/mcp/server.js +51 -1
  189. package/dist/mcp/server.js.map +1 -1
  190. package/dist/mcp/tools.d.ts.map +1 -1
  191. package/dist/mcp/tools.js +4119 -169
  192. package/dist/mcp/tools.js.map +1 -1
  193. package/dist/mcp/types.d.ts.map +1 -1
  194. package/dist/types/agent-info.d.ts.map +1 -0
  195. package/dist/types/agent-info.js +11 -0
  196. package/dist/types/agent-info.js.map +1 -0
  197. package/dist/ui/components/ScrollableList.d.ts.map +1 -0
  198. package/dist/ui/components/ScrollableList.js +72 -0
  199. package/dist/ui/components/ScrollableList.js.map +1 -0
  200. package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
  201. package/dist/ui/components/ThemeProvider.js +87 -0
  202. package/dist/ui/components/ThemeProvider.js.map +1 -0
  203. package/dist/ui/components/ThemedBox.d.ts.map +1 -0
  204. package/dist/ui/components/ThemedBox.js +24 -0
  205. package/dist/ui/components/ThemedBox.js.map +1 -0
  206. package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
  207. package/dist/ui/components/agent/ChatHeader.js +39 -0
  208. package/dist/ui/components/agent/ChatHeader.js.map +1 -0
  209. package/dist/ui/components/agent/Header.d.ts.map +1 -0
  210. package/dist/ui/components/agent/Header.js +14 -0
  211. package/dist/ui/components/agent/Header.js.map +1 -0
  212. package/dist/ui/components/agent/Input.d.ts.map +1 -0
  213. package/dist/ui/components/agent/Input.js +23 -0
  214. package/dist/ui/components/agent/Input.js.map +1 -0
  215. package/dist/ui/components/agent/Output.d.ts.map +1 -0
  216. package/dist/ui/components/agent/Output.js +23 -0
  217. package/dist/ui/components/agent/Output.js.map +1 -0
  218. package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
  219. package/dist/ui/components/chat/TokenChatUI.js +133 -0
  220. package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
  221. package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
  222. package/dist/ui/components/shell/ShellHeader.js +31 -0
  223. package/dist/ui/components/shell/ShellHeader.js.map +1 -0
  224. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
  225. package/dist/ui/components/shell/ShellInput.js +151 -0
  226. package/dist/ui/components/shell/ShellInput.js.map +1 -0
  227. package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
  228. package/dist/ui/components/shell/ShellOutput.js +8 -0
  229. package/dist/ui/components/shell/ShellOutput.js.map +1 -0
  230. package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
  231. package/dist/ui/hooks/useChatWebSocket.js +76 -0
  232. package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
  233. package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
  234. package/dist/ui/hooks/useCommandHistory.js +70 -0
  235. package/dist/ui/hooks/useCommandHistory.js.map +1 -0
  236. package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
  237. package/dist/ui/hooks/useDebounce.js +17 -0
  238. package/dist/ui/hooks/useDebounce.js.map +1 -0
  239. package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
  240. package/dist/ui/hooks/useLogStream.js +20 -0
  241. package/dist/ui/hooks/useLogStream.js.map +1 -0
  242. package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
  243. package/dist/ui/hooks/useVirtualScroll.js +70 -0
  244. package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
  245. package/dist/utils/admin.d.ts.map +1 -0
  246. package/dist/utils/admin.js +144 -0
  247. package/dist/utils/admin.js.map +1 -0
  248. package/dist/utils/autoSetup.d.ts.map +1 -0
  249. package/dist/utils/autoSetup.js +252 -0
  250. package/dist/utils/autoSetup.js.map +1 -0
  251. package/dist/utils/build-constants.d.ts.map +1 -0
  252. package/dist/utils/build-constants.js +10 -0
  253. package/dist/utils/build-constants.js.map +1 -0
  254. package/dist/utils/constants.d.ts.map +1 -1
  255. package/dist/utils/errors.d.ts.map +1 -1
  256. package/dist/utils/errors.js +10 -1
  257. package/dist/utils/errors.js.map +1 -1
  258. package/dist/utils/formatting.d.ts.map +1 -1
  259. package/dist/utils/formatting.js +46 -9
  260. package/dist/utils/formatting.js.map +1 -1
  261. package/dist/utils/llm-cli-config.d.ts.map +1 -0
  262. package/dist/utils/llm-cli-config.js +963 -0
  263. package/dist/utils/llm-cli-config.js.map +1 -0
  264. package/dist/utils/llm-cli-detector.d.ts.map +1 -0
  265. package/dist/utils/llm-cli-detector.js +202 -0
  266. package/dist/utils/llm-cli-detector.js.map +1 -0
  267. package/dist/utils/loading.d.ts.map +1 -1
  268. package/dist/utils/loading.js +25 -3
  269. package/dist/utils/loading.js.map +1 -1
  270. package/dist/utils/maintenance.d.ts.map +1 -0
  271. package/dist/utils/maintenance.js +17 -0
  272. package/dist/utils/maintenance.js.map +1 -0
  273. package/dist/utils/mcp-config.d.ts.map +1 -0
  274. package/dist/utils/mcp-config.js +77 -0
  275. package/dist/utils/mcp-config.js.map +1 -0
  276. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  277. package/dist/utils/privateKeyPrompt.js +308 -129
  278. package/dist/utils/privateKeyPrompt.js.map +1 -1
  279. package/dist/utils/process-cleanup.d.ts.map +1 -0
  280. package/dist/utils/process-cleanup.js +136 -0
  281. package/dist/utils/process-cleanup.js.map +1 -0
  282. package/dist/utils/retry.d.ts.map +1 -0
  283. package/dist/utils/retry.js +56 -0
  284. package/dist/utils/retry.js.map +1 -0
  285. package/dist/utils/rpc-helpers.d.ts.map +1 -0
  286. package/dist/utils/rpc-helpers.js +70 -0
  287. package/dist/utils/rpc-helpers.js.map +1 -0
  288. package/dist/utils/rpc-transport.d.ts.map +1 -0
  289. package/dist/utils/rpc-transport.js +87 -0
  290. package/dist/utils/rpc-transport.js.map +1 -0
  291. package/dist/utils/shell-setup.d.ts.map +1 -0
  292. package/dist/utils/shell-setup.js +531 -0
  293. package/dist/utils/shell-setup.js.map +1 -0
  294. package/dist/utils/status.d.ts.map +1 -1
  295. package/dist/utils/status.js +34 -5
  296. package/dist/utils/status.js.map +1 -1
  297. package/dist/utils/token-resolver.d.ts.map +1 -1
  298. package/dist/utils/token-resolver.js +51 -8
  299. package/dist/utils/token-resolver.js.map +1 -1
  300. package/dist/utils/x402-caller.d.ts.map +1 -0
  301. package/dist/utils/x402-caller.js +17 -0
  302. package/dist/utils/x402-caller.js.map +1 -0
  303. package/docs/README.md +28 -0
  304. package/docs/agent/README.md +18 -0
  305. package/docs/api/README.md +41 -0
  306. package/docs/cli/README.md +42 -0
  307. package/docs/guides/README.md +26 -0
  308. package/docs/implementation/README.md +18 -0
  309. package/docs/planning/README.md +19 -0
  310. package/docs/testing/README.md +15 -0
  311. package/docs/ux/README.md +16 -0
  312. package/issues.txt +2 -0
  313. package/package.json +24 -9
  314. package/scripts/cat-spin.sh +417 -0
  315. package/scripts/deprecate-rc-versions.js +58 -0
  316. package/scripts/inject-build-constants.js +43 -0
  317. package/scripts/monitor-foobar.js +117 -0
  318. package/swap.logs +61 -0
  319. package/swapping.txt +108 -0
  320. package/test.txt +12 -0
  321. package/tests/fixtures/test-data.json +16 -0
  322. package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
@@ -0,0 +1,355 @@
1
+ /**
2
+ * Database schema definitions and migrations for the Agent Memory System
3
+ */
4
+ export const SCHEMA_VERSION = 1;
5
+ /**
6
+ * Initialize all memory tables in the database
7
+ */
8
+ export function initializeMemoryTables(db) {
9
+ // Enable foreign keys
10
+ db.exec("PRAGMA foreign_keys = ON");
11
+ // Create conversations table
12
+ db.exec(`
13
+ CREATE TABLE IF NOT EXISTS conversations (
14
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
15
+ session_id TEXT NOT NULL,
16
+ conversation_id TEXT NOT NULL,
17
+ role TEXT NOT NULL CHECK(role IN ('user', 'agent', 'system')),
18
+ message TEXT NOT NULL,
19
+ timestamp TEXT DEFAULT CURRENT_TIMESTAMP,
20
+ context_type TEXT,
21
+ related_token_id TEXT,
22
+ related_trade_id INTEGER,
23
+ metadata TEXT,
24
+ embedding_vector TEXT,
25
+ FOREIGN KEY (related_trade_id) REFERENCES trades(id)
26
+ )
27
+ `);
28
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_conversations_session ON conversations(session_id)`);
29
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_conversations_conversation ON conversations(conversation_id)`);
30
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_conversations_timestamp ON conversations(timestamp)`);
31
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_conversations_token ON conversations(related_token_id)`);
32
+ // Create agent_decisions table
33
+ db.exec(`
34
+ CREATE TABLE IF NOT EXISTS agent_decisions (
35
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
36
+ session_id TEXT NOT NULL,
37
+ decision_type TEXT NOT NULL CHECK(decision_type IN ('buy', 'sell', 'skip', 'hold')),
38
+ token_id TEXT NOT NULL,
39
+ symbol TEXT NOT NULL,
40
+ trigger_event TEXT NOT NULL,
41
+ reasoning TEXT NOT NULL,
42
+ confidence REAL,
43
+ amount_usdc REAL,
44
+ expected_price REAL,
45
+ actual_price REAL,
46
+ executed BOOLEAN DEFAULT 0,
47
+ trade_id INTEGER,
48
+ signals TEXT,
49
+ outcome TEXT,
50
+ outcome_pnl_percent REAL,
51
+ outcome_notes TEXT,
52
+ timestamp TEXT DEFAULT CURRENT_TIMESTAMP,
53
+ FOREIGN KEY (trade_id) REFERENCES trades(id)
54
+ )
55
+ `);
56
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_decisions_session ON agent_decisions(session_id)`);
57
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_decisions_token ON agent_decisions(token_id)`);
58
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_decisions_type ON agent_decisions(decision_type)`);
59
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_decisions_timestamp ON agent_decisions(timestamp)`);
60
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_decisions_outcome ON agent_decisions(outcome)`);
61
+ // Create token_analysis table
62
+ db.exec(`
63
+ CREATE TABLE IF NOT EXISTS token_analysis (
64
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
65
+ session_id TEXT NOT NULL,
66
+ token_id TEXT NOT NULL,
67
+ symbol TEXT NOT NULL,
68
+ analyzed_at TEXT DEFAULT CURRENT_TIMESTAMP,
69
+ analysis_type TEXT,
70
+ price REAL,
71
+ market_cap REAL,
72
+ holder_count INTEGER,
73
+ liquidity_usdc REAL,
74
+ volume_24h REAL,
75
+ price_change_1h REAL,
76
+ price_change_24h REAL,
77
+ creator_address TEXT,
78
+ creator_reputation_score REAL,
79
+ creator_previous_tokens INTEGER,
80
+ creator_success_rate REAL,
81
+ pattern_flags TEXT,
82
+ risk_score REAL,
83
+ opportunity_score REAL,
84
+ ai_summary TEXT,
85
+ ai_prediction TEXT,
86
+ actual_outcome TEXT,
87
+ prediction_accuracy REAL,
88
+ UNIQUE(session_id, token_id, analyzed_at)
89
+ )
90
+ `);
91
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_token_analysis_session ON token_analysis(session_id)`);
92
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_token_analysis_token ON token_analysis(token_id)`);
93
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_token_analysis_creator ON token_analysis(creator_address)`);
94
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_token_analysis_timestamp ON token_analysis(analyzed_at)`);
95
+ // Create user_preferences table
96
+ db.exec(`
97
+ CREATE TABLE IF NOT EXISTS user_preferences (
98
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
99
+ session_id TEXT NOT NULL,
100
+ preference_type TEXT NOT NULL,
101
+ preference_key TEXT NOT NULL,
102
+ preference_value TEXT NOT NULL,
103
+ confidence REAL DEFAULT 0.5,
104
+ learned_from TEXT,
105
+ sample_size INTEGER DEFAULT 1,
106
+ last_updated TEXT DEFAULT CURRENT_TIMESTAMP,
107
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP,
108
+ UNIQUE(session_id, preference_type, preference_key)
109
+ )
110
+ `);
111
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_user_prefs_session ON user_preferences(session_id)`);
112
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_user_prefs_type ON user_preferences(preference_type)`);
113
+ // Create performance_metrics table
114
+ db.exec(`
115
+ CREATE TABLE IF NOT EXISTS performance_metrics (
116
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
117
+ session_id TEXT NOT NULL,
118
+ metric_type TEXT NOT NULL,
119
+ metric_key TEXT NOT NULL,
120
+ total_trades INTEGER DEFAULT 0,
121
+ buy_count INTEGER DEFAULT 0,
122
+ sell_count INTEGER DEFAULT 0,
123
+ win_count INTEGER DEFAULT 0,
124
+ loss_count INTEGER DEFAULT 0,
125
+ total_invested REAL DEFAULT 0,
126
+ total_returned REAL DEFAULT 0,
127
+ total_pnl REAL DEFAULT 0,
128
+ total_pnl_percent REAL DEFAULT 0,
129
+ largest_win REAL DEFAULT 0,
130
+ largest_loss REAL DEFAULT 0,
131
+ win_rate REAL DEFAULT 0,
132
+ avg_win_percent REAL DEFAULT 0,
133
+ avg_loss_percent REAL DEFAULT 0,
134
+ sharpe_ratio REAL,
135
+ max_drawdown REAL,
136
+ period_start TEXT,
137
+ period_end TEXT,
138
+ last_updated TEXT DEFAULT CURRENT_TIMESTAMP,
139
+ UNIQUE(session_id, metric_type, metric_key)
140
+ )
141
+ `);
142
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_perf_session ON performance_metrics(session_id)`);
143
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_perf_type ON performance_metrics(metric_type)`);
144
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_perf_period ON performance_metrics(period_start, period_end)`);
145
+ // Create creator_reputation table
146
+ db.exec(`
147
+ CREATE TABLE IF NOT EXISTS creator_reputation (
148
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
149
+ session_id TEXT NOT NULL,
150
+ creator_address TEXT NOT NULL,
151
+ tokens_created INTEGER DEFAULT 0,
152
+ tokens_graduated INTEGER DEFAULT 0,
153
+ tokens_rugpulled INTEGER DEFAULT 0,
154
+ user_trades_count INTEGER DEFAULT 0,
155
+ user_wins INTEGER DEFAULT 0,
156
+ user_losses INTEGER DEFAULT 0,
157
+ user_avg_pnl_percent REAL DEFAULT 0,
158
+ overall_reputation REAL DEFAULT 50,
159
+ reliability_score REAL DEFAULT 50,
160
+ profitability_score REAL DEFAULT 50,
161
+ common_patterns TEXT,
162
+ risk_flags TEXT,
163
+ last_updated TEXT DEFAULT CURRENT_TIMESTAMP,
164
+ UNIQUE(session_id, creator_address)
165
+ )
166
+ `);
167
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_creator_rep_session ON creator_reputation(session_id)`);
168
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_creator_rep_address ON creator_reputation(creator_address)`);
169
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_creator_rep_score ON creator_reputation(overall_reputation)`);
170
+ // Create knowledge_base table
171
+ db.exec(`
172
+ CREATE TABLE IF NOT EXISTS knowledge_base (
173
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
174
+ session_id TEXT NOT NULL,
175
+ knowledge_type TEXT NOT NULL,
176
+ title TEXT NOT NULL,
177
+ description TEXT NOT NULL,
178
+ confidence REAL DEFAULT 0.5,
179
+ sample_size INTEGER DEFAULT 1,
180
+ success_rate REAL,
181
+ knowledge_data TEXT,
182
+ conditions TEXT,
183
+ actions TEXT,
184
+ learned_at TEXT DEFAULT CURRENT_TIMESTAMP,
185
+ last_validated TEXT DEFAULT CURRENT_TIMESTAMP,
186
+ validation_count INTEGER DEFAULT 0,
187
+ times_applied INTEGER DEFAULT 0,
188
+ UNIQUE(session_id, knowledge_type, title)
189
+ )
190
+ `);
191
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_knowledge_session ON knowledge_base(session_id)`);
192
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_knowledge_type ON knowledge_base(knowledge_type)`);
193
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_knowledge_confidence ON knowledge_base(confidence)`);
194
+ // Create agent_sessions table
195
+ db.exec(`
196
+ CREATE TABLE IF NOT EXISTS agent_sessions (
197
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
198
+ session_id TEXT NOT NULL,
199
+ agent_session_id TEXT NOT NULL,
200
+ started_at TEXT DEFAULT CURRENT_TIMESTAMP,
201
+ ended_at TEXT,
202
+ starting_balance_usdc REAL,
203
+ ending_balance_usdc REAL,
204
+ starting_portfolio_value REAL,
205
+ ending_portfolio_value REAL,
206
+ events_processed INTEGER DEFAULT 0,
207
+ decisions_made INTEGER DEFAULT 0,
208
+ trades_executed INTEGER DEFAULT 0,
209
+ session_notes TEXT,
210
+ UNIQUE(agent_session_id)
211
+ )
212
+ `);
213
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_sessions_session ON agent_sessions(session_id)`);
214
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_sessions_started ON agent_sessions(started_at)`);
215
+ // Create schema_version table to track migrations
216
+ db.exec(`
217
+ CREATE TABLE IF NOT EXISTS schema_version (
218
+ id INTEGER PRIMARY KEY CHECK (id = 1),
219
+ version INTEGER NOT NULL,
220
+ updated_at TEXT DEFAULT CURRENT_TIMESTAMP
221
+ )
222
+ `);
223
+ // Insert or update schema version
224
+ db.exec(`
225
+ INSERT OR REPLACE INTO schema_version (id, version, updated_at)
226
+ VALUES (1, ${SCHEMA_VERSION}, CURRENT_TIMESTAMP)
227
+ `);
228
+ }
229
+ /**
230
+ * Enhance existing tables with new columns for memory system
231
+ */
232
+ export function enhanceExistingTables(db) {
233
+ // Check if columns already exist before adding
234
+ const tradesColumns = db.pragma("table_info(trades)");
235
+ const positionsColumns = db.pragma("table_info(positions)");
236
+ const hasDecisionId = tradesColumns.some((col) => col.name === "decision_id");
237
+ const hasSessionContext = tradesColumns.some((col) => col.name === "session_context");
238
+ const hasSlippage = tradesColumns.some((col) => col.name === "slippage");
239
+ const hasGasCost = tradesColumns.some((col) => col.name === "gas_cost");
240
+ const hasNotes = tradesColumns.some((col) => col.name === "notes");
241
+ const hasDecisionIds = positionsColumns.some((col) => col.name === "decision_ids");
242
+ const hasPeakValue = positionsColumns.some((col) => col.name === "peak_value");
243
+ const hasLowestValue = positionsColumns.some((col) => col.name === "lowest_value");
244
+ // Add new columns to trades table
245
+ if (!hasDecisionId) {
246
+ db.exec(`ALTER TABLE trades ADD COLUMN decision_id INTEGER REFERENCES agent_decisions(id)`);
247
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_trades_decision ON trades(decision_id)`);
248
+ }
249
+ if (!hasSessionContext) {
250
+ db.exec(`ALTER TABLE trades ADD COLUMN session_context TEXT`);
251
+ }
252
+ if (!hasSlippage) {
253
+ db.exec(`ALTER TABLE trades ADD COLUMN slippage REAL`);
254
+ }
255
+ if (!hasGasCost) {
256
+ db.exec(`ALTER TABLE trades ADD COLUMN gas_cost REAL`);
257
+ }
258
+ if (!hasNotes) {
259
+ db.exec(`ALTER TABLE trades ADD COLUMN notes TEXT`);
260
+ }
261
+ // Add new columns to positions table
262
+ if (!hasDecisionIds) {
263
+ db.exec(`ALTER TABLE positions ADD COLUMN decision_ids TEXT`);
264
+ }
265
+ if (!hasPeakValue) {
266
+ db.exec(`ALTER TABLE positions ADD COLUMN peak_value REAL`);
267
+ }
268
+ if (!hasLowestValue) {
269
+ db.exec(`ALTER TABLE positions ADD COLUMN lowest_value REAL`);
270
+ }
271
+ }
272
+ /**
273
+ * Run all migrations
274
+ */
275
+ export function runMigrations(db) {
276
+ // Get current schema version
277
+ let currentVersion = 0;
278
+ try {
279
+ const result = db.prepare("SELECT version FROM schema_version WHERE id = 1").get();
280
+ currentVersion = result?.version || 0;
281
+ }
282
+ catch {
283
+ // schema_version table doesn't exist yet
284
+ currentVersion = 0;
285
+ }
286
+ console.log(`Current schema version: ${currentVersion}`);
287
+ console.log(`Target schema version: ${SCHEMA_VERSION}`);
288
+ if (currentVersion < SCHEMA_VERSION) {
289
+ console.log("Running migrations...");
290
+ // Initialize all memory tables
291
+ initializeMemoryTables(db);
292
+ // Enhance existing tables
293
+ enhanceExistingTables(db);
294
+ console.log(`Migrations complete. Schema version: ${SCHEMA_VERSION}`);
295
+ }
296
+ else {
297
+ console.log("Schema is up to date.");
298
+ }
299
+ }
300
+ /**
301
+ * Cleanup old data based on retention policies
302
+ */
303
+ export function cleanupOldData(db, sessionId, daysToKeep = 90) {
304
+ const cutoffDate = new Date();
305
+ cutoffDate.setDate(cutoffDate.getDate() - daysToKeep);
306
+ const cutoffISO = cutoffDate.toISOString();
307
+ console.log(`Cleaning up data older than ${daysToKeep} days (before ${cutoffISO})...`);
308
+ // Delete old conversations (keep summaries)
309
+ const deleteConversations = db.prepare(`
310
+ DELETE FROM conversations
311
+ WHERE session_id = ?
312
+ AND timestamp < ?
313
+ AND context_type != 'daily_summary'
314
+ `);
315
+ const conversationsDeleted = deleteConversations.run(sessionId, cutoffISO).changes;
316
+ console.log(`Deleted ${conversationsDeleted} old conversation records`);
317
+ // Delete old token analyses (keep 90 days)
318
+ const deleteAnalyses = db.prepare(`
319
+ DELETE FROM token_analysis
320
+ WHERE session_id = ? AND analyzed_at < ?
321
+ `);
322
+ const analysesDeleted = deleteAnalyses.run(sessionId, cutoffISO).changes;
323
+ console.log(`Deleted ${analysesDeleted} old token analyses`);
324
+ // Vacuum to reclaim space
325
+ db.exec("VACUUM");
326
+ console.log("Database vacuumed");
327
+ }
328
+ /**
329
+ * Get database statistics
330
+ */
331
+ export function getDatabaseStats(db, sessionId) {
332
+ const stats = {};
333
+ const tables = [
334
+ "conversations",
335
+ "agent_decisions",
336
+ "token_analysis",
337
+ "user_preferences",
338
+ "performance_metrics",
339
+ "creator_reputation",
340
+ "knowledge_base",
341
+ "agent_sessions",
342
+ "positions",
343
+ "trades",
344
+ ];
345
+ for (const table of tables) {
346
+ const result = db.prepare(`SELECT COUNT(*) as count FROM ${table} WHERE session_id = ?`).get(sessionId);
347
+ stats[table] = result?.count || 0;
348
+ }
349
+ // Database size
350
+ const pageCount = db.pragma("page_count", { simple: true });
351
+ const pageSize = db.pragma("page_size", { simple: true });
352
+ stats.database_size_mb = (pageCount * pageSize) / (1024 * 1024);
353
+ return stats;
354
+ }
355
+ //# sourceMappingURL=database-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-schema.js","sourceRoot":"","sources":["../../../src/agent/memory/database-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-tracker.d.ts","sourceRoot":"","sources":["../../../src/agent/memory/decision-tracker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EAGrB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAe;IACd,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAEzC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IA0B5C;;OAEG;IACH,oBAAoB,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,IAAI;IAUP;;OAEG;IACH,qBAAqB,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAUP;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAKrD;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,aAAa,EAAE;IAW1E;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE;IAUtE;;OAEG;IACH,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,KAAK,GAAE,MAAW,GACjB,aAAa,EAAE;IAWlB;;OAEG;IACH,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,EACxB,KAAK,GAAE,MAAW,GACjB,aAAa,EAAE;IAWlB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,aAAa,EAAE;IAW5E;;OAEG;IACH,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,aAAa,EAAE;IAYlB;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG;QACnC,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;KACvB;IAsED;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,aAAa,EAAE;IAWxE;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,aAAa,EAAE;IAWzE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;IAUvD;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAUtD;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG;QAC5C,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB;CA4CF"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * Decision tracking and retrieval for agent memory system
3
+ */
4
+ export class DecisionTracker {
5
+ db;
6
+ constructor(db) {
7
+ this.db = db;
8
+ }
9
+ /**
10
+ * Record a new agent decision
11
+ */
12
+ recordDecision(input) {
13
+ const signals = input.signals ? JSON.stringify(input.signals) : null;
14
+ const stmt = this.db.prepare(`
15
+ INSERT INTO agent_decisions (
16
+ session_id, decision_type, token_id, symbol, trigger_event,
17
+ reasoning, confidence, amount_usdc, expected_price, signals
18
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
19
+ `);
20
+ const result = stmt.run(input.session_id, input.decision_type, input.token_id, input.symbol, input.trigger_event, input.reasoning, input.confidence || null, input.amount_usdc || null, input.expected_price || null, signals);
21
+ return result.lastInsertRowid;
22
+ }
23
+ /**
24
+ * Update a decision when it's executed
25
+ */
26
+ markDecisionExecuted(decisionId, tradeId, actualPrice) {
27
+ const stmt = this.db.prepare(`
28
+ UPDATE agent_decisions
29
+ SET executed = 1, trade_id = ?, actual_price = ?
30
+ WHERE id = ?
31
+ `);
32
+ stmt.run(tradeId, actualPrice, decisionId);
33
+ }
34
+ /**
35
+ * Update decision outcome after position is closed
36
+ */
37
+ updateDecisionOutcome(decisionId, outcome, pnlPercent, notes) {
38
+ const stmt = this.db.prepare(`
39
+ UPDATE agent_decisions
40
+ SET outcome = ?, outcome_pnl_percent = ?, outcome_notes = ?
41
+ WHERE id = ?
42
+ `);
43
+ stmt.run(outcome, pnlPercent, notes || null, decisionId);
44
+ }
45
+ /**
46
+ * Get a specific decision by ID
47
+ */
48
+ getDecision(decisionId) {
49
+ const stmt = this.db.prepare(`SELECT * FROM agent_decisions WHERE id = ?`);
50
+ return stmt.get(decisionId) || null;
51
+ }
52
+ /**
53
+ * Get recent decisions for a session
54
+ */
55
+ getRecentDecisions(sessionId, limit = 10) {
56
+ const stmt = this.db.prepare(`
57
+ SELECT * FROM agent_decisions
58
+ WHERE session_id = ?
59
+ ORDER BY timestamp DESC
60
+ LIMIT ?
61
+ `);
62
+ return stmt.all(sessionId, limit);
63
+ }
64
+ /**
65
+ * Get decisions for a specific token
66
+ */
67
+ getTokenDecisions(sessionId, tokenId) {
68
+ const stmt = this.db.prepare(`
69
+ SELECT * FROM agent_decisions
70
+ WHERE session_id = ? AND token_id = ?
71
+ ORDER BY timestamp DESC
72
+ `);
73
+ return stmt.all(sessionId, tokenId);
74
+ }
75
+ /**
76
+ * Get decisions by type (buy, sell, skip, hold)
77
+ */
78
+ getDecisionsByType(sessionId, decisionType, limit = 50) {
79
+ const stmt = this.db.prepare(`
80
+ SELECT * FROM agent_decisions
81
+ WHERE session_id = ? AND decision_type = ?
82
+ ORDER BY timestamp DESC
83
+ LIMIT ?
84
+ `);
85
+ return stmt.all(sessionId, decisionType, limit);
86
+ }
87
+ /**
88
+ * Get decisions by outcome (profitable, loss, etc.)
89
+ */
90
+ getDecisionsByOutcome(sessionId, outcome, limit = 50) {
91
+ const stmt = this.db.prepare(`
92
+ SELECT * FROM agent_decisions
93
+ WHERE session_id = ? AND outcome = ?
94
+ ORDER BY timestamp DESC
95
+ LIMIT ?
96
+ `);
97
+ return stmt.all(sessionId, outcome, limit);
98
+ }
99
+ /**
100
+ * Get all executed decisions (trades that were actually made)
101
+ */
102
+ getExecutedDecisions(sessionId, limit = 50) {
103
+ const stmt = this.db.prepare(`
104
+ SELECT * FROM agent_decisions
105
+ WHERE session_id = ? AND executed = 1
106
+ ORDER BY timestamp DESC
107
+ LIMIT ?
108
+ `);
109
+ return stmt.all(sessionId, limit);
110
+ }
111
+ /**
112
+ * Get decisions in a date range
113
+ */
114
+ getDecisionsByDateRange(sessionId, startDate, endDate) {
115
+ const stmt = this.db.prepare(`
116
+ SELECT * FROM agent_decisions
117
+ WHERE session_id = ?
118
+ AND timestamp >= ?
119
+ AND timestamp <= ?
120
+ ORDER BY timestamp DESC
121
+ `);
122
+ return stmt.all(sessionId, startDate, endDate);
123
+ }
124
+ /**
125
+ * Get decision statistics
126
+ */
127
+ getDecisionStats(sessionId) {
128
+ // Total count
129
+ const totalResult = this.db.prepare(`
130
+ SELECT COUNT(*) as count FROM agent_decisions WHERE session_id = ?
131
+ `).get(sessionId);
132
+ // By decision type
133
+ const byTypeResult = this.db.prepare(`
134
+ SELECT decision_type, COUNT(*) as count
135
+ FROM agent_decisions
136
+ WHERE session_id = ?
137
+ GROUP BY decision_type
138
+ `).all(sessionId);
139
+ const byType = {};
140
+ for (const { decision_type, count } of byTypeResult) {
141
+ byType[decision_type] = count;
142
+ }
143
+ // By outcome
144
+ const byOutcomeResult = this.db.prepare(`
145
+ SELECT outcome, COUNT(*) as count
146
+ FROM agent_decisions
147
+ WHERE session_id = ? AND outcome IS NOT NULL
148
+ GROUP BY outcome
149
+ `).all(sessionId);
150
+ const byOutcome = {};
151
+ for (const { outcome, count } of byOutcomeResult) {
152
+ byOutcome[outcome] = count;
153
+ }
154
+ // Execution rate
155
+ const executedResult = this.db.prepare(`
156
+ SELECT COUNT(*) as count FROM agent_decisions
157
+ WHERE session_id = ? AND executed = 1
158
+ `).get(sessionId);
159
+ const executionRate = totalResult.count > 0 ? executedResult.count / totalResult.count : 0;
160
+ // Average confidence
161
+ const avgConfidenceResult = this.db.prepare(`
162
+ SELECT AVG(confidence) as avg FROM agent_decisions
163
+ WHERE session_id = ? AND confidence IS NOT NULL
164
+ `).get(sessionId);
165
+ const avgConfidence = avgConfidenceResult.avg || 0;
166
+ // Successful decisions (profitable outcome)
167
+ const successfulResult = this.db.prepare(`
168
+ SELECT COUNT(*) as count FROM agent_decisions
169
+ WHERE session_id = ? AND outcome = 'profitable'
170
+ `).get(sessionId);
171
+ // Average P&L percent
172
+ const avgPnlResult = this.db.prepare(`
173
+ SELECT AVG(outcome_pnl_percent) as avg FROM agent_decisions
174
+ WHERE session_id = ? AND outcome_pnl_percent IS NOT NULL
175
+ `).get(sessionId);
176
+ const avgPnlPercent = avgPnlResult.avg || 0;
177
+ return {
178
+ total: totalResult.count,
179
+ byType: byType,
180
+ byOutcome,
181
+ executionRate,
182
+ avgConfidence,
183
+ successfulDecisions: successfulResult.count,
184
+ avgPnlPercent,
185
+ };
186
+ }
187
+ /**
188
+ * Get best performing decisions (highest P&L)
189
+ */
190
+ getBestDecisions(sessionId, limit = 10) {
191
+ const stmt = this.db.prepare(`
192
+ SELECT * FROM agent_decisions
193
+ WHERE session_id = ? AND outcome_pnl_percent IS NOT NULL
194
+ ORDER BY outcome_pnl_percent DESC
195
+ LIMIT ?
196
+ `);
197
+ return stmt.all(sessionId, limit);
198
+ }
199
+ /**
200
+ * Get worst performing decisions (lowest P&L)
201
+ */
202
+ getWorstDecisions(sessionId, limit = 10) {
203
+ const stmt = this.db.prepare(`
204
+ SELECT * FROM agent_decisions
205
+ WHERE session_id = ? AND outcome_pnl_percent IS NOT NULL
206
+ ORDER BY outcome_pnl_percent ASC
207
+ LIMIT ?
208
+ `);
209
+ return stmt.all(sessionId, limit);
210
+ }
211
+ /**
212
+ * Get pending decisions (executed but outcome not yet determined)
213
+ */
214
+ getPendingDecisions(sessionId) {
215
+ const stmt = this.db.prepare(`
216
+ SELECT * FROM agent_decisions
217
+ WHERE session_id = ? AND executed = 1 AND outcome IS NULL
218
+ ORDER BY timestamp DESC
219
+ `);
220
+ return stmt.all(sessionId);
221
+ }
222
+ /**
223
+ * Link a decision to a trade
224
+ */
225
+ linkToTrade(decisionId, tradeId) {
226
+ const stmt = this.db.prepare(`
227
+ UPDATE agent_decisions
228
+ SET trade_id = ?
229
+ WHERE id = ?
230
+ `);
231
+ stmt.run(tradeId, decisionId);
232
+ }
233
+ /**
234
+ * Get decision accuracy (for skip decisions, check if token price went down)
235
+ */
236
+ calculateDecisionAccuracy(sessionId) {
237
+ // Buy accuracy: % of buys that were profitable
238
+ const buyStats = this.db.prepare(`
239
+ SELECT
240
+ COUNT(*) as total,
241
+ SUM(CASE WHEN outcome = 'profitable' THEN 1 ELSE 0 END) as profitable
242
+ FROM agent_decisions
243
+ WHERE session_id = ? AND decision_type = 'buy' AND outcome IS NOT NULL
244
+ `).get(sessionId);
245
+ const buyAccuracy = buyStats.total > 0 ? buyStats.profitable / buyStats.total : 0;
246
+ // Sell accuracy: % of sells that locked in profit
247
+ const sellStats = this.db.prepare(`
248
+ SELECT
249
+ COUNT(*) as total,
250
+ SUM(CASE WHEN outcome_pnl_percent > 0 THEN 1 ELSE 0 END) as profitable
251
+ FROM agent_decisions
252
+ WHERE session_id = ? AND decision_type = 'sell' AND outcome_pnl_percent IS NOT NULL
253
+ `).get(sessionId);
254
+ const sellAccuracy = sellStats.total > 0 ? sellStats.profitable / sellStats.total : 0;
255
+ // Skip accuracy: for now just 0, would need price tracking
256
+ const skipAccuracy = 0;
257
+ // Overall accuracy
258
+ const overallStats = this.db.prepare(`
259
+ SELECT
260
+ COUNT(*) as total,
261
+ SUM(CASE WHEN outcome = 'profitable' THEN 1 ELSE 0 END) as profitable
262
+ FROM agent_decisions
263
+ WHERE session_id = ? AND outcome IS NOT NULL
264
+ `).get(sessionId);
265
+ const overallAccuracy = overallStats.total > 0 ? overallStats.profitable / overallStats.total : 0;
266
+ return {
267
+ buyAccuracy,
268
+ sellAccuracy,
269
+ skipAccuracy,
270
+ overallAccuracy,
271
+ };
272
+ }
273
+ }
274
+ //# sourceMappingURL=decision-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-tracker.js","sourceRoot":"","sources":["../../../src/agent/memory/decision-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-manager.d.ts","sourceRoot":"","sources":["../../../src/agent/memory/memory-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAa;IAKZ,OAAO,CAAC,EAAE;IAJtB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAA6B;gBAE/B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAMzC;;;;OAIG;IACH,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAE,OAAc,GAAG,MAAM;IAI1F;;OAEG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE;IAI9D;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe;IAI3E;;OAEG;IACH,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAItE;;OAEG;IACH,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIvD;;OAEG;IACH,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAItD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM;IAIlC;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAczE;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D;;OAEG;IACG,oBAAoB,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,EAChF,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIxF;;OAEG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI5F;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;IAUxD;;OAEG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAwBjC;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM;;;;;;;;;IAIxC;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM;;;;;;;IAI5C;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM;CA8B/D"}