@calltelemetry/cli 0.5.7 → 0.5.10
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/lib/fs.d.ts +1 -0
- package/dist/lib/fs.d.ts.map +1 -1
- package/dist/lib/fs.js +12 -4
- package/dist/lib/fs.js.map +1 -1
- package/dist/lib/network.d.ts +16 -0
- package/dist/lib/network.d.ts.map +1 -1
- package/dist/lib/network.js +42 -0
- package/dist/lib/network.js.map +1 -1
- package/dist/lib/rpc-scripts.d.ts +2 -0
- package/dist/lib/rpc-scripts.d.ts.map +1 -1
- package/dist/lib/rpc-scripts.js +22 -0
- package/dist/lib/rpc-scripts.js.map +1 -1
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/lib/version.js.map +1 -1
- package/dist/shell/commands/diag.d.ts.map +1 -1
- package/dist/shell/commands/diag.js +73 -1
- package/dist/shell/commands/diag.js.map +1 -1
- package/dist/shell/commands/registry.js +233 -232
- package/dist/shell/commands/registry.js.map +1 -1
- package/dist/shell/commands/show.d.ts.map +1 -1
- package/dist/shell/commands/show.js +33 -22
- package/dist/shell/commands/show.js.map +1 -1
- package/dist/shell/formatter.d.ts +1 -0
- package/dist/shell/formatter.d.ts.map +1 -1
- package/dist/shell/formatter.js +2 -1
- package/dist/shell/formatter.js.map +1 -1
- package/dist/shell/repl.d.ts.map +1 -1
- package/dist/shell/repl.js +115 -1
- package/dist/shell/repl.js.map +1 -1
- package/dist/ui/components/MetricsFooter.d.ts.map +1 -1
- package/dist/ui/components/MetricsFooter.js +6 -3
- package/dist/ui/components/MetricsFooter.js.map +1 -1
- package/dist/ui/components/Sparkline.d.ts +11 -1
- package/dist/ui/components/Sparkline.d.ts.map +1 -1
- package/dist/ui/components/Sparkline.js +50 -10
- package/dist/ui/components/Sparkline.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,116 +14,169 @@ export const commandTree = {
|
|
|
14
14
|
name: 'root',
|
|
15
15
|
description: 'CallTelemetry Voice OS',
|
|
16
16
|
children: [
|
|
17
|
-
// ──
|
|
17
|
+
// ── config ───────────────────────────────────────────
|
|
18
18
|
{
|
|
19
|
-
name: '
|
|
20
|
-
description: '
|
|
19
|
+
name: 'config',
|
|
20
|
+
description: 'Configuration management',
|
|
21
21
|
children: [
|
|
22
|
-
{ name: 'health', description: 'Overall system health status', handler: showHealth },
|
|
23
|
-
{ name: 'version', description: 'Software version information', handler: showVersion },
|
|
24
|
-
{ name: 'services', description: 'Running services and status', handler: showServices },
|
|
25
|
-
{ name: 'connections', description: 'Active MCP connections', handler: showConnections },
|
|
26
22
|
{
|
|
27
|
-
name: '
|
|
28
|
-
description: '
|
|
29
|
-
|
|
30
|
-
{ name: '
|
|
23
|
+
name: 'audit',
|
|
24
|
+
description: 'Configuration audit',
|
|
25
|
+
children: [
|
|
26
|
+
{ name: 'report', description: 'Show last audit report' },
|
|
27
|
+
{ name: 'run', description: 'Run configuration audit' },
|
|
31
28
|
],
|
|
32
29
|
},
|
|
30
|
+
{ name: 'certs', description: 'TLS certificate management' },
|
|
31
|
+
{ name: 'ipv6', description: 'Enable/disable IPv6' },
|
|
32
|
+
{ name: 'logging', description: 'Configure logging levels' },
|
|
33
|
+
{ name: 'otel', description: 'Configure OpenTelemetry' },
|
|
34
|
+
{ name: 'postgres', description: 'Configure PostgreSQL settings' },
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
// ── database ─────────────────────────────────────────
|
|
38
|
+
{
|
|
39
|
+
name: 'database',
|
|
40
|
+
description: 'Database operations',
|
|
41
|
+
children: [
|
|
33
42
|
{
|
|
34
|
-
name: '
|
|
35
|
-
description: '
|
|
43
|
+
name: 'backup',
|
|
44
|
+
description: 'Create database backup',
|
|
36
45
|
options: [
|
|
37
|
-
{ name: '--
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: 'db',
|
|
42
|
-
description: 'Database information',
|
|
43
|
-
children: [
|
|
44
|
-
{ name: 'status', description: 'Database connection and pool status', handler: showDbStatus },
|
|
45
|
-
{ name: 'size', description: 'Database size breakdown', handler: showDbSize },
|
|
46
|
-
{ name: 'tables', description: 'Table row counts and sizes', handler: showDbTables },
|
|
47
|
-
{ name: 'backups', description: 'List database backups', handler: showDbBackups },
|
|
46
|
+
{ name: '--path', description: 'Target directory for backup', hasValue: true },
|
|
48
47
|
],
|
|
49
48
|
},
|
|
49
|
+
{ name: 'compact', description: 'Vacuum and reclaim space' },
|
|
50
50
|
{
|
|
51
51
|
name: 'migrate',
|
|
52
|
-
description: '
|
|
53
|
-
children: [
|
|
54
|
-
{ name: 'status', description: 'Pending and applied migrations', handler: showMigrateStatus },
|
|
55
|
-
{ name: 'history', description: 'Migration history log', handler: showMigrateHistory },
|
|
56
|
-
],
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
name: 'docker',
|
|
60
|
-
description: 'Docker container information',
|
|
61
|
-
children: [
|
|
62
|
-
{ name: 'status', description: 'Container status summary', handler: showDockerStatus },
|
|
63
|
-
{ name: 'network', description: 'Docker network list', handler: showDockerNetwork },
|
|
64
|
-
{ name: 'images', description: 'Local image inventory' },
|
|
65
|
-
{ name: 'volumes', description: 'Volume usage' },
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: 'config',
|
|
70
|
-
description: 'Configuration settings',
|
|
71
|
-
children: [
|
|
72
|
-
{ name: 'logging', description: 'Current logging configuration', handler: showConfigLogging },
|
|
73
|
-
{ name: 'ipv6', description: 'IPv6 status', handler: showConfigIpv6 },
|
|
74
|
-
{ name: 'otel', description: 'OpenTelemetry configuration', handler: showConfigOtel },
|
|
75
|
-
{ name: 'postgres', description: 'PostgreSQL configuration', handler: showConfigPostgres },
|
|
76
|
-
{ name: 'certs', description: 'TLS certificate status', handler: showConfigCerts },
|
|
77
|
-
{ name: 'secrets', description: 'Secrets and overrides status', handler: showConfigSecrets },
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
{ name: 'license', description: 'License status and details', handler: showLicense },
|
|
81
|
-
{ name: 'config-audit', description: 'Configuration audit results' },
|
|
82
|
-
{
|
|
83
|
-
name: 'jtapi',
|
|
84
|
-
description: 'JTAPI phone control status',
|
|
52
|
+
description: 'Run migrations',
|
|
85
53
|
children: [
|
|
86
|
-
{ name: '
|
|
87
|
-
{ name: '
|
|
54
|
+
{ name: 'down', description: 'Rollback last migration' },
|
|
55
|
+
{ name: 'status', description: 'Show migration status' },
|
|
56
|
+
{ name: 'up', description: 'Run pending migrations' },
|
|
57
|
+
{ name: 'watch', description: 'Watch migration count (poll every 5s)' },
|
|
88
58
|
],
|
|
89
59
|
},
|
|
90
60
|
{
|
|
91
|
-
name: '
|
|
92
|
-
description: '
|
|
93
|
-
|
|
94
|
-
{ name: '
|
|
95
|
-
{ name: 'pods', description: 'Pod status' },
|
|
96
|
-
{ name: 'nodes', description: 'Node status' },
|
|
61
|
+
name: 'purge',
|
|
62
|
+
description: 'Purge old data',
|
|
63
|
+
options: [
|
|
64
|
+
{ name: '--before', description: 'Purge data before date', hasValue: true },
|
|
97
65
|
],
|
|
98
66
|
},
|
|
67
|
+
{ name: 'restore', description: 'Restore database from backup' },
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
// ── debug ────────────────────────────────────────────
|
|
71
|
+
{
|
|
72
|
+
name: 'debug',
|
|
73
|
+
description: 'Debugging and diagnostics',
|
|
74
|
+
children: [
|
|
75
|
+
{ name: 'database', description: 'Database connectivity diagnostics' },
|
|
76
|
+
{ name: 'network', description: 'Network connectivity diagnostics' },
|
|
99
77
|
{
|
|
100
|
-
name: '
|
|
101
|
-
description: '
|
|
78
|
+
name: 'packet-capture',
|
|
79
|
+
description: 'Packet capture operations',
|
|
102
80
|
children: [
|
|
103
|
-
{ name: '
|
|
104
|
-
{ name: '
|
|
81
|
+
{ name: 'list', description: 'List capture files' },
|
|
82
|
+
{ name: 'start', description: 'Start packet capture' },
|
|
83
|
+
{ name: 'stop', description: 'Stop packet capture' },
|
|
105
84
|
],
|
|
106
85
|
},
|
|
107
|
-
{ name: '
|
|
108
|
-
{ name: '
|
|
86
|
+
{ name: 'ris', description: 'RIS query for device status', requiresMcp: 'cucm' },
|
|
87
|
+
{ name: 'sdl-trace', description: 'SDL trace call flow analysis', requiresMcp: 'cucm' },
|
|
88
|
+
{ name: 'service', description: 'Service health diagnostics' },
|
|
89
|
+
{ name: 'showtech', description: 'Generate support bundle' },
|
|
109
90
|
{
|
|
110
|
-
name: '
|
|
111
|
-
description: '
|
|
91
|
+
name: 'trace',
|
|
92
|
+
description: 'Trace operations',
|
|
112
93
|
children: [
|
|
113
|
-
{ name: '
|
|
94
|
+
{ name: 'level', description: 'Set trace level' },
|
|
95
|
+
{ name: 'sdl', description: 'SDL trace analysis' },
|
|
96
|
+
{ name: 'sip', description: 'SIP trace analysis' },
|
|
114
97
|
],
|
|
115
98
|
},
|
|
116
99
|
],
|
|
117
100
|
},
|
|
101
|
+
// ── docker ───────────────────────────────────────────
|
|
102
|
+
{
|
|
103
|
+
name: 'docker',
|
|
104
|
+
description: 'Docker management',
|
|
105
|
+
children: [
|
|
106
|
+
{ name: 'network', description: 'Docker network information' },
|
|
107
|
+
{ name: 'prune', description: 'Clean up unused resources' },
|
|
108
|
+
{ name: 'status', description: 'Container and daemon status' },
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
// ── jtapi ────────────────────────────────────────────
|
|
112
|
+
{
|
|
113
|
+
name: 'jtapi',
|
|
114
|
+
description: 'JTAPI phone control',
|
|
115
|
+
children: [
|
|
116
|
+
{ name: 'disable', description: 'Disable JTAPI integration' },
|
|
117
|
+
{ name: 'enable', description: 'Enable JTAPI integration' },
|
|
118
|
+
{ name: 'status', description: 'JTAPI connection status' },
|
|
119
|
+
{ name: 'troubleshoot', description: 'JTAPI troubleshooting wizard' },
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
// ── k8s ──────────────────────────────────────────────
|
|
123
|
+
{
|
|
124
|
+
name: 'k8s',
|
|
125
|
+
description: 'Kubernetes operations',
|
|
126
|
+
children: [
|
|
127
|
+
{ name: 'destroy', description: 'Destroy namespace resources' },
|
|
128
|
+
{ name: 'diff', description: 'Diff local vs cluster state' },
|
|
129
|
+
{ name: 'logs', description: 'View pod logs' },
|
|
130
|
+
{ name: 'pods', description: 'List pods' },
|
|
131
|
+
{ name: 'restart', description: 'Restart deployment' },
|
|
132
|
+
{ name: 'runbook', description: 'Execute operational runbook' },
|
|
133
|
+
{ name: 'scale', description: 'Scale deployment replicas' },
|
|
134
|
+
{ name: 'status', description: 'Cluster status' },
|
|
135
|
+
{ name: 'sync', description: 'Sync manifests to cluster' },
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
// ── loadtest ─────────────────────────────────────────
|
|
139
|
+
{
|
|
140
|
+
name: 'loadtest',
|
|
141
|
+
description: 'Load testing',
|
|
142
|
+
children: [
|
|
143
|
+
{ name: 'probe', description: 'Quick health probe' },
|
|
144
|
+
{ name: 'run', description: 'Run load test' },
|
|
145
|
+
{ name: 'summary', description: 'Last test summary' },
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
// ── network ──────────────────────────────────────────
|
|
149
|
+
{
|
|
150
|
+
name: 'network',
|
|
151
|
+
description: 'Network configuration',
|
|
152
|
+
children: [
|
|
153
|
+
{ name: 'address', description: 'Set static IP <iface> <ip/prefix> <gateway>', interfacePositional: true, positionalArgs: ['<ip/prefix>', '<gateway>'] },
|
|
154
|
+
{ name: 'dhcp', description: 'Switch to DHCP', interfacePositional: true },
|
|
155
|
+
{ name: 'dns-servers', description: 'Set DNS servers <dns1> [dns2 ...]', positionalArgs: ['<dns1>', '[dns2 ...]'] },
|
|
156
|
+
{ name: 'domain', description: 'Set DNS search domain <domain>', positionalArgs: ['<domain>'] },
|
|
157
|
+
{ name: 'ping', description: 'Ping an IPv4 address <ip>', positionalArgs: ['<ip>'] },
|
|
158
|
+
{ name: 'ping6', description: 'Ping an IPv6 address <ip>', positionalArgs: ['<ip>'] },
|
|
159
|
+
{ name: 'status', description: 'Network interface status' },
|
|
160
|
+
{ name: 'traceroute', description: 'Traceroute to an IPv4 address <ip>', positionalArgs: ['<ip>'] },
|
|
161
|
+
{ name: 'traceroute6', description: 'Traceroute to an IPv6 address <ip>', positionalArgs: ['<ip>'] },
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
// ── secrets ──────────────────────────────────────────
|
|
165
|
+
{
|
|
166
|
+
name: 'secrets',
|
|
167
|
+
description: 'Credential management',
|
|
168
|
+
children: [
|
|
169
|
+
{ name: 'reset-password', description: 'Reset admin password' },
|
|
170
|
+
{ name: 'setup', description: 'Initial secrets setup' },
|
|
171
|
+
{ name: 'status', description: 'Show secrets status' },
|
|
172
|
+
],
|
|
173
|
+
},
|
|
118
174
|
// ── services ─────────────────────────────────────────
|
|
119
175
|
{
|
|
120
176
|
name: 'services',
|
|
121
177
|
description: 'Manage application services',
|
|
122
178
|
handler: servicesDefault,
|
|
123
179
|
children: [
|
|
124
|
-
{ name: 'start', description: 'Start a service', handler: servicesStart },
|
|
125
|
-
{ name: 'stop', description: 'Stop a service', handler: servicesStop },
|
|
126
|
-
{ name: 'restart', description: 'Restart a service', handler: servicesRestart },
|
|
127
180
|
{
|
|
128
181
|
name: 'logs',
|
|
129
182
|
description: 'View service logs',
|
|
@@ -133,108 +186,110 @@ export const commandTree = {
|
|
|
133
186
|
{ name: '--last', description: 'Time range', hasValue: true },
|
|
134
187
|
],
|
|
135
188
|
},
|
|
189
|
+
{ name: 'restart', description: 'Restart a service', handler: servicesRestart },
|
|
190
|
+
{ name: 'start', description: 'Start a service', handler: servicesStart },
|
|
191
|
+
{ name: 'stop', description: 'Stop a service', handler: servicesStop },
|
|
136
192
|
],
|
|
137
193
|
},
|
|
138
|
-
// ──
|
|
194
|
+
// ── show ──────────────────────────────────────────────
|
|
139
195
|
{
|
|
140
|
-
name: '
|
|
141
|
-
description: '
|
|
196
|
+
name: 'show',
|
|
197
|
+
description: 'Display system information',
|
|
142
198
|
children: [
|
|
143
199
|
{
|
|
144
|
-
name: '
|
|
145
|
-
description: '
|
|
200
|
+
name: 'cdr',
|
|
201
|
+
description: 'Call detail records',
|
|
146
202
|
options: [
|
|
147
|
-
{ name: '--
|
|
203
|
+
{ name: '--last', description: 'Time range filter', hasValue: true },
|
|
148
204
|
],
|
|
149
205
|
},
|
|
150
|
-
{ name: 'restore', description: 'Restore database from backup' },
|
|
151
|
-
{ name: 'compact', description: 'Vacuum and reclaim space' },
|
|
152
206
|
{
|
|
153
|
-
name: '
|
|
154
|
-
description: '
|
|
155
|
-
|
|
156
|
-
{ name: '
|
|
207
|
+
name: 'config',
|
|
208
|
+
description: 'Configuration settings',
|
|
209
|
+
children: [
|
|
210
|
+
{ name: 'certs', description: 'TLS certificate status', handler: showConfigCerts },
|
|
211
|
+
{ name: 'ipv6', description: 'IPv6 status', handler: showConfigIpv6 },
|
|
212
|
+
{ name: 'logging', description: 'Current logging configuration', handler: showConfigLogging },
|
|
213
|
+
{ name: 'otel', description: 'OpenTelemetry configuration', handler: showConfigOtel },
|
|
214
|
+
{ name: 'postgres', description: 'PostgreSQL configuration', handler: showConfigPostgres },
|
|
215
|
+
{ name: 'secrets', description: 'Secrets and overrides status', handler: showConfigSecrets },
|
|
157
216
|
],
|
|
158
217
|
},
|
|
218
|
+
{ name: 'config-audit', description: 'Configuration audit results' },
|
|
219
|
+
{ name: 'connections', description: 'Active MCP connections', handler: showConnections },
|
|
159
220
|
{
|
|
160
|
-
name: '
|
|
161
|
-
description: '
|
|
221
|
+
name: 'db',
|
|
222
|
+
description: 'Database information',
|
|
162
223
|
children: [
|
|
163
|
-
{ name: '
|
|
164
|
-
{ name: '
|
|
165
|
-
{ name: '
|
|
166
|
-
{ name: '
|
|
224
|
+
{ name: 'backups', description: 'List database backups', handler: showDbBackups },
|
|
225
|
+
{ name: 'size', description: 'Database size breakdown', handler: showDbSize },
|
|
226
|
+
{ name: 'status', description: 'Database connection and pool status', handler: showDbStatus },
|
|
227
|
+
{ name: 'tables', description: 'Table row counts and sizes', handler: showDbTables },
|
|
167
228
|
],
|
|
168
229
|
},
|
|
169
|
-
],
|
|
170
|
-
},
|
|
171
|
-
// ── config ───────────────────────────────────────────
|
|
172
|
-
{
|
|
173
|
-
name: 'config',
|
|
174
|
-
description: 'Configuration management',
|
|
175
|
-
children: [
|
|
176
|
-
{ name: 'logging', description: 'Configure logging levels' },
|
|
177
|
-
{ name: 'ipv6', description: 'Enable/disable IPv6' },
|
|
178
|
-
{ name: 'otel', description: 'Configure OpenTelemetry' },
|
|
179
|
-
{ name: 'postgres', description: 'Configure PostgreSQL settings' },
|
|
180
|
-
{ name: 'certs', description: 'TLS certificate management' },
|
|
181
230
|
{
|
|
182
|
-
name: '
|
|
183
|
-
description: '
|
|
231
|
+
name: 'docker',
|
|
232
|
+
description: 'Docker container information',
|
|
184
233
|
children: [
|
|
185
|
-
{ name: '
|
|
186
|
-
{ name: '
|
|
234
|
+
{ name: 'images', description: 'Local image inventory' },
|
|
235
|
+
{ name: 'network', description: 'Docker network list', handler: showDockerNetwork },
|
|
236
|
+
{ name: 'status', description: 'Container status summary', handler: showDockerStatus },
|
|
237
|
+
{ name: 'volumes', description: 'Volume usage' },
|
|
187
238
|
],
|
|
188
239
|
},
|
|
189
|
-
|
|
190
|
-
},
|
|
191
|
-
// ── debug ────────────────────────────────────────────
|
|
192
|
-
{
|
|
193
|
-
name: 'debug',
|
|
194
|
-
description: 'Debugging and diagnostics',
|
|
195
|
-
children: [
|
|
196
|
-
{ name: 'network', description: 'Network connectivity diagnostics' },
|
|
197
|
-
{ name: 'database', description: 'Database connectivity diagnostics' },
|
|
198
|
-
{ name: 'service', description: 'Service health diagnostics' },
|
|
199
|
-
{ name: 'showtech', description: 'Generate support bundle' },
|
|
240
|
+
{ name: 'health', description: 'Overall system health status', handler: showHealth },
|
|
200
241
|
{
|
|
201
|
-
name: '
|
|
202
|
-
description: '
|
|
242
|
+
name: 'jtapi',
|
|
243
|
+
description: 'JTAPI phone control status',
|
|
203
244
|
children: [
|
|
204
|
-
{ name: '
|
|
205
|
-
{ name: '
|
|
206
|
-
{ name: 'list', description: 'List capture files' },
|
|
245
|
+
{ name: 'devices', description: 'Controlled devices list' },
|
|
246
|
+
{ name: 'status', description: 'JTAPI connection status', handler: showJtapiStatus },
|
|
207
247
|
],
|
|
208
248
|
},
|
|
209
249
|
{
|
|
210
|
-
name: '
|
|
211
|
-
description: '
|
|
250
|
+
name: 'k8s',
|
|
251
|
+
description: 'Kubernetes cluster information',
|
|
212
252
|
children: [
|
|
213
|
-
{ name: '
|
|
214
|
-
{ name: '
|
|
215
|
-
{ name: '
|
|
253
|
+
{ name: 'nodes', description: 'Node status' },
|
|
254
|
+
{ name: 'pods', description: 'Pod status' },
|
|
255
|
+
{ name: 'status', description: 'Cluster status overview', handler: showK8sStatus },
|
|
216
256
|
],
|
|
217
257
|
},
|
|
218
|
-
{ name: '
|
|
219
|
-
{ name: 'sdl-trace', description: 'SDL trace call flow analysis', requiresMcp: 'cucm' },
|
|
220
|
-
],
|
|
221
|
-
},
|
|
222
|
-
// ── test ─────────────────────────────────────────────
|
|
223
|
-
{
|
|
224
|
-
name: 'test',
|
|
225
|
-
description: 'Integration tests',
|
|
226
|
-
children: [
|
|
227
|
-
{ name: 'axl', description: 'Test AXL connectivity', requiresMcp: 'cucm' },
|
|
258
|
+
{ name: 'license', description: 'License status and details', handler: showLicense },
|
|
228
259
|
{
|
|
229
|
-
name: '
|
|
230
|
-
description: '
|
|
260
|
+
name: 'loadtest',
|
|
261
|
+
description: 'Load test information',
|
|
231
262
|
children: [
|
|
232
|
-
{ name: '
|
|
233
|
-
{ name: 'dial', description: 'Test dial operation' },
|
|
263
|
+
{ name: 'summary', description: 'Last load test summary' },
|
|
234
264
|
],
|
|
235
265
|
},
|
|
236
|
-
{
|
|
237
|
-
|
|
266
|
+
{
|
|
267
|
+
name: 'migrate',
|
|
268
|
+
description: 'Migration status',
|
|
269
|
+
children: [
|
|
270
|
+
{ name: 'history', description: 'Migration history log', handler: showMigrateHistory },
|
|
271
|
+
{ name: 'status', description: 'Pending and applied migrations', handler: showMigrateStatus },
|
|
272
|
+
],
|
|
273
|
+
},
|
|
274
|
+
{ name: 'network', description: 'Network configuration', handler: showNetwork },
|
|
275
|
+
{
|
|
276
|
+
name: 'os-updates',
|
|
277
|
+
description: 'OS update information',
|
|
278
|
+
children: [
|
|
279
|
+
{ name: 'available', description: 'Available OS updates', handler: showOsUpdatesStatus },
|
|
280
|
+
{ name: 'history', description: 'Update history' },
|
|
281
|
+
],
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
name: 'phones',
|
|
285
|
+
description: 'Phone registration status',
|
|
286
|
+
options: [
|
|
287
|
+
{ name: '--last', description: 'Time range filter', hasValue: true },
|
|
288
|
+
],
|
|
289
|
+
},
|
|
290
|
+
{ name: 'services', description: 'Running services and status', handler: showServices },
|
|
291
|
+
{ name: 'users', description: 'User accounts list', handler: showUsers },
|
|
292
|
+
{ name: 'version', description: 'Software version information', handler: showVersion },
|
|
238
293
|
],
|
|
239
294
|
},
|
|
240
295
|
// ── system ───────────────────────────────────────────
|
|
@@ -242,87 +297,46 @@ export const commandTree = {
|
|
|
242
297
|
name: 'system',
|
|
243
298
|
description: 'System management',
|
|
244
299
|
children: [
|
|
245
|
-
{
|
|
246
|
-
name: 'update',
|
|
247
|
-
description: 'System updates',
|
|
248
|
-
children: [
|
|
249
|
-
{ name: 'check', description: 'Check for available updates' },
|
|
250
|
-
{ name: 'apply', description: 'Apply pending updates' },
|
|
251
|
-
{ name: 'rollback', description: 'Rollback to previous version' },
|
|
252
|
-
{ name: 'history', description: 'Update history' },
|
|
253
|
-
],
|
|
254
|
-
},
|
|
255
|
-
{ name: 'self-update', description: 'Update the ct CLI tool' },
|
|
256
300
|
{ name: 'backup', description: 'Full system backup' },
|
|
257
|
-
{ name: 'restore', description: 'Restore from system backup' },
|
|
258
301
|
{
|
|
259
302
|
name: 'os-updates',
|
|
260
303
|
description: 'Operating system updates',
|
|
261
304
|
children: [
|
|
262
|
-
{ name: 'enable', description: 'Enable automatic OS updates' },
|
|
263
305
|
{ name: 'disable', description: 'Disable automatic OS updates' },
|
|
306
|
+
{ name: 'enable', description: 'Enable automatic OS updates' },
|
|
264
307
|
{ name: 'run', description: 'Run OS updates now' },
|
|
265
308
|
],
|
|
266
309
|
},
|
|
310
|
+
{ name: 'restore', description: 'Restore from system backup' },
|
|
311
|
+
{ name: 'self-update', description: 'Update the ct CLI tool' },
|
|
312
|
+
{
|
|
313
|
+
name: 'update',
|
|
314
|
+
description: 'System updates',
|
|
315
|
+
children: [
|
|
316
|
+
{ name: 'apply', description: 'Apply pending updates' },
|
|
317
|
+
{ name: 'check', description: 'Check for available updates' },
|
|
318
|
+
{ name: 'history', description: 'Update history' },
|
|
319
|
+
{ name: 'rollback', description: 'Rollback to previous version' },
|
|
320
|
+
],
|
|
321
|
+
},
|
|
267
322
|
],
|
|
268
323
|
},
|
|
269
|
-
// ──
|
|
270
|
-
{
|
|
271
|
-
name: 'docker',
|
|
272
|
-
description: 'Docker management',
|
|
273
|
-
children: [
|
|
274
|
-
{ name: 'status', description: 'Container and daemon status' },
|
|
275
|
-
{ name: 'prune', description: 'Clean up unused resources' },
|
|
276
|
-
{ name: 'network', description: 'Docker network information' },
|
|
277
|
-
],
|
|
278
|
-
},
|
|
279
|
-
// ── network ──────────────────────────────────────────
|
|
280
|
-
{
|
|
281
|
-
name: 'network',
|
|
282
|
-
description: 'Network configuration',
|
|
283
|
-
children: [
|
|
284
|
-
{ name: 'status', description: 'Network interface status' },
|
|
285
|
-
{ name: 'address', description: 'Set static IP <iface> <ip/prefix> <gateway>', interfacePositional: true, positionalArgs: ['<ip/prefix>', '<gateway>'] },
|
|
286
|
-
{ name: 'dns-servers', description: 'Set DNS servers <dns1> [dns2 ...]', positionalArgs: ['<dns1>', '[dns2 ...]'] },
|
|
287
|
-
{ name: 'domain', description: 'Set DNS search domain <domain>', positionalArgs: ['<domain>'] },
|
|
288
|
-
{ name: 'dhcp', description: 'Switch to DHCP', interfacePositional: true },
|
|
289
|
-
],
|
|
290
|
-
},
|
|
291
|
-
// ── k8s ──────────────────────────────────────────────
|
|
292
|
-
{
|
|
293
|
-
name: 'k8s',
|
|
294
|
-
description: 'Kubernetes operations',
|
|
295
|
-
children: [
|
|
296
|
-
{ name: 'status', description: 'Cluster status' },
|
|
297
|
-
{ name: 'pods', description: 'List pods' },
|
|
298
|
-
{ name: 'logs', description: 'View pod logs' },
|
|
299
|
-
{ name: 'restart', description: 'Restart deployment' },
|
|
300
|
-
{ name: 'scale', description: 'Scale deployment replicas' },
|
|
301
|
-
{ name: 'sync', description: 'Sync manifests to cluster' },
|
|
302
|
-
{ name: 'diff', description: 'Diff local vs cluster state' },
|
|
303
|
-
{ name: 'destroy', description: 'Destroy namespace resources' },
|
|
304
|
-
{ name: 'runbook', description: 'Execute operational runbook' },
|
|
305
|
-
],
|
|
306
|
-
},
|
|
307
|
-
// ── jtapi ────────────────────────────────────────────
|
|
308
|
-
{
|
|
309
|
-
name: 'jtapi',
|
|
310
|
-
description: 'JTAPI phone control',
|
|
311
|
-
children: [
|
|
312
|
-
{ name: 'enable', description: 'Enable JTAPI integration' },
|
|
313
|
-
{ name: 'disable', description: 'Disable JTAPI integration' },
|
|
314
|
-
{ name: 'status', description: 'JTAPI connection status' },
|
|
315
|
-
{ name: 'troubleshoot', description: 'JTAPI troubleshooting wizard' },
|
|
316
|
-
],
|
|
317
|
-
},
|
|
318
|
-
// ── secrets ──────────────────────────────────────────
|
|
324
|
+
// ── test ─────────────────────────────────────────────
|
|
319
325
|
{
|
|
320
|
-
name: '
|
|
321
|
-
description: '
|
|
326
|
+
name: 'test',
|
|
327
|
+
description: 'Integration tests',
|
|
322
328
|
children: [
|
|
323
|
-
{ name: '
|
|
324
|
-
{ name: '
|
|
325
|
-
{
|
|
329
|
+
{ name: 'axl', description: 'Test AXL connectivity', requiresMcp: 'cucm' },
|
|
330
|
+
{ name: 'curri', description: 'Test CURRI integration' },
|
|
331
|
+
{
|
|
332
|
+
name: 'jtapi',
|
|
333
|
+
description: 'JTAPI connectivity tests',
|
|
334
|
+
children: [
|
|
335
|
+
{ name: 'connect', description: 'Test JTAPI connection' },
|
|
336
|
+
{ name: 'dial', description: 'Test dial operation' },
|
|
337
|
+
],
|
|
338
|
+
},
|
|
339
|
+
{ name: 'sip', description: 'Test SIP connectivity' },
|
|
326
340
|
],
|
|
327
341
|
},
|
|
328
342
|
// ── users ────────────────────────────────────────────
|
|
@@ -334,26 +348,13 @@ export const commandTree = {
|
|
|
334
348
|
{ name: 'reset-password', description: 'Reset user password' },
|
|
335
349
|
],
|
|
336
350
|
},
|
|
337
|
-
// ── loadtest ─────────────────────────────────────────
|
|
338
|
-
{
|
|
339
|
-
name: 'loadtest',
|
|
340
|
-
description: 'Load testing',
|
|
341
|
-
children: [
|
|
342
|
-
{ name: 'run', description: 'Run load test' },
|
|
343
|
-
{ name: 'probe', description: 'Quick health probe' },
|
|
344
|
-
{ name: 'summary', description: 'Last test summary' },
|
|
345
|
-
],
|
|
346
|
-
},
|
|
347
|
-
// ── connection management ────────────────────────────
|
|
348
|
-
{ name: 'connect', description: 'Connect to an MCP server' },
|
|
349
|
-
{ name: 'disconnect', description: 'Disconnect from an MCP server' },
|
|
350
351
|
// ── shell builtins ───────────────────────────────────
|
|
351
|
-
{ name: 'help', description: 'Show available commands' },
|
|
352
|
-
{ name: 'history', description: 'Show command history' },
|
|
353
352
|
{ name: 'clear', description: 'Clear the terminal screen' },
|
|
354
|
-
{ name: 'whoami', description: 'Show current user and context' },
|
|
355
353
|
{ name: 'exit', description: 'Exit the shell' },
|
|
354
|
+
{ name: 'help', description: 'Show available commands' },
|
|
355
|
+
{ name: 'history', description: 'Show command history' },
|
|
356
356
|
{ name: 'quit', description: 'Exit the shell' },
|
|
357
|
+
{ name: 'whoami', description: 'Show current user and context' },
|
|
357
358
|
],
|
|
358
359
|
};
|
|
359
360
|
// ── Wire command handlers from feature modules ────────────────────────────
|