@alphafox/cli 0.3.15 → 0.3.16
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/dist/catalog/generated/registry.json +479 -42
- package/dist/catalog/generated/schemas.json +6772 -9136
- package/dist/catalog/omit.d.ts +5 -2
- package/dist/catalog/omit.js +10 -3
- package/dist/skills-manifest.json +42 -42
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/skills/account/SKILL.md +1 -1
- package/skills/admin/SKILL.md +1 -1
- package/skills/alphafox/SKILL.md +3 -3
- package/skills/alphafox-shared/SKILL.md +1 -1
- package/skills/auth/SKILL.md +1 -1
- package/skills/cache/SKILL.md +1 -1
- package/skills/engine-backtest/SKILL.md +4 -4
- package/skills/exchange/SKILL.md +1 -1
- package/skills/market/SKILL.md +1 -1
- package/skills/notification/SKILL.md +1 -1
- package/skills/strategy/SKILL.md +1 -1
- package/skills/trading/SKILL.md +9 -3
package/dist/catalog/omit.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Retired from `@alphafoxai/contracts` 2.0.0. Kept as a generate-time
|
|
3
|
+
* safety net if a stale registry still lists them:
|
|
4
4
|
* - Chat product (`chats` / `chats.*`, `chat_summaries` / `chat_summaries.*`)
|
|
5
|
+
* - Web `/api/v1/backtests` jobs (`backtests` / `backtests.*`)
|
|
6
|
+
* - Strategy Plaza publications (`strategy_plaza` / `strategy_plaza.*`)
|
|
5
7
|
* Local Engine WASM (`engine-backtest run`) and `engine_backtest.*` stay.
|
|
6
8
|
* Match `backtests` / `backtests.*` only — never `engine_backtest.*`.
|
|
9
|
+
* Internal maintenance (`internal` / `internal.*`) is not a public facade.
|
|
7
10
|
*/
|
|
8
11
|
export declare function isOmittedCatalogOperation(operationId: string): boolean;
|
package/dist/catalog/omit.js
CHANGED
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isOmittedCatalogOperation = isOmittedCatalogOperation;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Retired from `@alphafoxai/contracts` 2.0.0. Kept as a generate-time
|
|
6
|
+
* safety net if a stale registry still lists them:
|
|
7
7
|
* - Chat product (`chats` / `chats.*`, `chat_summaries` / `chat_summaries.*`)
|
|
8
|
+
* - Web `/api/v1/backtests` jobs (`backtests` / `backtests.*`)
|
|
9
|
+
* - Strategy Plaza publications (`strategy_plaza` / `strategy_plaza.*`)
|
|
8
10
|
* Local Engine WASM (`engine-backtest run`) and `engine_backtest.*` stay.
|
|
9
11
|
* Match `backtests` / `backtests.*` only — never `engine_backtest.*`.
|
|
12
|
+
* Internal maintenance (`internal` / `internal.*`) is not a public facade.
|
|
10
13
|
*/
|
|
11
14
|
function isOmittedCatalogOperation(operationId) {
|
|
12
15
|
return (operationId === "backtests" ||
|
|
@@ -14,5 +17,9 @@ function isOmittedCatalogOperation(operationId) {
|
|
|
14
17
|
operationId === "chats" ||
|
|
15
18
|
operationId.startsWith("chats.") ||
|
|
16
19
|
operationId === "chat_summaries" ||
|
|
17
|
-
operationId.startsWith("chat_summaries.")
|
|
20
|
+
operationId.startsWith("chat_summaries.") ||
|
|
21
|
+
operationId === "strategy_plaza" ||
|
|
22
|
+
operationId.startsWith("strategy_plaza.") ||
|
|
23
|
+
operationId === "internal" ||
|
|
24
|
+
operationId.startsWith("internal."));
|
|
18
25
|
}
|
|
@@ -1,153 +1,153 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"packageName": "@alphafox/cli",
|
|
4
|
-
"packageVersion": "0.3.
|
|
5
|
-
"contractVersion": "2026-08-
|
|
6
|
-
"bundleHash": "
|
|
4
|
+
"packageVersion": "0.3.16",
|
|
5
|
+
"contractVersion": "2026-08-29",
|
|
6
|
+
"bundleHash": "85e078691f30150c31fd530c6a2684fb7ef3df2b557a5c74ecca1b0c4716f26b",
|
|
7
7
|
"skills": [
|
|
8
8
|
{
|
|
9
9
|
"name": "alphafox",
|
|
10
|
-
"version": "0.3.
|
|
10
|
+
"version": "0.3.16",
|
|
11
11
|
"files": [
|
|
12
12
|
{
|
|
13
13
|
"path": "SKILL.md",
|
|
14
|
-
"sha256": "
|
|
15
|
-
"size":
|
|
14
|
+
"sha256": "5689e8de0550fc39aa5ab651422c8a32829923824c432685895469cbbe7ca3de",
|
|
15
|
+
"size": 7950
|
|
16
16
|
}
|
|
17
17
|
],
|
|
18
|
-
"hash": "
|
|
18
|
+
"hash": "9bd1cc3f012eaea4b1c3d93b2db4604d6c4d5cd76944cf850f367eb8ff5812ab"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"name": "alphafox-account",
|
|
22
|
-
"version": "0.3.
|
|
22
|
+
"version": "0.3.16",
|
|
23
23
|
"files": [
|
|
24
24
|
{
|
|
25
25
|
"path": "SKILL.md",
|
|
26
|
-
"sha256": "
|
|
26
|
+
"sha256": "d47a9e5a10a113715e3ea9baf1bbca9bdffccf57d01269c42dbd9fa80a9d4d4f",
|
|
27
27
|
"size": 784
|
|
28
28
|
}
|
|
29
29
|
],
|
|
30
|
-
"hash": "
|
|
30
|
+
"hash": "352ad953ed429033fc3abe08fefe5767a2f131b6866033b49f72fdc4031e2e06"
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"name": "alphafox-admin",
|
|
34
|
-
"version": "0.3.
|
|
34
|
+
"version": "0.3.16",
|
|
35
35
|
"files": [
|
|
36
36
|
{
|
|
37
37
|
"path": "SKILL.md",
|
|
38
|
-
"sha256": "
|
|
38
|
+
"sha256": "2abccf962b067790583d4c05a4af7fd7e3126dd9d7f7452d073be9988ef1f1bd",
|
|
39
39
|
"size": 788
|
|
40
40
|
}
|
|
41
41
|
],
|
|
42
|
-
"hash": "
|
|
42
|
+
"hash": "efd7551a49ed8ca602b639416c294093eaef3d8b9bd912488350a45a4ebf8ef8"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"name": "alphafox-auth",
|
|
46
|
-
"version": "0.3.
|
|
46
|
+
"version": "0.3.16",
|
|
47
47
|
"files": [
|
|
48
48
|
{
|
|
49
49
|
"path": "SKILL.md",
|
|
50
|
-
"sha256": "
|
|
50
|
+
"sha256": "44b31f54b17000b9939900897bf47bcdd9c6aab24d923a7188812cb83b0abe5c",
|
|
51
51
|
"size": 2371
|
|
52
52
|
}
|
|
53
53
|
],
|
|
54
|
-
"hash": "
|
|
54
|
+
"hash": "b33dbbd6c5ae60fd2271e5c185002fd64949a83608c2f4e4d9886729a6d69bce"
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
"name": "alphafox-cache",
|
|
58
|
-
"version": "0.3.
|
|
58
|
+
"version": "0.3.16",
|
|
59
59
|
"files": [
|
|
60
60
|
{
|
|
61
61
|
"path": "SKILL.md",
|
|
62
|
-
"sha256": "
|
|
62
|
+
"sha256": "6590bd63520375cedbed8ea552991bc96c6bf126bb6eeb7d3045f41b81cf9518",
|
|
63
63
|
"size": 1530
|
|
64
64
|
}
|
|
65
65
|
],
|
|
66
|
-
"hash": "
|
|
66
|
+
"hash": "cb0495c5e8fe6bc5eaf4c74301c5e697a6fc7021ba7ca03ff731bddf2d749292"
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
"name": "alphafox-engine-backtest",
|
|
70
|
-
"version": "0.3.
|
|
70
|
+
"version": "0.3.16",
|
|
71
71
|
"files": [
|
|
72
72
|
{
|
|
73
73
|
"path": "SKILL.md",
|
|
74
|
-
"sha256": "
|
|
75
|
-
"size":
|
|
74
|
+
"sha256": "ec1660ea9da1728879083c9477e51dbe86dea054ade521eeff930f70c95117de",
|
|
75
|
+
"size": 9229
|
|
76
76
|
}
|
|
77
77
|
],
|
|
78
|
-
"hash": "
|
|
78
|
+
"hash": "eacad4f278fda1d2077a3e4c701573c64a4d33dbef445209e2dbd0dddaa914f9"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"name": "alphafox-exchange",
|
|
82
|
-
"version": "0.3.
|
|
82
|
+
"version": "0.3.16",
|
|
83
83
|
"files": [
|
|
84
84
|
{
|
|
85
85
|
"path": "SKILL.md",
|
|
86
|
-
"sha256": "
|
|
86
|
+
"sha256": "66115095ff20b22eb5cb7d6ff96e36cb3f02cf0273950a62115ebe494adf7575",
|
|
87
87
|
"size": 744
|
|
88
88
|
}
|
|
89
89
|
],
|
|
90
|
-
"hash": "
|
|
90
|
+
"hash": "adbea499980f4827b4c802462a9647bcc0cf7729121fa84e100501ea9ba02f8f"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
"name": "alphafox-market",
|
|
94
|
-
"version": "0.3.
|
|
94
|
+
"version": "0.3.16",
|
|
95
95
|
"files": [
|
|
96
96
|
{
|
|
97
97
|
"path": "SKILL.md",
|
|
98
|
-
"sha256": "
|
|
98
|
+
"sha256": "bd658ed24aab5ce7ddabe9bf47b00fabe697cb07c10e9b5e78dfc7f6210518a5",
|
|
99
99
|
"size": 3079
|
|
100
100
|
}
|
|
101
101
|
],
|
|
102
|
-
"hash": "
|
|
102
|
+
"hash": "f99765f97a61597a72fc7cc7dabb8049fdcda092e8b9d4591050c798ab8bfb5a"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
105
105
|
"name": "alphafox-notification",
|
|
106
|
-
"version": "0.3.
|
|
106
|
+
"version": "0.3.16",
|
|
107
107
|
"files": [
|
|
108
108
|
{
|
|
109
109
|
"path": "SKILL.md",
|
|
110
|
-
"sha256": "
|
|
110
|
+
"sha256": "647e84e58f7450b08a1f7c157e815eadd1f0a421a8c4a008c76219d315f0bb79",
|
|
111
111
|
"size": 699
|
|
112
112
|
}
|
|
113
113
|
],
|
|
114
|
-
"hash": "
|
|
114
|
+
"hash": "ad91b776c8a4884de332ed890f0e69fdfc46ea587c81bb06cc7de9f2a64d87d6"
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
117
|
"name": "alphafox-shared",
|
|
118
|
-
"version": "0.3.
|
|
118
|
+
"version": "0.3.16",
|
|
119
119
|
"files": [
|
|
120
120
|
{
|
|
121
121
|
"path": "SKILL.md",
|
|
122
|
-
"sha256": "
|
|
122
|
+
"sha256": "ca9a792a62ec3a78abb5d65f47865245d01a63b12e5cc0b411f54632b20162a5",
|
|
123
123
|
"size": 6920
|
|
124
124
|
}
|
|
125
125
|
],
|
|
126
|
-
"hash": "
|
|
126
|
+
"hash": "b30fef80fc2969deb409bd1805f17e4a185ea180d8d3bc31e32c732e83ec5af3"
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
129
|
"name": "alphafox-strategy",
|
|
130
|
-
"version": "0.3.
|
|
130
|
+
"version": "0.3.16",
|
|
131
131
|
"files": [
|
|
132
132
|
{
|
|
133
133
|
"path": "SKILL.md",
|
|
134
|
-
"sha256": "
|
|
134
|
+
"sha256": "dabb8fd6713884961beeaf1cbb117ecc12bc14daf1003c3d01d226c088f08669",
|
|
135
135
|
"size": 4862
|
|
136
136
|
}
|
|
137
137
|
],
|
|
138
|
-
"hash": "
|
|
138
|
+
"hash": "e5c8405ac12c2460e8195bc9060ea77cd4d4a3623fc9f94494f1f9bea979e169"
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
"name": "alphafox-trading",
|
|
142
|
-
"version": "0.3.
|
|
142
|
+
"version": "0.3.16",
|
|
143
143
|
"files": [
|
|
144
144
|
{
|
|
145
145
|
"path": "SKILL.md",
|
|
146
|
-
"sha256": "
|
|
147
|
-
"size":
|
|
146
|
+
"sha256": "18150d7ebfb34bb8e1246375d9942eddb008100308bdd83ab7ad853d638d8ad6",
|
|
147
|
+
"size": 4493
|
|
148
148
|
}
|
|
149
149
|
],
|
|
150
|
-
"hash": "
|
|
150
|
+
"hash": "12775a0d18d421b483b3bd72d785e3bb71a8c393968d6bfd2c2d708ed85631fb"
|
|
151
151
|
}
|
|
152
152
|
]
|
|
153
153
|
}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const CLI_NAME = "alphafox";
|
|
2
2
|
export declare const CLI_PACKAGE = "@alphafox/cli";
|
|
3
|
-
export declare const CLI_VERSION = "0.3.
|
|
3
|
+
export declare const CLI_VERSION = "0.3.16";
|
|
4
4
|
export { CATALOG_VERSION as CLI_CONTRACT_VERSION } from "./catalog/operations";
|
package/dist/version.js
CHANGED
|
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CLI_CONTRACT_VERSION = exports.CLI_VERSION = exports.CLI_PACKAGE = exports.CLI_NAME = void 0;
|
|
4
4
|
exports.CLI_NAME = "alphafox";
|
|
5
5
|
exports.CLI_PACKAGE = "@alphafox/cli";
|
|
6
|
-
exports.CLI_VERSION = "0.3.
|
|
6
|
+
exports.CLI_VERSION = "0.3.16";
|
|
7
7
|
var operations_1 = require("./catalog/operations");
|
|
8
8
|
Object.defineProperty(exports, "CLI_CONTRACT_VERSION", { enumerable: true, get: function () { return operations_1.CATALOG_VERSION; } });
|
package/package.json
CHANGED
package/skills/account/SKILL.md
CHANGED
package/skills/admin/SKILL.md
CHANGED
package/skills/alphafox/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alphafox
|
|
3
3
|
description: AlphaFox CLI entry router. Use for any AlphaFox request — install, update, login, whoami, 回测, engine backtest, 清理回测缓存 / 历史数据, strategy definitions, create/list/start/stop a running strategy (trader), ticker/标的 resolve (美股 or crypto), market data, exchange connectors, wallet, subscriptions, notifications, or admin. After 回测 or 运行策略, include the dashboard URL from the domain skill. When the user asks 排行榜, include https://www.alphafox.app/zh/dashboard/leaderboard. After a successful install and login, present the 新人引导 in this file (Lite square 带单员 + classic strategies). If a CLI command prints `[alphafox] update available`, ask the user「检测到新的版本,是否需要我帮你升级?」and only then run `alphafox update --format json --no-input`. After a large backtest, if tape cache is large, ask「回测下载的历史数据比较大,要不要我帮你清理本地缓存?」then open `alphafox-cache`. Start here, then open the routed domain skill. Do not guess alphafox-engine-backtest vs alphafox-strategy vs alphafox-trading from memory.
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.16
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# AlphaFox
|
|
@@ -42,7 +42,7 @@ If several rows apply, load **all** of them (typical: `alphafox-shared` + `alpha
|
|
|
42
42
|
The CLI may print this on **stderr** at most once every 24 hours:
|
|
43
43
|
|
|
44
44
|
```text
|
|
45
|
-
[alphafox] update available: 0.3.
|
|
45
|
+
[alphafox] update available: 0.3.15 -> 0.3.16. After the user confirms, run: alphafox update --format json --no-input,
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
If you see that notice (or `updateAvailable: true` from `alphafox update --check`):
|
|
@@ -113,7 +113,7 @@ Do not create a trader from this welcome. When they pick 跟单 / a classic stra
|
|
|
113
113
|
|
|
114
114
|
- Local Engine tape + wasm + optional persist → `alphafox-engine-backtest` (`alphafox engine-backtest run`, hyphen).
|
|
115
115
|
- Experiment catalog CRUD → same skill, underscore catalog `engine_backtest.*`.
|
|
116
|
-
-
|
|
116
|
+
- The old web Chat Backtest job path is gone from the catalog. Do not call `/api/v1/backtests` via typed commands, `schema`, or `alphafox api`.
|
|
117
117
|
|
|
118
118
|
Ambiguous “帮我回测” → `alphafox-engine-backtest`, after resolving symbols.
|
|
119
119
|
|
package/skills/auth/SKILL.md
CHANGED
package/skills/cache/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alphafox-engine-backtest
|
|
3
3
|
description: Local Engine WASM backtest (alphafox engine-backtest run|sweep) vs catalog experiment CRUD. After a persisted run, include https://www.alphafox.app/zh/dashboard/traders/backtest/{experimentId}.
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.16
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Engine Backtest
|
|
@@ -15,11 +15,11 @@ Human-mentioned tickers must be resolved with `alphafox resolve-symbols` (`skill
|
|
|
15
15
|
| Intent | Use | Do not |
|
|
16
16
|
|---|---|---|
|
|
17
17
|
| Iterate a strategy locally (pull tape + run wasm + optional persist) | `alphafox engine-backtest run` (hyphen, built-in) | Do not treat this as server-side execution of `engine_backtest.experiments.byId.runs.create` |
|
|
18
|
-
| Local parameter search with explicit axes; persist one Sweep after completion | `alphafox engine-backtest sweep` | Never loop `runs.create` per coordinate. Do not call
|
|
18
|
+
| Local parameter search with explicit axes; persist one Sweep after completion | `alphafox engine-backtest sweep` | Never loop `runs.create` per coordinate. Do not call the retired web Chat Backtest job path |
|
|
19
19
|
| Local search with zero writes | `alphafox engine-backtest sweep ... --no-persist` | Do not persist a cancelled or incomplete search |
|
|
20
20
|
| List / get / delete persisted Sweeps | Catalog `engine_backtest.experiments.byId.sweeps.*` | Do not invent a second catalog. Delete is high-risk and needs `--yes` |
|
|
21
21
|
| List / get / create / rename / delete experiments and persisted runs | Catalog `engine_backtest.*` (underscore) | Do not invent a second catalog |
|
|
22
|
-
|
|
|
22
|
+
| Retired web Chat Backtest job | — | Removed from the catalog. Do not call `/api/v1/backtests` |
|
|
23
23
|
|
|
24
24
|
Read the create-experiment body with `alphafox schema` **before** composing JSON. Do not invent experiment fields. Large create/run/sweep payloads use `--config @file`, never a guessed `--body`.
|
|
25
25
|
|
|
@@ -114,4 +114,4 @@ Owner isolation and 7-day expiry are enforced by the server. Applying a coordina
|
|
|
114
114
|
- `engine_backtest.experiments.byId.sweeps.byId.get`
|
|
115
115
|
- High-risk (not this skill's run/sweep path): `engine_backtest.experiments.byId.update` / `.byId.delete` / `.byId.runs.byId.delete` / `.byId.sweeps.byId.delete`
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
The retired web Chat Backtest job path is not an Engine Sweep or Engine Run surface. Do not call `/api/v1/backtests` from this skill.
|
package/skills/exchange/SKILL.md
CHANGED
package/skills/market/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alphafox-market
|
|
3
3
|
description: Market data and ticker resolution for US equity perps, RWAs, and crypto on the same perp catalog. Use when the user names 美股, NVDA, AAPL, BTC, or any 标的. Keep the operator's asset class via symbolMetadata — do not rewrite NVDA into a crypto coin.
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.16
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Market
|
package/skills/strategy/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alphafox-strategy
|
|
3
3
|
description: Strategy definitions — list types, read a definition's contract, and validate config. Creating a running strategy is creating a trader; use alphafox-trading for that. Local Engine backtest is alphafox-engine-backtest.
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.16
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Strategy definitions
|
package/skills/trading/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alphafox-trading
|
|
3
3
|
description: Running strategies (traders) — create, list, start, and stop. A trader is a live or paper strategy instance (grid, dca, copy, …), not a person. Default Engine create uses autoStart true (创建即开始). Use autoStart false only when the user asks to create without starting. After create or start, include https://www.alphafox.app/zh/dashboard/traders/{traderId}.
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.16
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Running strategies (traders)
|
|
@@ -50,7 +50,7 @@ If a required field is missing, re-read the schema and ask the operator. Do not
|
|
|
50
50
|
|
|
51
51
|
## High-risk start / stop
|
|
52
52
|
|
|
53
|
-
Read `alphafox schema trading.traders.byId.start` first.
|
|
53
|
+
Read `alphafox schema trading.traders.byId.start` first. Start body is optional Engine fields (`startType`, `enableSLTPMonitoring`, `expectedCoverageType`). `{}` is valid. Do not send `reason`.
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
56
|
alphafox schema trading.traders.byId.start --format json --no-input
|
|
@@ -60,7 +60,13 @@ alphafox trading traders byId start --traderId <id> --body '{}' --yes --format j
|
|
|
60
60
|
|
|
61
61
|
Without `--yes`, CLI exits `10` with `confirmation_required`. Server still checks role/ownership.
|
|
62
62
|
|
|
63
|
-
Stop
|
|
63
|
+
Stop requires `closePositions` (boolean). Ask the operator whether to flatten positions. Do not default. Do not send `reason`.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
alphafox schema trading.traders.byId.stop --format json --no-input
|
|
67
|
+
alphafox trading traders byId stop --traderId <id> --body '{"closePositions":false}' --dry-run --format json --no-input
|
|
68
|
+
alphafox trading traders byId stop --traderId <id> --body '{"closePositions":false}' --yes --format json --no-input
|
|
69
|
+
```
|
|
64
70
|
|
|
65
71
|
## Recovery
|
|
66
72
|
|