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.
- package/.github/workflows/ci.yml +3 -0
- package/.github/workflows/rc-publish.yml +6 -0
- package/.github/workflows/release.yml +102 -0
- package/.github/workflows/sync-version.yml +31 -2
- package/README.md +1408 -109
- package/additions.txt +3 -0
- package/bun.lock +260 -25
- package/dist/agent/autonomous-trader.d.ts.map +1 -0
- package/dist/agent/autonomous-trader.js +362 -0
- package/dist/agent/autonomous-trader.js.map +1 -0
- package/dist/agent/ax-agent.d.ts.map +1 -1
- package/dist/agent/ax-agent.js +356 -18
- package/dist/agent/ax-agent.js.map +1 -1
- package/dist/agent/event-client.d.ts.map +1 -0
- package/dist/agent/event-client.js +82 -0
- package/dist/agent/event-client.js.map +1 -0
- package/dist/agent/log-stream.d.ts.map +1 -0
- package/dist/agent/log-stream.js +95 -0
- package/dist/agent/log-stream.js.map +1 -0
- package/dist/agent/memory/conversation-session.d.ts.map +1 -0
- package/dist/agent/memory/conversation-session.js +232 -0
- package/dist/agent/memory/conversation-session.js.map +1 -0
- package/dist/agent/memory/conversation-store.d.ts.map +1 -0
- package/dist/agent/memory/conversation-store.js +214 -0
- package/dist/agent/memory/conversation-store.js.map +1 -0
- package/dist/agent/memory/database-schema.d.ts.map +1 -0
- package/dist/agent/memory/database-schema.js +355 -0
- package/dist/agent/memory/database-schema.js.map +1 -0
- package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
- package/dist/agent/memory/decision-tracker.js +274 -0
- package/dist/agent/memory/decision-tracker.js.map +1 -0
- package/dist/agent/memory/memory-manager.d.ts.map +1 -0
- package/dist/agent/memory/memory-manager.js +187 -0
- package/dist/agent/memory/memory-manager.js.map +1 -0
- package/dist/agent/memory/types.d.ts.map +1 -0
- package/dist/agent/memory/types.js +5 -0
- package/dist/agent/memory/types.js.map +1 -0
- package/dist/agent/message-formatter.d.ts.map +1 -0
- package/dist/agent/message-formatter.js +76 -0
- package/dist/agent/message-formatter.js.map +1 -0
- package/dist/agent/position-db.d.ts.map +1 -0
- package/dist/agent/position-db.js +154 -0
- package/dist/agent/position-db.js.map +1 -0
- package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
- package/dist/agent/simple-chat-ui-static.js +129 -0
- package/dist/agent/simple-chat-ui-static.js.map +1 -0
- package/dist/agent/simple-chat-ui.d.ts.map +1 -0
- package/dist/agent/simple-chat-ui.js +90 -0
- package/dist/agent/simple-chat-ui.js.map +1 -0
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +297 -4
- package/dist/agent/tools.js.map +1 -1
- package/dist/agent/ui.d.ts.map +1 -0
- package/dist/agent/ui.js +84 -0
- package/dist/agent/ui.js.map +1 -0
- package/dist/agent/unified-runtime.d.ts.map +1 -0
- package/dist/agent/unified-runtime.js +397 -0
- package/dist/agent/unified-runtime.js.map +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +272 -21
- package/dist/client.js.map +1 -1
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +187 -33
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +125 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/approve.d.ts.map +1 -0
- package/dist/commands/approve.js +505 -0
- package/dist/commands/approve.js.map +1 -0
- package/dist/commands/automation.d.ts.map +1 -0
- package/dist/commands/automation.js +346 -0
- package/dist/commands/automation.js.map +1 -0
- package/dist/commands/balances.d.ts.map +1 -1
- package/dist/commands/balances.js +226 -73
- package/dist/commands/balances.js.map +1 -1
- package/dist/commands/buy.d.ts.map +1 -1
- package/dist/commands/buy.js +149 -146
- package/dist/commands/buy.js.map +1 -1
- package/dist/commands/call.d.ts.map +1 -0
- package/dist/commands/call.js +51 -0
- package/dist/commands/call.js.map +1 -0
- package/dist/commands/cex.d.ts.map +1 -0
- package/dist/commands/cex.js +958 -0
- package/dist/commands/cex.js.map +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +169 -411
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/claim.d.ts.map +1 -1
- package/dist/commands/claim.js +313 -29
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +151 -43
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/gasless-swap.d.ts.map +1 -0
- package/dist/commands/gasless-swap.js +232 -0
- package/dist/commands/gasless-swap.js.map +1 -0
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +63 -7
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +131 -47
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/launchpad.d.ts.map +1 -0
- package/dist/commands/launchpad.js +708 -0
- package/dist/commands/launchpad.js.map +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +57 -23
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/market.d.ts.map +1 -0
- package/dist/commands/market.js +960 -0
- package/dist/commands/market.js.map +1 -0
- package/dist/commands/mcp-install.d.ts.map +1 -0
- package/dist/commands/mcp-install.js +387 -0
- package/dist/commands/mcp-install.js.map +1 -0
- package/dist/commands/opps.d.ts.map +1 -0
- package/dist/commands/opps.js +409 -0
- package/dist/commands/opps.js.map +1 -0
- package/dist/commands/perps.d.ts.map +1 -0
- package/dist/commands/perps.js +248 -0
- package/dist/commands/perps.js.map +1 -0
- package/dist/commands/portfolio.d.ts.map +1 -0
- package/dist/commands/portfolio.js +679 -0
- package/dist/commands/portfolio.js.map +1 -0
- package/dist/commands/positions.d.ts.map +1 -1
- package/dist/commands/positions.js +76 -47
- package/dist/commands/positions.js.map +1 -1
- package/dist/commands/predict.d.ts.map +1 -0
- package/dist/commands/predict.js +280 -0
- package/dist/commands/predict.js.map +1 -0
- package/dist/commands/predictions.d.ts.map +1 -0
- package/dist/commands/predictions.js +486 -0
- package/dist/commands/predictions.js.map +1 -0
- package/dist/commands/risk.d.ts.map +1 -0
- package/dist/commands/risk.js +225 -0
- package/dist/commands/risk.js.map +1 -0
- package/dist/commands/security.d.ts.map +1 -0
- package/dist/commands/security.js +244 -0
- package/dist/commands/security.js.map +1 -0
- package/dist/commands/sell.d.ts.map +1 -1
- package/dist/commands/sell.js +67 -34
- package/dist/commands/sell.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -0
- package/dist/commands/send.js +733 -0
- package/dist/commands/send.js.map +1 -0
- package/dist/commands/sign.d.ts.map +1 -0
- package/dist/commands/sign.js +1048 -0
- package/dist/commands/sign.js.map +1 -0
- package/dist/commands/swap.d.ts.map +1 -0
- package/dist/commands/swap.js +744 -0
- package/dist/commands/swap.js.map +1 -0
- package/dist/commands/system.d.ts.map +1 -0
- package/dist/commands/system.js +417 -0
- package/dist/commands/system.js.map +1 -0
- package/dist/commands/tools/index.d.ts.map +1 -0
- package/dist/commands/tools/index.js +2040 -0
- package/dist/commands/tools/index.js.map +1 -0
- package/dist/commands/trade.d.ts.map +1 -0
- package/dist/commands/trade.js +237 -0
- package/dist/commands/trade.js.map +1 -0
- package/dist/commands/transactions.d.ts.map +1 -1
- package/dist/commands/transactions.js +29 -17
- package/dist/commands/transactions.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +429 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +351 -40
- package/dist/config.js.map +1 -1
- package/dist/index.js +4524 -924
- package/dist/index.js.map +1 -1
- package/dist/interactive/art.d.ts.map +1 -1
- package/dist/interactive/art.js +33 -1
- package/dist/interactive/art.js.map +1 -1
- package/dist/interactive/shell.d.ts.map +1 -1
- package/dist/interactive/shell.js +467 -2652
- package/dist/interactive/shell.js.map +1 -1
- package/dist/mcp/context.d.ts.map +1 -0
- package/dist/mcp/context.js +211 -0
- package/dist/mcp/context.js.map +1 -0
- package/dist/mcp/onboarding.d.ts.map +1 -0
- package/dist/mcp/onboarding.js +266 -0
- package/dist/mcp/onboarding.js.map +1 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +222 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +51 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +4119 -169
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/types/agent-info.d.ts.map +1 -0
- package/dist/types/agent-info.js +11 -0
- package/dist/types/agent-info.js.map +1 -0
- package/dist/ui/components/ScrollableList.d.ts.map +1 -0
- package/dist/ui/components/ScrollableList.js +72 -0
- package/dist/ui/components/ScrollableList.js.map +1 -0
- package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
- package/dist/ui/components/ThemeProvider.js +87 -0
- package/dist/ui/components/ThemeProvider.js.map +1 -0
- package/dist/ui/components/ThemedBox.d.ts.map +1 -0
- package/dist/ui/components/ThemedBox.js +24 -0
- package/dist/ui/components/ThemedBox.js.map +1 -0
- package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
- package/dist/ui/components/agent/ChatHeader.js +39 -0
- package/dist/ui/components/agent/ChatHeader.js.map +1 -0
- package/dist/ui/components/agent/Header.d.ts.map +1 -0
- package/dist/ui/components/agent/Header.js +14 -0
- package/dist/ui/components/agent/Header.js.map +1 -0
- package/dist/ui/components/agent/Input.d.ts.map +1 -0
- package/dist/ui/components/agent/Input.js +23 -0
- package/dist/ui/components/agent/Input.js.map +1 -0
- package/dist/ui/components/agent/Output.d.ts.map +1 -0
- package/dist/ui/components/agent/Output.js +23 -0
- package/dist/ui/components/agent/Output.js.map +1 -0
- package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
- package/dist/ui/components/chat/TokenChatUI.js +133 -0
- package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
- package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellHeader.js +31 -0
- package/dist/ui/components/shell/ShellHeader.js.map +1 -0
- package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellInput.js +151 -0
- package/dist/ui/components/shell/ShellInput.js.map +1 -0
- package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellOutput.js +8 -0
- package/dist/ui/components/shell/ShellOutput.js.map +1 -0
- package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
- package/dist/ui/hooks/useChatWebSocket.js +76 -0
- package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
- package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
- package/dist/ui/hooks/useCommandHistory.js +70 -0
- package/dist/ui/hooks/useCommandHistory.js.map +1 -0
- package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
- package/dist/ui/hooks/useDebounce.js +17 -0
- package/dist/ui/hooks/useDebounce.js.map +1 -0
- package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
- package/dist/ui/hooks/useLogStream.js +20 -0
- package/dist/ui/hooks/useLogStream.js.map +1 -0
- package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
- package/dist/ui/hooks/useVirtualScroll.js +70 -0
- package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
- package/dist/utils/admin.d.ts.map +1 -0
- package/dist/utils/admin.js +144 -0
- package/dist/utils/admin.js.map +1 -0
- package/dist/utils/autoSetup.d.ts.map +1 -0
- package/dist/utils/autoSetup.js +252 -0
- package/dist/utils/autoSetup.js.map +1 -0
- package/dist/utils/build-constants.d.ts.map +1 -0
- package/dist/utils/build-constants.js +10 -0
- package/dist/utils/build-constants.js.map +1 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +10 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +46 -9
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/llm-cli-config.d.ts.map +1 -0
- package/dist/utils/llm-cli-config.js +963 -0
- package/dist/utils/llm-cli-config.js.map +1 -0
- package/dist/utils/llm-cli-detector.d.ts.map +1 -0
- package/dist/utils/llm-cli-detector.js +202 -0
- package/dist/utils/llm-cli-detector.js.map +1 -0
- package/dist/utils/loading.d.ts.map +1 -1
- package/dist/utils/loading.js +25 -3
- package/dist/utils/loading.js.map +1 -1
- package/dist/utils/maintenance.d.ts.map +1 -0
- package/dist/utils/maintenance.js +17 -0
- package/dist/utils/maintenance.js.map +1 -0
- package/dist/utils/mcp-config.d.ts.map +1 -0
- package/dist/utils/mcp-config.js +77 -0
- package/dist/utils/mcp-config.js.map +1 -0
- package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
- package/dist/utils/privateKeyPrompt.js +308 -129
- package/dist/utils/privateKeyPrompt.js.map +1 -1
- package/dist/utils/process-cleanup.d.ts.map +1 -0
- package/dist/utils/process-cleanup.js +136 -0
- package/dist/utils/process-cleanup.js.map +1 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +56 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/rpc-helpers.d.ts.map +1 -0
- package/dist/utils/rpc-helpers.js +70 -0
- package/dist/utils/rpc-helpers.js.map +1 -0
- package/dist/utils/rpc-transport.d.ts.map +1 -0
- package/dist/utils/rpc-transport.js +87 -0
- package/dist/utils/rpc-transport.js.map +1 -0
- package/dist/utils/shell-setup.d.ts.map +1 -0
- package/dist/utils/shell-setup.js +531 -0
- package/dist/utils/shell-setup.js.map +1 -0
- package/dist/utils/status.d.ts.map +1 -1
- package/dist/utils/status.js +34 -5
- package/dist/utils/status.js.map +1 -1
- package/dist/utils/token-resolver.d.ts.map +1 -1
- package/dist/utils/token-resolver.js +51 -8
- package/dist/utils/token-resolver.js.map +1 -1
- package/dist/utils/x402-caller.d.ts.map +1 -0
- package/dist/utils/x402-caller.js +17 -0
- package/dist/utils/x402-caller.js.map +1 -0
- package/docs/README.md +28 -0
- package/docs/agent/README.md +18 -0
- package/docs/api/README.md +41 -0
- package/docs/cli/README.md +42 -0
- package/docs/guides/README.md +26 -0
- package/docs/implementation/README.md +18 -0
- package/docs/planning/README.md +19 -0
- package/docs/testing/README.md +15 -0
- package/docs/ux/README.md +16 -0
- package/issues.txt +2 -0
- package/package.json +24 -9
- package/scripts/cat-spin.sh +417 -0
- package/scripts/deprecate-rc-versions.js +58 -0
- package/scripts/inject-build-constants.js +43 -0
- package/scripts/monitor-foobar.js +117 -0
- package/swap.logs +61 -0
- package/swapping.txt +108 -0
- package/test.txt +12 -0
- package/tests/fixtures/test-data.json +16 -0
- package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for managing command history with up/down arrow navigation
|
|
3
|
+
* Similar to bash history
|
|
4
|
+
*/
|
|
5
|
+
import { useState } from 'react';
|
|
6
|
+
const MAX_HISTORY = 100;
|
|
7
|
+
export function useCommandHistory() {
|
|
8
|
+
const [history, setHistory] = useState([]);
|
|
9
|
+
const [index, setIndex] = useState(-1);
|
|
10
|
+
const [tempInput, setTempInput] = useState('');
|
|
11
|
+
const [currentInput, setCurrentInput] = useState('');
|
|
12
|
+
const navigateUp = () => {
|
|
13
|
+
if (history.length === 0)
|
|
14
|
+
return;
|
|
15
|
+
if (index === -1) {
|
|
16
|
+
// Save current input before navigating
|
|
17
|
+
setTempInput(currentInput);
|
|
18
|
+
setIndex(history.length - 1);
|
|
19
|
+
}
|
|
20
|
+
else if (index > 0) {
|
|
21
|
+
setIndex(index - 1);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const navigateDown = () => {
|
|
25
|
+
if (index === -1)
|
|
26
|
+
return;
|
|
27
|
+
if (index < history.length - 1) {
|
|
28
|
+
setIndex(index + 1);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// Back to current input
|
|
32
|
+
setIndex(-1);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const addCommand = (command) => {
|
|
36
|
+
const trimmed = command.trim();
|
|
37
|
+
if (!trimmed)
|
|
38
|
+
return;
|
|
39
|
+
// Don't add duplicate consecutive commands
|
|
40
|
+
if (history.length > 0 && history[history.length - 1] === trimmed) {
|
|
41
|
+
setIndex(-1);
|
|
42
|
+
setTempInput('');
|
|
43
|
+
setCurrentInput('');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
setHistory((prev) => [...prev.slice(-MAX_HISTORY + 1), trimmed]);
|
|
47
|
+
setIndex(-1);
|
|
48
|
+
setTempInput('');
|
|
49
|
+
setCurrentInput('');
|
|
50
|
+
};
|
|
51
|
+
const setCurrentCommand = (command) => {
|
|
52
|
+
setCurrentInput(command);
|
|
53
|
+
};
|
|
54
|
+
const reset = () => {
|
|
55
|
+
setIndex(-1);
|
|
56
|
+
setTempInput('');
|
|
57
|
+
setCurrentInput('');
|
|
58
|
+
};
|
|
59
|
+
// Determine current command based on history navigation
|
|
60
|
+
const currentCommand = index === -1 ? currentInput : history[index];
|
|
61
|
+
return {
|
|
62
|
+
currentCommand,
|
|
63
|
+
addCommand,
|
|
64
|
+
navigateUp,
|
|
65
|
+
navigateDown,
|
|
66
|
+
setCurrentCommand,
|
|
67
|
+
reset,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=useCommandHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCommandHistory.js","sourceRoot":"","sources":["../../../src/ui/hooks/useCommandHistory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,WAAW,GAAG,GAAG,CAAC;AAWxB,MAAM,UAAU,iBAAiB;IAC/B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,uCAAuC;YACvC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC3B,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO;QAEzB,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,2CAA2C;QAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAClE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACb,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,eAAe,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC5C,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACb,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,eAAe,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,wDAAwD;IACxD,MAAM,cAAc,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO;QACL,cAAc;QACd,UAAU;QACV,UAAU;QACV,YAAY;QACZ,iBAAiB;QACjB,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useDebounce.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAczD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debounce hook to reduce re-renders
|
|
3
|
+
*/
|
|
4
|
+
import { useState, useEffect } from 'react';
|
|
5
|
+
export function useDebounce(value, delay) {
|
|
6
|
+
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const handler = setTimeout(() => {
|
|
9
|
+
setDebouncedValue(value);
|
|
10
|
+
}, delay);
|
|
11
|
+
return () => {
|
|
12
|
+
clearTimeout(handler);
|
|
13
|
+
};
|
|
14
|
+
}, [value, delay]);
|
|
15
|
+
return debouncedValue;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../../src/ui/hooks/useDebounce.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAa;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAI,KAAK,CAAC,CAAC;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLogStream.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useLogStream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvE,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,EAAE,CAiB/D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for subscribing to LogStream messages
|
|
3
|
+
* Automatically subscribes on mount and unsubscribes on unmount
|
|
4
|
+
*/
|
|
5
|
+
import { useState, useEffect } from 'react';
|
|
6
|
+
export function useLogStream(logStream) {
|
|
7
|
+
const [messages, setMessages] = useState([]);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
// Subscribe to new messages
|
|
10
|
+
const unsubscribe = logStream.subscribe((msg) => {
|
|
11
|
+
setMessages((prev) => [...prev, msg]);
|
|
12
|
+
});
|
|
13
|
+
// Load existing history
|
|
14
|
+
setMessages(logStream.getHistory());
|
|
15
|
+
// Cleanup subscription on unmount
|
|
16
|
+
return unsubscribe;
|
|
17
|
+
}, [logStream]);
|
|
18
|
+
return messages;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=useLogStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLogStream.js","sourceRoot":"","sources":["../../../src/ui/hooks/useLogStream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,UAAU,YAAY,CAAC,SAAoB;IAC/C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE;QACb,4BAA4B;QAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;QAEpC,kCAAkC;QAClC,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVirtualScroll.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useVirtualScroll.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,KAAK,EAAE,CAAC,EAAE,EACV,cAAc,GAAE,MAAW,GAC1B,mBAAmB,CAAC,CAAC,CAAC,CA0ExB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for virtual scrolling with auto-scroll support
|
|
3
|
+
* Manages scroll offset and visible items
|
|
4
|
+
*/
|
|
5
|
+
import { useState, useEffect } from 'react';
|
|
6
|
+
export function useVirtualScroll(items, viewportHeight = 20) {
|
|
7
|
+
const [scrollOffset, setScrollOffset] = useState(0);
|
|
8
|
+
const [autoScrollEnabled, setAutoScrollEnabled] = useState(true);
|
|
9
|
+
// Auto-scroll to bottom when new items added
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (autoScrollEnabled && items.length > 0) {
|
|
12
|
+
const maxOffset = Math.max(0, items.length - viewportHeight);
|
|
13
|
+
setScrollOffset(maxOffset);
|
|
14
|
+
}
|
|
15
|
+
}, [items.length, viewportHeight, autoScrollEnabled]);
|
|
16
|
+
const maxOffset = Math.max(0, items.length - viewportHeight);
|
|
17
|
+
const scrollUp = () => {
|
|
18
|
+
setAutoScrollEnabled(false);
|
|
19
|
+
setScrollOffset((prev) => Math.max(0, prev - 1));
|
|
20
|
+
};
|
|
21
|
+
const scrollDown = () => {
|
|
22
|
+
setScrollOffset((prev) => {
|
|
23
|
+
const next = Math.min(maxOffset, prev + 1);
|
|
24
|
+
if (next === maxOffset) {
|
|
25
|
+
setAutoScrollEnabled(true);
|
|
26
|
+
}
|
|
27
|
+
return next;
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
const scrollPageUp = () => {
|
|
31
|
+
setAutoScrollEnabled(false);
|
|
32
|
+
setScrollOffset((prev) => Math.max(0, prev - viewportHeight));
|
|
33
|
+
};
|
|
34
|
+
const scrollPageDown = () => {
|
|
35
|
+
setScrollOffset((prev) => {
|
|
36
|
+
const next = Math.min(maxOffset, prev + viewportHeight);
|
|
37
|
+
if (next === maxOffset) {
|
|
38
|
+
setAutoScrollEnabled(true);
|
|
39
|
+
}
|
|
40
|
+
return next;
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
const scrollToTop = () => {
|
|
44
|
+
setAutoScrollEnabled(false);
|
|
45
|
+
setScrollOffset(0);
|
|
46
|
+
};
|
|
47
|
+
const scrollToBottom = () => {
|
|
48
|
+
setScrollOffset(maxOffset);
|
|
49
|
+
setAutoScrollEnabled(true);
|
|
50
|
+
};
|
|
51
|
+
// Calculate visible items
|
|
52
|
+
const visibleItems = items.slice(scrollOffset, scrollOffset + viewportHeight);
|
|
53
|
+
// Calculate scroll percentage
|
|
54
|
+
const scrollPercentage = maxOffset > 0 ? Math.round((scrollOffset / maxOffset) * 100) : 100;
|
|
55
|
+
return {
|
|
56
|
+
visibleItems,
|
|
57
|
+
scrollPercentage,
|
|
58
|
+
scrollOffset,
|
|
59
|
+
setScrollOffset,
|
|
60
|
+
scrollUp,
|
|
61
|
+
scrollDown,
|
|
62
|
+
scrollPageUp,
|
|
63
|
+
scrollPageDown,
|
|
64
|
+
scrollToTop,
|
|
65
|
+
scrollToBottom,
|
|
66
|
+
isAutoScrollEnabled: autoScrollEnabled,
|
|
67
|
+
setAutoScrollEnabled,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=useVirtualScroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVirtualScroll.js","sourceRoot":"","sources":["../../../src/ui/hooks/useVirtualScroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/utils/admin.ts"],"names":[],"mappings":"AA+BA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUvD;AAqDD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAwB3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAmB5C"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { config } from "../config.js";
|
|
2
|
+
import { BUILD_AUTHORIZED_WALLETS, BUILD_ADMIN_COMMANDS } from "./build-constants.js";
|
|
3
|
+
/**
|
|
4
|
+
* Get authorized wallet addresses from build-time constants, environment variable, or config
|
|
5
|
+
* @returns Array of authorized wallet addresses (case-insensitive comparison)
|
|
6
|
+
*/
|
|
7
|
+
function getAuthorizedWallets() {
|
|
8
|
+
// Priority: build-time constant > environment variable > config file
|
|
9
|
+
let walletsStr = BUILD_AUTHORIZED_WALLETS || process.env.AUTHORIZED_WALLETS;
|
|
10
|
+
// Fall back to config file if neither build constant nor env var is set
|
|
11
|
+
if (!walletsStr) {
|
|
12
|
+
try {
|
|
13
|
+
walletsStr = config.get("authorizedWallets");
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// Config might not be initialized or field doesn't exist
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (!walletsStr) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
// Parse comma-separated list, trim whitespace, filter empty strings
|
|
23
|
+
return walletsStr
|
|
24
|
+
.split(",")
|
|
25
|
+
.map((addr) => addr.trim())
|
|
26
|
+
.filter((addr) => addr.length > 0);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if an address is an authorized/admin address
|
|
30
|
+
* @param address - The address to check (will be normalized to lowercase)
|
|
31
|
+
* @returns true if the address is in the authorized wallets list
|
|
32
|
+
*/
|
|
33
|
+
export function isAdminAddress(address) {
|
|
34
|
+
if (!address)
|
|
35
|
+
return false;
|
|
36
|
+
const authorizedWallets = getAuthorizedWallets();
|
|
37
|
+
if (authorizedWallets.length === 0) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
const normalizedAddress = address.toLowerCase();
|
|
41
|
+
return authorizedWallets.some((walletAddr) => walletAddr.toLowerCase() === normalizedAddress);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Default admin-only commands when HTTPCAT_ADMIN_COMMANDS is not set.
|
|
45
|
+
* These commands will be hidden from non-admin users by default.
|
|
46
|
+
*/
|
|
47
|
+
const DEFAULT_ADMIN_COMMANDS = [
|
|
48
|
+
"account",
|
|
49
|
+
"env",
|
|
50
|
+
"agent",
|
|
51
|
+
"cat",
|
|
52
|
+
"portfolio",
|
|
53
|
+
"tools",
|
|
54
|
+
"market",
|
|
55
|
+
"security",
|
|
56
|
+
"risk",
|
|
57
|
+
"opps",
|
|
58
|
+
"automation",
|
|
59
|
+
"send",
|
|
60
|
+
"approve",
|
|
61
|
+
"trade.perps",
|
|
62
|
+
"trade.predictions",
|
|
63
|
+
"system.balances",
|
|
64
|
+
"cex",
|
|
65
|
+
"perps",
|
|
66
|
+
"predictions",
|
|
67
|
+
"create",
|
|
68
|
+
"claim",
|
|
69
|
+
"gasless-submit",
|
|
70
|
+
"gasless-submit-our",
|
|
71
|
+
"address",
|
|
72
|
+
"abi",
|
|
73
|
+
"tx",
|
|
74
|
+
"signature",
|
|
75
|
+
"multicall",
|
|
76
|
+
"nonce",
|
|
77
|
+
"gas",
|
|
78
|
+
"key",
|
|
79
|
+
"batch",
|
|
80
|
+
"gasless-quote",
|
|
81
|
+
"gasless-status",
|
|
82
|
+
"status",
|
|
83
|
+
"limits",
|
|
84
|
+
"sources",
|
|
85
|
+
"usdc",
|
|
86
|
+
"sol",
|
|
87
|
+
"wbtc",
|
|
88
|
+
"cbbtc",
|
|
89
|
+
"chat",
|
|
90
|
+
"trade",
|
|
91
|
+
"system",
|
|
92
|
+
];
|
|
93
|
+
/**
|
|
94
|
+
* Get the list of admin-only commands from build-time constants, environment variable, or config
|
|
95
|
+
* @returns Array of command names that should be admin-only
|
|
96
|
+
* If HTTPCAT_ADMIN_COMMANDS is not set, returns a default list
|
|
97
|
+
*/
|
|
98
|
+
export function getAdminCommands() {
|
|
99
|
+
// Priority: build-time constant > environment variable > config file
|
|
100
|
+
let commandsStr = BUILD_ADMIN_COMMANDS || process.env.HTTPCAT_ADMIN_COMMANDS;
|
|
101
|
+
// Fall back to config file if neither build constant nor env var is set
|
|
102
|
+
if (!commandsStr) {
|
|
103
|
+
try {
|
|
104
|
+
commandsStr = config.get("adminCommands");
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Config might not be initialized or field doesn't exist
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (!commandsStr) {
|
|
111
|
+
// Return default list when neither build constant, env var, nor config is set
|
|
112
|
+
// This ensures commands are hidden by default for non-admins
|
|
113
|
+
return DEFAULT_ADMIN_COMMANDS;
|
|
114
|
+
}
|
|
115
|
+
// Parse comma-separated list, trim whitespace, filter empty strings
|
|
116
|
+
return commandsStr
|
|
117
|
+
.split(",")
|
|
118
|
+
.map((cmd) => cmd.trim())
|
|
119
|
+
.filter((cmd) => cmd.length > 0);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Check if the currently connected account is an admin
|
|
123
|
+
* @returns true if the active account address matches an admin address
|
|
124
|
+
*/
|
|
125
|
+
export function isCurrentUserAdmin() {
|
|
126
|
+
try {
|
|
127
|
+
// Check if wallet is configured
|
|
128
|
+
if (!config.isConfigured()) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
// Get active account
|
|
132
|
+
const activeAccount = config.getActiveAccount();
|
|
133
|
+
if (!activeAccount) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
// Check if address is admin
|
|
137
|
+
return isAdminAddress(activeAccount.address);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
// If anything fails (no accounts, config error, etc.), treat as non-admin
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/utils/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoSetup.d.ts","sourceRoot":"","sources":["../../src/utils/autoSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyCH;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAqEvD"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-Setup Wallet
|
|
3
|
+
*
|
|
4
|
+
* Automatically generates a seed phrase for new users without prompts.
|
|
5
|
+
* Displays the derived address prominently and provides comprehensive
|
|
6
|
+
* security messaging.
|
|
7
|
+
*/
|
|
8
|
+
import chalk from "chalk";
|
|
9
|
+
import inquirer from "inquirer";
|
|
10
|
+
import { config } from "../config.js";
|
|
11
|
+
import { generateSeedPhrase, seedPhraseToPrivateKey, getAddressFromPrivateKey, } from "./wallet.js";
|
|
12
|
+
import { checkBalance } from "../commands/balances.js";
|
|
13
|
+
import { printCat } from "../interactive/art.js";
|
|
14
|
+
/**
|
|
15
|
+
* Strip ANSI escape codes from a string to get the actual visual length
|
|
16
|
+
*/
|
|
17
|
+
function stripAnsiCodes(str) {
|
|
18
|
+
// eslint-disable-next-line no-control-regex
|
|
19
|
+
return str.replace(/\x1b\[[0-9;]*[a-zA-Z]/g, "");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get the visual length of a string (without ANSI codes)
|
|
23
|
+
*/
|
|
24
|
+
function visualLength(str) {
|
|
25
|
+
return stripAnsiCodes(str).length;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Format address with truncation for display
|
|
29
|
+
*/
|
|
30
|
+
function formatAddressShort(address, length) {
|
|
31
|
+
if (address.length <= length) {
|
|
32
|
+
return address;
|
|
33
|
+
}
|
|
34
|
+
const start = address.slice(0, length);
|
|
35
|
+
const end = address.slice(-4);
|
|
36
|
+
return `${start}...${end}`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Automatically set up a wallet for a new user
|
|
40
|
+
* @returns The derived wallet address
|
|
41
|
+
*/
|
|
42
|
+
export async function autoSetupWallet() {
|
|
43
|
+
// Generate 12-word seed phrase
|
|
44
|
+
const seedPhrase = generateSeedPhrase(12);
|
|
45
|
+
// Derive first account (index 0) from seed phrase
|
|
46
|
+
const privateKey = seedPhraseToPrivateKey(seedPhrase, 0);
|
|
47
|
+
const address = getAddressFromPrivateKey(privateKey);
|
|
48
|
+
// Display welcome with prominent address
|
|
49
|
+
displayWelcomeWithAddress(address);
|
|
50
|
+
// Display security warnings
|
|
51
|
+
displaySecurityWarning(address);
|
|
52
|
+
// Display seed phrase with backup instructions
|
|
53
|
+
await displaySeedPhraseBackup(seedPhrase);
|
|
54
|
+
// Prompt for optional password
|
|
55
|
+
const password = await promptForOptionalPassword();
|
|
56
|
+
// Save seed phrase with password (empty string if no password)
|
|
57
|
+
config.setEncryptedSeedPhrase(seedPhrase, password);
|
|
58
|
+
// Create Account 1 (first seed-derived account)
|
|
59
|
+
const existingAccounts = config.getAllAccounts();
|
|
60
|
+
const account1Exists = existingAccounts.some((acc) => acc.index === 1);
|
|
61
|
+
if (!account1Exists) {
|
|
62
|
+
config.addAccount({
|
|
63
|
+
type: "seed",
|
|
64
|
+
index: 1,
|
|
65
|
+
address,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
// Set password if provided
|
|
69
|
+
if (password) {
|
|
70
|
+
config.setPassword(password);
|
|
71
|
+
}
|
|
72
|
+
// Set Account 1 as active
|
|
73
|
+
config.setActiveAccount(1);
|
|
74
|
+
// Show balances for the new account
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(chalk.dim("💾 Saving configuration..."));
|
|
77
|
+
console.log();
|
|
78
|
+
const activeAccount = config.getActiveAccount();
|
|
79
|
+
if (activeAccount) {
|
|
80
|
+
const activePrivateKey = config.getAccountPrivateKey(1);
|
|
81
|
+
const balance = await checkBalance(activePrivateKey, true);
|
|
82
|
+
console.log(chalk.bold.cyan("💰 Wallet Balances:"));
|
|
83
|
+
console.log();
|
|
84
|
+
console.log(chalk.dim(" ETH: ") + chalk.yellow(balance.ethFormatted));
|
|
85
|
+
console.log(chalk.dim(" USDC: ") + chalk.green(`$${balance.usdcFormatted}`));
|
|
86
|
+
if (balance.cat402Formatted !== undefined) {
|
|
87
|
+
console.log(chalk.dim(" CAT: ") + chalk.magenta(balance.cat402Formatted));
|
|
88
|
+
}
|
|
89
|
+
console.log();
|
|
90
|
+
}
|
|
91
|
+
console.log(chalk.green("✅ Wallet configured successfully!"));
|
|
92
|
+
console.log(chalk.dim(" Config saved to:") + " " + chalk.cyan(config.getConfigPath()));
|
|
93
|
+
console.log();
|
|
94
|
+
return address;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Display welcome message with prominent address display
|
|
98
|
+
*/
|
|
99
|
+
function displayWelcomeWithAddress(address) {
|
|
100
|
+
console.log();
|
|
101
|
+
// Display party cat
|
|
102
|
+
printCat("party");
|
|
103
|
+
// Welcome banner box (80 chars wide)
|
|
104
|
+
const boxWidth = 80;
|
|
105
|
+
const welcomeText = "🐱 Welcome to httpcat!";
|
|
106
|
+
const welcomeTextLength = visualLength(welcomeText);
|
|
107
|
+
const padding = Math.floor((boxWidth - welcomeTextLength - 2) / 2);
|
|
108
|
+
const leftPadding = " ".repeat(padding);
|
|
109
|
+
const rightPadding = " ".repeat(boxWidth - welcomeTextLength - padding - 2);
|
|
110
|
+
console.log(chalk.cyan.bold("╔" + "═".repeat(boxWidth - 2) + "╗"));
|
|
111
|
+
console.log(chalk.cyan.bold("║") + " ".repeat(boxWidth - 2) + chalk.cyan.bold("║"));
|
|
112
|
+
console.log(chalk.cyan.bold("║") + leftPadding + welcomeText + rightPadding + chalk.cyan.bold("║"));
|
|
113
|
+
console.log(chalk.cyan.bold("║") + " ".repeat(boxWidth - 2) + chalk.cyan.bold("║"));
|
|
114
|
+
console.log(chalk.cyan.bold("╚" + "═".repeat(boxWidth - 2) + "╝"));
|
|
115
|
+
console.log();
|
|
116
|
+
console.log(chalk.bold.green("✨ Your wallet has been automatically created! ✨"));
|
|
117
|
+
console.log();
|
|
118
|
+
console.log(chalk.bold.yellow("📍 Send USDC or ETH to this address:"));
|
|
119
|
+
console.log();
|
|
120
|
+
// Display address in a prominent box (80 chars wide)
|
|
121
|
+
const addressLength = visualLength(address);
|
|
122
|
+
const addressPadding = Math.floor((boxWidth - addressLength - 2) / 2);
|
|
123
|
+
const addressLeftPadding = " ".repeat(addressPadding);
|
|
124
|
+
const addressRightPadding = " ".repeat(boxWidth - addressLength - addressPadding - 2);
|
|
125
|
+
console.log(chalk.cyan("┌" + "─".repeat(boxWidth - 2) + "┐"));
|
|
126
|
+
console.log(chalk.cyan("│") + " ".repeat(boxWidth - 2) + chalk.cyan("│"));
|
|
127
|
+
console.log(chalk.cyan("│") + addressLeftPadding + chalk.bold.cyan(address) + addressRightPadding + chalk.cyan("│"));
|
|
128
|
+
console.log(chalk.cyan("│") + " ".repeat(boxWidth - 2) + chalk.cyan("│"));
|
|
129
|
+
console.log(chalk.cyan("└" + "─".repeat(boxWidth - 2) + "┘"));
|
|
130
|
+
console.log();
|
|
131
|
+
// Show truncated address for easy copying
|
|
132
|
+
console.log(chalk.dim(" Short format: ") + chalk.cyan(formatAddressShort(address, 12)));
|
|
133
|
+
console.log(chalk.dim(" Full address: ") + chalk.cyan(address));
|
|
134
|
+
console.log();
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Display comprehensive security and privacy information
|
|
138
|
+
*/
|
|
139
|
+
function displaySecurityWarning(address) {
|
|
140
|
+
console.log(chalk.bold.cyan("🔐 Security & Privacy Information"));
|
|
141
|
+
console.log();
|
|
142
|
+
console.log(chalk.bold.yellow("⚠️ CRITICAL: Your seed phrase was generated locally on THIS computer"));
|
|
143
|
+
console.log();
|
|
144
|
+
console.log(chalk.white(" • Your seed phrase was generated using cryptographically secure random"));
|
|
145
|
+
console.log(chalk.white(" number generation on your local machine"));
|
|
146
|
+
console.log(chalk.white(" • It has NEVER been and will NEVER be transmitted to any server,"));
|
|
147
|
+
console.log(chalk.white(" third party, or external service"));
|
|
148
|
+
console.log(chalk.white(" • Your seed phrase is stored locally at:"));
|
|
149
|
+
console.log(chalk.cyan(` ${config.getConfigPath()}`));
|
|
150
|
+
console.log(chalk.white(" • All cryptographic operations (key generation, signing) happen"));
|
|
151
|
+
console.log(chalk.white(" entirely on your device"));
|
|
152
|
+
console.log();
|
|
153
|
+
console.log(chalk.bold.red("⚠️ WARNING: If you lose your seed phrase, you will permanently"));
|
|
154
|
+
console.log(chalk.bold.red(" lose access to your wallet and all funds"));
|
|
155
|
+
console.log();
|
|
156
|
+
console.log(chalk.white(" • Backup your seed phrase in a secure location:"));
|
|
157
|
+
console.log(chalk.white(" - Password manager (1Password, Bitwarden, etc.)"));
|
|
158
|
+
console.log(chalk.white(" - Hardware wallet backup"));
|
|
159
|
+
console.log(chalk.white(" - Physical safe or secure location"));
|
|
160
|
+
console.log(chalk.white(" • Never share your seed phrase with anyone"));
|
|
161
|
+
console.log(chalk.white(" • Never enter it on any website or application"));
|
|
162
|
+
console.log();
|
|
163
|
+
console.log(chalk.bold.cyan("🔑 Password Protection (Optional)"));
|
|
164
|
+
console.log();
|
|
165
|
+
console.log(chalk.white(" • Password protection is optional"));
|
|
166
|
+
console.log(chalk.white(" • Press Enter during password prompt to skip password"));
|
|
167
|
+
console.log(chalk.white(" • Your keys will still be encrypted even without a password"));
|
|
168
|
+
console.log(chalk.white(" • If you set a password, you'll need it to unlock your wallet"));
|
|
169
|
+
console.log(chalk.white(" for transactions (session timeout: 15 minutes)"));
|
|
170
|
+
console.log();
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Display seed phrase with backup instructions
|
|
174
|
+
*/
|
|
175
|
+
async function displaySeedPhraseBackup(seedPhrase) {
|
|
176
|
+
console.log(chalk.bold.red("⚠️ BACKUP YOUR SEED PHRASE NOW"));
|
|
177
|
+
console.log();
|
|
178
|
+
console.log(chalk.yellow(" Write down these 12 words in the exact order shown:"));
|
|
179
|
+
console.log();
|
|
180
|
+
// Display seed phrase in a box (80 chars wide)
|
|
181
|
+
const boxWidth = 80;
|
|
182
|
+
const words = seedPhrase.split(" ");
|
|
183
|
+
const wordsPerRow = 3;
|
|
184
|
+
const rows = Math.ceil(words.length / wordsPerRow);
|
|
185
|
+
console.log(chalk.cyan("┌" + "─".repeat(boxWidth - 2) + "┐"));
|
|
186
|
+
console.log(chalk.cyan("│") + " ".repeat(boxWidth - 2) + chalk.cyan("│"));
|
|
187
|
+
for (let i = 0; i < rows; i++) {
|
|
188
|
+
const rowWords = words.slice(i * wordsPerRow, (i + 1) * wordsPerRow);
|
|
189
|
+
const rowParts = rowWords.map((word, idx) => {
|
|
190
|
+
const num = i * wordsPerRow + idx + 1;
|
|
191
|
+
return `${chalk.dim(num.toString().padStart(2, "0") + ".")} ${chalk.bold.cyan(word)}`;
|
|
192
|
+
});
|
|
193
|
+
// Join with consistent spacing (3 spaces between items)
|
|
194
|
+
const rowText = rowParts.join(" ");
|
|
195
|
+
const rowTextLength = visualLength(rowText);
|
|
196
|
+
const padding = boxWidth - rowTextLength - 3; // 3 = │ + space + space
|
|
197
|
+
const leftPadding = " "; // 2 spaces for left padding
|
|
198
|
+
const rightPadding = " ".repeat(Math.max(0, padding - 2));
|
|
199
|
+
console.log(chalk.cyan("│") + leftPadding + rowText + rightPadding + chalk.cyan("│"));
|
|
200
|
+
}
|
|
201
|
+
console.log(chalk.cyan("│") + " ".repeat(boxWidth - 2) + chalk.cyan("│"));
|
|
202
|
+
console.log(chalk.cyan("└" + "─".repeat(boxWidth - 2) + "┘"));
|
|
203
|
+
console.log();
|
|
204
|
+
// Confirm they saved it
|
|
205
|
+
const confirmed = await inquirer.prompt([
|
|
206
|
+
{
|
|
207
|
+
type: "confirm",
|
|
208
|
+
name: "saved",
|
|
209
|
+
message: chalk.yellow("Have you written down your seed phrase in a secure location?"),
|
|
210
|
+
default: false,
|
|
211
|
+
},
|
|
212
|
+
]);
|
|
213
|
+
if (!confirmed.saved) {
|
|
214
|
+
console.log();
|
|
215
|
+
console.log(chalk.yellow("🐱 The cat wants you to be safe! Please write it down first."));
|
|
216
|
+
throw new Error("You must save your seed phrase before continuing.");
|
|
217
|
+
}
|
|
218
|
+
console.log();
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Prompt for optional password
|
|
222
|
+
*/
|
|
223
|
+
async function promptForOptionalPassword() {
|
|
224
|
+
console.log(chalk.bold.cyan("🔐 Password Protection (Optional)"));
|
|
225
|
+
console.log();
|
|
226
|
+
console.log(chalk.dim(" • Set a password to encrypt your wallet"));
|
|
227
|
+
console.log(chalk.dim(" • Press Enter to skip password (your keys will still be encrypted)"));
|
|
228
|
+
console.log(chalk.dim(" • You'll be prompted to unlock when needed\n"));
|
|
229
|
+
const answers = await inquirer.prompt([
|
|
230
|
+
{
|
|
231
|
+
type: "password",
|
|
232
|
+
name: "password",
|
|
233
|
+
message: "Enter password (optional - press Enter to skip):",
|
|
234
|
+
mask: "•",
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
type: "password",
|
|
238
|
+
name: "confirmPassword",
|
|
239
|
+
message: "Confirm password (or press Enter to skip):",
|
|
240
|
+
mask: "•",
|
|
241
|
+
when: (answers) => answers.password !== "",
|
|
242
|
+
},
|
|
243
|
+
]);
|
|
244
|
+
if (answers.password) {
|
|
245
|
+
if (answers.password !== answers.confirmPassword) {
|
|
246
|
+
throw new Error("Passwords do not match");
|
|
247
|
+
}
|
|
248
|
+
return answers.password;
|
|
249
|
+
}
|
|
250
|
+
return "";
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=autoSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoSetup.js","sourceRoot":"","sources":["../../src/utils/autoSetup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-constants.d.ts","sourceRoot":"","sources":["../../src/utils/build-constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,wBAAwB,EAAE,MAAM,GAAG,SAAqB,CAAC;AACtE,eAAO,MAAM,oBAAoB,EAAE,MAAM,GAAG,SAAqB,CAAC"}
|