@123456btc/123456btc-cli 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +182 -39
  2. package/README.zh-CN.md +78 -0
  3. package/dist/api/client.d.ts +4 -0
  4. package/dist/api/client.d.ts.map +1 -1
  5. package/dist/api/client.js +74 -16
  6. package/dist/api/client.js.map +1 -1
  7. package/dist/api/provider.d.ts +163 -0
  8. package/dist/api/provider.d.ts.map +1 -0
  9. package/dist/api/provider.js +123 -0
  10. package/dist/api/provider.js.map +1 -0
  11. package/dist/api/signal-crypto.d.ts +17 -0
  12. package/dist/api/signal-crypto.d.ts.map +1 -0
  13. package/dist/api/signal-crypto.js +48 -0
  14. package/dist/api/signal-crypto.js.map +1 -0
  15. package/dist/api/signals.d.ts +47 -0
  16. package/dist/api/signals.d.ts.map +1 -0
  17. package/dist/api/signals.js +34 -0
  18. package/dist/api/signals.js.map +1 -0
  19. package/dist/api/strategy-stream.d.ts +59 -0
  20. package/dist/api/strategy-stream.d.ts.map +1 -0
  21. package/dist/api/strategy-stream.js +136 -0
  22. package/dist/api/strategy-stream.js.map +1 -0
  23. package/dist/api/strategy.d.ts +66 -20
  24. package/dist/api/strategy.d.ts.map +1 -1
  25. package/dist/api/strategy.js +15 -18
  26. package/dist/api/strategy.js.map +1 -1
  27. package/dist/api/token-manager.d.ts +37 -0
  28. package/dist/api/token-manager.d.ts.map +1 -0
  29. package/dist/api/token-manager.js +191 -0
  30. package/dist/api/token-manager.js.map +1 -0
  31. package/dist/api/wallet.d.ts +38 -0
  32. package/dist/api/wallet.d.ts.map +1 -0
  33. package/dist/api/wallet.js +23 -0
  34. package/dist/api/wallet.js.map +1 -0
  35. package/dist/cli.js +12 -2
  36. package/dist/cli.js.map +1 -1
  37. package/dist/commands/auth.d.ts.map +1 -1
  38. package/dist/commands/auth.js +149 -3
  39. package/dist/commands/auth.js.map +1 -1
  40. package/dist/commands/health.d.ts +3 -0
  41. package/dist/commands/health.d.ts.map +1 -0
  42. package/dist/commands/health.js +77 -0
  43. package/dist/commands/health.js.map +1 -0
  44. package/dist/commands/install.d.ts.map +1 -1
  45. package/dist/commands/install.js +127 -24
  46. package/dist/commands/install.js.map +1 -1
  47. package/dist/commands/provider.d.ts +3 -0
  48. package/dist/commands/provider.d.ts.map +1 -0
  49. package/dist/commands/provider.js +371 -0
  50. package/dist/commands/provider.js.map +1 -0
  51. package/dist/commands/signals.d.ts +3 -0
  52. package/dist/commands/signals.d.ts.map +1 -0
  53. package/dist/commands/signals.js +104 -0
  54. package/dist/commands/signals.js.map +1 -0
  55. package/dist/commands/strategy.d.ts.map +1 -1
  56. package/dist/commands/strategy.js +147 -59
  57. package/dist/commands/strategy.js.map +1 -1
  58. package/dist/commands/tier.d.ts +3 -0
  59. package/dist/commands/tier.d.ts.map +1 -0
  60. package/dist/commands/tier.js +105 -0
  61. package/dist/commands/tier.js.map +1 -0
  62. package/dist/commands/vault.d.ts +7 -0
  63. package/dist/commands/vault.d.ts.map +1 -0
  64. package/dist/commands/vault.js +377 -0
  65. package/dist/commands/vault.js.map +1 -0
  66. package/dist/commands/wallet.d.ts +3 -0
  67. package/dist/commands/wallet.d.ts.map +1 -0
  68. package/dist/commands/wallet.js +74 -0
  69. package/dist/commands/wallet.js.map +1 -0
  70. package/dist/config.d.ts +1 -0
  71. package/dist/config.d.ts.map +1 -1
  72. package/dist/config.js +16 -2
  73. package/dist/config.js.map +1 -1
  74. package/dist/index.d.ts +12 -4
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +22 -6
  77. package/dist/index.js.map +1 -1
  78. package/dist/providers/executor.d.ts +55 -20
  79. package/dist/providers/executor.d.ts.map +1 -1
  80. package/dist/providers/executor.js +260 -58
  81. package/dist/providers/executor.js.map +1 -1
  82. package/dist/providers/risk.d.ts +17 -0
  83. package/dist/providers/risk.d.ts.map +1 -0
  84. package/dist/providers/risk.js +67 -0
  85. package/dist/providers/risk.js.map +1 -0
  86. package/dist/providers/state.d.ts +30 -0
  87. package/dist/providers/state.d.ts.map +1 -0
  88. package/dist/providers/state.js +190 -0
  89. package/dist/providers/state.js.map +1 -0
  90. package/dist/types/strategy.d.ts +65 -1
  91. package/dist/types/strategy.d.ts.map +1 -1
  92. package/dist/types/strategy.js +1 -0
  93. package/dist/types/strategy.js.map +1 -1
  94. package/dist/utils/auth.d.ts +1 -0
  95. package/dist/utils/auth.d.ts.map +1 -1
  96. package/dist/utils/device.d.ts +13 -0
  97. package/dist/utils/device.d.ts.map +1 -0
  98. package/dist/utils/device.js +104 -0
  99. package/dist/utils/device.js.map +1 -0
  100. package/dist/vault/backends/file.d.ts +15 -0
  101. package/dist/vault/backends/file.d.ts.map +1 -0
  102. package/dist/vault/backends/file.js +39 -0
  103. package/dist/vault/backends/file.js.map +1 -0
  104. package/dist/vault/backends/os-keychain.d.ts +13 -0
  105. package/dist/vault/backends/os-keychain.d.ts.map +1 -0
  106. package/dist/vault/backends/os-keychain.js +60 -0
  107. package/dist/vault/backends/os-keychain.js.map +1 -0
  108. package/dist/vault/backends/os-secret.d.ts +13 -0
  109. package/dist/vault/backends/os-secret.d.ts.map +1 -0
  110. package/dist/vault/backends/os-secret.js +57 -0
  111. package/dist/vault/backends/os-secret.js.map +1 -0
  112. package/dist/vault/backends/os-win-cred.d.ts +13 -0
  113. package/dist/vault/backends/os-win-cred.d.ts.map +1 -0
  114. package/dist/vault/backends/os-win-cred.js +76 -0
  115. package/dist/vault/backends/os-win-cred.js.map +1 -0
  116. package/dist/vault/crypto.d.ts +49 -0
  117. package/dist/vault/crypto.d.ts.map +1 -0
  118. package/dist/vault/crypto.js +122 -0
  119. package/dist/vault/crypto.js.map +1 -0
  120. package/dist/vault/index.d.ts +88 -0
  121. package/dist/vault/index.d.ts.map +1 -0
  122. package/dist/vault/index.js +276 -0
  123. package/dist/vault/index.js.map +1 -0
  124. package/dist/vault/storage.d.ts +14 -0
  125. package/dist/vault/storage.d.ts.map +1 -0
  126. package/dist/vault/storage.js +68 -0
  127. package/dist/vault/storage.js.map +1 -0
  128. package/dist/vault/types.d.ts +41 -0
  129. package/dist/vault/types.d.ts.map +1 -0
  130. package/dist/vault/types.js +6 -0
  131. package/dist/vault/types.js.map +1 -0
  132. package/package.json +5 -2
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProviderCommand = createProviderCommand;
4
+ const commander_1 = require("commander");
5
+ const client_1 = require("../api/client");
6
+ const provider_1 = require("../api/provider");
7
+ const auth_1 = require("../utils/auth");
8
+ function createProviderCommand(program) {
9
+ const providerCmd = new commander_1.Command('provider');
10
+ function getClient(jwt) {
11
+ const creds = (0, auth_1.checkAuth)();
12
+ if (jwt && creds.jwt) {
13
+ // Provider 管理操作使用 JWT 直接认证
14
+ return new client_1.ApiClient(creds.baseUrl.replace('/ext-api', '/api'), creds.jwt);
15
+ }
16
+ return new client_1.ApiClient(creds.baseUrl, creds.apiKey);
17
+ }
18
+ // ── Provider 入驻 ──
19
+ providerCmd
20
+ .command('apply')
21
+ .description('Apply to become a strategy provider (requires ≥1M BBT)')
22
+ .requiredOption('-n, --name <name>', 'Provider name')
23
+ .option('-d, --description <desc>', 'Description')
24
+ .option('-e, --email <email>', 'Contact email')
25
+ .action(async (options) => {
26
+ const client = getClient(true);
27
+ const providerApi = new provider_1.ProviderApi(client);
28
+ console.log('Applying to become a provider...');
29
+ const response = await providerApi.apply({
30
+ name: options.name,
31
+ description: options.description,
32
+ contact_email: options.email,
33
+ });
34
+ if (response.success && response.data) {
35
+ console.log('✓ Application successful!');
36
+ console.log(` Provider ID: ${response.data.provider_id}`);
37
+ console.log(` Name: ${response.data.name}`);
38
+ console.log(` BBT Verified: ${response.data.bbt_verified}`);
39
+ console.log('');
40
+ console.log('⚠️ IMPORTANT: Your Provider Key is shown below. SAVE IT NOW!');
41
+ console.log(` Key: ${response.data.key}`);
42
+ console.log(` Prefix: ${response.data.prefix}`);
43
+ console.log('');
44
+ console.log(' Store it in your environment:');
45
+ console.log(` export PROVIDER_API_KEY=${response.data.key}`);
46
+ }
47
+ else {
48
+ console.error('Application failed:', response.error?.message);
49
+ }
50
+ });
51
+ // ── Provider 信息 ──
52
+ providerCmd
53
+ .command('me')
54
+ .description('Show my provider info and stats')
55
+ .action(async () => {
56
+ const client = getClient(true);
57
+ const providerApi = new provider_1.ProviderApi(client);
58
+ const response = await providerApi.me();
59
+ if (response.success && response.data) {
60
+ const p = response.data.provider;
61
+ const s = response.data;
62
+ console.log('Provider Info:');
63
+ console.log('='.repeat(60));
64
+ console.log(` ID: ${p.id}`);
65
+ console.log(` Name: ${p.name}`);
66
+ console.log(` Status: ${p.status}`);
67
+ console.log(` Contact: ${p.contact_email || 'N/A'}`);
68
+ console.log('');
69
+ console.log('Stats:');
70
+ console.log(` Strategies: ${s.strategy_count}`);
71
+ console.log(` Signals Pushed: ${p.total_signals_pushed}`);
72
+ console.log(` Active Subscriptions: ${s.active_subscriptions}`);
73
+ console.log(` Total Earnings: ${p.total_earnings} BBT`);
74
+ console.log(` Total Burned: ${p.total_burned} BBT`);
75
+ console.log(` Total Settled: ${p.total_revenue_settled} BBT`);
76
+ console.log(` Pending Reviews: ${s.pending_review_count}`);
77
+ }
78
+ else {
79
+ console.error('Error:', response.error?.message);
80
+ }
81
+ });
82
+ // ── 收益查询 ──
83
+ providerCmd
84
+ .command('earnings')
85
+ .description('Show earnings summary and available balance')
86
+ .action(async () => {
87
+ const client = getClient(true);
88
+ const providerApi = new provider_1.ProviderApi(client);
89
+ const response = await providerApi.earnings();
90
+ if (response.success && response.data) {
91
+ const e = response.data;
92
+ console.log('Earnings Summary:');
93
+ console.log('='.repeat(60));
94
+ console.log(` Total Earnings: ${e.total_earnings.toFixed(6)} BBT`);
95
+ console.log(` Total Settled: ${e.total_settled.toFixed(6)} BBT`);
96
+ console.log(` Available: ${e.available.toFixed(6)} BBT`);
97
+ console.log(` Pending Withdrawal: ${e.pending_withdrawal.toFixed(6)} BBT`);
98
+ console.log(` Approved Withdrawal: ${e.approved_withdrawal.toFixed(6)} BBT`);
99
+ }
100
+ else {
101
+ console.error('Error:', response.error?.message);
102
+ }
103
+ });
104
+ // ── 申请提现 ──
105
+ providerCmd
106
+ .command('withdraw')
107
+ .description('Request a withdrawal')
108
+ .requiredOption('-a, --amount <amount>', 'Amount in BBT')
109
+ .requiredOption('-s, --sol-address <address>', 'Solana receiving address')
110
+ .action(async (options) => {
111
+ const client = getClient(true);
112
+ const providerApi = new provider_1.ProviderApi(client);
113
+ const amount = parseFloat(options.amount);
114
+ console.log(`Requesting withdrawal of ${amount} BBT to ${options.solAddress}...`);
115
+ const response = await providerApi.withdraw({
116
+ amount,
117
+ sol_address: options.solAddress,
118
+ });
119
+ if (response.success && response.data) {
120
+ console.log('✓ Withdrawal request submitted');
121
+ console.log(` ID: ${response.data.id}`);
122
+ console.log(` Amount: ${response.data.amount} BBT`);
123
+ console.log(` Status: ${response.data.status}`);
124
+ console.log(' Waiting for admin approval...');
125
+ }
126
+ else {
127
+ console.error('Withdrawal failed:', response.error?.message);
128
+ }
129
+ });
130
+ // ── 提现记录 ──
131
+ providerCmd
132
+ .command('withdrawals')
133
+ .description('Show withdrawal history')
134
+ .action(async () => {
135
+ const client = getClient(true);
136
+ const providerApi = new provider_1.ProviderApi(client);
137
+ const response = await providerApi.withdrawals();
138
+ if (response.success && response.data) {
139
+ console.log('Withdrawal History:');
140
+ console.log('='.repeat(80));
141
+ if (response.data.withdrawals.length === 0) {
142
+ console.log('No withdrawals found.');
143
+ return;
144
+ }
145
+ response.data.withdrawals.forEach((w) => {
146
+ console.log(` ${w.id} — ${w.amount} BBT — ${w.status.toUpperCase()}`);
147
+ console.log(` Sol Address: ${w.sol_address}`);
148
+ if (w.note)
149
+ console.log(` Note: ${w.note}`);
150
+ if (w.tx_signature)
151
+ console.log(` Tx: ${w.tx_signature}`);
152
+ console.log(` Created: ${new Date(w.created_at).toISOString()}`);
153
+ console.log('');
154
+ });
155
+ }
156
+ else {
157
+ console.error('Error:', response.error?.message);
158
+ }
159
+ });
160
+ // ── 我的策略 ──
161
+ providerCmd
162
+ .command('strategies')
163
+ .description('List my strategies')
164
+ .action(async () => {
165
+ const client = getClient(true);
166
+ const providerApi = new provider_1.ProviderApi(client);
167
+ const response = await providerApi.strategies();
168
+ if (response.success && response.data) {
169
+ console.log('My Strategies:');
170
+ console.log('='.repeat(80));
171
+ if (response.data.strategies.length === 0) {
172
+ console.log('No strategies yet. Create one with: provider create-strategy');
173
+ return;
174
+ }
175
+ response.data.strategies.forEach((s) => {
176
+ const pricing = s.pricing_model === 'free'
177
+ ? 'Free'
178
+ : s.pricing_model === 'daily_bbt'
179
+ ? `${s.price_per_day} BBT/day`
180
+ : `${s.price_per_signal} BBT/signal`;
181
+ console.log(` ${s.id} [${s.status}] [${s.review_status}]`);
182
+ console.log(` Name: ${s.name}`);
183
+ console.log(` Market: ${s.market_type} | Symbol: ${s.symbol_pattern || 'N/A'}`);
184
+ console.log(` Pricing: ${pricing}`);
185
+ console.log(` Subscribers: ${s.subscriber_count} | Signals: ${s.total_signals}`);
186
+ console.log('');
187
+ });
188
+ }
189
+ else {
190
+ console.error('Error:', response.error?.message);
191
+ }
192
+ });
193
+ // ── 创建策略 ──
194
+ providerCmd
195
+ .command('create-strategy')
196
+ .description('Create a new strategy (draft)')
197
+ .requiredOption('-n, --name <name>', 'Strategy name')
198
+ .requiredOption('--symbol <pattern>', 'Symbol pattern (e.g. BTC,ETH)')
199
+ .requiredOption('--market <type>', 'Market type: crypto, stock, futures, forex, options')
200
+ .requiredOption('--pricing <model>', 'Pricing: free, daily_bbt, per_signal_bbt')
201
+ .option('-d, --description <desc>', 'Description')
202
+ .option('--price-day <num>', 'Price per day (for daily_bbt)')
203
+ .option('--price-signal <num>', 'Price per signal (for per_signal_bbt)')
204
+ .option('--min-bbt <num>', 'Minimum BBT tier required')
205
+ .option('--burn-rate <num>', 'Burn rate (default 0.7)', '0.7')
206
+ .option('--provider-rate <num>', 'Provider revenue rate (default 0.3)', '0.3')
207
+ .action(async (options) => {
208
+ const client = getClient(true);
209
+ const providerApi = new provider_1.ProviderApi(client);
210
+ const body = {
211
+ name: options.name,
212
+ description: options.description || '',
213
+ symbol_pattern: options.symbol,
214
+ market_type: options.market,
215
+ pricing_model: options.pricing,
216
+ };
217
+ if (options.priceDay)
218
+ body.price_per_day = parseFloat(options.priceDay);
219
+ if (options.priceSignal)
220
+ body.price_per_signal = parseFloat(options.priceSignal);
221
+ if (options.minBbt)
222
+ body.min_bbt_tier = parseInt(options.minBbt);
223
+ body.burn_rate = parseFloat(options.burnRate);
224
+ body.provider_revenue_rate = parseFloat(options.providerRate);
225
+ const response = await providerApi.createStrategy(body);
226
+ if (response.success && response.data) {
227
+ console.log('✓ Strategy created');
228
+ console.log(` ID: ${response.data.id}`);
229
+ console.log(` Name: ${response.data.name}`);
230
+ console.log(` Status: ${response.data.status}`);
231
+ console.log('');
232
+ console.log(` Submit for review: provider submit ${response.data.id}`);
233
+ }
234
+ else {
235
+ console.error('Create failed:', response.error?.message);
236
+ }
237
+ });
238
+ // ── 提交审核 ──
239
+ providerCmd
240
+ .command('submit <strategyId>')
241
+ .description('Submit strategy for admin review')
242
+ .action(async (strategyId) => {
243
+ const client = getClient(true);
244
+ const providerApi = new provider_1.ProviderApi(client);
245
+ const response = await providerApi.submitStrategy(strategyId);
246
+ if (response.success && response.data) {
247
+ console.log('✓ Strategy submitted for review');
248
+ console.log(` Status: ${response.data.status}`);
249
+ console.log(` Review: ${response.data.review_status}`);
250
+ }
251
+ else {
252
+ console.error('Submit failed:', response.error?.message);
253
+ }
254
+ });
255
+ // ── 暂停策略 ──
256
+ providerCmd
257
+ .command('pause <strategyId>')
258
+ .description('Pause a live strategy')
259
+ .action(async (strategyId) => {
260
+ const client = getClient(true);
261
+ const providerApi = new provider_1.ProviderApi(client);
262
+ const response = await providerApi.pauseStrategy(strategyId);
263
+ if (response.success && response.data) {
264
+ console.log(`✓ Strategy paused (${response.data.status})`);
265
+ }
266
+ else {
267
+ console.error('Error:', response.error?.message);
268
+ }
269
+ });
270
+ // ── 恢复策略 ──
271
+ providerCmd
272
+ .command('resume <strategyId>')
273
+ .description('Resume a paused strategy')
274
+ .action(async (strategyId) => {
275
+ const client = getClient(true);
276
+ const providerApi = new provider_1.ProviderApi(client);
277
+ const response = await providerApi.resumeStrategy(strategyId);
278
+ if (response.success && response.data) {
279
+ console.log(`✓ Strategy resumed (${response.data.status})`);
280
+ }
281
+ else {
282
+ console.error('Error:', response.error?.message);
283
+ }
284
+ });
285
+ // ── 删除策略 ──
286
+ providerCmd
287
+ .command('delete <strategyId>')
288
+ .description('Delete a draft strategy')
289
+ .action(async (strategyId) => {
290
+ const client = getClient(true);
291
+ const providerApi = new provider_1.ProviderApi(client);
292
+ const response = await providerApi.deleteStrategy(strategyId);
293
+ if (response.success && response.data) {
294
+ console.log('✓ Strategy deleted');
295
+ }
296
+ else {
297
+ console.error('Error:', response.error?.message);
298
+ }
299
+ });
300
+ // ── 推送信号 (pk-bbt 认证) ──
301
+ providerCmd
302
+ .command('push-signal')
303
+ .description('Push a signal to the platform (uses PROVIDER_API_KEY)')
304
+ .requiredOption('-s, --strategy-id <id>', 'Strategy ID')
305
+ .requiredOption('--symbol <symbol>', 'Symbol (e.g. BTCUSDT)')
306
+ .requiredOption('--decision <decision>', 'Decision: long, short, close_long, close_short, tp, sl')
307
+ .option('--price <price>', 'Current price')
308
+ .option('--confidence <num>', 'Confidence 0-1', '0.9')
309
+ .option('--stop-loss <price>', 'Stop loss price')
310
+ .option('--take-profit <price>', 'Take profit price')
311
+ .option('--reasoning <text>', 'Signal reasoning')
312
+ .action(async (options) => {
313
+ const creds = (0, auth_1.checkAuth)();
314
+ const pkKey = process.env.PROVIDER_API_KEY;
315
+ if (!pkKey) {
316
+ console.error('Error: PROVIDER_API_KEY environment variable not set');
317
+ console.error(' export PROVIDER_API_KEY=pk-bbt-your_key');
318
+ process.exit(1);
319
+ }
320
+ const providerApi = new provider_1.ProviderApi(new client_1.ApiClient(creds.baseUrl, ''));
321
+ const body = {
322
+ strategy_id: options.strategyId,
323
+ symbol: options.symbol,
324
+ decision: options.decision,
325
+ price: options.price ? parseFloat(options.price) : undefined,
326
+ confidence: parseFloat(options.confidence),
327
+ stop_loss: options.stopLoss ? parseFloat(options.stopLoss) : undefined,
328
+ take_profit: options.takeProfit ? parseFloat(options.takeProfit) : undefined,
329
+ reasoning: options.reasoning || `CLI push at ${new Date().toISOString()}`,
330
+ };
331
+ console.log(`Pushing signal: ${body.decision} ${body.symbol}...`);
332
+ const response = await providerApi.pushSignal(pkKey, creds.baseUrl, body);
333
+ if (response.success && response.data) {
334
+ console.log('✓ Signal pushed');
335
+ console.log(` Signal ID: ${response.data.id}`);
336
+ console.log(` Dispatched: ${response.data.dispatched}`);
337
+ }
338
+ else {
339
+ console.error('Push failed:', response.error?.message);
340
+ }
341
+ });
342
+ // ── Provider 统计 (pk-bbt 认证) ──
343
+ providerCmd
344
+ .command('stats')
345
+ .description('Show provider stats (uses PROVIDER_API_KEY)')
346
+ .action(async () => {
347
+ const creds = (0, auth_1.checkAuth)();
348
+ const pkKey = process.env.PROVIDER_API_KEY;
349
+ if (!pkKey) {
350
+ console.error('Error: PROVIDER_API_KEY environment variable not set');
351
+ process.exit(1);
352
+ }
353
+ const providerApi = new provider_1.ProviderApi(new client_1.ApiClient(creds.baseUrl, ''));
354
+ const response = await providerApi.stats(pkKey, creds.baseUrl);
355
+ if (response.success && response.data) {
356
+ const d = response.data;
357
+ console.log('Provider Stats:');
358
+ console.log('='.repeat(60));
359
+ console.log(` Signals Pushed: ${d.provider.total_signals_pushed}`);
360
+ console.log(` Total Earnings: ${d.provider.total_earnings} BBT`);
361
+ console.log(` Strategies: ${d.strategy_count}`);
362
+ console.log(` Signal Count: ${d.signal_count}`);
363
+ console.log(` Active Subscriptions: ${d.active_subscriptions}`);
364
+ }
365
+ else {
366
+ console.error('Error:', response.error?.message);
367
+ }
368
+ });
369
+ program.addCommand(providerCmd);
370
+ }
371
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/commands/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createSignalsCommand(program: Command): void;
3
+ //# sourceMappingURL=signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/commands/signals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAqGpD"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSignalsCommand = createSignalsCommand;
4
+ const commander_1 = require("commander");
5
+ const client_1 = require("../api/client");
6
+ const signals_1 = require("../api/signals");
7
+ const auth_1 = require("../utils/auth");
8
+ function createSignalsCommand(program) {
9
+ const signalsCmd = new commander_1.Command('signals');
10
+ function getClient() {
11
+ const creds = (0, auth_1.checkAuth)();
12
+ return new client_1.ApiClient(creds.baseUrl, creds.apiKey);
13
+ }
14
+ // List latest signals
15
+ signalsCmd
16
+ .command('latest')
17
+ .description('Get latest signals from subscribed strategies')
18
+ .option('--market <market_type>', 'Filter by market type')
19
+ .action(async (options) => {
20
+ const client = getClient();
21
+ const signalsApi = new signals_1.SignalsApi(client);
22
+ const response = await signalsApi.latest({ market_type: options.market });
23
+ if (response.success && response.data) {
24
+ console.log('Latest Signals:');
25
+ console.log('='.repeat(70));
26
+ if (response.data.signals.length === 0) {
27
+ console.log('No signals available. Subscribe to strategies first.');
28
+ return;
29
+ }
30
+ response.data.signals.forEach((signal) => {
31
+ const date = new Date(signal.created_at).toISOString();
32
+ console.log(` [${signal.symbol}] ${signal.decision.toUpperCase()}`);
33
+ console.log(` Strategy: ${signal.strategy_id}`);
34
+ console.log(` Confidence: ${signal.confidence}%`);
35
+ console.log(` Price: ${signal.price}`);
36
+ console.log(` Time: ${date}`);
37
+ console.log(` Reasoning: ${signal.reasoning?.slice(0, 100)}...`);
38
+ console.log('');
39
+ });
40
+ console.log(`Total: ${response.data.count} signals`);
41
+ }
42
+ else {
43
+ console.error('Error:', response.error?.message);
44
+ }
45
+ });
46
+ // Signal history
47
+ signalsCmd
48
+ .command('history')
49
+ .description('Get signal history')
50
+ .option('--market <market_type>', 'Filter by market type')
51
+ .option('--limit <number>', 'Limit results', '20')
52
+ .option('--offset <number>', 'Offset', '0')
53
+ .action(async (options) => {
54
+ const client = getClient();
55
+ const signalsApi = new signals_1.SignalsApi(client);
56
+ const response = await signalsApi.history({
57
+ market_type: options.market,
58
+ limit: parseInt(options.limit),
59
+ offset: parseInt(options.offset),
60
+ });
61
+ if (response.success && response.data) {
62
+ console.log('Signal History:');
63
+ console.log('='.repeat(70));
64
+ response.data.signals.forEach((signal) => {
65
+ const date = new Date(signal.created_at).toISOString();
66
+ console.log(` ${date} [${signal.symbol}] ${signal.decision.toUpperCase()} (confidence: ${signal.confidence}%)`);
67
+ });
68
+ console.log(`\nTotal: ${response.data.total}`);
69
+ }
70
+ else {
71
+ console.error('Error:', response.error?.message);
72
+ }
73
+ });
74
+ // Acknowledge signal
75
+ signalsCmd
76
+ .command('ack <signalId>')
77
+ .description('Acknowledge a signal (confirms processing, may charge BBT)')
78
+ .option('--action <action>', 'Action taken: execute, ignore, partial', 'execute')
79
+ .option('--quantity <number>', 'Quantity executed')
80
+ .action(async (signalId, options) => {
81
+ const client = getClient();
82
+ const signalsApi = new signals_1.SignalsApi(client);
83
+ const quantity = options.quantity ? parseFloat(options.quantity) : undefined;
84
+ console.log(`Acknowledging signal ${signalId} (action: ${options.action}${quantity ? `, qty: ${quantity}` : ''})...`);
85
+ const response = await signalsApi.ack(signalId, options.action, quantity);
86
+ if (response.success && response.data) {
87
+ console.log('✓ Signal acknowledged');
88
+ if (response.data.bbt_charged > 0) {
89
+ console.log(` BBT charged: ${response.data.bbt_charged}`);
90
+ }
91
+ else {
92
+ console.log(' No BBT charged (free strategy)');
93
+ }
94
+ }
95
+ else {
96
+ console.error('Ack failed:', response.error?.message);
97
+ if (response.error?.code === 'INSUFFICIENT_BALANCE') {
98
+ console.error('Deposit BBT to continue using this strategy.');
99
+ }
100
+ }
101
+ });
102
+ program.addCommand(signalsCmd);
103
+ }
104
+ //# sourceMappingURL=signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/commands/signals.ts"],"names":[],"mappings":";;AAKA,oDAqGC;AA1GD,yCAAoC;AACpC,0CAA0C;AAC1C,4CAA4C;AAC5C,wCAA0C;AAE1C,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,UAAU,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC,CAAC;IAE1C,SAAS,SAAS;QAChB,MAAM,KAAK,GAAG,IAAA,gBAAS,GAAG,CAAC;QAC3B,OAAO,IAAI,kBAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,sBAAsB;IACtB,UAAU;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,wBAAwB,EAAE,uBAAuB,CAAC;SACzD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,UAAU;SACP,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,wBAAwB,EAAE,uBAAuB,CAAC;SACzD,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,QAAQ,EAAE,GAAG,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACxC,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;SACjC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;YACnH,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qBAAqB;IACrB,UAAU;SACP,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,EAAE,SAAS,CAAC;SAChF,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,aAAa,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACtH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE1E,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/commands/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA+HrD"}
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/commands/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAoOrD"}