@trading-boy/cli 0.1.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 +8 -0
- package/dist/api-client.d.ts +20 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +81 -0
- package/dist/api-client.js.map +1 -0
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +71 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/audit.d.ts +33 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +135 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/behavioral.d.ts +40 -0
- package/dist/commands/behavioral.d.ts.map +1 -0
- package/dist/commands/behavioral.js +369 -0
- package/dist/commands/behavioral.js.map +1 -0
- package/dist/commands/billing.d.ts +12 -0
- package/dist/commands/billing.d.ts.map +1 -0
- package/dist/commands/billing.js +111 -0
- package/dist/commands/billing.js.map +1 -0
- package/dist/commands/catalysts.d.ts +8 -0
- package/dist/commands/catalysts.d.ts.map +1 -0
- package/dist/commands/catalysts.js +192 -0
- package/dist/commands/catalysts.js.map +1 -0
- package/dist/commands/config-cmd.d.ts +30 -0
- package/dist/commands/config-cmd.d.ts.map +1 -0
- package/dist/commands/config-cmd.js +265 -0
- package/dist/commands/config-cmd.js.map +1 -0
- package/dist/commands/context.d.ts +40 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +385 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/decisions.d.ts +21 -0
- package/dist/commands/decisions.d.ts.map +1 -0
- package/dist/commands/decisions.js +327 -0
- package/dist/commands/decisions.js.map +1 -0
- package/dist/commands/events.d.ts +3 -0
- package/dist/commands/events.d.ts.map +1 -0
- package/dist/commands/events.js +201 -0
- package/dist/commands/events.js.map +1 -0
- package/dist/commands/infra.d.ts +22 -0
- package/dist/commands/infra.d.ts.map +1 -0
- package/dist/commands/infra.js +228 -0
- package/dist/commands/infra.js.map +1 -0
- package/dist/commands/journal.d.ts +3 -0
- package/dist/commands/journal.d.ts.map +1 -0
- package/dist/commands/journal.js +616 -0
- package/dist/commands/journal.js.map +1 -0
- package/dist/commands/login.d.ts +18 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +121 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +7 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +39 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/narratives.d.ts +3 -0
- package/dist/commands/narratives.d.ts.map +1 -0
- package/dist/commands/narratives.js +336 -0
- package/dist/commands/narratives.js.map +1 -0
- package/dist/commands/query.d.ts +39 -0
- package/dist/commands/query.d.ts.map +1 -0
- package/dist/commands/query.js +212 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/review.d.ts +3 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +481 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/risk.d.ts +19 -0
- package/dist/commands/risk.d.ts.map +1 -0
- package/dist/commands/risk.js +190 -0
- package/dist/commands/risk.js.map +1 -0
- package/dist/commands/social.d.ts +9 -0
- package/dist/commands/social.d.ts.map +1 -0
- package/dist/commands/social.js +386 -0
- package/dist/commands/social.js.map +1 -0
- package/dist/commands/subscribe.d.ts +45 -0
- package/dist/commands/subscribe.d.ts.map +1 -0
- package/dist/commands/subscribe.js +259 -0
- package/dist/commands/subscribe.js.map +1 -0
- package/dist/commands/trader.d.ts +12 -0
- package/dist/commands/trader.d.ts.map +1 -0
- package/dist/commands/trader.js +265 -0
- package/dist/commands/trader.js.map +1 -0
- package/dist/commands/watch.d.ts +26 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +121 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/commands/whoami.d.ts +14 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +73 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/credentials.d.ts +18 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +164 -0
- package/dist/credentials.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +21 -0
- package/dist/utils.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
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';
|
|
5
|
+
// ─── Logger ───
|
|
6
|
+
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
|
+
// ─── Health Check Logic ───
|
|
78
|
+
/**
|
|
79
|
+
* Check Neo4j health by connecting and running a health check.
|
|
80
|
+
*/
|
|
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();
|
|
111
|
+
try {
|
|
112
|
+
await client.connect();
|
|
113
|
+
const healthy = await client.healthCheck();
|
|
114
|
+
const config = getConfig();
|
|
115
|
+
const hostPort = `${config.TIMESCALE_HOST}:${config.TIMESCALE_PORT}`;
|
|
116
|
+
return {
|
|
117
|
+
name: 'TimescaleDB',
|
|
118
|
+
healthy,
|
|
119
|
+
message: healthy ? 'Connected' : 'Health check failed',
|
|
120
|
+
details: `${hostPort}/${config.TIMESCALE_DB}`,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
const config = getConfig();
|
|
125
|
+
const hostPort = `${config.TIMESCALE_HOST}:${config.TIMESCALE_PORT}`;
|
|
126
|
+
return {
|
|
127
|
+
name: 'TimescaleDB',
|
|
128
|
+
healthy: false,
|
|
129
|
+
message: err instanceof Error ? err.message : String(err),
|
|
130
|
+
details: `${hostPort}/${config.TIMESCALE_DB}`,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
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
|
+
}
|
|
164
|
+
// ─── Formatter ───
|
|
165
|
+
/**
|
|
166
|
+
* Format the status indicator for a service.
|
|
167
|
+
*/
|
|
168
|
+
function formatStatusIndicator(healthy) {
|
|
169
|
+
return healthy ? chalk.green('\u2713 UP') : chalk.red('\u2717 DOWN');
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Format the full infra status output.
|
|
173
|
+
*/
|
|
174
|
+
export function formatInfraStatus(result) {
|
|
175
|
+
const lines = [];
|
|
176
|
+
lines.push('');
|
|
177
|
+
lines.push(chalk.bold.cyan(' Infrastructure Status'));
|
|
178
|
+
lines.push(chalk.gray(' ' + '\u2500'.repeat(60)));
|
|
179
|
+
lines.push('');
|
|
180
|
+
for (const service of result.services) {
|
|
181
|
+
const status = formatStatusIndicator(service.healthy);
|
|
182
|
+
lines.push(` ${status} ${chalk.bold(padRight(service.name, 16))} ${chalk.gray(service.message)}`);
|
|
183
|
+
if (service.details) {
|
|
184
|
+
lines.push(` ${chalk.dim(service.details)}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
lines.push('');
|
|
188
|
+
// Overall status
|
|
189
|
+
if (result.overallHealthy) {
|
|
190
|
+
lines.push(` ${chalk.green.bold('All services healthy.')}`);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
const downCount = result.services.filter((s) => !s.healthy).length;
|
|
194
|
+
lines.push(` ${chalk.red.bold(`${downCount} service(s) down.`)}`);
|
|
195
|
+
}
|
|
196
|
+
lines.push('');
|
|
197
|
+
return lines.join('\n');
|
|
198
|
+
}
|
|
199
|
+
// ─── Command Registration ───
|
|
200
|
+
export function registerInfraCommand(program) {
|
|
201
|
+
const infra = program
|
|
202
|
+
.command('infra')
|
|
203
|
+
.description('Infrastructure management commands');
|
|
204
|
+
infra
|
|
205
|
+
.command('status')
|
|
206
|
+
.description('Check health of Neo4j, TimescaleDB, and Redis')
|
|
207
|
+
.action(async () => {
|
|
208
|
+
try {
|
|
209
|
+
console.log(chalk.gray(' Checking infrastructure health...'));
|
|
210
|
+
const result = await checkInfraStatus();
|
|
211
|
+
console.log(formatInfraStatus(result));
|
|
212
|
+
if (!result.overallHealthy) {
|
|
213
|
+
process.exitCode = 1;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
218
|
+
logger.error({ error: message }, 'Infra status check failed');
|
|
219
|
+
console.error(chalk.red(`Error: ${message}`));
|
|
220
|
+
process.exitCode = 1;
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
// ─── Helpers ───
|
|
225
|
+
function padRight(str, len) {
|
|
226
|
+
return str.length >= len ? str.slice(0, len) : str + ' '.repeat(len - str.length);
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=infra.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/commands/infra.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,iBAAiB;AAEjB,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzC,2BAA2B;AAE3B,SAAS,iBAAiB;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC,SAAS;QACrB,QAAQ,EAAE,MAAM,CAAC,UAAU;QAC3B,QAAQ,EAAE,MAAM,CAAC,cAAc;KAChC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,IAAI,eAAe,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC,cAAc;QAC3B,IAAI,EAAE,MAAM,CAAC,cAAc;QAC3B,IAAI,EAAE,MAAM,CAAC,cAAc;QAC3B,QAAQ,EAAE,MAAM,CAAC,kBAAkB;QACnC,QAAQ,EAAE,MAAM,CAAC,YAAY;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,+BAA+B;AAE/B;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,uDAAuD;QACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QAE9C,8CAA8C;QAC9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtD,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;gBAClE,gCAAgC;gBAChC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC1D,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACxB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;AACH,CAAC;AAuBD,6BAA6B;AAE7B;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC7B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB;YACtD,OAAO,EAAE,MAAM,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,OAAO,EAAE,SAAS,EAAE,CAAC,SAAS;SAC/B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAgB,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB;IACjC,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACrE,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB;YACtD,OAAO,EAAE,GAAG,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE;SAC9C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACrE,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,OAAO,EAAE,GAAG,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE;SAC9C,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAgB,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB;IACpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;KACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChC,gBAAgB,EAAE;QAClB,oBAAoB,EAAE;QACtB,uBAAuB,EAAE;KAC1B,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,oBAAoB;AAEpB;;GAEG;AACH,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,iBAAiB;IACjB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+BAA+B;AAE/B,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAErD,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAEvC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC3B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,2BAA2B,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kBAAkB;AAElB,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/commands/journal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAkF5C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAumB7D"}
|