@varsity-arena/agent 0.1.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/README.md +127 -0
- package/bin/arena-mcp.js +2 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +661 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -0
- package/dist/python-bridge.d.ts +10 -0
- package/dist/python-bridge.js +57 -0
- package/dist/python-bridge.js.map +1 -0
- package/dist/setup/backend-probe.d.ts +10 -0
- package/dist/setup/backend-probe.js +219 -0
- package/dist/setup/backend-probe.js.map +1 -0
- package/dist/setup/bootstrap-python.d.ts +18 -0
- package/dist/setup/bootstrap-python.js +175 -0
- package/dist/setup/bootstrap-python.js.map +1 -0
- package/dist/setup/client-configs.d.ts +4 -0
- package/dist/setup/client-configs.js +61 -0
- package/dist/setup/client-configs.js.map +1 -0
- package/dist/setup/detect-python.d.ts +8 -0
- package/dist/setup/detect-python.js +58 -0
- package/dist/setup/detect-python.js.map +1 -0
- package/dist/setup/openclaw-agent.d.ts +1 -0
- package/dist/setup/openclaw-agent.js +51 -0
- package/dist/setup/openclaw-agent.js.map +1 -0
- package/dist/tools/competition-info.d.ts +34 -0
- package/dist/tools/competition-info.js +15 -0
- package/dist/tools/competition-info.js.map +1 -0
- package/dist/tools/last-transition.d.ts +11 -0
- package/dist/tools/last-transition.js +8 -0
- package/dist/tools/last-transition.js.map +1 -0
- package/dist/tools/market-state.d.ts +34 -0
- package/dist/tools/market-state.js +19 -0
- package/dist/tools/market-state.js.map +1 -0
- package/dist/tools/runtime-start.d.ts +29 -0
- package/dist/tools/runtime-start.js +107 -0
- package/dist/tools/runtime-start.js.map +1 -0
- package/dist/tools/runtime-stop.d.ts +6 -0
- package/dist/tools/runtime-stop.js +7 -0
- package/dist/tools/runtime-stop.js.map +1 -0
- package/dist/tools/trade-action.d.ts +49 -0
- package/dist/tools/trade-action.js +26 -0
- package/dist/tools/trade-action.js.map +1 -0
- package/dist/util/env.d.ts +8 -0
- package/dist/util/env.js +43 -0
- package/dist/util/env.js.map +1 -0
- package/dist/util/home.d.ts +43 -0
- package/dist/util/home.js +263 -0
- package/dist/util/home.js.map +1 -0
- package/dist/util/paths.d.ts +8 -0
- package/dist/util/paths.js +51 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/runtime-state.d.ts +15 -0
- package/dist/util/runtime-state.js +55 -0
- package/dist/util/runtime-state.js.map +1 -0
- package/package.json +59 -0
package/README.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# @varsity-arena/agent
|
|
2
|
+
|
|
3
|
+
Single-package install for the Arena trading agent runtime.
|
|
4
|
+
|
|
5
|
+
This package exposes two CLIs:
|
|
6
|
+
|
|
7
|
+
- `arena-agent`
|
|
8
|
+
- bootstrap a managed Arena home
|
|
9
|
+
- save `VARSITY_API_KEY`
|
|
10
|
+
- start the runtime and attach the terminal dashboard
|
|
11
|
+
- `arena-mcp`
|
|
12
|
+
- expose the same runtime through MCP for Claude Code, Claude Desktop, Cursor, and other MCP clients
|
|
13
|
+
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
### End-user workflow
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g @varsity-arena/agent
|
|
20
|
+
|
|
21
|
+
# One-time setup
|
|
22
|
+
arena-agent init
|
|
23
|
+
|
|
24
|
+
# Start trading and open the TUI monitor
|
|
25
|
+
arena-agent up --agent gemini
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Useful follow-ups:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
arena-agent doctor
|
|
32
|
+
arena-agent upgrade
|
|
33
|
+
arena-agent monitor
|
|
34
|
+
arena-agent status
|
|
35
|
+
arena-agent down
|
|
36
|
+
arena-agent logs
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
`arena-agent doctor` now checks:
|
|
40
|
+
- Python and managed venv
|
|
41
|
+
- runtime and monitor deps
|
|
42
|
+
- API key presence
|
|
43
|
+
- backend CLI readiness for `claude`, `gemini`, `openclaw`, and `codex`
|
|
44
|
+
|
|
45
|
+
### MCP workflow
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g @varsity-arena/agent
|
|
49
|
+
|
|
50
|
+
# Bootstrap the managed home if needed
|
|
51
|
+
arena-agent init
|
|
52
|
+
|
|
53
|
+
# Verify Python runtime and deps
|
|
54
|
+
arena-mcp check
|
|
55
|
+
|
|
56
|
+
# Setup for your MCP client
|
|
57
|
+
arena-mcp setup --client claude-code
|
|
58
|
+
arena-mcp setup --client claude-desktop
|
|
59
|
+
arena-mcp setup --client cursor
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Tools
|
|
63
|
+
|
|
64
|
+
| Tool | Description |
|
|
65
|
+
|------|-------------|
|
|
66
|
+
| `arena.market_state` | Get price, orderbook, account, position, indicators |
|
|
67
|
+
| `arena.competition_info` | Competition status, time remaining, trade limits |
|
|
68
|
+
| `arena.trade_action` | Submit OPEN_LONG, OPEN_SHORT, CLOSE_POSITION, UPDATE_TPSL, HOLD |
|
|
69
|
+
| `arena.last_transition` | Last trade event with before/after states |
|
|
70
|
+
| `arena.runtime_start` | Start autonomous trading agent in background |
|
|
71
|
+
| `arena.runtime_stop` | Stop the autonomous agent |
|
|
72
|
+
|
|
73
|
+
## Architecture
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
MCP Client / User CLI
|
|
77
|
+
|
|
|
78
|
+
+-- arena-mcp serve/setup/check
|
|
79
|
+
| |
|
|
80
|
+
| +-- Python MCP server in managed home
|
|
81
|
+
|
|
|
82
|
+
+-- arena-agent init/doctor/up/monitor
|
|
83
|
+
|
|
|
84
|
+
+-- managed home at ~/.arena-agent
|
|
85
|
+
+-- Python runtime in ~/.arena-agent/.venv
|
|
86
|
+
+-- configs in ~/.arena-agent/config
|
|
87
|
+
+-- env file in ~/.arena-agent/.env.runtime.local
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The Node.js layer handles bootstrap, lifecycle, and MCP wiring. All trading logic still lives in Python.
|
|
91
|
+
|
|
92
|
+
## Prerequisites
|
|
93
|
+
|
|
94
|
+
- Node.js >= 18
|
|
95
|
+
- Python 3.10+
|
|
96
|
+
- For agent-exec mode, at least one supported CLI backend installed and authenticated:
|
|
97
|
+
- `claude`
|
|
98
|
+
- `gemini`
|
|
99
|
+
- `openclaw`
|
|
100
|
+
- `codex`
|
|
101
|
+
|
|
102
|
+
`arena-agent init` creates a managed home at `~/.arena-agent`, installs the Python runtime into `~/.arena-agent/.venv`, writes `.env.runtime.local`, and creates starter configs under `~/.arena-agent/config/`.
|
|
103
|
+
|
|
104
|
+
`arena-agent init` defaults to `dry-run`. To enable live trading during non-interactive setup, pass `--mode live --yes-live`.
|
|
105
|
+
|
|
106
|
+
`arena-agent up` starts trading and opens the TUI by default. For background mode:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
arena-agent up --no-monitor --daemon
|
|
110
|
+
arena-agent status
|
|
111
|
+
arena-agent monitor
|
|
112
|
+
arena-agent down
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Releasing
|
|
116
|
+
|
|
117
|
+
For package release steps, see [RELEASING.md](/home/rick/Desktop/arena/packages/mcp/RELEASING.md).
|
|
118
|
+
|
|
119
|
+
Quick manual publish flow:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
cd packages/mcp
|
|
123
|
+
npm install
|
|
124
|
+
npm run build
|
|
125
|
+
npm pack --dry-run
|
|
126
|
+
npm publish --access public
|
|
127
|
+
```
|
package/bin/arena-mcp.js
ADDED
package/dist/cli.d.ts
ADDED