balchemy 0.1.13 → 0.1.15

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 (40) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +6 -6
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +34 -16
  5. package/dist/index.js.map +1 -1
  6. package/dist/terminal-logo.d.ts.map +1 -1
  7. package/dist/terminal-logo.js +4 -15
  8. package/dist/terminal-logo.js.map +1 -1
  9. package/dist/tui/AgentBridge.d.ts +2 -1
  10. package/dist/tui/AgentBridge.d.ts.map +1 -1
  11. package/dist/tui/AgentBridge.js +51 -14
  12. package/dist/tui/AgentBridge.js.map +1 -1
  13. package/dist/tui/App.d.ts.map +1 -1
  14. package/dist/tui/App.js +43 -45
  15. package/dist/tui/App.js.map +1 -1
  16. package/dist/tui/ChatAgent.d.ts +3 -0
  17. package/dist/tui/ChatAgent.d.ts.map +1 -1
  18. package/dist/tui/ChatAgent.js +9 -0
  19. package/dist/tui/ChatAgent.js.map +1 -1
  20. package/dist/tui/ChatPanel.d.ts.map +1 -1
  21. package/dist/tui/ChatPanel.js +36 -12
  22. package/dist/tui/ChatPanel.js.map +1 -1
  23. package/dist/tui/StatusPanel.d.ts +3 -1
  24. package/dist/tui/StatusPanel.d.ts.map +1 -1
  25. package/dist/tui/StatusPanel.js +26 -7
  26. package/dist/tui/StatusPanel.js.map +1 -1
  27. package/dist/tui/setup-guidance.d.ts +9 -0
  28. package/dist/tui/setup-guidance.d.ts.map +1 -0
  29. package/dist/tui/setup-guidance.js +16 -0
  30. package/dist/tui/setup-guidance.js.map +1 -0
  31. package/dist/tui/status-view.d.ts +7 -0
  32. package/dist/tui/status-view.d.ts.map +1 -0
  33. package/dist/tui/status-view.js +16 -0
  34. package/dist/tui/status-view.js.map +1 -0
  35. package/dist/wizard.d.ts.map +1 -1
  36. package/dist/wizard.js +84 -37
  37. package/dist/wizard.js.map +1 -1
  38. package/package.json +14 -8
  39. package/templates/Dockerfile +1 -1
  40. package/templates/agent.config.yaml +71 -0
package/dist/tui/App.js CHANGED
@@ -3,13 +3,12 @@ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-run
3
3
  import { useState, useEffect, useRef, useCallback } from "react";
4
4
  import { Box, Text, useApp, useInput, useStdout } from "ink";
5
5
  import { Select, TextInput } from "@inkjs/ui";
6
- import { execSync, execFileSync } from "node:child_process";
7
- import { createRequire } from "node:module";
8
6
  import { ChatPanel } from "./ChatPanel.js";
9
7
  import { StatusPanel } from "./StatusPanel.js";
10
8
  import { AgentBridge } from "./AgentBridge.js";
11
9
  import { clearAgent, loadAgent, saveAgent } from "../agent-store.js";
12
10
  import { randomUUID } from "node:crypto";
11
+ import { getSessionBadge } from "./status-view.js";
13
12
  // ── Constants ────────────────────────────────────────────────────────────────
14
13
  const INITIAL_STATUS = {
15
14
  balanceSol: 0,
@@ -32,10 +31,38 @@ const SETTINGS_ITEMS = [
32
31
  { key: "slippage", label: "Slippage (bps)", source: "remote", type: "text" },
33
32
  { key: "strategy", label: "Strategy", source: "remote", type: "text" },
34
33
  ];
34
+ function compactId(value, head = 10, tail = 5) {
35
+ if (value.length <= head + tail + 1)
36
+ return value;
37
+ return `${value.slice(0, head)}...${value.slice(-tail)}`;
38
+ }
39
+ function resolveProviderLabel(provider, baseUrl) {
40
+ if (provider === "anthropic")
41
+ return "anthropic";
42
+ if (baseUrl?.includes("generativelanguage.googleapis.com"))
43
+ return "gemini";
44
+ if (baseUrl?.includes("api.x.ai"))
45
+ return "grok";
46
+ if (baseUrl?.includes("openrouter.ai"))
47
+ return "openrouter";
48
+ return "openai";
49
+ }
50
+ function HeaderBadge({ label, tone, }) {
51
+ const styles = {
52
+ brand: { backgroundColor: "cyan", color: "black" },
53
+ live: { backgroundColor: "green", color: "black" },
54
+ warning: { backgroundColor: "yellow", color: "black" },
55
+ danger: { backgroundColor: "red", color: "white" },
56
+ };
57
+ const style = styles[tone];
58
+ return (_jsxs(Text, { backgroundColor: style.backgroundColor, color: style.color, bold: true, children: [" ", label, " "] }));
59
+ }
35
60
  export function App({ config }) {
36
61
  const { exit } = useApp();
37
62
  const { stdout } = useStdout();
38
63
  const termWidth = stdout?.columns ?? 80;
64
+ const compactLayout = termWidth < 110;
65
+ const statusWidth = termWidth >= 148 ? 34 : termWidth >= 124 ? 30 : 28;
39
66
  const [messages, setMessages] = useState([]);
40
67
  const [status, setStatus] = useState({
41
68
  ...INITIAL_STATUS,
@@ -104,12 +131,8 @@ export function App({ config }) {
104
131
  bridge.refreshBalance().catch(() => { });
105
132
  }, 60_000);
106
133
  // Background update checker — every 10 minutes
107
- const updateInterval = setInterval(() => {
108
- void checkAndApplyUpdate(addSystemMsg, exit);
109
- }, 10 * 60_000);
110
134
  return () => {
111
135
  clearInterval(balanceInterval);
112
- clearInterval(updateInterval);
113
136
  bridge.stop().catch(() => { });
114
137
  };
115
138
  }, [config, addMessage, confirmTrade]);
@@ -204,7 +227,7 @@ export function App({ config }) {
204
227
  // Save provider + base URL, then ask for API key
205
228
  const agent = loadAgent();
206
229
  if (agent) {
207
- agent.llmProvider = value;
230
+ agent.llmProvider = value === "anthropic" ? "anthropic" : "openai";
208
231
  // Set correct base URL for the provider
209
232
  const BASE_URLS = {
210
233
  openai: undefined, // default
@@ -380,43 +403,18 @@ export function App({ config }) {
380
403
  // ── Render ──────────────────────────────────────────────────────────────
381
404
  const inSettings = appMode !== "chat";
382
405
  const chatInputActive = inputActive && !tradeConfirm && !inSettings;
383
- return (_jsxs(Box, { flexDirection: "column", height: "100%", children: [_jsxs(Box, { paddingX: 1, paddingY: 0, children: [_jsxs(Text, { color: "cyan", bold: true, children: ["\u25c8", " BALCHEMY"] }), _jsxs(Text, { dimColor: true, children: [" ", "\u2502", " "] }), _jsx(Text, { dimColor: true, children: config.publicId.slice(0, 16) }), _jsxs(Text, { dimColor: true, children: [" ", "\u2502", " "] }), _jsx(Text, { color: status.sseConnected ? "green" : "yellow", bold: true, children: status.sseConnected ? "\u25cf LIVE" : "\u25cb CONNECTING" }), inSettings && (_jsxs(_Fragment, { children: [_jsxs(Text, { dimColor: true, children: [" ", "\u2502", " "] }), _jsxs(Text, { color: "yellow", bold: true, children: ["\u2699", " SETTINGS"] })] }))] }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: "\u2500".repeat(Math.max(termWidth - 4, 20)) }) }), _jsxs(Box, { flexDirection: "row", flexGrow: 1, children: [_jsx(ChatPanel, { messages: messages, onSend: handleSend, inputActive: chatInputActive, inputPlaceholder: "Send a message..." }), _jsx(StatusPanel, { status: status })] }), appMode === "settings-select" && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [_jsxs(Box, { marginBottom: 0, children: [_jsx(Text, { color: "yellow", bold: true, children: "Settings" }), settingsLoading && _jsx(Text, { dimColor: true, children: " loading..." })] }), _jsx(Select, { options: settingsOptions, onChange: handleSettingSelected }), _jsxs(Text, { dimColor: true, children: ["\u2191\u2193", " navigate ", "\u00b7", " enter select ", "\u00b7", " esc close"] })] })), appMode === "settings-edit-select" && editItem && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", bold: true, children: editItem.label }), _jsx(Select, { options: editSelectOptions, onChange: handleSelectValue }), _jsxs(Text, { dimColor: true, children: ["\u2191\u2193", " navigate ", "\u00b7", " enter select ", "\u00b7", " esc back"] })] })), appMode === "settings-edit-text" && editItem && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", bold: true, children: editItem.label }), _jsxs(Text, { dimColor: true, children: ["Current: ", settingsValues[editItem.key] ?? "?"] }), _jsxs(Box, { children: [_jsxs(Text, { color: "yellow", children: ["\u276f", " "] }), _jsx(TextInput, { placeholder: "Enter new value...", onSubmit: handleTextValue }, settingsInputKey)] })] })), appMode === "settings-edit-apikey" && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [_jsxs(Text, { color: "yellow", bold: true, children: ["API Key for ", pendingProvider] }), _jsx(Text, { dimColor: true, children: "Paste your API key (esc to skip)" }), _jsxs(Box, { children: [_jsxs(Text, { color: "yellow", children: ["\u276f", " "] }), _jsx(TextInput, { placeholder: "sk-... or key-...", onSubmit: handleApiKeyValue }, settingsInputKey)] })] })), tradeConfirm && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, paddingY: 0, children: [_jsx(Text, { color: "yellow", bold: true, children: "TRADE " }), _jsxs(Text, { color: "white", children: [tradeConfirm.preview, " "] }), _jsx(Text, { color: "yellow", children: "Confirm? " }), _jsx(TextInput, { placeholder: "y/n", onSubmit: handleConfirmInput }, confirmKey)] })), _jsx(Box, { paddingX: 1, gap: 1, children: _jsx(Text, { dimColor: true, children: "\u2500".repeat(Math.max(termWidth - 4, 20)) }) }), _jsxs(Box, { paddingX: 1, gap: 2, children: [_jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: "^S" }), _jsx(Text, { dimColor: true, children: " Settings" })] }), _jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: "^L" }), _jsx(Text, { dimColor: true, children: " Clear" })] }), _jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: "^N" }), _jsx(Text, { dimColor: true, children: " New" })] }), _jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: "^Q" }), _jsx(Text, { dimColor: true, children: " Quit" })] }), inSettings && _jsxs(Text, { children: [_jsx(Text, { color: "yellow", bold: true, children: "ESC" }), _jsx(Text, { dimColor: true, children: " Back" })] })] })] }));
384
- }
385
- // ── Background auto-update ────────────────────────────────────────────────
386
- async function checkAndApplyUpdate(addSystemMsg, exit) {
387
- try {
388
- const res = await fetch("https://registry.npmjs.org/balchemy/latest", {
389
- signal: AbortSignal.timeout(5000),
390
- });
391
- if (!res.ok)
392
- return;
393
- const data = (await res.json());
394
- const latest = data.version;
395
- if (!latest)
396
- return;
397
- const require = createRequire(import.meta.url);
398
- const pkg = require("../../package.json");
399
- if (latest === pkg.version)
400
- return;
401
- addSystemMsg(`Updating to v${latest}...`);
402
- try {
403
- execSync(`npm install -g balchemy@${latest}`, { stdio: "ignore", timeout: 30_000 });
404
- addSystemMsg(`Updated to v${latest}. Restarting...`);
405
- // Graceful restart: re-exec the CLI with same args
406
- setTimeout(() => {
407
- try {
408
- execFileSync("balchemy", process.argv.slice(2), { stdio: "inherit" });
409
- }
410
- catch { /* re-exec failed */ }
411
- process.exit(0);
412
- }, 500);
413
- }
414
- catch {
415
- // Silent — update failed, continue with current version
416
- }
417
- }
418
- catch {
419
- // Silent — network error, skip this check
420
- }
406
+ const providerLabel = status.provider ?? resolveProviderLabel(config.llmProvider, config.llmBaseUrl);
407
+ const headerModel = status.model ?? config.llmModel ?? "default";
408
+ const headerSpend = `$${status.llmCostToday.toFixed(2)} / $${status.maxDailyLlmCost.toFixed(2)}`;
409
+ const sessionBadge = getSessionBadge(status);
410
+ const sessionTone = sessionBadge.tone;
411
+ const statusTone = status.status.includes("error")
412
+ ? "danger"
413
+ : status.status === "chat-ready"
414
+ ? "brand"
415
+ : status.sseConnected
416
+ ? "live"
417
+ : "warning";
418
+ return (_jsxs(Box, { flexDirection: "column", height: "100%", children: [_jsxs(Box, { paddingX: 1, paddingY: 0, flexDirection: "column", children: [_jsxs(Box, { flexDirection: compactLayout ? "column" : "row", children: [_jsxs(Box, { children: [_jsx(HeaderBadge, { label: "BALCHEMY", tone: "brand" }), _jsx(Text, { color: "white", bold: true, children: " Agent Cockpit" })] }), !compactLayout && _jsx(Box, { flexGrow: 1 }), _jsxs(Box, { marginTop: compactLayout ? 1 : 0, children: [_jsx(HeaderBadge, { label: sessionBadge.label, tone: sessionTone }), _jsx(Text, { children: " " }), _jsx(HeaderBadge, { label: status.status.toUpperCase(), tone: statusTone }), inSettings && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(HeaderBadge, { label: "SETTINGS", tone: "warning" })] }))] })] }), compactLayout ? (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: compactId(config.publicId, 12, 5) }), _jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: providerLabel }), _jsx(Text, { dimColor: true, children: " / " }), _jsx(Text, { color: "white", children: compactId(headerModel, 18, 6) }), _jsx(Text, { dimColor: true, children: " \u00B7 LLM " }), _jsx(Text, { color: "white", children: headerSpend })] })] })) : (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: compactId(config.publicId, 12, 5) }), _jsx(Text, { dimColor: true, children: " \u00B7 " }), _jsx(Text, { color: "cyan", children: providerLabel }), _jsx(Text, { dimColor: true, children: " / " }), _jsx(Text, { color: "white", children: compactId(headerModel, 18, 6) }), _jsx(Text, { dimColor: true, children: " \u00B7 LLM " }), _jsx(Text, { color: "white", children: headerSpend })] }))] }), _jsxs(Box, { flexDirection: compactLayout ? "column" : "row", flexGrow: 1, paddingX: 1, gap: 1, children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, borderStyle: "round", borderColor: "gray", paddingY: 0, children: [_jsxs(Box, { paddingX: 1, children: [_jsx(Text, { color: "white", bold: true, children: "Activity" }), _jsx(Text, { dimColor: true, children: " chat, tool traces and live decisions" })] }), _jsx(ChatPanel, { messages: messages, onSend: handleSend, inputActive: chatInputActive, inputPlaceholder: "Ask, adjust rules, or inspect this session..." })] }), _jsx(StatusPanel, { status: status, width: statusWidth, compact: compactLayout })] }), appMode === "settings-select" && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, paddingY: 0, flexDirection: "column", marginX: 1, children: [_jsxs(Box, { marginBottom: 0, children: [_jsx(Text, { color: "white", bold: true, children: "Session Settings" }), _jsx(Text, { dimColor: true, children: " provider, limits and strategy controls" }), settingsLoading && _jsx(Text, { dimColor: true, children: " loading..." })] }), _jsx(Select, { options: settingsOptions, onChange: handleSettingSelected }), _jsx(Text, { dimColor: true, children: "Use arrows to move, Enter to edit, Esc to close." })] })), appMode === "settings-edit-select" && editItem && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, paddingY: 0, flexDirection: "column", marginX: 1, children: [_jsx(Text, { color: "white", bold: true, children: editItem.label }), _jsx(Text, { dimColor: true, children: "Select a new value for this setting." }), _jsx(Select, { options: editSelectOptions, onChange: handleSelectValue }), _jsx(Text, { dimColor: true, children: "Use arrows to move, Enter to apply, Esc to go back." })] })), appMode === "settings-edit-text" && editItem && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, paddingY: 0, flexDirection: "column", marginX: 1, children: [_jsx(Text, { color: "white", bold: true, children: editItem.label }), _jsxs(Text, { dimColor: true, children: ["Current value ", settingsValues[editItem.key] ?? "?"] }), _jsxs(Box, { children: [_jsx(Text, { color: "yellow", bold: true, children: "New" }), _jsx(Text, { dimColor: true, children: " " }), _jsx(TextInput, { placeholder: "Enter new value...", onSubmit: handleTextValue }, settingsInputKey)] })] })), appMode === "settings-edit-apikey" && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, paddingY: 0, flexDirection: "column", marginX: 1, children: [_jsxs(Text, { color: "white", bold: true, children: ["API Key for ", pendingProvider] }), _jsx(Text, { dimColor: true, children: "Paste the new key below. Esc skips this step." }), _jsxs(Box, { children: [_jsx(Text, { color: "yellow", bold: true, children: "Key" }), _jsx(Text, { dimColor: true, children: " " }), _jsx(TextInput, { placeholder: "sk-... or key-...", onSubmit: handleApiKeyValue }, settingsInputKey)] })] })), tradeConfirm && (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, paddingY: 0, flexDirection: "column", marginX: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(HeaderBadge, { label: "TRADE CHECK", tone: "warning" }), _jsx(Text, { dimColor: true, children: " review before live execution" })] }), _jsx(Text, { color: "white", wrap: "wrap", children: tradeConfirm.preview }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: "Approve" }), _jsx(Text, { dimColor: true, children: " type y or n" })] }), _jsx(Box, { marginTop: 1, children: _jsx(TextInput, { placeholder: "y or n", onSubmit: handleConfirmInput }, confirmKey) })] })), _jsx(Box, { paddingX: 1, marginTop: 1, children: _jsxs(Box, { borderStyle: "round", borderColor: "gray", paddingX: 1, flexGrow: 1, children: [_jsx(Text, { dimColor: true, children: "Commands " }), _jsx(Text, { color: "cyan", bold: true, children: "^S" }), _jsx(Text, { dimColor: true, children: " settings " }), _jsx(Text, { color: "cyan", bold: true, children: "^L" }), _jsx(Text, { dimColor: true, children: " clear " }), _jsx(Text, { color: "cyan", bold: true, children: "^N" }), _jsx(Text, { dimColor: true, children: " new " }), _jsx(Text, { color: "cyan", bold: true, children: "^Q" }), _jsx(Text, { dimColor: true, children: " quit" }), inSettings && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { color: "yellow", bold: true, children: "ESC" }), _jsx(Text, { dimColor: true, children: " back" })] }))] }) })] }));
421
419
  }
422
420
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class ChatAgent {
24
24
  private tools;
25
25
  private history;
26
26
  private readonly replayFetch;
27
+ private chatQueue;
27
28
  constructor(config: ChatAgentConfig, mcp: BalchemyMcpClient, replayFetch: typeof fetch);
28
29
  /** Fetch MCP tools and prepare system prompt. Call once on start. */
29
30
  init(): Promise<void>;
@@ -36,6 +37,8 @@ export declare class ChatAgent {
36
37
  * for user confirmation. Return true to proceed, false to cancel.
37
38
  */
38
39
  chat(userMessage: string, onToolCall?: (name: string, result: string) => void, confirmTrade?: (preview: string, args: Record<string, unknown>) => Promise<boolean>): Promise<string>;
40
+ private enqueueChat;
41
+ private runChat;
39
42
  private callLlm;
40
43
  private callOpenAi;
41
44
  private callAnthropic;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAgent.d.ts","sourceRoot":"","sources":["../../src/tui/ChatAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAqB/D,UAAU,eAAe;IACvB,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,KAAK;IAgBtF,qEAAqE;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B;;;;;;;OAOG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,EACnD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAClF,OAAO,CAAC,MAAM,CAAC;YAwEJ,OAAO;YAUP,UAAU;YA6DV,aAAa;CAiI5B"}
1
+ {"version":3,"file":"ChatAgent.d.ts","sourceRoot":"","sources":["../../src/tui/ChatAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAqB/D,UAAU,eAAe;IACvB,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,SAAS,CAAoC;gBAEzC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,KAAK;IAgBtF,qEAAqE;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B;;;;;;;OAOG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,EACnD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAClF,OAAO,CAAC,MAAM,CAAC;IAIlB,OAAO,CAAC,WAAW;YAML,OAAO;YA4EP,OAAO;YAUP,UAAU;YA6DV,aAAa;CAiI5B"}
@@ -24,6 +24,7 @@ export class ChatAgent {
24
24
  tools = [];
25
25
  history = [];
26
26
  replayFetch;
27
+ chatQueue = Promise.resolve();
27
28
  constructor(config, mcp, replayFetch) {
28
29
  this.config = config;
29
30
  this.mcp = mcp;
@@ -61,6 +62,14 @@ export class ChatAgent {
61
62
  * for user confirmation. Return true to proceed, false to cancel.
62
63
  */
63
64
  async chat(userMessage, onToolCall, confirmTrade) {
65
+ return this.enqueueChat(() => this.runChat(userMessage, onToolCall, confirmTrade));
66
+ }
67
+ enqueueChat(run) {
68
+ const next = this.chatQueue.then(run, run);
69
+ this.chatQueue = next.then(() => undefined, () => undefined);
70
+ return next;
71
+ }
72
+ async runChat(userMessage, onToolCall, confirmTrade) {
64
73
  this.history.push({ role: "user", content: userMessage });
65
74
  // Loop: call LLM → if tool calls, execute them → feed back → repeat
66
75
  const MAX_ROUNDS = 10;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAgent.js","sourceRoot":"","sources":["../../src/tui/ChatAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatAgent.js","sourceRoot":"","sources":["../../src/tui/ChatAgent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/tui/ChatPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA+F9C,UAAU,cAAc;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,gBAAgB,GACjB,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAuFrC"}
1
+ {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/tui/ChatPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgI9C,UAAU,cAAc;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,gBAAgB,GACjB,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA2FrC"}
@@ -1,31 +1,55 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- // src/tui/ChatPanel.tsx — Left-border messages + PgUp/PgDn scroll
3
- import React, { useState, useCallback, useEffect } from "react";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // src/tui/ChatPanel.tsx — Polished activity surface with compact message cards
3
+ import { useState, useCallback, useEffect, useRef } from "react";
4
4
  import { Box, Text, useInput } from "ink";
5
5
  import { TextInput } from "@inkjs/ui";
6
6
  function formatTime(ts) {
7
- return new Date(ts).toLocaleTimeString("en-GB", {
7
+ return new Date(ts).toLocaleTimeString(undefined, {
8
8
  hour: "2-digit",
9
9
  minute: "2-digit",
10
10
  });
11
11
  }
12
- // ── Message components — left-border style ───────────────────────────────────
12
+ function getSystemMeta(text) {
13
+ if (text.startsWith("Tool:")) {
14
+ return {
15
+ label: "TOOL",
16
+ color: "yellow",
17
+ body: text.replace(/^Tool:\s*/, ""),
18
+ };
19
+ }
20
+ if (text.startsWith("New token:")) {
21
+ return {
22
+ label: "EVENT",
23
+ color: "cyan",
24
+ body: text.replace(/^New token:\s*/, ""),
25
+ };
26
+ }
27
+ return {
28
+ label: "NOTE",
29
+ color: "white",
30
+ body: text,
31
+ };
32
+ }
33
+ function MessageCard({ borderColor, label, labelColor, msg, children, }) {
34
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { marginBottom: 0, children: [_jsx(Text, { color: labelColor, bold: true, children: label }), _jsxs(Text, { dimColor: true, children: [" ", formatTime(msg.timestamp)] })] }), _jsx(Box, { borderStyle: "round", borderColor: borderColor, paddingX: 1, children: children })] }));
35
+ }
13
36
  function AgentMsg({ msg }) {
14
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: "cyan", bold: true, children: ["\u2502", " "] }), _jsx(Text, { color: "cyan", bold: true, children: "AI" }), _jsxs(Text, { dimColor: true, children: [" ", formatTime(msg.timestamp)] })] }), _jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: ["\u2502", " "] }), _jsx(Text, { color: "white", wrap: "wrap", children: msg.text })] })] }));
37
+ return (_jsx(MessageCard, { borderColor: "cyan", label: "AI", labelColor: "cyan", msg: msg, children: _jsx(Text, { color: "white", wrap: "wrap", children: msg.text }) }));
15
38
  }
16
39
  function UserMsg({ msg }) {
17
- return (_jsx(Box, { flexDirection: "column", marginBottom: 0, children: _jsxs(Box, { children: [_jsxs(Text, { color: "magenta", bold: true, children: ["\u2502", " "] }), _jsx(Text, { color: "white", wrap: "wrap", children: msg.text }), _jsxs(Text, { dimColor: true, children: [" ", formatTime(msg.timestamp)] })] }) }));
40
+ return (_jsx(MessageCard, { borderColor: "yellow", label: "YOU", labelColor: "yellow", msg: msg, children: _jsx(Text, { color: "white", wrap: "wrap", children: msg.text }) }));
18
41
  }
19
42
  function SystemMsg({ msg }) {
20
- return (_jsx(Box, { marginBottom: 0, children: _jsxs(Text, { dimColor: true, children: [" ", formatTime(msg.timestamp), " ", "\u00b7", " ", msg.text] }) }));
43
+ const meta = getSystemMeta(msg.text);
44
+ return (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: meta.color, bold: true, children: meta.label }), _jsxs(Text, { dimColor: true, children: [" ", formatTime(msg.timestamp), " "] }), _jsx(Text, { dimColor: true, wrap: "wrap", children: meta.body })] }));
21
45
  }
22
46
  function TradeMsg({ msg }) {
23
47
  const isBuy = msg.action === "buy";
24
48
  const color = isBuy ? "green" : "red";
25
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: color, bold: true, children: ["\u2502", " ", isBuy ? "\u25b2 BUY" : "\u25bc SELL"] }), _jsxs(Text, { dimColor: true, children: [" ", formatTime(msg.timestamp)] })] }), _jsxs(Box, { children: [_jsxs(Text, { color: color, children: ["\u2502", " "] }), _jsx(Text, { color: color, bold: true, wrap: "wrap", children: msg.text })] })] }));
49
+ return (_jsx(MessageCard, { borderColor: color, label: isBuy ? "BUY" : "SELL", labelColor: color, msg: msg, children: _jsx(Text, { color: color, bold: true, wrap: "wrap", children: msg.text }) }));
26
50
  }
27
51
  function ErrorMsg({ msg }) {
28
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: "red", bold: true, children: ["\u2502", " "] }), _jsxs(Text, { color: "red", bold: true, children: ["\u2717", " Error"] }), _jsxs(Text, { dimColor: true, children: [" ", formatTime(msg.timestamp)] })] }), _jsxs(Box, { children: [_jsxs(Text, { color: "red", children: ["\u2502", " "] }), _jsx(Text, { color: "red", wrap: "wrap", children: msg.text })] })] }));
52
+ return (_jsx(MessageCard, { borderColor: "red", label: "ERROR", labelColor: "red", msg: msg, children: _jsx(Text, { color: "red", wrap: "wrap", children: msg.text }) }));
29
53
  }
30
54
  function MessageLine({ msg }) {
31
55
  switch (msg.type) {
@@ -42,8 +66,8 @@ const SCROLL_STEP = 5;
42
66
  export function ChatPanel({ messages, onSend, inputActive, inputPlaceholder, }) {
43
67
  const [inputKey, setInputKey] = useState(0);
44
68
  const [scrollOffset, setScrollOffset] = useState(0);
69
+ const prevCount = useRef(messages.length);
45
70
  // Auto-scroll to bottom on new messages (only if already at bottom)
46
- const prevCount = React.useRef(messages.length);
47
71
  useEffect(() => {
48
72
  if (messages.length > prevCount.current && scrollOffset === 0) {
49
73
  // Already at bottom — stay there (no-op)
@@ -79,6 +103,6 @@ export function ChatPanel({ messages, onSend, inputActive, inputPlaceholder, })
79
103
  await onSend(value.trim());
80
104
  }
81
105
  }, [onSend]);
82
- return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [hasOlder && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { dimColor: true, children: ["\u2191", " ", start, " older messages \u2014 PgUp to scroll"] }) })), _jsxs(Box, { flexDirection: "column", flexGrow: 1, overflowY: "hidden", paddingX: 1, justifyContent: "flex-end", children: [visibleMessages.length === 0 && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: " Waiting for agent..." }) })), visibleMessages.map((msg) => (_jsx(MessageLine, { msg: msg }, msg.id)))] }), !isAtBottom && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { dimColor: true, children: ["\u2193", " ", scrollOffset, " newer messages \u2014 PgDn to scroll"] }) })), _jsxs(Box, { paddingX: 1, paddingY: 0, children: [_jsxs(Text, { color: "cyan", bold: true, children: ["\u276f", " "] }), inputActive ? (_jsx(TextInput, { placeholder: inputPlaceholder ?? "Send a message...", onSubmit: handleSubmit }, inputKey)) : (_jsx(Text, { dimColor: true, children: "Starting agent..." }))] })] }));
106
+ return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [hasOlder && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { dimColor: true, children: ["\u2191", " ", start, " earlier items \u00B7 PgUp scrolls history"] }) })), _jsxs(Box, { flexDirection: "column", flexGrow: 1, overflowY: "hidden", paddingX: 1, justifyContent: "flex-end", children: [visibleMessages.length === 0 && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "white", bold: true, children: "No activity yet" }), _jsx(Text, { dimColor: true, children: "Agent replies, live decisions and tool traces will appear here." })] })), visibleMessages.map((msg) => (_jsx(MessageLine, { msg: msg }, msg.id)))] }), !isAtBottom && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { dimColor: true, children: ["\u2193", " ", scrollOffset, " newer items \u00B7 PgDn jumps back down"] }) })), _jsx(Box, { paddingX: 1, paddingY: 0, children: _jsxs(Box, { borderStyle: "round", borderColor: inputActive ? "cyan" : "gray", paddingX: 1, flexGrow: 1, children: [_jsx(Text, { color: inputActive ? "cyan" : "gray", bold: true, children: "Prompt" }), _jsx(Text, { dimColor: true, children: " " }), inputActive ? (_jsx(TextInput, { placeholder: inputPlaceholder ?? "Ask, adjust rules, or inspect the session...", onSubmit: handleSubmit }, inputKey)) : (_jsx(Text, { dimColor: true, children: "Starting agent session..." }))] }) })] }));
83
107
  }
84
108
  //# sourceMappingURL=ChatPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../src/tui/ChatPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../src/tui/ChatPanel.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import React from "react";
2
2
  import type { StatusData } from "./types.js";
3
3
  interface StatusPanelProps {
4
4
  status: StatusData;
5
+ width?: number;
6
+ compact?: boolean;
5
7
  }
6
- export declare function StatusPanel({ status }: StatusPanelProps): React.ReactElement;
8
+ export declare function StatusPanel({ status, width, compact, }: StatusPanelProps): React.ReactElement;
7
9
  export {};
8
10
  //# sourceMappingURL=StatusPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusPanel.d.ts","sourceRoot":"","sources":["../../src/tui/StatusPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuB7C,UAAU,gBAAgB;IACxB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAmF5E"}
1
+ {"version":3,"file":"StatusPanel.d.ts","sourceRoot":"","sources":["../../src/tui/StatusPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAiE7C,UAAU,gBAAgB;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,KAAU,EACV,OAAe,GAChB,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAkGvC"}
@@ -1,10 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
- function Divider() {
4
- return (_jsx(Box, { marginY: 0, children: _jsx(Text, { dimColor: true, children: "\u2500".repeat(24) }) }));
3
+ import { getSessionBadge } from "./status-view.js";
4
+ function Divider({ width = 24 }) {
5
+ return (_jsx(Box, { marginY: 0, children: _jsx(Text, { dimColor: true, children: "-".repeat(width) }) }));
5
6
  }
6
- function truncate(s, len) {
7
- return s.length > len ? s.slice(0, len - 1) + "\u2026" : s;
7
+ function truncateMiddle(value, head, tail) {
8
+ if (value.length <= head + tail + 1)
9
+ return value;
10
+ return `${value.slice(0, head)}...${value.slice(-tail)}`;
8
11
  }
9
12
  function formatUptime(ms) {
10
13
  const s = Math.floor(ms / 1000);
@@ -16,7 +19,23 @@ function formatUptime(ms) {
16
19
  return `${m}m ${s % 60}s`;
17
20
  return `${s}s`;
18
21
  }
19
- export function StatusPanel({ status }) {
20
- return (_jsxs(Box, { flexDirection: "column", width: 28, borderStyle: "round", borderColor: "gray", paddingX: 1, children: [_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: status.sseConnected ? "green" : "yellow", bold: true, children: [status.sseConnected ? "\u25cf" : "\u25cb", " "] }), _jsx(Text, { color: status.sseConnected ? "green" : "yellow", bold: true, children: status.sseConnected ? "Connected" : "Connecting" })] }), _jsxs(Text, { dimColor: true, children: [" ", status.status] })] }), _jsx(Divider, {}), status.provider && (_jsxs(_Fragment, { children: [_jsx(Box, { flexDirection: "column", children: _jsxs(Text, { dimColor: true, children: [status.provider, "/", truncate(status.model ?? "default", 16)] }) }), _jsx(Divider, {})] })), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "green", bold: true, children: [status.balanceSol.toFixed(4), " SOL"] }), _jsxs(Text, { dimColor: true, children: ["~$", status.balanceUsd.toFixed(2)] })] }), _jsx(Divider, {}), _jsxs(Box, { flexDirection: "column", children: [status.wallets.map((w) => (_jsxs(Text, { dimColor: true, children: [w.chain === "solana" ? "\u25c6" : "\u25c7", " ", truncate(w.address, 18)] }, w.chain))), status.wallets.length === 0 && _jsx(Text, { dimColor: true, children: "No wallets" })] }), _jsx(Divider, {}), _jsxs(Box, { flexDirection: "column", children: [status.activeTrades.length === 0 && _jsx(Text, { dimColor: true, children: "No trades" }), status.activeTrades.slice(0, 3).map((t, i) => (_jsxs(Text, { color: t.action === "buy" ? "green" : "red", children: [t.action === "buy" ? "\u25b2" : "\u25bc", " ", truncate(t.token, 10), " ", t.amount] }, `${t.token}-${i}`))), status.activeTrades.length > 3 && (_jsxs(Text, { dimColor: true, children: ["+", status.activeTrades.length - 3, " more"] }))] }), _jsx(Divider, {}), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: [status.eventsReceived, " events ", "\u00b7", " ", status.tradesExecuted, " trades"] }), _jsxs(Text, { dimColor: true, children: ["$", status.llmCostToday.toFixed(3), " / $", status.maxDailyLlmCost] }), _jsxs(Text, { dimColor: true, children: [formatUptime(status.uptime), " uptime"] })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "^S settings ^L clear" }), _jsx(Text, { dimColor: true, children: "^Q quit ^N new" })] })] }));
22
+ function meter(value, max, width) {
23
+ const safeMax = max > 0 ? max : 1;
24
+ const ratio = Math.max(0, Math.min(value / safeMax, 1));
25
+ const filled = Math.round(ratio * width);
26
+ return `${"=".repeat(filled)}${"-".repeat(Math.max(width - filled, 0))}`;
27
+ }
28
+ function SectionTitle({ title, subtitle, }) {
29
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "white", bold: true, children: title }), subtitle && _jsx(Text, { dimColor: true, children: subtitle })] }));
30
+ }
31
+ function StatRow({ label, value, valueColor = "white", }) {
32
+ return (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: label }), _jsx(Text, { children: " " }), _jsx(Text, { color: valueColor, children: value })] }));
33
+ }
34
+ export function StatusPanel({ status, width = 30, compact = false, }) {
35
+ const dividerWidth = compact ? 18 : Math.max(width - 4, 18);
36
+ const spendWidth = compact ? 12 : 16;
37
+ const isLowBalance = status.balanceSol < 0.01;
38
+ const sessionBadge = getSessionBadge(status);
39
+ return (_jsxs(Box, { flexDirection: "column", width: compact ? undefined : width, borderStyle: "round", borderColor: "gray", paddingX: 1, paddingY: 0, children: [_jsx(SectionTitle, { title: "Control", subtitle: "health, balances and live limits" }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { children: _jsx(Text, { color: sessionBadge.tone === "live" ? "green" : sessionBadge.tone === "danger" ? "red" : sessionBadge.tone === "brand" ? "cyan" : "yellow", bold: true, children: sessionBadge.label }) }), _jsx(Text, { dimColor: true, children: status.status }), status.provider && (_jsxs(Text, { dimColor: true, children: [status.provider, " / ", truncateMiddle(status.model ?? "default", compact ? 10 : 13, 4)] }))] }), _jsx(Divider, { width: dividerWidth }), _jsx(SectionTitle, { title: "Balance" }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { color: "green", bold: true, children: [status.balanceSol.toFixed(4), " SOL"] }), _jsxs(Text, { dimColor: true, children: ["$", status.balanceUsd.toFixed(2), " USD"] }), isLowBalance && _jsx(Text, { color: "yellow", children: "Low balance for live execution" })] }), _jsx(Divider, { width: dividerWidth }), _jsx(SectionTitle, { title: "Wallets" }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [status.wallets.map((wallet) => (_jsxs(Box, { children: [_jsx(Text, { color: wallet.chain === "solana" ? "cyan" : "yellow", bold: true, children: wallet.chain === "solana" ? "SOL" : "BASE" }), _jsxs(Text, { dimColor: true, children: [" ", truncateMiddle(wallet.address, compact ? 8 : 10, 5)] })] }, wallet.chain))), status.wallets.length === 0 && _jsx(Text, { dimColor: true, children: "No wallets connected yet" })] }), _jsx(Divider, { width: dividerWidth }), _jsx(SectionTitle, { title: "Activity" }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(StatRow, { label: "Events", value: String(status.eventsReceived), valueColor: "cyan" }), _jsx(StatRow, { label: "Decisions", value: String(status.decisionsExecuted) }), _jsx(StatRow, { label: "Trades", value: String(status.tradesExecuted), valueColor: "green" }), _jsx(StatRow, { label: "Uptime", value: formatUptime(status.uptime) })] }), _jsx(Divider, { width: dividerWidth }), _jsx(SectionTitle, { title: "Positions" }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [status.activeTrades.length === 0 && _jsx(Text, { dimColor: true, children: "No live positions" }), status.activeTrades.slice(0, 3).map((trade, index) => (_jsxs(Box, { children: [_jsx(Text, { color: trade.action === "buy" ? "green" : "red", bold: true, children: trade.action === "buy" ? "BUY" : "SELL" }), _jsxs(Text, { dimColor: true, children: [" ", truncateMiddle(trade.token, compact ? 6 : 7, 3), " ", trade.amount] })] }, `${trade.token}-${index}`))), status.activeTrades.length > 3 && (_jsxs(Text, { dimColor: true, children: ["+", status.activeTrades.length - 3, " more positions"] }))] }), _jsx(Divider, { width: dividerWidth }), _jsx(SectionTitle, { title: "LLM Spend" }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", children: meter(status.llmCostToday, status.maxDailyLlmCost, spendWidth) }), _jsxs(Text, { dimColor: true, children: ["$", status.llmCostToday.toFixed(2), " used of $", status.maxDailyLlmCost.toFixed(2)] }), _jsx(Text, { dimColor: true, children: "Balance refresh runs every 60s" })] })] }));
21
40
  }
22
41
  //# sourceMappingURL=StatusPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusPanel.js","sourceRoot":"","sources":["../../src/tui/StatusPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusPanel.js","sourceRoot":"","sources":["../../src/tui/StatusPanel.tsx"],"names":[],"mappings":"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"}