@calltelemetry/cli 0.1.0 → 0.2.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 +171 -0
- package/dist/commands/self-update.d.ts +8 -0
- package/dist/commands/self-update.d.ts.map +1 -0
- package/dist/commands/self-update.js +43 -0
- package/dist/commands/self-update.js.map +1 -0
- package/dist/commands/services.d.ts +3 -0
- package/dist/commands/services.d.ts.map +1 -0
- package/dist/commands/services.js +40 -0
- package/dist/commands/services.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +31 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/services.d.ts +39 -0
- package/dist/lib/services.d.ts.map +1 -0
- package/dist/lib/services.js +36 -0
- package/dist/lib/services.js.map +1 -0
- package/dist/ui/hooks/index.d.ts +2 -0
- package/dist/ui/hooks/index.d.ts.map +1 -1
- package/dist/ui/hooks/index.js +2 -0
- package/dist/ui/hooks/index.js.map +1 -1
- package/dist/ui/hooks/useComposeLogs.d.ts +7 -0
- package/dist/ui/hooks/useComposeLogs.d.ts.map +1 -0
- package/dist/ui/hooks/useComposeLogs.js +79 -0
- package/dist/ui/hooks/useComposeLogs.js.map +1 -0
- package/dist/ui/hooks/useFinish.d.ts +6 -0
- package/dist/ui/hooks/useFinish.d.ts.map +1 -0
- package/dist/ui/hooks/useFinish.js +18 -0
- package/dist/ui/hooks/useFinish.js.map +1 -0
- package/dist/ui/views/CertsStatusView.d.ts +5 -1
- package/dist/ui/views/CertsStatusView.d.ts.map +1 -1
- package/dist/ui/views/CertsStatusView.js +17 -12
- package/dist/ui/views/CertsStatusView.js.map +1 -1
- package/dist/ui/views/DbBackupView.d.ts +5 -1
- package/dist/ui/views/DbBackupView.d.ts.map +1 -1
- package/dist/ui/views/DbBackupView.js +11 -7
- package/dist/ui/views/DbBackupView.js.map +1 -1
- package/dist/ui/views/DbCompactView.d.ts +5 -1
- package/dist/ui/views/DbCompactView.d.ts.map +1 -1
- package/dist/ui/views/DbCompactView.js +11 -7
- package/dist/ui/views/DbCompactView.js.map +1 -1
- package/dist/ui/views/DbListView.d.ts +5 -1
- package/dist/ui/views/DbListView.d.ts.map +1 -1
- package/dist/ui/views/DbListView.js +15 -10
- package/dist/ui/views/DbListView.js.map +1 -1
- package/dist/ui/views/DbSizeView.d.ts +5 -1
- package/dist/ui/views/DbSizeView.d.ts.map +1 -1
- package/dist/ui/views/DbSizeView.js +13 -8
- package/dist/ui/views/DbSizeView.js.map +1 -1
- package/dist/ui/views/DbStatusView.d.ts +5 -1
- package/dist/ui/views/DbStatusView.d.ts.map +1 -1
- package/dist/ui/views/DbStatusView.js +11 -7
- package/dist/ui/views/DbStatusView.js.map +1 -1
- package/dist/ui/views/DbTablesView.d.ts +3 -2
- package/dist/ui/views/DbTablesView.d.ts.map +1 -1
- package/dist/ui/views/DbTablesView.js +11 -7
- package/dist/ui/views/DbTablesView.js.map +1 -1
- package/dist/ui/views/DiagDatabaseView.d.ts +5 -1
- package/dist/ui/views/DiagDatabaseView.d.ts.map +1 -1
- package/dist/ui/views/DiagDatabaseView.js +11 -7
- package/dist/ui/views/DiagDatabaseView.js.map +1 -1
- package/dist/ui/views/DiagNetworkView.d.ts +5 -1
- package/dist/ui/views/DiagNetworkView.d.ts.map +1 -1
- package/dist/ui/views/DiagNetworkView.js +15 -9
- package/dist/ui/views/DiagNetworkView.js.map +1 -1
- package/dist/ui/views/DiagServiceView.d.ts +5 -1
- package/dist/ui/views/DiagServiceView.d.ts.map +1 -1
- package/dist/ui/views/DiagServiceView.js +11 -7
- package/dist/ui/views/DiagServiceView.js.map +1 -1
- package/dist/ui/views/DockerNetworkView.d.ts +5 -1
- package/dist/ui/views/DockerNetworkView.d.ts.map +1 -1
- package/dist/ui/views/DockerNetworkView.js +13 -8
- package/dist/ui/views/DockerNetworkView.js.map +1 -1
- package/dist/ui/views/DockerPruneView.d.ts +5 -1
- package/dist/ui/views/DockerPruneView.d.ts.map +1 -1
- package/dist/ui/views/DockerPruneView.js +12 -8
- package/dist/ui/views/DockerPruneView.js.map +1 -1
- package/dist/ui/views/DockerStatusView.d.ts +5 -1
- package/dist/ui/views/DockerStatusView.d.ts.map +1 -1
- package/dist/ui/views/DockerStatusView.js +12 -8
- package/dist/ui/views/DockerStatusView.js.map +1 -1
- package/dist/ui/views/JtapiDisableView.d.ts +5 -1
- package/dist/ui/views/JtapiDisableView.d.ts.map +1 -1
- package/dist/ui/views/JtapiDisableView.js +11 -7
- package/dist/ui/views/JtapiDisableView.js.map +1 -1
- package/dist/ui/views/JtapiEnableView.d.ts +5 -1
- package/dist/ui/views/JtapiEnableView.d.ts.map +1 -1
- package/dist/ui/views/JtapiEnableView.js +14 -10
- package/dist/ui/views/JtapiEnableView.js.map +1 -1
- package/dist/ui/views/JtapiStatusView.d.ts +5 -1
- package/dist/ui/views/JtapiStatusView.d.ts.map +1 -1
- package/dist/ui/views/JtapiStatusView.js +15 -9
- package/dist/ui/views/JtapiStatusView.js.map +1 -1
- package/dist/ui/views/JtapiTroubleshootView.d.ts +5 -1
- package/dist/ui/views/JtapiTroubleshootView.d.ts.map +1 -1
- package/dist/ui/views/JtapiTroubleshootView.js +12 -8
- package/dist/ui/views/JtapiTroubleshootView.js.map +1 -1
- package/dist/ui/views/MainMenu.d.ts +3 -2
- package/dist/ui/views/MainMenu.d.ts.map +1 -1
- package/dist/ui/views/MainMenu.js +91 -13
- package/dist/ui/views/MainMenu.js.map +1 -1
- package/dist/ui/views/MigrateHistoryView.d.ts +5 -1
- package/dist/ui/views/MigrateHistoryView.d.ts.map +1 -1
- package/dist/ui/views/MigrateHistoryView.js +11 -7
- package/dist/ui/views/MigrateHistoryView.js.map +1 -1
- package/dist/ui/views/MigrateRollbackView.d.ts +2 -1
- package/dist/ui/views/MigrateRollbackView.d.ts.map +1 -1
- package/dist/ui/views/MigrateRollbackView.js +11 -7
- package/dist/ui/views/MigrateRollbackView.js.map +1 -1
- package/dist/ui/views/MigrateRunView.d.ts +5 -1
- package/dist/ui/views/MigrateRunView.d.ts.map +1 -1
- package/dist/ui/views/MigrateRunView.js +11 -7
- package/dist/ui/views/MigrateRunView.js.map +1 -1
- package/dist/ui/views/MigrateStatusView.d.ts +5 -1
- package/dist/ui/views/MigrateStatusView.d.ts.map +1 -1
- package/dist/ui/views/MigrateStatusView.js +11 -7
- package/dist/ui/views/MigrateStatusView.js.map +1 -1
- package/dist/ui/views/MigrateWatchView.d.ts +2 -1
- package/dist/ui/views/MigrateWatchView.d.ts.map +1 -1
- package/dist/ui/views/MigrateWatchView.js +13 -7
- package/dist/ui/views/MigrateWatchView.js.map +1 -1
- package/dist/ui/views/OfflineListView.d.ts +5 -1
- package/dist/ui/views/OfflineListView.d.ts.map +1 -1
- package/dist/ui/views/OfflineListView.js +16 -11
- package/dist/ui/views/OfflineListView.js.map +1 -1
- package/dist/ui/views/SecretsSetupView.d.ts +5 -1
- package/dist/ui/views/SecretsSetupView.d.ts.map +1 -1
- package/dist/ui/views/SecretsSetupView.js +6 -5
- package/dist/ui/views/SecretsSetupView.js.map +1 -1
- package/dist/ui/views/SecretsStatusView.d.ts +5 -1
- package/dist/ui/views/SecretsStatusView.d.ts.map +1 -1
- package/dist/ui/views/SecretsStatusView.js +18 -11
- package/dist/ui/views/SecretsStatusView.js.map +1 -1
- package/dist/ui/views/ServiceLogsView.d.ts +8 -0
- package/dist/ui/views/ServiceLogsView.d.ts.map +1 -0
- package/dist/ui/views/ServiceLogsView.js +167 -0
- package/dist/ui/views/ServiceLogsView.js.map +1 -0
- package/dist/ui/views/ServicesView.d.ts +8 -0
- package/dist/ui/views/ServicesView.d.ts.map +1 -0
- package/dist/ui/views/ServicesView.js +237 -0
- package/dist/ui/views/ServicesView.js.map +1 -0
- package/dist/ui/views/StatusView.d.ts +5 -1
- package/dist/ui/views/StatusView.d.ts.map +1 -1
- package/dist/ui/views/StatusView.js +12 -8
- package/dist/ui/views/StatusView.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# @calltelemetry/cli
|
|
2
|
+
|
|
3
|
+
On-premise appliance management CLI for [CallTelemetry](https://calltelemetry.com). Manage updates, databases, networking, certificates, Docker services, and Cisco JTAPI integration from a single tool.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
______ ____ ______ __ __
|
|
7
|
+
/ ____/___ _/ / / /_ __/__ / /__ ____ ___ ___ / /________ __
|
|
8
|
+
/ / / __ `/ / / / / / _ \/ / _ \/ __ `__ \/ _ \/ __/ ___/ / / /
|
|
9
|
+
/ /___/ /_/ / / / / / / __/ / __/ / / / / / __/ /_/ / / /_/ /
|
|
10
|
+
\____/\__,_/_/_/ /_/ \___/_/\___/_/ /_/ /_/\___/\__/_/ \__, /
|
|
11
|
+
/____/
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install -g @calltelemetry/cli
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Requires Node.js 20+.
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
Run `ct` with no arguments to launch the interactive TUI menu, or use commands directly:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ct # Interactive menu
|
|
28
|
+
ct status # Show system health
|
|
29
|
+
ct update # Update to latest stable version
|
|
30
|
+
ct db status # Database overview
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Commands
|
|
34
|
+
|
|
35
|
+
### Status
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
ct status # System health dashboard
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Update
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
ct update # Update to latest stable
|
|
45
|
+
ct update 0.8.6 # Update to specific version
|
|
46
|
+
ct update --latest # Include pre-releases
|
|
47
|
+
ct update --force-upgrade # Skip RAM/disk checks
|
|
48
|
+
ct update --no-cleanup # Skip Docker cleanup after update
|
|
49
|
+
ct update --ipv6 # Enable IPv6 support
|
|
50
|
+
ct rollback # Roll back to previous version
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Performs pre-flight checks (RAM >= 7.2 GB, disk >= 10% free, Docker 26+), backs up the current compose file, pulls images, and restarts services.
|
|
54
|
+
|
|
55
|
+
### Database
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
ct db # Show status (default)
|
|
59
|
+
ct db status # Connection and version info
|
|
60
|
+
ct db backup # Create a backup
|
|
61
|
+
ct db restore <file> # Restore from backup
|
|
62
|
+
ct db list # List available backups
|
|
63
|
+
ct db compact # Vacuum and optimize
|
|
64
|
+
ct db tables [name] # Table sizes (optional filter)
|
|
65
|
+
ct db purge <table> <days> # Purge records older than N days
|
|
66
|
+
ct db size # Database size on disk
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Migrations
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
ct migrate # Show migration status (default)
|
|
73
|
+
ct migrate status # Pending and applied migrations
|
|
74
|
+
ct migrate run # Run pending migrations
|
|
75
|
+
ct migrate rollback [steps] # Roll back N migrations (default: 1)
|
|
76
|
+
ct migrate history # Last 10 applied migrations
|
|
77
|
+
ct migrate watch --interval 5 # Poll migration progress
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Secrets
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
ct secrets # Show secrets status (default)
|
|
84
|
+
ct secrets setup # Interactive configuration wizard
|
|
85
|
+
ct secrets reset # Revert to defaults
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Manages credentials for PostgreSQL, NATS, and Minio. Values load with three-tier priority: defaults, `.env` file, then environment variables. The `.env` file is written with `0600` permissions and a Docker Compose overlay is generated automatically.
|
|
89
|
+
|
|
90
|
+
### Config
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
ct logging # Show current log level
|
|
94
|
+
ct logging info # Set level (debug|info|warning|error)
|
|
95
|
+
|
|
96
|
+
ct ipv6 # Show IPv6 status
|
|
97
|
+
ct ipv6 enable # Enable IPv6
|
|
98
|
+
ct ipv6 disable # Disable IPv6
|
|
99
|
+
|
|
100
|
+
ct postgres status # Show PostgreSQL version
|
|
101
|
+
ct postgres set 17 # Set version for next update
|
|
102
|
+
ct postgres upgrade 17 # Full upgrade with backup/restore
|
|
103
|
+
|
|
104
|
+
ct certs status # Show certificate details
|
|
105
|
+
ct certs generate # Generate self-signed certificates
|
|
106
|
+
ct certs reset # Remove and regenerate
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
PostgreSQL upgrade performs a full backup, swaps the container version, and restores data. Supported versions: 14, 15, 16, 17, 18.
|
|
110
|
+
|
|
111
|
+
### Docker
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
ct docker # Container status (default)
|
|
115
|
+
ct docker status # Containers, images, and networks
|
|
116
|
+
ct docker prune # Clean up unused resources
|
|
117
|
+
ct docker network # Network configuration
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Diagnostics
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
ct diag network # Interfaces, DNS, gateway, connectivity
|
|
124
|
+
ct diag service # Systemd and container logs
|
|
125
|
+
ct diag database # PostgreSQL diagnostics
|
|
126
|
+
ct diag tesla <ipv4|ipv6> <url> # Test HTTP connectivity to endpoint
|
|
127
|
+
ct diag capture <seconds> [filter] # Packet capture via tcpdump
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### JTAPI (Cisco Phone Control)
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
ct jtapi # Show status (default)
|
|
134
|
+
ct jtapi status # Sidecar connection status
|
|
135
|
+
ct jtapi enable # Enable the JTAPI sidecar
|
|
136
|
+
ct jtapi disable # Disable the JTAPI sidecar
|
|
137
|
+
ct jtapi troubleshoot # Run 9-point diagnostic check
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Offline / Air-Gapped Deployment
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
ct offline fetch <version> # Download config bundle (fast, no images)
|
|
144
|
+
ct offline download <version> # Full bundle with Docker images
|
|
145
|
+
ct offline apply <bundle> # Install bundle on target machine
|
|
146
|
+
ct offline list # List images in current compose file
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
`fetch` downloads configs only. `download` builds a full offline archive including all Docker images for air-gapped installation.
|
|
150
|
+
|
|
151
|
+
## Interactive TUI
|
|
152
|
+
|
|
153
|
+
When run without arguments on a TTY, `ct` launches an interactive menu built with [Ink](https://github.com/vadimdemedes/ink). Navigate with arrow keys, select with Enter, quit with `q`.
|
|
154
|
+
|
|
155
|
+
Categories: Status, Update, Database, Migrate, Secrets, Config, Docker, Diagnostics, JTAPI, Offline.
|
|
156
|
+
|
|
157
|
+
## Development
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
git clone https://github.com/calltelemetry/ct-cli.git
|
|
161
|
+
cd ct-cli
|
|
162
|
+
yarn install
|
|
163
|
+
yarn dev # Run from source via tsx
|
|
164
|
+
yarn build # Compile TypeScript
|
|
165
|
+
yarn test # Run tests
|
|
166
|
+
yarn test:watch # Watch mode
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## License
|
|
170
|
+
|
|
171
|
+
UNLICENSED - Proprietary software of CallTelemetry.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Update the CLI itself via npm.
|
|
4
|
+
* Can be called standalone or as a pre-step during `ct update`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function selfUpdate(): Promise<void>;
|
|
7
|
+
export declare function registerSelfUpdateCommand(program: Command): void;
|
|
8
|
+
//# sourceMappingURL=self-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BhD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,QAOzD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { execa } from 'execa';
|
|
2
|
+
import * as out from '../utils/output.js';
|
|
3
|
+
/**
|
|
4
|
+
* Update the CLI itself via npm.
|
|
5
|
+
* Can be called standalone or as a pre-step during `ct update`.
|
|
6
|
+
*/
|
|
7
|
+
export async function selfUpdate() {
|
|
8
|
+
console.log('Checking for CLI updates...');
|
|
9
|
+
try {
|
|
10
|
+
const { stdout: installed } = await execa('npm', ['ls', '-g', '@calltelemetry/cli', '--json']);
|
|
11
|
+
const local = JSON.parse(installed)?.dependencies?.['@calltelemetry/cli']?.version;
|
|
12
|
+
const { stdout: registryJson } = await execa('npm', ['view', '@calltelemetry/cli', 'version', '--json']);
|
|
13
|
+
const latest = JSON.parse(registryJson);
|
|
14
|
+
if (local && local === latest) {
|
|
15
|
+
out.ok(`CLI is up to date (v${local})`);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
console.log(`Updating CLI: ${local ?? 'unknown'} → ${latest}...`);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// Can't determine versions — just run the install
|
|
22
|
+
console.log('Installing latest CLI...');
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
await execa('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], {
|
|
26
|
+
stdout: 'inherit',
|
|
27
|
+
stderr: 'inherit',
|
|
28
|
+
});
|
|
29
|
+
out.ok('CLI updated successfully');
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
out.warn('CLI self-update failed. You can update manually: sudo npm install -g @calltelemetry/cli');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function registerSelfUpdateCommand(program) {
|
|
36
|
+
program
|
|
37
|
+
.command('self-update')
|
|
38
|
+
.description('Update the ct CLI tool to the latest version')
|
|
39
|
+
.action(async () => {
|
|
40
|
+
await selfUpdate();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=self-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAEnF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAExC,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,EAAE,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,IAAI,SAAS,MAAM,MAAM,KAAK,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;YAClE,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/commands/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QA+CvD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { render } from 'ink';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ServicesView } from '../ui/views/ServicesView.js';
|
|
4
|
+
import { ServiceLogsView } from '../ui/views/ServiceLogsView.js';
|
|
5
|
+
export function registerServicesCommand(program) {
|
|
6
|
+
const services = program
|
|
7
|
+
.command('services')
|
|
8
|
+
.description('Manage Docker Compose services');
|
|
9
|
+
// Default: interactive dashboard
|
|
10
|
+
services.action(async () => {
|
|
11
|
+
const { waitUntilExit } = render(React.createElement(ServicesView));
|
|
12
|
+
await waitUntilExit();
|
|
13
|
+
});
|
|
14
|
+
services.command('logs <service>')
|
|
15
|
+
.description('Stream logs for a service')
|
|
16
|
+
.option('-n, --tail <lines>', 'Number of lines to show', '200')
|
|
17
|
+
.action(async (service, opts) => {
|
|
18
|
+
const { waitUntilExit } = render(React.createElement(ServiceLogsView, { service, tail: Number(opts.tail) }));
|
|
19
|
+
await waitUntilExit();
|
|
20
|
+
});
|
|
21
|
+
services.command('start <service>')
|
|
22
|
+
.description('Start a service')
|
|
23
|
+
.action(async (service) => {
|
|
24
|
+
const { waitUntilExit } = render(React.createElement(ServicesView, { action: 'start', service }));
|
|
25
|
+
await waitUntilExit();
|
|
26
|
+
});
|
|
27
|
+
services.command('stop <service>')
|
|
28
|
+
.description('Stop a service')
|
|
29
|
+
.action(async (service) => {
|
|
30
|
+
const { waitUntilExit } = render(React.createElement(ServicesView, { action: 'stop', service }));
|
|
31
|
+
await waitUntilExit();
|
|
32
|
+
});
|
|
33
|
+
services.command('restart <service>')
|
|
34
|
+
.description('Restart a service')
|
|
35
|
+
.action(async (service) => {
|
|
36
|
+
const { waitUntilExit } = render(React.createElement(ServicesView, { action: 'restart', service }));
|
|
37
|
+
await waitUntilExit();
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/commands/services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEjD,iCAAiC;IACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QACpE,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC/B,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,KAAK,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAsB,EAAE,EAAE;QACxD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC3E,CAAC;QACF,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEL,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;SAChC,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAChE,CAAC;QACF,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEL,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC/B,WAAW,CAAC,gBAAgB,CAAC;SAC7B,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAC/D,CAAC;QACF,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEL,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC;SAClC,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAClE,CAAC;QACF,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAkOrD"}
|
package/dist/commands/update.js
CHANGED
|
@@ -10,6 +10,7 @@ import { generateSelfSignedCerts } from '../lib/certs.js';
|
|
|
10
10
|
import { setPostgresVersion } from '../lib/postgres.js';
|
|
11
11
|
import { isVersionGte } from '../utils/version.js';
|
|
12
12
|
import { confirm } from '../utils/prompt.js';
|
|
13
|
+
import { selfUpdate } from './self-update.js';
|
|
13
14
|
import * as out from '../utils/output.js';
|
|
14
15
|
function getCurrentVersion() {
|
|
15
16
|
const { composeFile } = getPaths();
|
|
@@ -30,6 +31,9 @@ export function registerUpdateCommand(program) {
|
|
|
30
31
|
.option('--ipv6', 'Enable IPv6 support')
|
|
31
32
|
.action(async (versionArg, opts) => {
|
|
32
33
|
const { installDir, composeFile, backupDir, overrideFile } = getPaths();
|
|
34
|
+
// Self-update CLI first
|
|
35
|
+
await selfUpdate();
|
|
36
|
+
console.log();
|
|
33
37
|
await generateSelfSignedCerts();
|
|
34
38
|
// Resolve version
|
|
35
39
|
let version = versionArg;
|
|
@@ -95,6 +99,33 @@ export function registerUpdateCommand(program) {
|
|
|
95
99
|
else {
|
|
96
100
|
out.ok(`Docker version ${dockerVer} is supported`);
|
|
97
101
|
}
|
|
102
|
+
// Ensure Node.js 20.x is installed
|
|
103
|
+
console.log();
|
|
104
|
+
console.log('Ensuring Node.js 20.x is installed...');
|
|
105
|
+
try {
|
|
106
|
+
const { stdout: nodeVer } = await execa('node', ['--version']);
|
|
107
|
+
const major = parseInt(nodeVer.replace('v', '').split('.')[0], 10);
|
|
108
|
+
if (major >= 20) {
|
|
109
|
+
out.ok(`Node.js ${nodeVer.trim()} is installed`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
out.warn(`Node.js ${nodeVer.trim()} detected — upgrading to 20.x`);
|
|
113
|
+
await execa('bash', ['-c', 'curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -'], { stdout: 'inherit', stderr: 'inherit' });
|
|
114
|
+
await execa('sudo', ['dnf', 'install', '-y', 'nodejs'], { stdout: 'inherit', stderr: 'inherit' });
|
|
115
|
+
out.ok('Node.js 20.x installed');
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
console.log('Node.js not found — installing 20.x...');
|
|
120
|
+
try {
|
|
121
|
+
await execa('bash', ['-c', 'curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -'], { stdout: 'inherit', stderr: 'inherit' });
|
|
122
|
+
await execa('sudo', ['dnf', 'install', '-y', 'nodejs'], { stdout: 'inherit', stderr: 'inherit' });
|
|
123
|
+
out.ok('Node.js 20.x installed');
|
|
124
|
+
}
|
|
125
|
+
catch (installErr) {
|
|
126
|
+
out.warn('Could not install Node.js automatically. Please install Node.js 20+ manually.');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
98
129
|
// Backup current compose
|
|
99
130
|
await mkdir(backupDir, { recursive: true });
|
|
100
131
|
if (existsSync(composeFile)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,8 @@ import { registerOfflineCommand } from './commands/offline.js';
|
|
|
10
10
|
import { registerDiagCommand } from './commands/diag.js';
|
|
11
11
|
import { registerJtapiCommand } from './commands/jtapi.js';
|
|
12
12
|
import { registerSecretsCommand } from './commands/secrets.js';
|
|
13
|
+
import { registerServicesCommand } from './commands/services.js';
|
|
14
|
+
import { registerSelfUpdateCommand } from './commands/self-update.js';
|
|
13
15
|
const LOGO = `
|
|
14
16
|
______ ____ ______ __ __
|
|
15
17
|
/ ____/___ _/ / / /_ __/__ / /__ ____ ___ ___ / /________ __
|
|
@@ -23,8 +25,9 @@ const program = new Command();
|
|
|
23
25
|
program
|
|
24
26
|
.name('ct')
|
|
25
27
|
.description('CallTelemetry appliance management CLI')
|
|
26
|
-
.version('0.
|
|
28
|
+
.version('0.2.0')
|
|
27
29
|
.hook('preAction', () => {
|
|
30
|
+
// Only show logo for direct CLI invocations, not TUI
|
|
28
31
|
console.log(LOGO);
|
|
29
32
|
console.log();
|
|
30
33
|
});
|
|
@@ -38,6 +41,8 @@ registerOfflineCommand(program);
|
|
|
38
41
|
registerDiagCommand(program);
|
|
39
42
|
registerJtapiCommand(program);
|
|
40
43
|
registerSecretsCommand(program);
|
|
44
|
+
registerServicesCommand(program);
|
|
45
|
+
registerSelfUpdateCommand(program);
|
|
41
46
|
// Interactive menu when `ct` is run with no arguments on a TTY
|
|
42
47
|
const hasCommand = process.argv.length > 2;
|
|
43
48
|
if (!hasCommand && process.stdout.isTTY) {
|
|
@@ -46,10 +51,10 @@ if (!hasCommand && process.stdout.isTTY) {
|
|
|
46
51
|
const React = await import('react');
|
|
47
52
|
const { MainMenu } = await import('./ui/views/MainMenu.js');
|
|
48
53
|
const { unmount, waitUntilExit } = render(React.createElement(MainMenu, {
|
|
49
|
-
version: '0.
|
|
50
|
-
|
|
54
|
+
version: '0.2.0',
|
|
55
|
+
onCliCommand: (command) => {
|
|
51
56
|
unmount();
|
|
52
|
-
//
|
|
57
|
+
// Fall back to Commander for commands without TUI views
|
|
53
58
|
program.parse(['node', 'ct', ...command.split(' ')]);
|
|
54
59
|
},
|
|
55
60
|
onExit: () => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface ServiceInfo {
|
|
2
|
+
service: string;
|
|
3
|
+
state: string;
|
|
4
|
+
health: string;
|
|
5
|
+
image: string;
|
|
6
|
+
ports: string;
|
|
7
|
+
status: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getServiceList(): Promise<ServiceInfo[]>;
|
|
10
|
+
export declare function startService(name: string): Promise<import("execa").Result<{
|
|
11
|
+
cwd: string;
|
|
12
|
+
stdin: "pipe" | undefined;
|
|
13
|
+
stdout: "pipe" | "inherit";
|
|
14
|
+
stderr: "pipe" | "inherit";
|
|
15
|
+
}>>;
|
|
16
|
+
export declare function stopService(name: string): Promise<import("execa").Result<{
|
|
17
|
+
cwd: string;
|
|
18
|
+
stdin: "pipe" | undefined;
|
|
19
|
+
stdout: "pipe" | "inherit";
|
|
20
|
+
stderr: "pipe" | "inherit";
|
|
21
|
+
}>>;
|
|
22
|
+
export declare function restartService(name: string): Promise<import("execa").Result<{
|
|
23
|
+
cwd: string;
|
|
24
|
+
stdin: "pipe" | undefined;
|
|
25
|
+
stdout: "pipe" | "inherit";
|
|
26
|
+
stderr: "pipe" | "inherit";
|
|
27
|
+
}>>;
|
|
28
|
+
export declare function startAllServices(): Promise<import("execa").Result<{
|
|
29
|
+
cwd: string;
|
|
30
|
+
stdout: "pipe" | "inherit";
|
|
31
|
+
stderr: "pipe" | "inherit";
|
|
32
|
+
}>>;
|
|
33
|
+
export declare function stopAllServices(): Promise<import("execa").Result<{
|
|
34
|
+
cwd: string;
|
|
35
|
+
stdin: "pipe" | undefined;
|
|
36
|
+
stdout: "pipe" | "inherit";
|
|
37
|
+
stderr: "pipe" | "inherit";
|
|
38
|
+
}>>;
|
|
39
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/lib/services.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAkB7D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM;;;;;IAE9C;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM;;;;;IAE7C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM;;;;;IAEhD;AAED,wBAAsB,gBAAgB;;;;IAErC;AAED,wBAAsB,eAAe;;;;;IAEpC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { compose, composeUp } from './compose.js';
|
|
2
|
+
export async function getServiceList() {
|
|
3
|
+
const result = await compose(['ps', '-a', '--format', 'json'], { pipe: true });
|
|
4
|
+
const raw = (result.stdout ?? '').trim();
|
|
5
|
+
if (!raw)
|
|
6
|
+
return [];
|
|
7
|
+
return raw.split('\n')
|
|
8
|
+
.filter(line => line.trim())
|
|
9
|
+
.map(line => {
|
|
10
|
+
const obj = JSON.parse(line);
|
|
11
|
+
return {
|
|
12
|
+
service: obj.Service ?? '',
|
|
13
|
+
state: obj.State ?? '',
|
|
14
|
+
health: obj.Health || '',
|
|
15
|
+
image: obj.Image ?? '',
|
|
16
|
+
ports: obj.Ports || '',
|
|
17
|
+
status: obj.Status ?? '',
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export async function startService(name) {
|
|
22
|
+
return compose(['start', name], { pipe: true });
|
|
23
|
+
}
|
|
24
|
+
export async function stopService(name) {
|
|
25
|
+
return compose(['stop', name], { pipe: true });
|
|
26
|
+
}
|
|
27
|
+
export async function restartService(name) {
|
|
28
|
+
return compose(['restart', name], { pipe: true });
|
|
29
|
+
}
|
|
30
|
+
export async function startAllServices() {
|
|
31
|
+
return composeUp(['-d'], { pipe: true });
|
|
32
|
+
}
|
|
33
|
+
export async function stopAllServices() {
|
|
34
|
+
return compose(['stop'], { pipe: true });
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/lib/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAWlD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;SACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC3B,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;YAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;SACzB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,OAAO,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,OAAO,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,OAAO,OAAO,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/ui/hooks/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export { useStepRunner } from "./useStepRunner.js";
|
|
|
4
4
|
export type { Step, StepState } from "./useStepRunner.js";
|
|
5
5
|
export { useStreamingProcess } from "./useStreamingProcess.js";
|
|
6
6
|
export { usePolling } from "./usePolling.js";
|
|
7
|
+
export { useComposeLogs } from "./useComposeLogs.js";
|
|
8
|
+
export { useFinish } from "./useFinish.js";
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/ui/hooks/index.js
CHANGED
|
@@ -2,4 +2,6 @@ export { useAsyncTask } from "./useAsyncTask.js";
|
|
|
2
2
|
export { useStepRunner } from "./useStepRunner.js";
|
|
3
3
|
export { useStreamingProcess } from "./useStreamingProcess.js";
|
|
4
4
|
export { usePolling } from "./usePolling.js";
|
|
5
|
+
export { useComposeLogs } from "./useComposeLogs.js";
|
|
6
|
+
export { useFinish } from "./useFinish.js";
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useComposeLogs.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useComposeLogs.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,SAAM,GACT;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAmFA"}
|