@calltelemetry/cli 0.4.25 → 0.5.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/dist/commands/diag.d.ts.map +1 -1
- package/dist/commands/diag.js +29 -0
- package/dist/commands/diag.js.map +1 -1
- package/dist/commands/k8s.d.ts +3 -0
- package/dist/commands/k8s.d.ts.map +1 -0
- package/dist/commands/k8s.js +192 -0
- package/dist/commands/k8s.js.map +1 -0
- package/dist/commands/network.d.ts +3 -0
- package/dist/commands/network.d.ts.map +1 -0
- package/dist/commands/network.js +120 -0
- package/dist/commands/network.js.map +1 -0
- package/dist/commands/shell.d.ts +3 -0
- package/dist/commands/shell.d.ts.map +1 -0
- package/dist/commands/shell.js +10 -0
- package/dist/commands/shell.js.map +1 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/backend.d.ts +85 -0
- package/dist/lib/backend.d.ts.map +1 -0
- package/dist/lib/backend.js +6 -0
- package/dist/lib/backend.js.map +1 -0
- package/dist/lib/bundle.d.ts.map +1 -1
- package/dist/lib/bundle.js +3 -0
- package/dist/lib/bundle.js.map +1 -1
- package/dist/lib/compose-backend.d.ts +19 -0
- package/dist/lib/compose-backend.d.ts.map +1 -0
- package/dist/lib/compose-backend.js +78 -0
- package/dist/lib/compose-backend.js.map +1 -0
- package/dist/lib/deployment.d.ts +6 -0
- package/dist/lib/deployment.d.ts.map +1 -0
- package/dist/lib/deployment.js +51 -0
- package/dist/lib/deployment.js.map +1 -0
- package/dist/lib/doctor.d.ts +13 -0
- package/dist/lib/doctor.d.ts.map +1 -0
- package/dist/lib/doctor.js +82 -0
- package/dist/lib/doctor.js.map +1 -0
- package/dist/lib/helmfile.d.ts +14 -0
- package/dist/lib/helmfile.d.ts.map +1 -0
- package/dist/lib/helmfile.js +78 -0
- package/dist/lib/helmfile.js.map +1 -0
- package/dist/lib/k8s-backend.d.ts +36 -0
- package/dist/lib/k8s-backend.d.ts.map +1 -0
- package/dist/lib/k8s-backend.js +301 -0
- package/dist/lib/k8s-backend.js.map +1 -0
- package/dist/lib/k8s-client.d.ts +14 -0
- package/dist/lib/k8s-client.d.ts.map +1 -0
- package/dist/lib/k8s-client.js +42 -0
- package/dist/lib/k8s-client.js.map +1 -0
- package/dist/lib/metadata-artifacts.d.ts +2 -0
- package/dist/lib/metadata-artifacts.d.ts.map +1 -0
- package/dist/lib/metadata-artifacts.js +36 -0
- package/dist/lib/metadata-artifacts.js.map +1 -0
- package/dist/lib/offline-steps.d.ts.map +1 -1
- package/dist/lib/offline-steps.js +3 -0
- package/dist/lib/offline-steps.js.map +1 -1
- package/dist/lib/prefs.d.ts +3 -0
- package/dist/lib/prefs.d.ts.map +1 -1
- package/dist/lib/prefs.js +9 -1
- package/dist/lib/prefs.js.map +1 -1
- package/dist/shell/commands/config.d.ts +11 -0
- package/dist/shell/commands/config.d.ts.map +1 -0
- package/dist/shell/commands/config.js +193 -0
- package/dist/shell/commands/config.js.map +1 -0
- package/dist/shell/commands/connect.d.ts +18 -0
- package/dist/shell/commands/connect.d.ts.map +1 -0
- package/dist/shell/commands/connect.js +99 -0
- package/dist/shell/commands/connect.js.map +1 -0
- package/dist/shell/commands/db.d.ts +11 -0
- package/dist/shell/commands/db.d.ts.map +1 -0
- package/dist/shell/commands/db.js +237 -0
- package/dist/shell/commands/db.js.map +1 -0
- package/dist/shell/commands/debug.d.ts +15 -0
- package/dist/shell/commands/debug.d.ts.map +1 -0
- package/dist/shell/commands/debug.js +310 -0
- package/dist/shell/commands/debug.js.map +1 -0
- package/dist/shell/commands/diag.d.ts +16 -0
- package/dist/shell/commands/diag.d.ts.map +1 -0
- package/dist/shell/commands/diag.js +555 -0
- package/dist/shell/commands/diag.js.map +1 -0
- package/dist/shell/commands/registry.d.ts +7 -0
- package/dist/shell/commands/registry.d.ts.map +1 -0
- package/dist/shell/commands/registry.js +391 -0
- package/dist/shell/commands/registry.js.map +1 -0
- package/dist/shell/commands/secrets.d.ts +18 -0
- package/dist/shell/commands/secrets.d.ts.map +1 -0
- package/dist/shell/commands/secrets.js +100 -0
- package/dist/shell/commands/secrets.js.map +1 -0
- package/dist/shell/commands/services.d.ts +7 -0
- package/dist/shell/commands/services.d.ts.map +1 -0
- package/dist/shell/commands/services.js +115 -0
- package/dist/shell/commands/services.js.map +1 -0
- package/dist/shell/commands/show.d.ts +26 -0
- package/dist/shell/commands/show.d.ts.map +1 -0
- package/dist/shell/commands/show.js +897 -0
- package/dist/shell/commands/show.js.map +1 -0
- package/dist/shell/commands/system.d.ts +13 -0
- package/dist/shell/commands/system.d.ts.map +1 -0
- package/dist/shell/commands/system.js +270 -0
- package/dist/shell/commands/system.js.map +1 -0
- package/dist/shell/commands/test.d.ts +12 -0
- package/dist/shell/commands/test.d.ts.map +1 -0
- package/dist/shell/commands/test.js +197 -0
- package/dist/shell/commands/test.js.map +1 -0
- package/dist/shell/commands/users.d.ts +14 -0
- package/dist/shell/commands/users.d.ts.map +1 -0
- package/dist/shell/commands/users.js +86 -0
- package/dist/shell/commands/users.js.map +1 -0
- package/dist/shell/completer.d.ts +16 -0
- package/dist/shell/completer.d.ts.map +1 -0
- package/dist/shell/completer.js +124 -0
- package/dist/shell/completer.js.map +1 -0
- package/dist/shell/context.d.ts +12 -0
- package/dist/shell/context.d.ts.map +1 -0
- package/dist/shell/context.js +2 -0
- package/dist/shell/context.js.map +1 -0
- package/dist/shell/footer.d.ts +8 -0
- package/dist/shell/footer.d.ts.map +1 -0
- package/dist/shell/footer.js +47 -0
- package/dist/shell/footer.js.map +1 -0
- package/dist/shell/formatter.d.ts +47 -0
- package/dist/shell/formatter.d.ts.map +1 -0
- package/dist/shell/formatter.js +135 -0
- package/dist/shell/formatter.js.map +1 -0
- package/dist/shell/mcp-bridge.d.ts +13 -0
- package/dist/shell/mcp-bridge.d.ts.map +1 -0
- package/dist/shell/mcp-bridge.js +23 -0
- package/dist/shell/mcp-bridge.js.map +1 -0
- package/dist/shell/parser.d.ts +33 -0
- package/dist/shell/parser.d.ts.map +1 -0
- package/dist/shell/parser.js +100 -0
- package/dist/shell/parser.js.map +1 -0
- package/dist/shell/repl.d.ts +5 -0
- package/dist/shell/repl.d.ts.map +1 -0
- package/dist/shell/repl.js +251 -0
- package/dist/shell/repl.js.map +1 -0
- package/dist/shell/sparkline.d.ts +16 -0
- package/dist/shell/sparkline.d.ts.map +1 -0
- package/dist/shell/sparkline.js +56 -0
- package/dist/shell/sparkline.js.map +1 -0
- package/dist/shell/theme.d.ts +72 -0
- package/dist/shell/theme.d.ts.map +1 -0
- package/dist/shell/theme.js +60 -0
- package/dist/shell/theme.js.map +1 -0
- package/dist/ui/views/DbHealthView.d.ts +6 -0
- package/dist/ui/views/DbHealthView.d.ts.map +1 -0
- package/dist/ui/views/DbHealthView.js +180 -0
- package/dist/ui/views/DbHealthView.js.map +1 -0
- package/dist/ui/views/K8sDeployView.d.ts +8 -0
- package/dist/ui/views/K8sDeployView.d.ts.map +1 -0
- package/dist/ui/views/K8sDeployView.js +81 -0
- package/dist/ui/views/K8sDeployView.js.map +1 -0
- package/dist/ui/views/K8sRunbookView.d.ts +8 -0
- package/dist/ui/views/K8sRunbookView.d.ts.map +1 -0
- package/dist/ui/views/K8sRunbookView.js +181 -0
- package/dist/ui/views/K8sRunbookView.js.map +1 -0
- package/dist/ui/views/K8sServicesView.d.ts +8 -0
- package/dist/ui/views/K8sServicesView.d.ts.map +1 -0
- package/dist/ui/views/K8sServicesView.js +106 -0
- package/dist/ui/views/K8sServicesView.js.map +1 -0
- package/dist/ui/views/K8sStatusView.d.ts +8 -0
- package/dist/ui/views/K8sStatusView.d.ts.map +1 -0
- package/dist/ui/views/K8sStatusView.js +135 -0
- package/dist/ui/views/K8sStatusView.js.map +1 -0
- package/dist/ui/views/MainMenu.d.ts.map +1 -1
- package/dist/ui/views/MainMenu.js +54 -24
- package/dist/ui/views/MainMenu.js.map +1 -1
- package/dist/ui/views/SettingsView.d.ts.map +1 -1
- package/dist/ui/views/SettingsView.js +19 -1
- package/dist/ui/views/SettingsView.js.map +1 -1
- package/dist/ui/views/SetupWizardView.d.ts +7 -0
- package/dist/ui/views/SetupWizardView.d.ts.map +1 -0
- package/dist/ui/views/SetupWizardView.js +244 -0
- package/dist/ui/views/SetupWizardView.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell command handlers for the `debug` command tree.
|
|
3
|
+
*
|
|
4
|
+
* debug network — Network connectivity diagnostics
|
|
5
|
+
* debug database — Database health checks
|
|
6
|
+
* debug service — Recent service logs + systemd journal
|
|
7
|
+
* debug showtech — 19-step support bundle collection
|
|
8
|
+
* debug packet-capture start|stop|list <host> — CUCM MCP packet capture
|
|
9
|
+
* debug trace start|stop <host> — CUCM MCP trace
|
|
10
|
+
* debug ris <device> — RIS device query
|
|
11
|
+
* debug sdl-trace <host> <call-id> — SDL trace call flow
|
|
12
|
+
*/
|
|
13
|
+
import { exec } from '../../lib/exec.js';
|
|
14
|
+
import { composeExec, compose } from '../../lib/compose.js';
|
|
15
|
+
import { getDefaultGateway, resolveDns, checkTcpPort, getPingArgs } from '../../lib/network.js';
|
|
16
|
+
import { DB_USER, DB_NAME, PG_ENV } from '../../lib/db.js';
|
|
17
|
+
import { showtechSteps } from '../../lib/showtech-steps.js';
|
|
18
|
+
import { rpc, rpcOk } from '../../lib/rpc.js';
|
|
19
|
+
import { banner, statusLine, stepProgress } from '../formatter.js';
|
|
20
|
+
import { join } from 'node:path';
|
|
21
|
+
import { tmpdir } from 'node:os';
|
|
22
|
+
// ── Helpers ──
|
|
23
|
+
function mcpRequired(type) {
|
|
24
|
+
return `% Requires MCP connection. Use: connect <name> ${type} --host <host>`;
|
|
25
|
+
}
|
|
26
|
+
function hasMcp(ctx, type) {
|
|
27
|
+
for (const conn of ctx.connections.values()) {
|
|
28
|
+
if (conn.type === type)
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
// ── debug network ──
|
|
34
|
+
async function debugNetwork(_args, _opts, _ctx) {
|
|
35
|
+
console.log(banner('Network Diagnostics'));
|
|
36
|
+
// 1. Ping 8.8.8.8
|
|
37
|
+
try {
|
|
38
|
+
const pingArgs = getPingArgs('8.8.8.8', 3, 2);
|
|
39
|
+
const result = await exec('ping', pingArgs);
|
|
40
|
+
const stdout = String(result.stdout ?? '');
|
|
41
|
+
const loss = stdout.match(/(\d+)% packet loss/)?.[1] ?? 'unknown';
|
|
42
|
+
console.log(statusLine('Ping 8.8.8.8', loss === '0' ? 'ok' : 'fail', `${loss}% packet loss`));
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
console.log(statusLine('Ping 8.8.8.8', 'fail', 'unreachable'));
|
|
46
|
+
}
|
|
47
|
+
// 2. DNS resolution
|
|
48
|
+
const dnsResult = await resolveDns('google.com');
|
|
49
|
+
console.log(statusLine('DNS resolution (google.com)', dnsResult.error ? 'fail' : 'ok', dnsResult.error ?? `${dnsResult.ipv4.join(', ')} (${dnsResult.durationMs}ms)`));
|
|
50
|
+
// 3. Default gateway
|
|
51
|
+
const gw = await getDefaultGateway();
|
|
52
|
+
if (gw) {
|
|
53
|
+
try {
|
|
54
|
+
const gwPing = getPingArgs(gw, 2, 2);
|
|
55
|
+
const result = await exec('ping', gwPing);
|
|
56
|
+
const stdout = String(result.stdout ?? '');
|
|
57
|
+
const loss = stdout.match(/(\d+)% packet loss/)?.[1] ?? 'unknown';
|
|
58
|
+
console.log(statusLine(`Gateway ${gw}`, loss === '0' ? 'ok' : 'warn', `${loss}% packet loss`));
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
console.log(statusLine(`Gateway ${gw}`, 'fail', 'unreachable'));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log(statusLine('Default gateway', 'warn', 'not detected'));
|
|
66
|
+
}
|
|
67
|
+
// 4. IPv4 connectivity
|
|
68
|
+
const ipv4Check = await checkTcpPort('8.8.8.8', 53, 5000);
|
|
69
|
+
console.log(statusLine('IPv4 (tcp/53 to 8.8.8.8)', ipv4Check.open ? 'ok' : 'fail', ipv4Check.open ? `${ipv4Check.durationMs}ms` : ipv4Check.error));
|
|
70
|
+
// 5. IPv6 connectivity
|
|
71
|
+
const ipv6Check = await checkTcpPort('2001:4860:4860::8888', 53, 5000);
|
|
72
|
+
console.log(statusLine('IPv6 (tcp/53 to Google DNS)', ipv6Check.open ? 'ok' : 'warn', ipv6Check.open ? `${ipv6Check.durationMs}ms` : (ipv6Check.error ?? 'not available')));
|
|
73
|
+
// 6. Key port checks
|
|
74
|
+
const ports = [
|
|
75
|
+
['HTTPS (443)', '127.0.0.1', 443],
|
|
76
|
+
['HTTP (80)', '127.0.0.1', 80],
|
|
77
|
+
['CURRI (4080)', '127.0.0.1', 4080],
|
|
78
|
+
['Admin API (4000)', '127.0.0.1', 4000],
|
|
79
|
+
];
|
|
80
|
+
console.log(banner('Local Port Checks'));
|
|
81
|
+
for (const [label, host, port] of ports) {
|
|
82
|
+
const check = await checkTcpPort(host, port, 3000);
|
|
83
|
+
console.log(statusLine(label, check.open ? 'ok' : 'fail', check.open ? `${check.durationMs}ms` : check.error));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// ── debug database ──
|
|
87
|
+
async function debugDatabase(_args, _opts, _ctx) {
|
|
88
|
+
console.log(banner('Database Diagnostics'));
|
|
89
|
+
// 1. pg_isready
|
|
90
|
+
try {
|
|
91
|
+
await composeExec('db', ['pg_isready', '-U', DB_USER, '-d', DB_NAME], { pipe: true });
|
|
92
|
+
console.log(statusLine('pg_isready', 'ok', 'accepting connections'));
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
console.log(statusLine('pg_isready', 'fail', err.message ?? 'not ready'));
|
|
96
|
+
}
|
|
97
|
+
// 2. Connection count
|
|
98
|
+
try {
|
|
99
|
+
const result = await composeExec('db', [
|
|
100
|
+
'psql', '-U', DB_USER, '-d', DB_NAME, '-t', '-c',
|
|
101
|
+
"SELECT count(*) || ' total, ' || count(*) FILTER (WHERE state = 'active') || ' active, ' || count(*) FILTER (WHERE state = 'idle') || ' idle' FROM pg_stat_activity;",
|
|
102
|
+
], { env: PG_ENV, pipe: true });
|
|
103
|
+
console.log(statusLine('Connections', 'info', String(result.stdout ?? '').trim()));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
console.log(statusLine('Connections', 'fail', 'query failed'));
|
|
107
|
+
}
|
|
108
|
+
// 3. Database size
|
|
109
|
+
try {
|
|
110
|
+
const result = await composeExec('db', [
|
|
111
|
+
'psql', '-U', DB_USER, '-d', DB_NAME, '-t', '-c',
|
|
112
|
+
`SELECT pg_size_pretty(pg_database_size('${DB_NAME}'));`,
|
|
113
|
+
], { env: PG_ENV, pipe: true });
|
|
114
|
+
console.log(statusLine('Database size', 'info', String(result.stdout ?? '').trim()));
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
console.log(statusLine('Database size', 'fail', 'query failed'));
|
|
118
|
+
}
|
|
119
|
+
// 4. Long-running queries
|
|
120
|
+
try {
|
|
121
|
+
const result = await composeExec('db', [
|
|
122
|
+
'psql', '-U', DB_USER, '-d', DB_NAME, '-t', '-c',
|
|
123
|
+
"SELECT count(*) FROM pg_stat_activity WHERE state = 'active' AND now() - query_start > interval '30 seconds' AND query NOT ILIKE '%pg_stat_activity%';",
|
|
124
|
+
], { env: PG_ENV, pipe: true });
|
|
125
|
+
const count = parseInt(String(result.stdout ?? '').trim(), 10) || 0;
|
|
126
|
+
console.log(statusLine('Long queries (>30s)', count > 0 ? 'warn' : 'ok', `${count} found`));
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
console.log(statusLine('Long queries', 'fail', 'query failed'));
|
|
130
|
+
}
|
|
131
|
+
// 5. Lock contention
|
|
132
|
+
try {
|
|
133
|
+
const result = await composeExec('db', [
|
|
134
|
+
'psql', '-U', DB_USER, '-d', DB_NAME, '-t', '-c',
|
|
135
|
+
'SELECT count(*) FROM pg_locks WHERE NOT granted;',
|
|
136
|
+
], { env: PG_ENV, pipe: true });
|
|
137
|
+
const count = parseInt(String(result.stdout ?? '').trim(), 10) || 0;
|
|
138
|
+
console.log(statusLine('Lock contention', count > 0 ? 'warn' : 'ok', `${count} blocked`));
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
console.log(statusLine('Lock contention', 'fail', 'query failed'));
|
|
142
|
+
}
|
|
143
|
+
// 6. Replication status
|
|
144
|
+
try {
|
|
145
|
+
const result = await composeExec('db', [
|
|
146
|
+
'psql', '-U', DB_USER, '-d', DB_NAME, '-t', '-c',
|
|
147
|
+
'SELECT count(*) FROM pg_stat_replication;',
|
|
148
|
+
], { env: PG_ENV, pipe: true });
|
|
149
|
+
const count = parseInt(String(result.stdout ?? '').trim(), 10) || 0;
|
|
150
|
+
console.log(statusLine('Replication', 'info', count > 0 ? `${count} replica(s)` : 'standalone'));
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
console.log(statusLine('Replication', 'info', 'not configured'));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// ── debug service ──
|
|
157
|
+
async function debugService(_args, _opts, _ctx) {
|
|
158
|
+
console.log(banner('Service Diagnostics'));
|
|
159
|
+
// Recent compose logs (last 50 lines)
|
|
160
|
+
console.log('\n' + statusLine('Docker Compose logs (last 50 lines)', 'info'));
|
|
161
|
+
try {
|
|
162
|
+
await compose(['logs', '--tail=50'], { pipe: false });
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
console.log(statusLine('Compose logs', 'fail', err.message ?? 'unavailable'));
|
|
166
|
+
}
|
|
167
|
+
// Systemd journal
|
|
168
|
+
console.log('\n' + statusLine('Systemd journal (last 100 lines)', 'info'));
|
|
169
|
+
try {
|
|
170
|
+
await exec('sudo', ['journalctl', '-u', 'docker-compose-app.service', '-n', '100', '--no-pager']);
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
console.log(statusLine('Systemd journal', 'warn', 'not available (non-systemd host?)'));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// ── debug showtech ──
|
|
177
|
+
async function debugShowtech(_args, opts, _ctx) {
|
|
178
|
+
const policyMinutes = opts['--policy-minutes'] ? parseInt(opts['--policy-minutes'], 10) : undefined;
|
|
179
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
|
|
180
|
+
const bundleDir = join(tmpdir(), `ct-showtech-${timestamp}`);
|
|
181
|
+
console.log(banner('Show Tech Support Bundle'));
|
|
182
|
+
console.log(`Bundle: ${bundleDir}`);
|
|
183
|
+
const steps = showtechSteps(bundleDir, policyMinutes);
|
|
184
|
+
for (let i = 0; i < steps.length; i++) {
|
|
185
|
+
const step = steps[i];
|
|
186
|
+
console.log(stepProgress(step.label, 'running'));
|
|
187
|
+
try {
|
|
188
|
+
const result = await step.run();
|
|
189
|
+
console.log(stepProgress(step.label, 'done', String(result ?? '')));
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
console.log(stepProgress(step.label, 'fail', err.message ?? 'unknown error'));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// ── debug packet-capture ──
|
|
197
|
+
async function debugPacketCapture(args, _opts, ctx) {
|
|
198
|
+
if (!hasMcp(ctx, 'cucm')) {
|
|
199
|
+
console.log(mcpRequired('cucm'));
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const [action, host] = args;
|
|
203
|
+
if (!action || !['start', 'stop', 'list'].includes(action)) {
|
|
204
|
+
console.log('% Usage: debug packet-capture start|stop|list <host>');
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
console.log(`% Delegating packet-capture ${action} to CUCM MCP connection...`);
|
|
208
|
+
console.log(`% Host: ${host ?? '(default)'}`);
|
|
209
|
+
// MCP dispatch will be wired when connection management is implemented
|
|
210
|
+
console.log('% MCP command dispatch not yet implemented');
|
|
211
|
+
}
|
|
212
|
+
// ── debug trace ──
|
|
213
|
+
async function debugTrace(args, _opts, ctx) {
|
|
214
|
+
if (!hasMcp(ctx, 'cucm')) {
|
|
215
|
+
console.log(mcpRequired('cucm'));
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
const [action, host] = args;
|
|
219
|
+
if (!action || !['start', 'stop'].includes(action)) {
|
|
220
|
+
console.log('% Usage: debug trace start|stop <host>');
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
console.log(`% Delegating trace ${action} to CUCM MCP connection...`);
|
|
224
|
+
console.log(`% Host: ${host ?? '(default)'}`);
|
|
225
|
+
console.log('% MCP command dispatch not yet implemented');
|
|
226
|
+
}
|
|
227
|
+
// ── debug ris ──
|
|
228
|
+
async function debugRis(args, _opts, ctx) {
|
|
229
|
+
const [device] = args;
|
|
230
|
+
if (!device) {
|
|
231
|
+
console.log('% Usage: debug ris <device-name>');
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
// Try local RPC first
|
|
235
|
+
try {
|
|
236
|
+
if (await rpcOk()) {
|
|
237
|
+
console.log(banner(`RIS Query: ${device}`));
|
|
238
|
+
const output = await rpc(`Cdrcisco.RIS.select_cm_device("${device}") |> Jason.encode!(pretty: true) |> IO.puts()`);
|
|
239
|
+
console.log(output);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
// Fall through to MCP check
|
|
245
|
+
}
|
|
246
|
+
if (!hasMcp(ctx, 'cucm') && !hasMcp(ctx, 'ris')) {
|
|
247
|
+
console.log(mcpRequired('cucm'));
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
console.log(`% Delegating RIS query for ${device} to MCP connection...`);
|
|
251
|
+
console.log('% MCP command dispatch not yet implemented');
|
|
252
|
+
}
|
|
253
|
+
// ── debug sdl-trace ──
|
|
254
|
+
async function debugSdlTrace(args, _opts, ctx) {
|
|
255
|
+
if (!hasMcp(ctx, 'cucm')) {
|
|
256
|
+
console.log(mcpRequired('cucm'));
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
const [host, callId] = args;
|
|
260
|
+
if (!host || !callId) {
|
|
261
|
+
console.log('% Usage: debug sdl-trace <host> <call-id>');
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
console.log(`% Delegating SDL trace analysis to CUCM MCP connection...`);
|
|
265
|
+
console.log(`% Host: ${host}, Call-ID: ${callId}`);
|
|
266
|
+
console.log('% MCP command dispatch not yet implemented');
|
|
267
|
+
}
|
|
268
|
+
// ── Wire handlers ──
|
|
269
|
+
export function wireDebugHandlers(debugNode) {
|
|
270
|
+
if (!debugNode.children)
|
|
271
|
+
return;
|
|
272
|
+
for (const child of debugNode.children) {
|
|
273
|
+
switch (child.name) {
|
|
274
|
+
case 'network':
|
|
275
|
+
child.handler = debugNetwork;
|
|
276
|
+
break;
|
|
277
|
+
case 'database':
|
|
278
|
+
child.handler = debugDatabase;
|
|
279
|
+
break;
|
|
280
|
+
case 'service':
|
|
281
|
+
child.handler = debugService;
|
|
282
|
+
break;
|
|
283
|
+
case 'showtech':
|
|
284
|
+
child.options = [{ name: '--policy-minutes', description: 'Include policy history for last N minutes', hasValue: true }];
|
|
285
|
+
child.handler = debugShowtech;
|
|
286
|
+
break;
|
|
287
|
+
case 'packet-capture':
|
|
288
|
+
if (child.children) {
|
|
289
|
+
for (const sub of child.children) {
|
|
290
|
+
sub.handler = debugPacketCapture;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
break;
|
|
294
|
+
case 'trace':
|
|
295
|
+
if (child.children) {
|
|
296
|
+
for (const sub of child.children) {
|
|
297
|
+
sub.handler = debugTrace;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
break;
|
|
301
|
+
case 'ris':
|
|
302
|
+
child.handler = debugRis;
|
|
303
|
+
break;
|
|
304
|
+
case 'sdl-trace':
|
|
305
|
+
child.handler = debugSdlTrace;
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/shell/commands/debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell command handlers for docker, network, k8s, jtapi, and loadtest trees.
|
|
3
|
+
*
|
|
4
|
+
* docker status|prune|network
|
|
5
|
+
* network status|address|dns-servers|domain|dhcp
|
|
6
|
+
* k8s status|pods|logs|restart|scale|sync|diff|destroy|runbook
|
|
7
|
+
* jtapi enable|disable|status|troubleshoot
|
|
8
|
+
* loadtest run|probe|summary
|
|
9
|
+
*/
|
|
10
|
+
import type { CommandNode } from '../parser.js';
|
|
11
|
+
export declare function wireDockerHandlers(dockerNode: CommandNode): void;
|
|
12
|
+
export declare function wireNetworkHandlers(networkNode: CommandNode): void;
|
|
13
|
+
export declare function wireK8sHandlers(k8sNode: CommandNode): void;
|
|
14
|
+
export declare function wireJtapiHandlers(jtapiNode: CommandNode): void;
|
|
15
|
+
export declare function wireLoadtestHandlers(loadtestNode: CommandNode): void;
|
|
16
|
+
//# sourceMappingURL=diag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diag.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/diag.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAmehD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAShE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAWlE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAe1D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAU9D;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI,CASpE"}
|