@trading-boy/cli 0.3.6 → 0.3.7

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 (109) hide show
  1. package/dist/api-client.d.ts +5 -0
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +37 -3
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +39 -0
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/audit.d.ts +0 -15
  9. package/dist/commands/audit.d.ts.map +1 -1
  10. package/dist/commands/audit.js +17 -79
  11. package/dist/commands/audit.js.map +1 -1
  12. package/dist/commands/behavioral.d.ts +34 -1
  13. package/dist/commands/behavioral.d.ts.map +1 -1
  14. package/dist/commands/behavioral.js +56 -76
  15. package/dist/commands/behavioral.js.map +1 -1
  16. package/dist/commands/benchmark-cmd.js +2 -2
  17. package/dist/commands/benchmark-cmd.js.map +1 -1
  18. package/dist/commands/billing.d.ts.map +1 -1
  19. package/dist/commands/billing.js +15 -10
  20. package/dist/commands/billing.js.map +1 -1
  21. package/dist/commands/catalysts.d.ts +10 -1
  22. package/dist/commands/catalysts.d.ts.map +1 -1
  23. package/dist/commands/catalysts.js +15 -84
  24. package/dist/commands/catalysts.js.map +1 -1
  25. package/dist/commands/coaching-cmd.d.ts.map +1 -1
  26. package/dist/commands/coaching-cmd.js +21 -10
  27. package/dist/commands/coaching-cmd.js.map +1 -1
  28. package/dist/commands/config-cmd.d.ts.map +1 -1
  29. package/dist/commands/config-cmd.js +35 -19
  30. package/dist/commands/config-cmd.js.map +1 -1
  31. package/dist/commands/context.d.ts +0 -7
  32. package/dist/commands/context.d.ts.map +1 -1
  33. package/dist/commands/context.js +47 -199
  34. package/dist/commands/context.js.map +1 -1
  35. package/dist/commands/decisions.d.ts +38 -2
  36. package/dist/commands/decisions.d.ts.map +1 -1
  37. package/dist/commands/decisions.js +35 -134
  38. package/dist/commands/decisions.js.map +1 -1
  39. package/dist/commands/edge-cmd.d.ts +55 -45
  40. package/dist/commands/edge-cmd.d.ts.map +1 -1
  41. package/dist/commands/edge-cmd.js +76 -32
  42. package/dist/commands/edge-cmd.js.map +1 -1
  43. package/dist/commands/edge-guard-cmd.d.ts.map +1 -1
  44. package/dist/commands/edge-guard-cmd.js +7 -3
  45. package/dist/commands/edge-guard-cmd.js.map +1 -1
  46. package/dist/commands/events.d.ts.map +1 -1
  47. package/dist/commands/events.js +78 -162
  48. package/dist/commands/events.js.map +1 -1
  49. package/dist/commands/infra.d.ts +2 -4
  50. package/dist/commands/infra.d.ts.map +1 -1
  51. package/dist/commands/infra.js +65 -163
  52. package/dist/commands/infra.js.map +1 -1
  53. package/dist/commands/journal.d.ts.map +1 -1
  54. package/dist/commands/journal.js +138 -597
  55. package/dist/commands/journal.js.map +1 -1
  56. package/dist/commands/login.js +3 -3
  57. package/dist/commands/login.js.map +1 -1
  58. package/dist/commands/narratives.d.ts.map +1 -1
  59. package/dist/commands/narratives.js +90 -311
  60. package/dist/commands/narratives.js.map +1 -1
  61. package/dist/commands/query.d.ts +0 -7
  62. package/dist/commands/query.d.ts.map +1 -1
  63. package/dist/commands/query.js +35 -157
  64. package/dist/commands/query.js.map +1 -1
  65. package/dist/commands/replay-cmd.d.ts.map +1 -1
  66. package/dist/commands/replay-cmd.js +6 -8
  67. package/dist/commands/replay-cmd.js.map +1 -1
  68. package/dist/commands/review.d.ts.map +1 -1
  69. package/dist/commands/review.js +45 -83
  70. package/dist/commands/review.js.map +1 -1
  71. package/dist/commands/risk.d.ts +29 -1
  72. package/dist/commands/risk.d.ts.map +1 -1
  73. package/dist/commands/risk.js +20 -89
  74. package/dist/commands/risk.js.map +1 -1
  75. package/dist/commands/social.d.ts +36 -2
  76. package/dist/commands/social.d.ts.map +1 -1
  77. package/dist/commands/social.js +74 -148
  78. package/dist/commands/social.js.map +1 -1
  79. package/dist/commands/strategy-cmd.d.ts.map +1 -1
  80. package/dist/commands/strategy-cmd.js +2 -4
  81. package/dist/commands/strategy-cmd.js.map +1 -1
  82. package/dist/commands/subscribe.js +4 -4
  83. package/dist/commands/subscribe.js.map +1 -1
  84. package/dist/commands/suggestions-cmd.d.ts +24 -0
  85. package/dist/commands/suggestions-cmd.d.ts.map +1 -0
  86. package/dist/commands/suggestions-cmd.js +142 -0
  87. package/dist/commands/suggestions-cmd.js.map +1 -0
  88. package/dist/commands/thesis-cmd.js +4 -4
  89. package/dist/commands/thesis-cmd.js.map +1 -1
  90. package/dist/commands/trader.d.ts +18 -1
  91. package/dist/commands/trader.d.ts.map +1 -1
  92. package/dist/commands/trader.js +105 -225
  93. package/dist/commands/trader.js.map +1 -1
  94. package/dist/commands/watch.d.ts +0 -10
  95. package/dist/commands/watch.d.ts.map +1 -1
  96. package/dist/commands/watch.js +5 -66
  97. package/dist/commands/watch.js.map +1 -1
  98. package/dist/commands/whoami.d.ts.map +1 -1
  99. package/dist/commands/whoami.js +18 -2
  100. package/dist/commands/whoami.js.map +1 -1
  101. package/dist/index.d.ts +4 -4
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +4 -4
  104. package/dist/index.js.map +1 -1
  105. package/dist/utils.d.ts +45 -0
  106. package/dist/utils.d.ts.map +1 -1
  107. package/dist/utils.js +97 -0
  108. package/dist/utils.js.map +1 -1
  109. package/package.json +5 -10
@@ -1,176 +1,77 @@
1
+ import { Option } from 'commander';
1
2
  import chalk from 'chalk';
2
- import { getConfig, createLogger } from '@trading-boy/core';
3
- import { Neo4jClient } from '@trading-boy/graph-db';
4
- import { TimescaleClient } from '@trading-boy/timeseries-db';
3
+ import { createLogger } from '@trading-boy/core';
4
+ import { padRight } from '../utils.js';
5
+ import { getApiBase } from '../api-client.js';
5
6
  // ─── Logger ───
6
7
  const logger = createLogger('cli-infra');
7
- // ─── Client Factories ───
8
- function createNeo4jClient() {
9
- const config = getConfig();
10
- return new Neo4jClient({
11
- uri: config.NEO4J_URI,
12
- username: config.NEO4J_USER,
13
- password: config.NEO4J_PASSWORD,
14
- });
15
- }
16
- function createTimescaleClient() {
17
- const config = getConfig();
18
- return new TimescaleClient({
19
- host: config.TIMESCALE_HOST,
20
- port: config.TIMESCALE_PORT,
21
- user: config.TIMESCALE_USER,
22
- password: config.TIMESCALE_PASSWORD,
23
- database: config.TIMESCALE_DB,
24
- });
25
- }
26
- // ─── Redis Minimal Client ───
27
- /**
28
- * Minimal Redis client for health checking.
29
- * Uses dynamic import of ioredis to avoid hard dependency.
30
- * Falls back to raw TCP check if ioredis is unavailable.
31
- */
32
- async function checkRedisHealth(redisUrl) {
33
- try {
34
- // Try a simple TCP connection check by parsing the URL
35
- const url = new URL(redisUrl);
36
- const host = url.hostname || 'localhost';
37
- const port = parseInt(url.port || '6379', 10);
38
- // Use net module for a basic TCP health check
39
- const { createConnection } = await import('node:net');
40
- return new Promise((resolve) => {
41
- const socket = createConnection({ host, port, timeout: 3000 }, () => {
42
- // Connected — send PING command
43
- socket.write('*1\r\n$4\r\nPING\r\n');
44
- });
45
- let data = '';
46
- socket.on('data', (chunk) => {
47
- data += chunk.toString();
48
- if (data.includes('+PONG') || data.includes('$4\r\nPONG')) {
49
- socket.destroy();
50
- resolve({ healthy: true, message: 'Connected', host, port });
51
- }
52
- });
53
- socket.on('timeout', () => {
54
- socket.destroy();
55
- resolve({ healthy: false, message: 'Connection timed out', host, port });
56
- });
57
- socket.on('error', (err) => {
58
- socket.destroy();
59
- resolve({ healthy: false, message: err.message, host, port });
60
- });
61
- // Fallback timeout
62
- setTimeout(() => {
63
- socket.destroy();
64
- resolve({ healthy: false, message: 'Connection timed out', host, port });
65
- }, 5000);
66
- });
67
- }
68
- catch (err) {
69
- return {
70
- healthy: false,
71
- message: err instanceof Error ? err.message : String(err),
72
- host: 'unknown',
73
- port: 0,
74
- };
75
- }
76
- }
77
8
  // ─── Health Check Logic ───
78
9
  /**
79
- * Check Neo4j health by connecting and running a health check.
10
+ * Check infrastructure health via the API /health endpoint.
11
+ * Falls back to a basic connectivity check if the API is unreachable.
80
12
  */
81
- async function checkNeo4jHealth() {
82
- const client = createNeo4jClient();
83
- try {
84
- await client.connect();
85
- const healthy = await client.healthCheck();
86
- const config = getConfig();
87
- return {
88
- name: 'Neo4j',
89
- healthy,
90
- message: healthy ? 'Connected' : 'Health check failed',
91
- details: config.NEO4J_URI,
92
- };
93
- }
94
- catch (err) {
95
- return {
96
- name: 'Neo4j',
97
- healthy: false,
98
- message: err instanceof Error ? err.message : String(err),
99
- details: getConfig().NEO4J_URI,
100
- };
101
- }
102
- finally {
103
- await client.disconnect().catch(() => { });
104
- }
105
- }
106
- /**
107
- * Check TimescaleDB health by connecting and running a health check.
108
- */
109
- async function checkTimescaleHealth() {
110
- const client = createTimescaleClient();
13
+ export async function checkInfraStatus() {
14
+ const apiBase = getApiBase();
111
15
  try {
112
- await client.connect();
113
- const healthy = await client.healthCheck();
114
- const config = getConfig();
115
- const hostPort = `${config.TIMESCALE_HOST}:${config.TIMESCALE_PORT}`;
16
+ // Call the API health endpoint directly (no auth needed)
17
+ const response = await fetch(`${apiBase}/health`);
18
+ const data = (await response.json());
19
+ const services = [
20
+ {
21
+ name: 'API Server',
22
+ healthy: response.ok,
23
+ message: response.ok ? 'Connected' : `Status: ${response.status}`,
24
+ details: apiBase,
25
+ },
26
+ ];
27
+ // Parse individual service statuses from the health response
28
+ if (data.services) {
29
+ if (data.services.neo4j) {
30
+ services.push({
31
+ name: 'Neo4j',
32
+ healthy: data.services.neo4j.status === 'ok',
33
+ message: data.services.neo4j.status === 'ok' ? 'Connected' : (data.services.neo4j.error ?? 'Unhealthy'),
34
+ });
35
+ }
36
+ if (data.services.timescale) {
37
+ services.push({
38
+ name: 'TimescaleDB',
39
+ healthy: data.services.timescale.status === 'ok',
40
+ message: data.services.timescale.status === 'ok' ? 'Connected' : (data.services.timescale.error ?? 'Unhealthy'),
41
+ });
42
+ }
43
+ if (data.services.redis) {
44
+ services.push({
45
+ name: 'Redis',
46
+ healthy: data.services.redis.status === 'ok',
47
+ message: data.services.redis.status === 'ok' ? 'Connected' : (data.services.redis.error ?? 'Unhealthy'),
48
+ });
49
+ }
50
+ }
116
51
  return {
117
- name: 'TimescaleDB',
118
- healthy,
119
- message: healthy ? 'Connected' : 'Health check failed',
120
- details: `${hostPort}/${config.TIMESCALE_DB}`,
52
+ services,
53
+ overallHealthy: services.every((s) => s.healthy),
121
54
  };
122
55
  }
123
- catch (err) {
124
- const config = getConfig();
125
- const hostPort = `${config.TIMESCALE_HOST}:${config.TIMESCALE_PORT}`;
56
+ catch (error) {
57
+ // API is unreachable
126
58
  return {
127
- name: 'TimescaleDB',
128
- healthy: false,
129
- message: err instanceof Error ? err.message : String(err),
130
- details: `${hostPort}/${config.TIMESCALE_DB}`,
59
+ services: [
60
+ {
61
+ name: 'API Server',
62
+ healthy: false,
63
+ message: error instanceof Error ? error.message : String(error),
64
+ details: apiBase,
65
+ },
66
+ ],
67
+ overallHealthy: false,
131
68
  };
132
69
  }
133
- finally {
134
- await client.disconnect().catch(() => { });
135
- }
136
- }
137
- /**
138
- * Check Redis health by connecting and sending a PING.
139
- */
140
- async function checkRedisServiceHealth() {
141
- const config = getConfig();
142
- const result = await checkRedisHealth(config.REDIS_URL);
143
- return {
144
- name: 'Redis',
145
- healthy: result.healthy,
146
- message: result.message,
147
- details: `${result.host}:${result.port}`,
148
- };
149
- }
150
- /**
151
- * Check all infrastructure services and return a status report.
152
- */
153
- export async function checkInfraStatus() {
154
- const results = await Promise.all([
155
- checkNeo4jHealth(),
156
- checkTimescaleHealth(),
157
- checkRedisServiceHealth(),
158
- ]);
159
- return {
160
- services: results,
161
- overallHealthy: results.every((r) => r.healthy),
162
- };
163
70
  }
164
71
  // ─── Formatter ───
165
- /**
166
- * Format the status indicator for a service.
167
- */
168
72
  function formatStatusIndicator(healthy) {
169
73
  return healthy ? chalk.green('\u2713 UP') : chalk.red('\u2717 DOWN');
170
74
  }
171
- /**
172
- * Format the full infra status output.
173
- */
174
75
  export function formatInfraStatus(result) {
175
76
  const lines = [];
176
77
  lines.push('');
@@ -185,7 +86,6 @@ export function formatInfraStatus(result) {
185
86
  }
186
87
  }
187
88
  lines.push('');
188
- // Overall status
189
89
  if (result.overallHealthy) {
190
90
  lines.push(` ${chalk.green.bold('All services healthy.')}`);
191
91
  }
@@ -203,12 +103,18 @@ export function registerInfraCommand(program) {
203
103
  .description('Infrastructure management commands');
204
104
  infra
205
105
  .command('status')
206
- .description('Check health of Neo4j, TimescaleDB, and Redis')
207
- .action(async () => {
106
+ .description('Check health of API server and underlying infrastructure')
107
+ .addOption(new Option('--format <format>', 'Output format').choices(['text', 'json']).default('text'))
108
+ .action(async (options) => {
208
109
  try {
209
110
  console.log(chalk.gray(' Checking infrastructure health...'));
210
111
  const result = await checkInfraStatus();
211
- console.log(formatInfraStatus(result));
112
+ if (options.format === 'json') {
113
+ console.log(JSON.stringify(result, null, 2));
114
+ }
115
+ else {
116
+ console.log(formatInfraStatus(result));
117
+ }
212
118
  if (!result.overallHealthy) {
213
119
  process.exitCode = 1;
214
120
  }
@@ -221,8 +127,4 @@ export function registerInfraCommand(program) {
221
127
  }
222
128
  });
223
129
  }
224
- // ─── Helpers ───
225
- function padRight(str, len) {
226
- return str.length >= len ? str.slice(0, len) : str + ' '.repeat(len - str.length);
227
- }
228
130
  //# sourceMappingURL=infra.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/commands/infra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/commands/infra.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/commands/journal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAmF5C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAouB7D"}
1
+ {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/commands/journal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAW5C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4R7D"}