balchemy 0.1.23 → 0.2.0
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/README.md +19 -4
- package/dist/colors.d.ts +37 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +58 -0
- package/dist/colors.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +170 -43
- package/dist/index.js.map +1 -1
- package/dist/terminal-logo.d.ts.map +1 -1
- package/dist/terminal-logo.js +9 -14
- package/dist/terminal-logo.js.map +1 -1
- package/dist/tui/AgentBridge.d.ts +3 -0
- package/dist/tui/AgentBridge.d.ts.map +1 -1
- package/dist/tui/AgentBridge.js +239 -41
- package/dist/tui/AgentBridge.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +6 -15
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/ChatAgent.d.ts +3 -0
- package/dist/tui/ChatAgent.d.ts.map +1 -1
- package/dist/tui/ChatAgent.js +59 -17
- package/dist/tui/ChatAgent.js.map +1 -1
- package/dist/tui/ChatPanel.d.ts +2 -1
- package/dist/tui/ChatPanel.d.ts.map +1 -1
- package/dist/tui/ChatPanel.js +19 -7
- package/dist/tui/ChatPanel.js.map +1 -1
- package/dist/tui/SecretInput.d.ts +9 -0
- package/dist/tui/SecretInput.d.ts.map +1 -0
- package/dist/tui/SecretInput.js +32 -0
- package/dist/tui/SecretInput.js.map +1 -0
- package/dist/tui/Wizard.d.ts +20 -0
- package/dist/tui/Wizard.d.ts.map +1 -0
- package/dist/tui/Wizard.js +400 -0
- package/dist/tui/Wizard.js.map +1 -0
- package/dist/tui/setup-guidance.d.ts +3 -0
- package/dist/tui/setup-guidance.d.ts.map +1 -1
- package/dist/tui/setup-guidance.js +29 -10
- package/dist/tui/setup-guidance.js.map +1 -1
- package/dist/tui/start-wizard.d.ts +2 -0
- package/dist/tui/start-wizard.d.ts.map +1 -0
- package/dist/tui/start-wizard.js +30 -0
- package/dist/tui/start-wizard.js.map +1 -0
- package/dist/tui/utils.d.ts +3 -0
- package/dist/tui/utils.d.ts.map +1 -0
- package/dist/tui/utils.js +14 -0
- package/dist/tui/utils.js.map +1 -0
- package/dist/wizard.js +1 -1
- package/dist/wizard.js.map +1 -1
- package/package.json +7 -6
- package/templates/agent.config.yaml +71 -0
- package/LICENSE +0 -21
package/README.md
CHANGED
|
@@ -46,10 +46,14 @@ The interactive wizard walks you through:
|
|
|
46
46
|
4. **Start the 24/7 agent loop** — your LLM monitors markets and trades autonomously
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
npx balchemy
|
|
50
|
-
npx balchemy init
|
|
51
|
-
npx balchemy start
|
|
52
|
-
npx balchemy
|
|
49
|
+
npx balchemy # Setup wizard or resume cached agent
|
|
50
|
+
npx balchemy init # Force new setup wizard
|
|
51
|
+
npx balchemy start # Start from agent.config.yaml
|
|
52
|
+
npx balchemy list # List saved agents
|
|
53
|
+
npx balchemy docker # Generate Docker files for deployment
|
|
54
|
+
npx balchemy --help # Show full usage info
|
|
55
|
+
npx balchemy --version # Show version
|
|
56
|
+
npx balchemy --no-color # Disable colored output (also: NO_COLOR=1)
|
|
53
57
|
```
|
|
54
58
|
|
|
55
59
|
## What You Can Do
|
|
@@ -163,6 +167,17 @@ When you bind your EVM wallet during setup, your agent appears in your [Balchemy
|
|
|
163
167
|
- **Behavior rules** — hard constraints that even your LLM cannot override
|
|
164
168
|
- **Pre-trade safety checks** — RugCheck, honeypot detection, contract verification
|
|
165
169
|
|
|
170
|
+
## TUI Keyboard Shortcuts
|
|
171
|
+
|
|
172
|
+
| Shortcut | Action |
|
|
173
|
+
|----------|--------|
|
|
174
|
+
| `^S` | Open settings panel |
|
|
175
|
+
| `^L` | Clear chat history |
|
|
176
|
+
| `^N` | New agent (return to launcher) |
|
|
177
|
+
| `^Q` | Quit |
|
|
178
|
+
| `PgUp/PgDn` | Scroll message history |
|
|
179
|
+
| `Esc` | Go back (settings/wizard) |
|
|
180
|
+
|
|
166
181
|
## Requirements
|
|
167
182
|
|
|
168
183
|
- Node.js 18+
|
package/dist/colors.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared ANSI color constants and color-awareness logic.
|
|
3
|
+
*
|
|
4
|
+
* All CLI modules import from here instead of defining their own
|
|
5
|
+
* escape sequences. Respects NO_COLOR, TERM=dumb, --no-color, and
|
|
6
|
+
* non-TTY stdout per clig.dev best practices.
|
|
7
|
+
*/
|
|
8
|
+
/** Call once at startup if --no-color was passed. */
|
|
9
|
+
export declare function setNoColor(): void;
|
|
10
|
+
export declare function isColorEnabled(): boolean;
|
|
11
|
+
/** Teal — primary brand */
|
|
12
|
+
export declare function teal(): string;
|
|
13
|
+
/** Dark teal — subtle variant */
|
|
14
|
+
export declare function darkTeal(): string;
|
|
15
|
+
/** Gold — accent / warnings */
|
|
16
|
+
export declare function gold(): string;
|
|
17
|
+
/** White bold */
|
|
18
|
+
export declare function white(): string;
|
|
19
|
+
/** Dim gray — secondary text */
|
|
20
|
+
export declare function dim(): string;
|
|
21
|
+
/** Green — success */
|
|
22
|
+
export declare function green(): string;
|
|
23
|
+
/** Red — error */
|
|
24
|
+
export declare function red(): string;
|
|
25
|
+
/** Reset */
|
|
26
|
+
export declare function reset(): string;
|
|
27
|
+
export declare const C: {
|
|
28
|
+
readonly T: string;
|
|
29
|
+
readonly DT: string;
|
|
30
|
+
readonly G: string;
|
|
31
|
+
readonly W: string;
|
|
32
|
+
readonly D: string;
|
|
33
|
+
readonly R: string;
|
|
34
|
+
readonly OK: string;
|
|
35
|
+
readonly ERR: string;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,qDAAqD;AACrD,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAQD,2BAA2B;AAC3B,wBAAgB,IAAI,IAAI,MAAM,CAAwC;AACtE,iCAAiC;AACjC,wBAAgB,QAAQ,IAAI,MAAM,CAAwC;AAC1E,+BAA+B;AAC/B,wBAAgB,IAAI,IAAI,MAAM,CAAwC;AACtE,iBAAiB;AACjB,wBAAgB,KAAK,IAAI,MAAM,CAA8B;AAC7D,gCAAgC;AAChC,wBAAgB,GAAG,IAAI,MAAM,CAAkC;AAC/D,sBAAsB;AACtB,wBAAgB,KAAK,IAAI,MAAM,CAA8B;AAC7D,kBAAkB;AAClB,wBAAgB,GAAG,IAAI,MAAM,CAA8B;AAC3D,YAAY;AACZ,wBAAgB,KAAK,IAAI,MAAM,CAA2B;AAM1D,eAAO,MAAM,CAAC;;;;;;;;;CASJ,CAAC"}
|
package/dist/colors.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared ANSI color constants and color-awareness logic.
|
|
3
|
+
*
|
|
4
|
+
* All CLI modules import from here instead of defining their own
|
|
5
|
+
* escape sequences. Respects NO_COLOR, TERM=dumb, --no-color, and
|
|
6
|
+
* non-TTY stdout per clig.dev best practices.
|
|
7
|
+
*/
|
|
8
|
+
// ── Color disable detection ──────────────────────────────────────────────────
|
|
9
|
+
let forceNoColor = false;
|
|
10
|
+
/** Call once at startup if --no-color was passed. */
|
|
11
|
+
export function setNoColor() {
|
|
12
|
+
forceNoColor = true;
|
|
13
|
+
}
|
|
14
|
+
export function isColorEnabled() {
|
|
15
|
+
if (forceNoColor)
|
|
16
|
+
return false;
|
|
17
|
+
if (process.env.NO_COLOR !== undefined && process.env.NO_COLOR !== "")
|
|
18
|
+
return false;
|
|
19
|
+
if (process.env.TERM === "dumb")
|
|
20
|
+
return false;
|
|
21
|
+
if (!process.stdout.isTTY)
|
|
22
|
+
return false;
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
// ── Brand color codes ────────────────────────────────────────────────────────
|
|
26
|
+
function esc(code) {
|
|
27
|
+
return isColorEnabled() ? code : "";
|
|
28
|
+
}
|
|
29
|
+
/** Teal — primary brand */
|
|
30
|
+
export function teal() { return esc("\x1b[38;2;0;172;176m"); }
|
|
31
|
+
/** Dark teal — subtle variant */
|
|
32
|
+
export function darkTeal() { return esc("\x1b[38;2;0;120;124m"); }
|
|
33
|
+
/** Gold — accent / warnings */
|
|
34
|
+
export function gold() { return esc("\x1b[38;2;186;115;6m"); }
|
|
35
|
+
/** White bold */
|
|
36
|
+
export function white() { return esc("\x1b[1;37m"); }
|
|
37
|
+
/** Dim gray — secondary text */
|
|
38
|
+
export function dim() { return esc("\x1b[38;5;245m"); }
|
|
39
|
+
/** Green — success */
|
|
40
|
+
export function green() { return esc("\x1b[1;32m"); }
|
|
41
|
+
/** Red — error */
|
|
42
|
+
export function red() { return esc("\x1b[1;31m"); }
|
|
43
|
+
/** Reset */
|
|
44
|
+
export function reset() { return esc("\x1b[0m"); }
|
|
45
|
+
// ── Shorthand constants (backward compatible) ────────────────────────────────
|
|
46
|
+
// These are evaluated at call time, not import time, so they respect runtime
|
|
47
|
+
// NO_COLOR changes. Use the functions above for new code.
|
|
48
|
+
export const C = {
|
|
49
|
+
get T() { return teal(); },
|
|
50
|
+
get DT() { return darkTeal(); },
|
|
51
|
+
get G() { return gold(); },
|
|
52
|
+
get W() { return white(); },
|
|
53
|
+
get D() { return dim(); },
|
|
54
|
+
get R() { return reset(); },
|
|
55
|
+
get OK() { return green(); },
|
|
56
|
+
get ERR() { return red(); },
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gFAAgF;AAEhF,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,qDAAqD;AACrD,MAAM,UAAU,UAAU;IACxB,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,YAAY;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpF,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAEhF,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,KAAa,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACtE,iCAAiC;AACjC,MAAM,UAAU,QAAQ,KAAa,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAC1E,+BAA+B;AAC/B,MAAM,UAAU,IAAI,KAAa,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACtE,iBAAiB;AACjB,MAAM,UAAU,KAAK,KAAa,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC7D,gCAAgC;AAChC,MAAM,UAAU,GAAG,KAAa,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC/D,sBAAsB;AACtB,MAAM,UAAU,KAAK,KAAa,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC7D,kBAAkB;AAClB,MAAM,UAAU,GAAG,KAAa,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC3D,YAAY;AACZ,MAAM,UAAU,KAAK,KAAa,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE1D,gFAAgF;AAChF,6EAA6E;AAC7E,0DAA0D;AAE1D,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,IAAI,CAAC,KAAK,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,KAAK,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;CACnB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
* init / --init Force run wizard (ignore cache)
|
|
12
12
|
* start [config] Start from agent.config.yaml
|
|
13
13
|
* docker [outDir] Generate Docker files
|
|
14
|
+
* list List saved agents
|
|
15
|
+
*
|
|
16
|
+
* Flags:
|
|
17
|
+
* --help, -h Show help
|
|
18
|
+
* --version, -v Show version
|
|
19
|
+
* --no-color Disable colored output
|
|
14
20
|
*/
|
|
15
21
|
export {};
|
|
16
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG"}
|
package/dist/index.js
CHANGED
|
@@ -11,28 +11,57 @@
|
|
|
11
11
|
* init / --init Force run wizard (ignore cache)
|
|
12
12
|
* start [config] Start from agent.config.yaml
|
|
13
13
|
* docker [outDir] Generate Docker files
|
|
14
|
+
* list List saved agents
|
|
15
|
+
*
|
|
16
|
+
* Flags:
|
|
17
|
+
* --help, -h Show help
|
|
18
|
+
* --version, -v Show version
|
|
19
|
+
* --no-color Disable colored output
|
|
14
20
|
*/
|
|
15
21
|
import * as path from "path";
|
|
16
22
|
import * as readline from "readline";
|
|
23
|
+
import { createRequire } from "module";
|
|
17
24
|
import { loadAgent, listAgents, setActiveAgent, } from "./agent-store.js";
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
const
|
|
25
|
+
import { C, setNoColor } from "./colors.js";
|
|
26
|
+
// ── Version ──────────────────────────────────────────────────────────────────
|
|
27
|
+
const require = createRequire(import.meta.url);
|
|
28
|
+
const CLI_VERSION = require("../package.json").version ?? "unknown";
|
|
29
|
+
// ── Argv parsing ─────────────────────────────────────────────────────────────
|
|
30
|
+
const rawArgs = process.argv.slice(2);
|
|
31
|
+
const flags = new Set();
|
|
32
|
+
const positional = [];
|
|
33
|
+
for (const arg of rawArgs) {
|
|
34
|
+
if (arg === "--no-color") {
|
|
35
|
+
setNoColor();
|
|
36
|
+
flags.add(arg);
|
|
37
|
+
}
|
|
38
|
+
else if (arg === "--help" || arg === "-h")
|
|
39
|
+
flags.add("--help");
|
|
40
|
+
else if (arg === "--version" || arg === "-v")
|
|
41
|
+
flags.add("--version");
|
|
42
|
+
else if (arg === "--init")
|
|
43
|
+
positional.push("init");
|
|
44
|
+
else
|
|
45
|
+
positional.push(arg);
|
|
46
|
+
}
|
|
47
|
+
const cmd = positional[0];
|
|
48
|
+
const args = positional.slice(1);
|
|
49
|
+
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
50
|
+
function stderr(msg) {
|
|
51
|
+
process.stderr.write(msg);
|
|
52
|
+
}
|
|
24
53
|
function printSummaryBlock(title, rows) {
|
|
25
54
|
const maxLabel = rows.reduce((acc, row) => Math.max(acc, row.label.length), 0);
|
|
26
|
-
process.stdout.write(` ${T}${title}${R}\n`);
|
|
55
|
+
process.stdout.write(` ${C.T}${title}${C.R}\n`);
|
|
27
56
|
for (const row of rows) {
|
|
28
|
-
process.stdout.write(` ${D}${row.label.padEnd(maxLabel)}${R} ${row.value}\n`);
|
|
57
|
+
process.stdout.write(` ${C.D}${row.label.padEnd(maxLabel)}${C.R} ${row.value}\n`);
|
|
29
58
|
}
|
|
30
|
-
process.stdout.write(` ${D}${"-".repeat(54)}${R}\n`);
|
|
59
|
+
process.stdout.write(` ${C.D}${"-".repeat(54)}${C.R}\n`);
|
|
31
60
|
}
|
|
32
61
|
function ask(rl, question, defaultVal = "") {
|
|
33
62
|
return new Promise((resolve) => {
|
|
34
|
-
const hint = defaultVal ? ` ${D}[${defaultVal}]${R}` : "";
|
|
35
|
-
rl.question(` ${T}${question}${R}${hint}: `, (answer) => {
|
|
63
|
+
const hint = defaultVal ? ` ${C.D}[${defaultVal}]${C.R}` : "";
|
|
64
|
+
rl.question(` ${C.T}${question}${C.R}${hint}: `, (answer) => {
|
|
36
65
|
resolve(answer.trim() || defaultVal);
|
|
37
66
|
});
|
|
38
67
|
});
|
|
@@ -58,6 +87,7 @@ function mostRecentAgent(agents) {
|
|
|
58
87
|
return (Number.isFinite(bTime) ? bTime : 0) - (Number.isFinite(aTime) ? aTime : 0);
|
|
59
88
|
})[0] ?? null;
|
|
60
89
|
}
|
|
90
|
+
// ── Sub-commands ─────────────────────────────────────────────────────────────
|
|
61
91
|
async function startSavedAgent(agent) {
|
|
62
92
|
setActiveAgent(agent.publicId);
|
|
63
93
|
const { startTui } = await import("./tui/start.js");
|
|
@@ -78,8 +108,9 @@ async function startSavedAgent(agent) {
|
|
|
78
108
|
});
|
|
79
109
|
}
|
|
80
110
|
async function runWizardFromCwd() {
|
|
81
|
-
|
|
82
|
-
await
|
|
111
|
+
// Use the new Ink-based wizard; old readline wizard kept as wizard.ts fallback
|
|
112
|
+
const { startWizard } = await import("./tui/start-wizard.js");
|
|
113
|
+
await startWizard(process.cwd());
|
|
83
114
|
}
|
|
84
115
|
async function chooseSavedAgent(rl, agents) {
|
|
85
116
|
const rows = agents.map((agent, index) => ({
|
|
@@ -87,13 +118,14 @@ async function chooseSavedAgent(rl, agents) {
|
|
|
87
118
|
value: `${compactValue(agent.publicId, 18, 6)} ${compactValue(agent.mcpEndpoint, 34, 10)}`,
|
|
88
119
|
}));
|
|
89
120
|
printSummaryBlock("Saved agents", rows);
|
|
90
|
-
const answer = normalizeChoice(await ask(rl, `${W}Choose agent number or publicId${R}`, "1"));
|
|
121
|
+
const answer = normalizeChoice(await ask(rl, `${C.W}Choose agent number or publicId${C.R}`, "1"));
|
|
91
122
|
const index = Number(answer);
|
|
92
123
|
if (Number.isInteger(index) && index >= 1 && index <= agents.length) {
|
|
93
124
|
return agents[index - 1] ?? null;
|
|
94
125
|
}
|
|
95
126
|
return agents.find((agent) => agent.publicId.toLowerCase() === answer) ?? null;
|
|
96
127
|
}
|
|
128
|
+
// ── Update check ─────────────────────────────────────────────────────────────
|
|
97
129
|
function parseSemver(value) {
|
|
98
130
|
const match = value.match(/^(\d+)\.(\d+)\.(\d+)/);
|
|
99
131
|
if (!match)
|
|
@@ -124,41 +156,36 @@ async function checkForUpdate() {
|
|
|
124
156
|
const latest = data.version;
|
|
125
157
|
if (!latest)
|
|
126
158
|
return false;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const pkg = require("../package.json");
|
|
130
|
-
const current = pkg.version;
|
|
131
|
-
if (isNewerVersion(latest, current)) {
|
|
132
|
-
process.stdout.write(`\n ${G}Update available${R} ${D}${current}${R} → ${T}${latest}${R}\n`);
|
|
159
|
+
if (isNewerVersion(latest, CLI_VERSION)) {
|
|
160
|
+
stderr(`\n ${C.G}Update available${C.R} ${C.D}${CLI_VERSION}${C.R} → ${C.T}${latest}${C.R}\n`);
|
|
133
161
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false });
|
|
134
|
-
const answer = await ask(rl, `${W}Update now?${R} (Y/n)`, "y");
|
|
162
|
+
const answer = await ask(rl, `${C.W}Update now?${C.R} (Y/n)`, "y");
|
|
135
163
|
rl.close();
|
|
136
164
|
if (answer.toLowerCase() === "y" || answer.toLowerCase() === "yes") {
|
|
137
165
|
// Detect if running via npx (no global binary to re-exec)
|
|
138
166
|
const isNpx = Boolean(process.env.npm_execpath?.includes("npx") ||
|
|
139
167
|
process.env._?.includes("npx") ||
|
|
140
168
|
process.env.npm_command === "exec");
|
|
141
|
-
|
|
169
|
+
stderr(` Updating to ${C.T}${latest}${C.R}...\n`);
|
|
142
170
|
const { execSync } = await import("child_process");
|
|
143
171
|
try {
|
|
144
172
|
execSync(`npm install -g balchemy@${latest}`, { stdio: "inherit" });
|
|
145
173
|
if (isNpx) {
|
|
146
|
-
|
|
147
|
-
// Continue with current version — don't re-exec, npx cache may be stale
|
|
174
|
+
stderr(`\n ${C.T}Updated!${C.R} Run ${C.W}balchemy${C.R} to use the new version.\n\n`);
|
|
148
175
|
}
|
|
149
176
|
else {
|
|
150
|
-
|
|
177
|
+
stderr(`\n ${C.T}Updated!${C.R} Restarting...\n\n`);
|
|
151
178
|
const { execFileSync } = await import("child_process");
|
|
152
179
|
execFileSync("balchemy", process.argv.slice(2), { stdio: "inherit" });
|
|
153
180
|
process.exit(0);
|
|
154
181
|
}
|
|
155
182
|
}
|
|
156
183
|
catch {
|
|
157
|
-
|
|
184
|
+
stderr(` ${C.D}Update failed. Continuing with ${CLI_VERSION}.${C.R}\n\n`);
|
|
158
185
|
}
|
|
159
186
|
}
|
|
160
187
|
else {
|
|
161
|
-
|
|
188
|
+
stderr(` ${C.D}Skipped.${C.R}\n\n`);
|
|
162
189
|
}
|
|
163
190
|
return true;
|
|
164
191
|
}
|
|
@@ -168,11 +195,108 @@ async function checkForUpdate() {
|
|
|
168
195
|
return false;
|
|
169
196
|
}
|
|
170
197
|
}
|
|
198
|
+
// ── Help & version ───────────────────────────────────────────────────────────
|
|
199
|
+
function printHelp() {
|
|
200
|
+
process.stdout.write(`
|
|
201
|
+
${C.G}B${C.T}alchemy ${C.W}Agent CLI${C.R} ${C.D}v${CLI_VERSION}${C.R}
|
|
202
|
+
${C.D}Deploy and manage autonomous AI trading agents.${C.R}
|
|
203
|
+
|
|
204
|
+
${C.W}USAGE${C.R}
|
|
205
|
+
balchemy Resume saved agent or run setup wizard
|
|
206
|
+
balchemy init Force a fresh setup wizard
|
|
207
|
+
balchemy start [config] Start from an existing config file
|
|
208
|
+
balchemy docker [outDir] Generate Docker files for deployment
|
|
209
|
+
balchemy list List saved agents
|
|
210
|
+
|
|
211
|
+
${C.W}FLAGS${C.R}
|
|
212
|
+
-h, --help Show this help
|
|
213
|
+
-v, --version Show version
|
|
214
|
+
--no-color Disable colored output
|
|
215
|
+
|
|
216
|
+
${C.W}SHORTCUTS (in cockpit)${C.R}
|
|
217
|
+
Ctrl+S Open settings
|
|
218
|
+
Ctrl+L Clear chat
|
|
219
|
+
Ctrl+N Switch agent
|
|
220
|
+
Ctrl+Q Quit
|
|
221
|
+
PgUp / PgDn Scroll chat history
|
|
222
|
+
|
|
223
|
+
${C.W}LINKS${C.R}
|
|
224
|
+
${C.D}Platform${C.R} https://balchemy.ai
|
|
225
|
+
${C.D}Docs${C.R} https://balchemy.ai/hub/docs
|
|
226
|
+
${C.D}npm${C.R} https://www.npmjs.com/package/balchemy
|
|
227
|
+
|
|
228
|
+
`);
|
|
229
|
+
}
|
|
230
|
+
function printVersion() {
|
|
231
|
+
process.stdout.write(`balchemy ${CLI_VERSION}\n`);
|
|
232
|
+
}
|
|
233
|
+
// ── Typo suggestion ──────────────────────────────────────────────────────────
|
|
234
|
+
const KNOWN_COMMANDS = ["init", "start", "docker", "list"];
|
|
235
|
+
function levenshtein(a, b) {
|
|
236
|
+
const matrix = [];
|
|
237
|
+
for (let i = 0; i <= a.length; i++)
|
|
238
|
+
matrix[i] = [i];
|
|
239
|
+
for (let j = 0; j <= b.length; j++)
|
|
240
|
+
matrix[0][j] = j;
|
|
241
|
+
for (let i = 1; i <= a.length; i++) {
|
|
242
|
+
for (let j = 1; j <= b.length; j++) {
|
|
243
|
+
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
244
|
+
matrix[i][j] = Math.min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + cost);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return matrix[a.length][b.length];
|
|
248
|
+
}
|
|
249
|
+
function suggestCommand(input) {
|
|
250
|
+
let best = null;
|
|
251
|
+
let bestDist = Infinity;
|
|
252
|
+
for (const cmd of KNOWN_COMMANDS) {
|
|
253
|
+
const dist = levenshtein(input.toLowerCase(), cmd);
|
|
254
|
+
if (dist < bestDist && dist <= 2) {
|
|
255
|
+
bestDist = dist;
|
|
256
|
+
best = cmd;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return best;
|
|
260
|
+
}
|
|
261
|
+
// ── List command ─────────────────────────────────────────────────────────────
|
|
262
|
+
function printAgentList() {
|
|
263
|
+
const agents = listAgents();
|
|
264
|
+
const active = loadAgent();
|
|
265
|
+
if (agents.length === 0) {
|
|
266
|
+
process.stdout.write(` ${C.D}No saved agents. Run ${C.W}balchemy${C.D} to create one.${C.R}\n`);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
process.stdout.write(`\n ${C.T}Saved agents${C.R} ${C.D}(${agents.length})${C.R}\n`);
|
|
270
|
+
process.stdout.write(` ${C.D}${"-".repeat(54)}${C.R}\n`);
|
|
271
|
+
for (const agent of agents) {
|
|
272
|
+
const isActive = active?.publicId === agent.publicId;
|
|
273
|
+
const marker = isActive ? `${C.OK}▸${C.R}` : ` `;
|
|
274
|
+
const id = compactValue(agent.publicId, 20, 8);
|
|
275
|
+
const endpoint = compactValue(agent.mcpEndpoint, 30, 10);
|
|
276
|
+
const model = agent.llmModel ?? "default";
|
|
277
|
+
const mode = agent.shadowMode ? `${C.G}shadow${C.R}` : `${C.OK}live${C.R}`;
|
|
278
|
+
process.stdout.write(` ${marker} ${C.W}${id}${C.R}\n`);
|
|
279
|
+
process.stdout.write(` ${C.D}Endpoint${C.R} ${endpoint}\n`);
|
|
280
|
+
process.stdout.write(` ${C.D}Model${C.R} ${model} ${mode}\n`);
|
|
281
|
+
process.stdout.write(` ${C.D}Created${C.R} ${agent.createdAt}\n`);
|
|
282
|
+
process.stdout.write(` ${C.D}${"-".repeat(54)}${C.R}\n`);
|
|
283
|
+
}
|
|
284
|
+
process.stdout.write("\n");
|
|
285
|
+
}
|
|
286
|
+
// ── Main ─────────────────────────────────────────────────────────────────────
|
|
171
287
|
async function main() {
|
|
288
|
+
// Handle flags before anything else
|
|
289
|
+
if (flags.has("--help")) {
|
|
290
|
+
printHelp();
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
if (flags.has("--version")) {
|
|
294
|
+
printVersion();
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
172
297
|
// Check for updates — if updated, the process re-execs and exits
|
|
173
298
|
await checkForUpdate();
|
|
174
299
|
switch (cmd) {
|
|
175
|
-
case "--init":
|
|
176
300
|
case "init": {
|
|
177
301
|
// Force wizard — ignore cache
|
|
178
302
|
await runWizardFromCwd();
|
|
@@ -218,6 +342,10 @@ async function main() {
|
|
|
218
342
|
process.stdout.write(`Docker files written to ${outDir}\n`);
|
|
219
343
|
break;
|
|
220
344
|
}
|
|
345
|
+
case "list": {
|
|
346
|
+
printAgentList();
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
221
349
|
case undefined: {
|
|
222
350
|
// Default: choose from saved agents or run wizard.
|
|
223
351
|
const agents = listAgents();
|
|
@@ -227,8 +355,8 @@ async function main() {
|
|
|
227
355
|
// Show last/active agent info and ask what to do.
|
|
228
356
|
const { renderLogo } = await import("./terminal-logo.js");
|
|
229
357
|
process.stdout.write(renderLogo(20));
|
|
230
|
-
process.stdout.write(`\n ${G}B${T}alchemy ${W}Agent${R}\n`);
|
|
231
|
-
process.stdout.write(` ${D}Saved agents ready${R}\n\n`);
|
|
358
|
+
process.stdout.write(`\n ${C.G}B${C.T}alchemy ${C.W}Agent${C.R}\n`);
|
|
359
|
+
process.stdout.write(` ${C.D}Saved agents ready${C.R}\n\n`);
|
|
232
360
|
printSummaryBlock(active ? "Last session" : "Most recent session", [
|
|
233
361
|
{ label: "Agent", value: last.publicId },
|
|
234
362
|
{ label: "Endpoint", value: compactValue(last.mcpEndpoint, 42, 12) },
|
|
@@ -246,7 +374,7 @@ async function main() {
|
|
|
246
374
|
process.stdout.write("\n");
|
|
247
375
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false });
|
|
248
376
|
try {
|
|
249
|
-
const choice = normalizeChoice(await ask(rl, `${W}Action?${R} (y${agents.length > 1 ? "/list" : ""}/new)`, "y"));
|
|
377
|
+
const choice = normalizeChoice(await ask(rl, `${C.W}Action?${C.R} (y${agents.length > 1 ? "/list" : ""}/new)`, "y"));
|
|
250
378
|
if (choice === "y" || choice === "yes" || choice === "resume" || choice === "last") {
|
|
251
379
|
await startSavedAgent(last);
|
|
252
380
|
}
|
|
@@ -259,7 +387,7 @@ async function main() {
|
|
|
259
387
|
&& (choice === "list" || choice === "choose" || choice === "select" || choice === "agents")) {
|
|
260
388
|
const selected = await chooseSavedAgent(rl, agents);
|
|
261
389
|
if (!selected) {
|
|
262
|
-
|
|
390
|
+
stderr(` ${C.D}No matching saved agent. Starting setup instead.${C.R}\n\n`);
|
|
263
391
|
await runWizardFromCwd();
|
|
264
392
|
}
|
|
265
393
|
else {
|
|
@@ -270,7 +398,7 @@ async function main() {
|
|
|
270
398
|
await runWizardFromCwd();
|
|
271
399
|
}
|
|
272
400
|
else {
|
|
273
|
-
|
|
401
|
+
stderr(` ${C.D}Unknown action. Starting setup instead.${C.R}\n\n`);
|
|
274
402
|
await runWizardFromCwd();
|
|
275
403
|
}
|
|
276
404
|
}
|
|
@@ -285,20 +413,19 @@ async function main() {
|
|
|
285
413
|
break;
|
|
286
414
|
}
|
|
287
415
|
default: {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
{
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
process.stdout.write("\n");
|
|
296
|
-
break;
|
|
416
|
+
const suggestion = suggestCommand(cmd);
|
|
417
|
+
stderr(` ${C.ERR}Unknown command:${C.R} ${cmd}\n`);
|
|
418
|
+
if (suggestion) {
|
|
419
|
+
stderr(` ${C.D}Did you mean${C.R} ${C.W}balchemy ${suggestion}${C.R}${C.D}?${C.R}\n`);
|
|
420
|
+
}
|
|
421
|
+
stderr(` ${C.D}Run${C.R} ${C.W}balchemy --help${C.R} ${C.D}for available commands.${C.R}\n\n`);
|
|
422
|
+
process.exit(1);
|
|
297
423
|
}
|
|
298
424
|
}
|
|
299
425
|
}
|
|
300
426
|
main().catch((err) => {
|
|
301
|
-
|
|
427
|
+
stderr(`${C.ERR}Error:${C.R} ${err instanceof Error ? err.message : String(err)}\n`);
|
|
428
|
+
stderr(`${C.D}Run${C.R} ${C.W}balchemy --help${C.R} ${C.D}for usage information.${C.R}\n`);
|
|
302
429
|
process.exit(1);
|
|
303
430
|
});
|
|
304
431
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,EAAE,AAAD,EAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AAExC,MAAM,CAAC,GAAG,sBAAsB,CAAC;AACjC,MAAM,CAAC,GAAG,sBAAsB,CAAC;AACjC,MAAM,CAAC,GAAG,YAAY,CAAC;AACvB,MAAM,CAAC,GAAG,gBAAgB,CAAC;AAC3B,MAAM,CAAC,GAAG,SAAS,CAAC;AAEpB,SAAS,iBAAiB,CAAC,KAAa,EAAE,IAA6C;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,GAAG,CAAC,EAAsB,EAAE,QAAgB,EAAE,UAAU,GAAG,EAAE;IACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACvD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAkB;IAC/C,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,QAAQ,CAAC;QACb,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,qBAAqB,EAAE,KAAK;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,EAAsB,EACtB,MAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QACxB,KAAK,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;KAC5F,CAAC,CAAC,CAAC;IACJ,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,kCAAkC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,OAAe;IACrD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;QAAE,OAAO,MAAM,KAAK,OAAO,CAAC;IAC7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,4CAA4C,EAAE;YACpE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;QAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE5B,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CACxE,CAAC;YAEF,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACvG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/D,EAAE,CAAC,KAAK,EAAE,CAAC;YAEX,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACnE,0DAA0D;gBAC1D,MAAM,KAAK,GAAG,OAAO,CACnB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CACnC,CAAC;gBAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBACnD,IAAI,CAAC;oBACH,QAAQ,CAAC,2BAA2B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACpE,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;wBAC9F,wEAAwE;oBAC1E,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;wBAC/D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;wBACvD,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;wBACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,iEAAiE;IACjE,MAAM,cAAc,EAAE,CAAC;IAEvB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,8BAA8B;YAC9B,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;YAClF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,QAAQ,CAAC;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ;gBACR,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACxC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,IAAI,CAAC,CAAC;YAC5D,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,mDAAmD;YACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;YAE/C,IAAI,IAAI,EAAE,CAAC;gBACT,kDAAkD;gBAClD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBACzD,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,EAAE;oBACjE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;oBACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;oBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;oBACrD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;oBAChE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC7D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;iBAC1C,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG;oBACd,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE;oBAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtF,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,EAAE;iBAC9E,CAAC;gBACF,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE3B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvG,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,CACtC,EAAE,EACF,GAAG,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAC5D,GAAG,CACJ,CAAC,CAAC;oBAEH,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBACnF,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;yBAAM,IACL,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;2BAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;2BACnB,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAClC,CAAC;wBACD,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;oBACrD,CAAC;yBAAM,IACL,MAAM,CAAC,MAAM,GAAG,CAAC;2BACd,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC,EAC3F,CAAC;wBACD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wBACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,MAAM,CAAC,CAAC;4BACvF,MAAM,gBAAgB,EAAE,CAAC;wBAC3B,CAAC;6BAAM,CAAC;4BACN,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;yBAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC9C,MAAM,gBAAgB,EAAE,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,MAAM,CAAC,CAAC;wBAC9E,MAAM,gBAAgB,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,+BAA+B;gBAC/B,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM;QACR,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACvD,iBAAiB,CAAC,UAAU,EAAE;gBAC5B,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,qCAAqC,EAAE;gBACnE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,4BAA4B,EAAE;gBAC/D,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,oCAAoC,EAAE;gBACjF,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,sCAAsC,EAAE;aACrF,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-logo.d.ts","sourceRoot":"","sources":["../src/terminal-logo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"terminal-logo.d.ts","sourceRoot":"","sources":["../src/terminal-logo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2EH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,SAAK,GAAG,MAAM,CAsBjD"}
|
package/dist/terminal-logo.js
CHANGED
|
@@ -8,22 +8,17 @@
|
|
|
8
8
|
import * as fs from "fs";
|
|
9
9
|
import * as path from "path";
|
|
10
10
|
import { fileURLToPath } from "url";
|
|
11
|
+
import { C } from "./colors.js";
|
|
11
12
|
const __filename_esm = fileURLToPath(import.meta.url);
|
|
12
13
|
const __dirname_esm = path.dirname(__filename_esm);
|
|
13
|
-
// ── Brand colors ──────────────────────────────────────────────────────────────
|
|
14
|
-
const T = "\x1b[38;2;0;172;176m"; // teal
|
|
15
|
-
const DT = "\x1b[38;2;0;120;124m"; // dark teal
|
|
16
|
-
const G = "\x1b[38;2;186;115;6m"; // gold
|
|
17
|
-
const R = "\x1b[0m"; // reset
|
|
18
14
|
// ── ANSI fallback logo ────────────────────────────────────────────────────────
|
|
19
|
-
const
|
|
20
|
-
const ANSI_LOGO = [
|
|
15
|
+
const ANSI_LOGO_LINES = [
|
|
21
16
|
``,
|
|
22
|
-
` ${G}B${T}ALCHEMY${R} ${D}AGENT CLI${R}`,
|
|
23
|
-
` ${D}calm control for live autonomous trading${R}`,
|
|
24
|
-
` ${DT}${"-".repeat(52)}${R}`,
|
|
17
|
+
` ${C.G}B${C.T}ALCHEMY${C.R} ${C.D}AGENT CLI${C.R}`,
|
|
18
|
+
` ${C.D}calm control for live autonomous trading${C.R}`,
|
|
19
|
+
` ${C.DT}${"-".repeat(52)}${C.R}`,
|
|
25
20
|
``,
|
|
26
|
-
]
|
|
21
|
+
];
|
|
27
22
|
function detectProtocol() {
|
|
28
23
|
const term = process.env.TERM_PROGRAM ?? "";
|
|
29
24
|
const termInfo = process.env.TERM ?? "";
|
|
@@ -69,12 +64,12 @@ function renderKitty(image, widthCols) {
|
|
|
69
64
|
export function renderLogo(widthCols = 20) {
|
|
70
65
|
const protocol = detectProtocol();
|
|
71
66
|
if (protocol === "none") {
|
|
72
|
-
return
|
|
67
|
+
return ANSI_LOGO_LINES.join("\n");
|
|
73
68
|
}
|
|
74
69
|
// Try to load the bundled image
|
|
75
70
|
const image = loadBundledImage();
|
|
76
71
|
if (!image) {
|
|
77
|
-
return
|
|
72
|
+
return ANSI_LOGO_LINES.join("\n");
|
|
78
73
|
}
|
|
79
74
|
if (protocol === "iterm2") {
|
|
80
75
|
return "\n" + renderIterm2(image, widthCols) + "\n";
|
|
@@ -82,7 +77,7 @@ export function renderLogo(widthCols = 20) {
|
|
|
82
77
|
if (protocol === "kitty") {
|
|
83
78
|
return "\n" + renderKitty(image, widthCols) + "\n";
|
|
84
79
|
}
|
|
85
|
-
return
|
|
80
|
+
return ANSI_LOGO_LINES.join("\n");
|
|
86
81
|
}
|
|
87
82
|
function loadBundledImage() {
|
|
88
83
|
const candidates = [
|