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,187 @@
1
+ /**
2
+ * Memory Manager - Central orchestrator for agent memory system
3
+ */
4
+ import { ConversationStore } from "./conversation-store.js";
5
+ import { DecisionTracker } from "./decision-tracker.js";
6
+ import { ConversationSessionManager } from "./conversation-session.js";
7
+ export class MemoryManager {
8
+ db;
9
+ conversationStore;
10
+ decisionTracker;
11
+ sessionManager;
12
+ constructor(db) {
13
+ this.db = db;
14
+ this.conversationStore = new ConversationStore(db);
15
+ this.decisionTracker = new DecisionTracker(db);
16
+ this.sessionManager = new ConversationSessionManager(db);
17
+ }
18
+ /**
19
+ * Get or create a conversation thread
20
+ * @param sessionId - User's wallet address
21
+ * @param resumeLastThread - If true, resumes most recent thread; if false, creates new
22
+ */
23
+ getOrCreateConversationThread(sessionId, resumeLastThread = true) {
24
+ return this.sessionManager.getOrCreateThread(sessionId, resumeLastThread);
25
+ }
26
+ /**
27
+ * Load full conversation thread for display/context
28
+ */
29
+ loadConversationThread(conversationId) {
30
+ return this.sessionManager.loadConversationThread(conversationId);
31
+ }
32
+ /**
33
+ * List all conversation threads for a user
34
+ */
35
+ listConversationThreads(sessionId, includeArchived = false) {
36
+ return this.sessionManager.listThreads(sessionId, includeArchived);
37
+ }
38
+ /**
39
+ * Create a new conversation thread
40
+ */
41
+ createNewConversationThread(sessionId, title) {
42
+ return this.sessionManager.createNewThread(sessionId, title);
43
+ }
44
+ /**
45
+ * Archive a conversation thread
46
+ */
47
+ archiveConversationThread(conversationId) {
48
+ this.sessionManager.archiveThread(conversationId);
49
+ }
50
+ /**
51
+ * Delete a conversation thread completely
52
+ */
53
+ deleteConversationThread(conversationId) {
54
+ this.sessionManager.deleteThread(conversationId);
55
+ }
56
+ /**
57
+ * Get the current active thread for a session
58
+ */
59
+ getCurrentThread(sessionId) {
60
+ return this.sessionManager.getCurrentThread(sessionId);
61
+ }
62
+ /**
63
+ * Record a conversation message (with thread tracking)
64
+ */
65
+ async recordConversation(input) {
66
+ const conversation = this.conversationStore.storeConversation(input);
67
+ // Update thread activity
68
+ if (input.conversation_id) {
69
+ this.sessionManager.updateThreadActivity(input.conversation_id);
70
+ // Auto-generate title if this is one of the first messages
71
+ this.sessionManager.autoGenerateTitle(input.conversation_id);
72
+ }
73
+ return conversation;
74
+ }
75
+ /**
76
+ * Record an agent decision
77
+ */
78
+ async recordDecision(input) {
79
+ return this.decisionTracker.recordDecision(input);
80
+ }
81
+ /**
82
+ * Mark a decision as executed
83
+ */
84
+ async markDecisionExecuted(decisionId, tradeId, actualPrice) {
85
+ this.decisionTracker.markDecisionExecuted(decisionId, tradeId, actualPrice);
86
+ }
87
+ /**
88
+ * Update decision outcome
89
+ */
90
+ async updateDecisionOutcome(decisionId, outcome, pnlPercent, notes) {
91
+ this.decisionTracker.updateDecisionOutcome(decisionId, outcome, pnlPercent, notes);
92
+ }
93
+ /**
94
+ * Link a trade to a decision
95
+ */
96
+ async linkTradeToDecision(tradeId, decisionId) {
97
+ this.decisionTracker.linkToTrade(decisionId, tradeId);
98
+ }
99
+ /**
100
+ * Get recent decisions for context
101
+ */
102
+ async getRecentDecisions(sessionId, limit = 5) {
103
+ return this.decisionTracker.getRecentDecisions(sessionId, limit);
104
+ }
105
+ /**
106
+ * Get recent conversations for context
107
+ */
108
+ async getRecentConversations(sessionId, limit = 10) {
109
+ return this.conversationStore.getRecentConversations(sessionId, limit);
110
+ }
111
+ /**
112
+ * Get token-specific history
113
+ */
114
+ async getTokenHistory(sessionId, tokenId) {
115
+ const decisions = this.decisionTracker.getTokenDecisions(sessionId, tokenId);
116
+ const conversations = this.conversationStore.getTokenConversations(sessionId, tokenId, 10);
117
+ return {
118
+ decisions,
119
+ conversations,
120
+ };
121
+ }
122
+ /**
123
+ * Build basic context for LLM (simplified version)
124
+ */
125
+ async buildContextForQuery(sessionId, tokenId) {
126
+ const recentDecisions = await this.getRecentDecisions(sessionId, 5);
127
+ const recentConversations = await this.getRecentConversations(sessionId, 10);
128
+ const context = {
129
+ sessionId,
130
+ conversationThread: recentConversations,
131
+ relevantHistory: [],
132
+ recentDecisions,
133
+ };
134
+ // Add token-specific history if provided
135
+ if (tokenId) {
136
+ const tokenHistory = await this.getTokenHistory(sessionId, tokenId);
137
+ context.tokenHistory = {
138
+ analyses: [],
139
+ decisions: tokenHistory.decisions,
140
+ trades: [],
141
+ };
142
+ }
143
+ return context;
144
+ }
145
+ /**
146
+ * Get decision statistics
147
+ */
148
+ async getDecisionStats(sessionId) {
149
+ return this.decisionTracker.getDecisionStats(sessionId);
150
+ }
151
+ /**
152
+ * Get conversation statistics
153
+ */
154
+ async getConversationStats(sessionId) {
155
+ return this.conversationStore.getConversationStats(sessionId);
156
+ }
157
+ /**
158
+ * Format context for LLM prompt injection
159
+ */
160
+ formatContextForPrompt(context) {
161
+ const parts = [];
162
+ // Recent decisions
163
+ if (context.recentDecisions && context.recentDecisions.length > 0) {
164
+ parts.push("\n### Recent Decisions:");
165
+ for (const decision of context.recentDecisions.slice(0, 3)) {
166
+ const outcome = decision.outcome ? ` [${decision.outcome}]` : "";
167
+ parts.push(`- ${decision.decision_type.toUpperCase()} ${decision.symbol}${outcome}: ${decision.reasoning.substring(0, 100)}...`);
168
+ }
169
+ }
170
+ // Token-specific history
171
+ if (context.tokenHistory && context.tokenHistory.decisions.length > 0) {
172
+ parts.push("\n### History with this token:");
173
+ for (const decision of context.tokenHistory.decisions.slice(0, 2)) {
174
+ parts.push(`- ${decision.decision_type}: ${decision.reasoning.substring(0, 100)}...`);
175
+ }
176
+ }
177
+ // Recent conversation context
178
+ if (context.conversationThread && context.conversationThread.length > 0) {
179
+ parts.push("\n### Recent conversation:");
180
+ for (const msg of context.conversationThread.slice(-3)) {
181
+ parts.push(`${msg.role}: ${msg.message.substring(0, 100)}...`);
182
+ }
183
+ }
184
+ return parts.join("\n");
185
+ }
186
+ }
187
+ //# sourceMappingURL=memory-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-manager.js","sourceRoot":"","sources":["../../../src/agent/memory/memory-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/memory/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * TypeScript type definitions for the Agent Memory System
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/memory/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-formatter.d.ts","sourceRoot":"","sources":["../../src/agent/message-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAmBlD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,GAAE,OAAc,GAAG,MAAM,CAelG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,CAIzF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwBrD"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Message formatter for chat-style agent messages
3
+ * Formats autonomous actions as chat messages with timestamps and styling
4
+ */
5
+ /**
6
+ * Format a timestamp as a relative time string
7
+ */
8
+ export function formatTimestamp(date) {
9
+ const now = new Date();
10
+ const diffMs = now.getTime() - date.getTime();
11
+ const diffMins = Math.floor(diffMs / 60000);
12
+ if (diffMins < 1)
13
+ return 'just now';
14
+ if (diffMins < 60)
15
+ return `${diffMins}m ago`;
16
+ const diffHours = Math.floor(diffMins / 60);
17
+ if (diffHours < 24)
18
+ return `${diffHours}h ago`;
19
+ const diffDays = Math.floor(diffHours / 24);
20
+ if (diffDays < 7)
21
+ return `${diffDays}d ago`;
22
+ const diffWeeks = Math.floor(diffDays / 7);
23
+ if (diffWeeks < 4)
24
+ return `${diffWeeks}w ago`;
25
+ const diffMonths = Math.floor(diffDays / 30);
26
+ return `${diffMonths}mo ago`;
27
+ }
28
+ /**
29
+ * Format a log message for display in the chat UI
30
+ */
31
+ export function formatMessageForDisplay(message, showTimestamp = true) {
32
+ const timestamp = showTimestamp ? `[${formatTimestamp(message.timestamp)}] ` : '';
33
+ switch (message.type) {
34
+ case 'agent':
35
+ return `${timestamp}🐱 Agent: ${message.content}`;
36
+ case 'user':
37
+ return `${timestamp}👤 You: ${message.content}`;
38
+ case 'system':
39
+ return `${timestamp}⚙️ ${message.content}`;
40
+ case 'action':
41
+ return `${timestamp}⚡ ${message.content}`;
42
+ default:
43
+ return `${timestamp}${message.content}`;
44
+ }
45
+ }
46
+ /**
47
+ * Format an agent action as a chat message
48
+ */
49
+ export function formatAgentAction(action, content, metadata) {
50
+ // Format like: "🐱 Agent: [action] content"
51
+ const actionPrefix = action ? `[${action}] ` : '';
52
+ return `🐱 Agent: ${actionPrefix}${content}`;
53
+ }
54
+ /**
55
+ * Style cat response patterns (addresses, hashes, numbers, cat syntax)
56
+ * Similar to styleCatResponse in shell.ts but for blessed tags
57
+ */
58
+ export function styleCatResponse(text) {
59
+ let styled = text;
60
+ // Transaction hashes (0x + 64 hex chars) → Cyan with underline
61
+ styled = styled.replace(/\b(0x[a-fA-F0-9]{64})\b/g, '{cyan-fg}{underline}$1{/underline}{/cyan-fg}');
62
+ // Ethereum addresses (0x + 40 hex chars) → Yellow
63
+ styled = styled.replace(/\b(0x[a-fA-F0-9]{40})\b/g, '{yellow-fg}$1{/yellow-fg}');
64
+ // Cat action lines (> action) → Bright cyan
65
+ styled = styled.replace(/^(> .+)$/gm, '{cyan-fg}{bold}$1{/bold}{/cyan-fg}');
66
+ // Cat commentary (// flavor) → Dim gray
67
+ styled = styled.replace(/(\/\/ .+)$/gm, '{gray-fg}$1{/gray-fg}');
68
+ // Cat sounds with mood colors
69
+ styled = styled.replace(/\bpurr\b/gi, '{yellow-fg}purr{/yellow-fg}');
70
+ styled = styled.replace(/\bmeow\b/gi, '{green-fg}meow{/green-fg}');
71
+ styled = styled.replace(/\bhiss\b/gi, '{red-fg}hiss{/red-fg}');
72
+ // Numbers/amounts (including decimals, commas) → Magenta
73
+ styled = styled.replace(/\b(\d{1,3}(,\d{3})*(\.\d+)?|\d+\.\d+)\b/g, '{magenta-fg}$1{/magenta-fg}');
74
+ return styled;
75
+ }
76
+ //# sourceMappingURL=message-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-formatter.js","sourceRoot":"","sources":["../../src/agent/message-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-db.d.ts","sourceRoot":"","sources":["../../src/agent/position-db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAoB;gBAElB,MAAM,CAAC,EAAE,MAAM;IAe3B,OAAO,CAAC,UAAU;IAuClB;;OAEG;IACH,SAAS,CACP,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI;IAgCP;;OAEG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,IAAI;IAgCP;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAK7C;;OAEG;IACH,eAAe,IAAI,QAAQ,EAAE;IAK7B;;OAEG;IACH,SAAS,CAAC,KAAK,GAAE,MAAW,GAAG,KAAK,EAAE;IAKtC;;OAEG;IACH,WAAW,IAAI,QAAQ,CAAC,QAAQ;IAIhC;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,154 @@
1
+ import Database from "better-sqlite3";
2
+ import { homedir } from "os";
3
+ import { join } from "path";
4
+ import { mkdirSync, existsSync } from "fs";
5
+ import { runMigrations } from "./memory/database-schema.js";
6
+ export class PositionDatabase {
7
+ db;
8
+ constructor(dbPath) {
9
+ // Default to ~/.config/httpcat/agent.db
10
+ const defaultPath = join(homedir(), ".config", "httpcat", "agent.db");
11
+ const finalPath = dbPath || defaultPath;
12
+ // Ensure directory exists
13
+ const dir = join(finalPath, "..");
14
+ if (!existsSync(dir)) {
15
+ mkdirSync(dir, { recursive: true });
16
+ }
17
+ this.db = new Database(finalPath);
18
+ this.initialize();
19
+ }
20
+ initialize() {
21
+ // Create positions table
22
+ this.db.exec(`
23
+ CREATE TABLE IF NOT EXISTS positions (
24
+ token_id TEXT PRIMARY KEY,
25
+ symbol TEXT NOT NULL,
26
+ name TEXT,
27
+ tokens_owned TEXT NOT NULL,
28
+ avg_buy_price REAL NOT NULL,
29
+ total_invested REAL NOT NULL,
30
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP,
31
+ updated_at TEXT DEFAULT CURRENT_TIMESTAMP
32
+ )
33
+ `);
34
+ // Create trades table
35
+ this.db.exec(`
36
+ CREATE TABLE IF NOT EXISTS trades (
37
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
38
+ token_id TEXT NOT NULL,
39
+ symbol TEXT NOT NULL,
40
+ trade_type TEXT NOT NULL,
41
+ amount_tokens TEXT NOT NULL,
42
+ amount_usdc REAL NOT NULL,
43
+ price REAL NOT NULL,
44
+ tx_hash TEXT,
45
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
46
+ )
47
+ `);
48
+ // Create indexes
49
+ this.db.exec(`CREATE INDEX IF NOT EXISTS idx_positions_token_id ON positions(token_id)`);
50
+ this.db.exec(`CREATE INDEX IF NOT EXISTS idx_trades_token_id ON trades(token_id)`);
51
+ this.db.exec(`CREATE INDEX IF NOT EXISTS idx_trades_created_at ON trades(created_at)`);
52
+ // Run memory system migrations (creates all 8 new tables + enhances existing tables)
53
+ runMigrations(this.db);
54
+ }
55
+ /**
56
+ * Record a buy trade and update position
57
+ */
58
+ recordBuy(tokenId, symbol, tokensReceived, amountSpent, price, txHash, name) {
59
+ // Insert trade record
60
+ const tradeStmt = this.db.prepare(`
61
+ INSERT INTO trades (token_id, symbol, trade_type, amount_tokens, amount_usdc, price, tx_hash)
62
+ VALUES (?, ?, 'buy', ?, ?, ?, ?)
63
+ `);
64
+ tradeStmt.run(tokenId, symbol, tokensReceived, amountSpent, price, txHash || null);
65
+ // Update or create position
66
+ const position = this.getPosition(tokenId);
67
+ if (position) {
68
+ // Existing position - update average price and total invested
69
+ const newTokensOwned = BigInt(position.tokens_owned) + BigInt(tokensReceived);
70
+ const newTotalInvested = position.total_invested + amountSpent;
71
+ const newAvgPrice = newTotalInvested / parseFloat(newTokensOwned.toString());
72
+ const updateStmt = this.db.prepare(`
73
+ UPDATE positions
74
+ SET tokens_owned = ?, total_invested = ?, avg_buy_price = ?, updated_at = CURRENT_TIMESTAMP
75
+ WHERE token_id = ?
76
+ `);
77
+ updateStmt.run(newTokensOwned.toString(), newTotalInvested, newAvgPrice, tokenId);
78
+ }
79
+ else {
80
+ // New position
81
+ const insertStmt = this.db.prepare(`
82
+ INSERT INTO positions (token_id, symbol, name, tokens_owned, avg_buy_price, total_invested)
83
+ VALUES (?, ?, ?, ?, ?, ?)
84
+ `);
85
+ insertStmt.run(tokenId, symbol, name || null, tokensReceived, price, amountSpent);
86
+ }
87
+ }
88
+ /**
89
+ * Record a sell trade and update/remove position
90
+ */
91
+ recordSell(tokenId, symbol, tokensSold, usdcReceived, price, txHash) {
92
+ // Insert trade record
93
+ const tradeStmt = this.db.prepare(`
94
+ INSERT INTO trades (token_id, symbol, trade_type, amount_tokens, amount_usdc, price, tx_hash)
95
+ VALUES (?, ?, 'sell', ?, ?, ?, ?)
96
+ `);
97
+ tradeStmt.run(tokenId, symbol, tokensSold, usdcReceived, price, txHash || null);
98
+ // Update position
99
+ const position = this.getPosition(tokenId);
100
+ if (position) {
101
+ const newTokensOwned = BigInt(position.tokens_owned) - BigInt(tokensSold);
102
+ if (newTokensOwned <= 0n) {
103
+ // Sold entire position - delete from positions table
104
+ const deleteStmt = this.db.prepare(`DELETE FROM positions WHERE token_id = ?`);
105
+ deleteStmt.run(tokenId);
106
+ }
107
+ else {
108
+ // Partial sell - update position
109
+ const proportionSold = parseFloat(tokensSold) / parseFloat(position.tokens_owned);
110
+ const newTotalInvested = position.total_invested * (1 - proportionSold);
111
+ const updateStmt = this.db.prepare(`
112
+ UPDATE positions
113
+ SET tokens_owned = ?, total_invested = ?, updated_at = CURRENT_TIMESTAMP
114
+ WHERE token_id = ?
115
+ `);
116
+ updateStmt.run(newTokensOwned.toString(), newTotalInvested, tokenId);
117
+ }
118
+ }
119
+ }
120
+ /**
121
+ * Get a specific position by token ID
122
+ */
123
+ getPosition(tokenId) {
124
+ const stmt = this.db.prepare(`SELECT * FROM positions WHERE token_id = ?`);
125
+ return stmt.get(tokenId) || null;
126
+ }
127
+ /**
128
+ * Get all positions
129
+ */
130
+ getAllPositions() {
131
+ const stmt = this.db.prepare(`SELECT * FROM positions ORDER BY created_at DESC`);
132
+ return stmt.all();
133
+ }
134
+ /**
135
+ * Get trade history
136
+ */
137
+ getTrades(limit = 50) {
138
+ const stmt = this.db.prepare(`SELECT * FROM trades ORDER BY created_at DESC LIMIT ?`);
139
+ return stmt.all(limit);
140
+ }
141
+ /**
142
+ * Get the underlying database instance for memory system access
143
+ */
144
+ getDatabase() {
145
+ return this.db;
146
+ }
147
+ /**
148
+ * Close database connection
149
+ */
150
+ close() {
151
+ this.db.close();
152
+ }
153
+ }
154
+ //# sourceMappingURL=position-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-db.js","sourceRoot":"","sources":["../../src/agent/position-db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAyB5D,MAAM,OAAO,gBAAgB;IACnB,EAAE,CAAoB;IAE9B,YAAY,MAAe;QACzB,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,IAAI,WAAW,CAAC;QAExC,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,yBAAyB;QACzB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;KAWZ,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;KAYZ,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACzF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACnF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QAEvF,qFAAqF;QACrF,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,SAAS,CACP,OAAe,EACf,MAAc,EACd,cAAsB,EACtB,WAAmB,EACnB,KAAa,EACb,MAAe,EACf,IAAa;QAEb,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGjC,CAAC,CAAC;QACH,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;QAEnF,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,8DAA8D;YAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;YAC9E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAC;YAC/D,MAAM,WAAW,GAAG,gBAAgB,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE7E,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAIlC,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGlC,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CACR,OAAe,EACf,MAAc,EACd,UAAkB,EAClB,YAAoB,EACpB,KAAa,EACb,MAAe;QAEf,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGjC,CAAC,CAAC;QACH,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;QAEhF,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAE1E,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;gBACzB,qDAAqD;gBACrD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;gBAC/E,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAClF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAExE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;SAIlC,CAAC,CAAC;gBACH,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAe;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC3E,OAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAc,IAAI,IAAI,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,GAAG,EAAgB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAgB,EAAE;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAY,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-chat-ui-static.d.ts","sourceRoot":"","sources":["../../src/agent/simple-chat-ui-static.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,GAAG,CAAC;IACZ,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACvI;AAqKD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,MAAM,EAAE,MAAM,IAAI,EAClB,eAAe,GAAE,MAAM,EAAO,EAC9B,UAAU,CAAC,EAAE;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,YAAY,CAsDd"}
@@ -0,0 +1,129 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Static Chat UI - Hybrid approach
4
+ * Messages use refs instead of state to avoid re-renders on every keystroke
5
+ * Only input triggers React updates, but those are isolated
6
+ * This eliminates flickering on typing
7
+ */
8
+ import React, { useState, useEffect, useRef, useReducer, memo } from 'react';
9
+ import { render, Box, Text, useStdout, useInput } from 'ink';
10
+ import TextInput from 'ink-text-input';
11
+ import { ThemeProvider } from '../ui/components/ThemeProvider.js';
12
+ import { ScrollableList } from '../ui/components/ScrollableList.js';
13
+ import { ThemedBox } from '../ui/components/ThemedBox.js';
14
+ import { ChatHeader } from '../ui/components/agent/ChatHeader.js';
15
+ // Completely isolated message display that never re-renders from parent
16
+ const MessageDisplay = memo(function MessageDisplay({ messages, viewportHeight }) {
17
+ return (_jsx(ThemedBox, { borderStyle: "single", flexGrow: 1, paddingX: 2, children: _jsx(ScrollableList, { items: messages, viewportHeight: viewportHeight, showScrollIndicator: true, autoScroll: true }) }));
18
+ });
19
+ // Completely isolated input that doesn't affect message display
20
+ const InputArea = memo(function InputArea({ value, onChange, onSubmit, }) {
21
+ return (_jsxs(Box, { borderStyle: "single", borderTop: true, paddingX: 1, children: [_jsx(Text, { children: "Type message: " }), _jsx(TextInput, { value: value, onChange: onChange, onSubmit: onSubmit })] }));
22
+ });
23
+ function StaticChatUI({ onMessage, onExit, onReady, onHeaderUpdate, initialMessages = [], network = 'Unknown', account, ethBalance = '0.00', usdcBalance = '0.00', agentStatus = 'Chat Mode' }) {
24
+ const [input, setInput] = useState('');
25
+ // Use a dummy state to force re-render only when new messages arrive
26
+ const [, forceUpdate] = useReducer((x) => x + 1, 0);
27
+ const messagesRef = useRef(initialMessages);
28
+ const { stdout } = useStdout();
29
+ // Header info state - can be updated dynamically
30
+ const [headerInfo, setHeaderInfo] = useState({
31
+ network,
32
+ account,
33
+ ethBalance,
34
+ usdcBalance,
35
+ agentStatus
36
+ });
37
+ const rows = (stdout?.rows || 24) - 1; // -1 to prevent flickering in iTerm2
38
+ const headerHeight = 6; // ChatHeader takes 6 lines
39
+ const inputHeight = 3;
40
+ const maxMessages = Math.max(10, rows - headerHeight - inputHeight - 2);
41
+ // Register the log function on mount
42
+ useEffect(() => {
43
+ if (onReady) {
44
+ onReady((message) => {
45
+ // Check if this is a removal action (empty message means remove last)
46
+ if (message === '__REMOVE_LAST__') {
47
+ // Remove the last message
48
+ if (messagesRef.current.length > 0) {
49
+ messagesRef.current = messagesRef.current.slice(0, -1);
50
+ forceUpdate();
51
+ }
52
+ }
53
+ else {
54
+ // Add to ref (doesn't trigger re-render)
55
+ messagesRef.current = [...messagesRef.current, message];
56
+ // Force a single re-render for new message
57
+ forceUpdate();
58
+ }
59
+ });
60
+ }
61
+ }, [onReady]);
62
+ // Register header update callback
63
+ useEffect(() => {
64
+ if (onHeaderUpdate) {
65
+ onHeaderUpdate((info) => {
66
+ setHeaderInfo((prev) => ({ ...prev, ...info }));
67
+ });
68
+ }
69
+ }, [onHeaderUpdate]);
70
+ // Handle keyboard shortcuts
71
+ useInput((input, key) => {
72
+ if (key.escape || (key.ctrl && input === 'c')) {
73
+ onExit();
74
+ }
75
+ });
76
+ const handleSubmit = React.useCallback((value) => {
77
+ const trimmed = value.trim();
78
+ if (!trimmed)
79
+ return;
80
+ if (trimmed === '/exit' || trimmed === '/quit') {
81
+ onExit();
82
+ return;
83
+ }
84
+ onMessage(trimmed);
85
+ setInput('');
86
+ }, [onMessage, onExit]);
87
+ const handleChange = React.useCallback((value) => {
88
+ setInput(value);
89
+ }, []);
90
+ return (_jsx(ThemeProvider, { children: _jsxs(Box, { flexDirection: "column", height: rows, children: [_jsx(ChatHeader, { network: headerInfo.network, account: headerInfo.account, ethBalance: headerInfo.ethBalance, usdcBalance: headerInfo.usdcBalance, agentStatus: headerInfo.agentStatus }), _jsx(MessageDisplay, { messages: messagesRef.current, viewportHeight: maxMessages }), _jsx(InputArea, { value: input, onChange: handleChange, onSubmit: handleSubmit })] }) }));
91
+ }
92
+ export function createSimpleChatUI(onMessage, onExit, initialMessages = [], headerInfo) {
93
+ let logFn = null;
94
+ let headerUpdateFn = null;
95
+ const handleReady = (fn) => {
96
+ logFn = fn;
97
+ };
98
+ const handleHeaderUpdate = (fn) => {
99
+ headerUpdateFn = fn;
100
+ };
101
+ const { waitUntilExit, clear, rerender } = render(_jsx(StaticChatUI, { onMessage: onMessage, onExit: onExit, onReady: handleReady, onHeaderUpdate: handleHeaderUpdate, initialMessages: initialMessages, network: headerInfo?.network, account: headerInfo?.account, ethBalance: headerInfo?.ethBalance, usdcBalance: headerInfo?.usdcBalance, agentStatus: headerInfo?.agentStatus }), {
102
+ patchConsole: false,
103
+ exitOnCtrlC: false,
104
+ });
105
+ return {
106
+ screen: null,
107
+ log: (message) => {
108
+ if (logFn) {
109
+ logFn(message);
110
+ }
111
+ },
112
+ loadHistory: (messages) => {
113
+ // This allows loading more history dynamically
114
+ if (logFn) {
115
+ messages.forEach(msg => logFn(msg));
116
+ }
117
+ },
118
+ updateHeader: (info) => {
119
+ if (headerUpdateFn) {
120
+ headerUpdateFn(info);
121
+ }
122
+ },
123
+ destroy: async () => {
124
+ clear();
125
+ await waitUntilExit();
126
+ },
127
+ };
128
+ }
129
+ //# sourceMappingURL=simple-chat-ui-static.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-chat-ui-static.js","sourceRoot":"","sources":["../../src/agent/simple-chat-ui-static.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-chat-ui.d.ts","sourceRoot":"","sources":["../../src/agent/simple-chat-ui.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,GAAG,CAAC;IACZ,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuGD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,MAAM,EAAE,MAAM,IAAI,GACjB,YAAY,CA6Bd"}