@wundr.io/cli 1.0.11 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/bin/wundr.js +8 -4
  2. package/dist/ai/ai-service.d.ts.map +1 -1
  3. package/dist/ai/ai-service.js.map +1 -1
  4. package/dist/ai/claude-client.js.map +1 -1
  5. package/dist/ai/conversation-manager.js.map +1 -1
  6. package/dist/commands/ai.d.ts.map +1 -1
  7. package/dist/commands/ai.js +179 -24
  8. package/dist/commands/ai.js.map +1 -1
  9. package/dist/commands/analyze-optimized.d.ts.map +1 -1
  10. package/dist/commands/analyze-optimized.js +15 -6
  11. package/dist/commands/analyze-optimized.js.map +1 -1
  12. package/dist/commands/batch.d.ts +22 -0
  13. package/dist/commands/batch.d.ts.map +1 -1
  14. package/dist/commands/batch.js +130 -14
  15. package/dist/commands/batch.js.map +1 -1
  16. package/dist/commands/chat.d.ts +1 -0
  17. package/dist/commands/chat.d.ts.map +1 -1
  18. package/dist/commands/chat.js +7 -3
  19. package/dist/commands/chat.js.map +1 -1
  20. package/dist/commands/claude-init.d.ts +1 -1
  21. package/dist/commands/claude-init.d.ts.map +1 -1
  22. package/dist/commands/claude-init.js +16 -16
  23. package/dist/commands/claude-init.js.map +1 -1
  24. package/dist/commands/claude-setup.d.ts +5 -5
  25. package/dist/commands/claude-setup.d.ts.map +1 -1
  26. package/dist/commands/claude-setup.js +65 -59
  27. package/dist/commands/claude-setup.js.map +1 -1
  28. package/dist/commands/computer-setup.d.ts +1 -0
  29. package/dist/commands/computer-setup.d.ts.map +1 -1
  30. package/dist/commands/computer-setup.js +35 -7
  31. package/dist/commands/computer-setup.js.map +1 -1
  32. package/dist/commands/dashboard.js.map +1 -1
  33. package/dist/commands/govern.js.map +1 -1
  34. package/dist/commands/init.d.ts.map +1 -1
  35. package/dist/commands/init.js +3 -3
  36. package/dist/commands/init.js.map +1 -1
  37. package/dist/commands/orchestrator.d.ts.map +1 -1
  38. package/dist/commands/orchestrator.js +11 -4
  39. package/dist/commands/orchestrator.js.map +1 -1
  40. package/dist/commands/performance-optimizer.d.ts.map +1 -1
  41. package/dist/commands/performance-optimizer.js.map +1 -1
  42. package/dist/commands/rag.d.ts.map +1 -1
  43. package/dist/commands/rag.js +9 -6
  44. package/dist/commands/rag.js.map +1 -1
  45. package/dist/commands/setup.d.ts +5 -10
  46. package/dist/commands/setup.d.ts.map +1 -1
  47. package/dist/commands/setup.js +35 -260
  48. package/dist/commands/setup.js.map +1 -1
  49. package/dist/commands/watch.d.ts.map +1 -1
  50. package/dist/commands/watch.js.map +1 -1
  51. package/dist/context/session-manager.js.map +1 -1
  52. package/dist/framework/command-interface.d.ts +349 -0
  53. package/dist/framework/command-interface.d.ts.map +1 -0
  54. package/dist/framework/command-interface.js +101 -0
  55. package/dist/framework/command-interface.js.map +1 -0
  56. package/dist/framework/command-registry.d.ts +173 -0
  57. package/dist/framework/command-registry.d.ts.map +1 -0
  58. package/dist/framework/command-registry.js +734 -0
  59. package/dist/framework/command-registry.js.map +1 -0
  60. package/dist/framework/completion-exporter.d.ts +79 -0
  61. package/dist/framework/completion-exporter.d.ts.map +1 -0
  62. package/dist/framework/completion-exporter.js +259 -0
  63. package/dist/framework/completion-exporter.js.map +1 -0
  64. package/dist/framework/debug-logger.d.ts +163 -0
  65. package/dist/framework/debug-logger.d.ts.map +1 -0
  66. package/dist/framework/debug-logger.js +373 -0
  67. package/dist/framework/debug-logger.js.map +1 -0
  68. package/dist/framework/error-handler.d.ts +196 -0
  69. package/dist/framework/error-handler.d.ts.map +1 -0
  70. package/dist/framework/error-handler.js +613 -0
  71. package/dist/framework/error-handler.js.map +1 -0
  72. package/dist/framework/help-generator.d.ts +78 -0
  73. package/dist/framework/help-generator.d.ts.map +1 -0
  74. package/dist/framework/help-generator.js +414 -0
  75. package/dist/framework/help-generator.js.map +1 -0
  76. package/dist/framework/index.d.ts +62 -0
  77. package/dist/framework/index.d.ts.map +1 -0
  78. package/dist/framework/index.js +95 -0
  79. package/dist/framework/index.js.map +1 -0
  80. package/dist/framework/interactive-repl.d.ts +138 -0
  81. package/dist/framework/interactive-repl.d.ts.map +1 -0
  82. package/dist/framework/interactive-repl.js +567 -0
  83. package/dist/framework/interactive-repl.js.map +1 -0
  84. package/dist/framework/output-formatter.d.ts +274 -0
  85. package/dist/framework/output-formatter.d.ts.map +1 -0
  86. package/dist/framework/output-formatter.js +545 -0
  87. package/dist/framework/output-formatter.js.map +1 -0
  88. package/dist/framework/progress-manager.d.ts +192 -0
  89. package/dist/framework/progress-manager.d.ts.map +1 -0
  90. package/dist/framework/progress-manager.js +408 -0
  91. package/dist/framework/progress-manager.js.map +1 -0
  92. package/dist/interactive/interactive-mode.js.map +1 -1
  93. package/dist/nlp/command-mapper.js.map +1 -1
  94. package/dist/nlp/command-parser.js.map +1 -1
  95. package/dist/nlp/intent-parser.d.ts.map +1 -1
  96. package/dist/nlp/intent-parser.js +4 -2
  97. package/dist/nlp/intent-parser.js.map +1 -1
  98. package/dist/plugins/plugin-manager.d.ts +2 -1
  99. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  100. package/dist/plugins/plugin-manager.js +30 -19
  101. package/dist/plugins/plugin-manager.js.map +1 -1
  102. package/dist/utils/backup-rollback-manager.d.ts.map +1 -1
  103. package/dist/utils/backup-rollback-manager.js +1 -2
  104. package/dist/utils/backup-rollback-manager.js.map +1 -1
  105. package/dist/utils/logger.js.map +1 -1
  106. package/package.json +6 -6
  107. package/src/ai/ai-service.ts +16 -17
  108. package/src/ai/claude-client.ts +16 -16
  109. package/src/ai/conversation-manager.ts +29 -29
  110. package/src/cli.ts +4 -4
  111. package/src/commands/ai.ts +246 -78
  112. package/src/commands/alignment.ts +74 -74
  113. package/src/commands/analyze-optimized.ts +111 -78
  114. package/src/commands/analyze.ts +14 -14
  115. package/src/commands/batch.ts +179 -42
  116. package/src/commands/chat.ts +37 -30
  117. package/src/commands/claude-init.ts +41 -45
  118. package/src/commands/claude-setup.ts +204 -119
  119. package/src/commands/computer-setup.ts +85 -43
  120. package/src/commands/create-command.ts +4 -4
  121. package/src/commands/create.ts +27 -27
  122. package/src/commands/dashboard.ts +24 -24
  123. package/src/commands/govern.ts +25 -25
  124. package/src/commands/governance.ts +34 -34
  125. package/src/commands/guardian.ts +56 -56
  126. package/src/commands/init.ts +25 -22
  127. package/src/commands/orchestrator.ts +68 -41
  128. package/src/commands/performance-optimizer.ts +34 -35
  129. package/src/commands/plugins.ts +27 -27
  130. package/src/commands/project-update.ts +175 -72
  131. package/src/commands/rag.ts +185 -78
  132. package/src/commands/session.ts +35 -35
  133. package/src/commands/setup.ts +40 -344
  134. package/src/commands/test-init.ts +3 -3
  135. package/src/commands/test.ts +4 -4
  136. package/src/commands/watch.ts +28 -29
  137. package/src/commands/worktree.ts +49 -49
  138. package/src/context/context-manager.ts +10 -10
  139. package/src/context/session-manager.ts +41 -41
  140. package/src/framework/command-interface.ts +520 -0
  141. package/src/framework/command-registry.ts +942 -0
  142. package/src/framework/completion-exporter.ts +383 -0
  143. package/src/framework/debug-logger.ts +519 -0
  144. package/src/framework/error-handler.ts +867 -0
  145. package/src/framework/help-generator.ts +540 -0
  146. package/src/framework/index.ts +169 -0
  147. package/src/framework/interactive-repl.ts +703 -0
  148. package/src/framework/output-formatter.ts +834 -0
  149. package/src/framework/progress-manager.ts +539 -0
  150. package/src/index.ts +4 -4
  151. package/src/interactive/interactive-mode.ts +16 -16
  152. package/src/lib/conflict-resolution.ts +799 -9
  153. package/src/lib/merge-strategy.ts +529 -7
  154. package/src/lib/safety-mechanisms.ts +422 -18
  155. package/src/lib/state-detection.ts +1015 -13
  156. package/src/nlp/command-mapper.ts +29 -29
  157. package/src/nlp/command-parser.ts +17 -17
  158. package/src/nlp/intent-classifier.ts +7 -7
  159. package/src/nlp/intent-parser.ts +54 -52
  160. package/src/plugins/plugin-manager.ts +61 -39
  161. package/src/tests/computer-setup-integration.test.ts +46 -15
  162. package/src/types/modules.d.ts +424 -1
  163. package/src/utils/backup-rollback-manager.ts +11 -8
  164. package/src/utils/config-manager.ts +3 -3
  165. package/src/utils/error-handler.ts +2 -2
  166. package/src/utils/logger.ts +22 -22
  167. package/templates/batch/ci-cd.yaml +7 -7
  168. package/test-suites/api/health.spec.ts +20 -23
  169. package/test-suites/helpers/test-config.ts +14 -13
  170. package/test-suites/ui/accessibility.spec.ts +27 -22
  171. package/test-suites/ui/smoke.spec.ts +26 -21
  172. package/dist/commands/computer-setup-commands.d.ts +0 -53
  173. package/dist/commands/computer-setup-commands.d.ts.map +0 -1
  174. package/dist/commands/computer-setup-commands.js +0 -705
  175. package/dist/commands/computer-setup-commands.js.map +0 -1
  176. package/dist/commands/vp.d.ts +0 -7
  177. package/dist/commands/vp.d.ts.map +0 -1
  178. package/dist/commands/vp.js +0 -571
  179. package/dist/commands/vp.js.map +0 -1
  180. package/src/commands/computer-setup-commands.ts +0 -872
@@ -1 +0,0 @@
1
- {"version":3,"file":"computer-setup-commands.js","sourceRoot":"","sources":["../../src/commands/computer-setup-commands.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * VP Daemon CLI Commands
3
- * Manages the Virtual Principal (VP) Daemon for agent orchestration
4
- */
5
- import { Command } from 'commander';
6
- export declare function createVPCommand(): Command;
7
- //# sourceMappingURL=vp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vp.d.ts","sourceRoot":"","sources":["../../src/commands/vp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiMpC,wBAAgB,eAAe,IAAI,OAAO,CAwFzC"}
@@ -1,571 +0,0 @@
1
- "use strict";
2
- /**
3
- * VP Daemon CLI Commands
4
- * Manages the Virtual Principal (VP) Daemon for agent orchestration
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createVPCommand = createVPCommand;
8
- const tslib_1 = require("tslib");
9
- const fs = tslib_1.__importStar(require("fs/promises"));
10
- const fs_1 = require("fs");
11
- const os = tslib_1.__importStar(require("os"));
12
- const path = tslib_1.__importStar(require("path"));
13
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
14
- const commander_1 = require("commander");
15
- const ora_1 = tslib_1.__importDefault(require("ora"));
16
- const yaml_1 = tslib_1.__importDefault(require("yaml"));
17
- // Constants
18
- const VP_CONFIG_DIR = path.join(os.homedir(), '.wundr', 'vp-daemon');
19
- const VP_CONFIG_FILE = path.join(VP_CONFIG_DIR, 'config.yaml');
20
- const VP_PID_FILE = path.join(VP_CONFIG_DIR, 'daemon.pid');
21
- const VP_LOG_FILE = path.join(VP_CONFIG_DIR, 'daemon.log');
22
- // Utility functions
23
- function getDefaultConfig() {
24
- return {
25
- daemon: {
26
- port: 8787,
27
- host: '127.0.0.1',
28
- name: 'vp-daemon',
29
- maxSessions: 100,
30
- heartbeatInterval: 30000,
31
- shutdownTimeout: 10000,
32
- },
33
- identity: {
34
- name: 'Virtual Principal',
35
- email: 'vp@wundr.local',
36
- slackHandle: '@virtual-principal',
37
- },
38
- subsystems: {
39
- triage: {
40
- memoryBankPath: path.join(VP_CONFIG_DIR, 'memory-bank'),
41
- enableRAG: false,
42
- },
43
- intervention: {
44
- enabled: true,
45
- autoRollbackOnCritical: false,
46
- },
47
- telemetry: {
48
- enabled: true,
49
- flushInterval: 10000,
50
- },
51
- },
52
- safety: {
53
- autoApprovePatterns: ['read|cat|ls|grep|find', 'npm test|yarn test|jest'],
54
- alwaysRejectPatterns: ['rm\\s+-rf\\s+/', 'git\\s+push.*--force'],
55
- escalationPatterns: ['deploy.*prod', 'password|secret|token|api.?key'],
56
- },
57
- budget: {
58
- dailyLimit: 1000000,
59
- monthlyLimit: 20000000,
60
- warningThreshold: 0.8,
61
- criticalThreshold: 0.95,
62
- },
63
- };
64
- }
65
- async function loadConfig() {
66
- try {
67
- if ((0, fs_1.existsSync)(VP_CONFIG_FILE)) {
68
- const content = await fs.readFile(VP_CONFIG_FILE, 'utf-8');
69
- const parsed = yaml_1.default.parse(content);
70
- return { ...getDefaultConfig(), ...parsed };
71
- }
72
- }
73
- catch (error) {
74
- // Fall through to default
75
- }
76
- return getDefaultConfig();
77
- }
78
- async function saveConfig(config) {
79
- await fs.mkdir(VP_CONFIG_DIR, { recursive: true });
80
- await fs.writeFile(VP_CONFIG_FILE, yaml_1.default.stringify(config), 'utf-8');
81
- }
82
- async function ensureConfigDir() {
83
- if (!(0, fs_1.existsSync)(VP_CONFIG_DIR)) {
84
- await fs.mkdir(VP_CONFIG_DIR, { recursive: true });
85
- }
86
- }
87
- async function getDaemonStatus() {
88
- const status = { running: false };
89
- try {
90
- if ((0, fs_1.existsSync)(VP_PID_FILE)) {
91
- const pidContent = await fs.readFile(VP_PID_FILE, 'utf-8');
92
- const pid = parseInt(pidContent.trim(), 10);
93
- // Check if process is running
94
- try {
95
- process.kill(pid, 0);
96
- status.running = true;
97
- status.pid = pid;
98
- // Try to read status from socket or API
99
- const config = await loadConfig();
100
- status.port = config.daemon.port;
101
- status.host = config.daemon.host;
102
- // Read additional status info if available
103
- const statusFile = path.join(VP_CONFIG_DIR, 'status.json');
104
- if ((0, fs_1.existsSync)(statusFile)) {
105
- const statusContent = await fs.readFile(statusFile, 'utf-8');
106
- const statusData = JSON.parse(statusContent);
107
- status.uptime = formatUptime(statusData.uptime);
108
- status.sessionCount = statusData.sessionCount ?? 0;
109
- status.queueDepth = statusData.queueDepth ?? 0;
110
- status.health = statusData.health ?? 'unknown';
111
- status.subsystems = statusData.subsystems ?? {};
112
- }
113
- }
114
- catch {
115
- // Process not running, clean up stale PID file
116
- await fs.unlink(VP_PID_FILE).catch(() => { });
117
- }
118
- }
119
- }
120
- catch (error) {
121
- // Ignore errors
122
- }
123
- return status;
124
- }
125
- function formatUptime(ms) {
126
- const seconds = Math.floor(ms / 1000);
127
- const minutes = Math.floor(seconds / 60);
128
- const hours = Math.floor(minutes / 60);
129
- const days = Math.floor(hours / 24);
130
- if (days > 0) {
131
- return `${days}d ${hours % 24}h ${minutes % 60}m`;
132
- }
133
- if (hours > 0) {
134
- return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
135
- }
136
- if (minutes > 0) {
137
- return `${minutes}m ${seconds % 60}s`;
138
- }
139
- return `${seconds}s`;
140
- }
141
- // Create VP command
142
- function createVPCommand() {
143
- const command = new commander_1.Command('vp')
144
- .description('Manage the VP (Virtual Principal) Daemon for agent orchestration')
145
- .addHelpText('after', chalk_1.default.gray(`
146
- Examples:
147
- ${chalk_1.default.green('wundr vp start')} Start the VP Daemon
148
- ${chalk_1.default.green('wundr vp start --port 9000')} Start on custom port
149
- ${chalk_1.default.green('wundr vp status')} Check daemon status
150
- ${chalk_1.default.green('wundr vp stop')} Stop the daemon gracefully
151
- ${chalk_1.default.green('wundr vp config show')} View current configuration
152
- ${chalk_1.default.green('wundr vp config set daemon.port=9000')} Update configuration
153
- `));
154
- // Start command
155
- command
156
- .command('start')
157
- .description('Start the VP Daemon')
158
- .option('-p, --port <number>', 'Port to listen on')
159
- .option('-c, --config <path>', 'Path to configuration file')
160
- .option('-v, --verbose', 'Enable verbose logging')
161
- .option('--detach', 'Run daemon in background (detached mode)')
162
- .action(async (options) => {
163
- await startDaemon(options);
164
- });
165
- // Status command (default)
166
- command
167
- .command('status', { isDefault: true })
168
- .description('Check VP Daemon status')
169
- .option('--json', 'Output as JSON')
170
- .action(async (options) => {
171
- await showStatus(options);
172
- });
173
- // Stop command
174
- command
175
- .command('stop')
176
- .description('Stop the VP Daemon gracefully')
177
- .option('-f, --force', 'Force immediate termination')
178
- .option('-t, --timeout <ms>', 'Shutdown timeout in milliseconds', '10000')
179
- .action(async (options) => {
180
- await stopDaemon(options);
181
- });
182
- // Config command group
183
- const configCmd = command
184
- .command('config')
185
- .description('View or edit VP configuration');
186
- configCmd
187
- .command('show')
188
- .description('Display current configuration')
189
- .option('--json', 'Output as JSON instead of YAML')
190
- .action(async (options) => {
191
- await showConfig(options);
192
- });
193
- configCmd
194
- .command('set <key=value>')
195
- .description('Set a configuration value (e.g., daemon.port=9000)')
196
- .action(async (keyValue) => {
197
- await setConfig(keyValue);
198
- });
199
- configCmd
200
- .command('reset')
201
- .description('Reset configuration to defaults')
202
- .option('--force', 'Skip confirmation')
203
- .action(async (options) => {
204
- await resetConfig(options);
205
- });
206
- // Logs command
207
- command
208
- .command('logs')
209
- .description('View VP Daemon logs')
210
- .option('-f, --follow', 'Follow log output')
211
- .option('-n, --lines <number>', 'Number of lines to show', '50')
212
- .action(async (options) => {
213
- await viewLogs(options);
214
- });
215
- return command;
216
- }
217
- // Command implementations
218
- async function startDaemon(options) {
219
- const spinner = (0, ora_1.default)('Starting VP Daemon...').start();
220
- try {
221
- await ensureConfigDir();
222
- // Check if already running
223
- const currentStatus = await getDaemonStatus();
224
- if (currentStatus.running) {
225
- spinner.fail(`VP Daemon is already running (PID: ${currentStatus.pid}, port: ${currentStatus.port})`);
226
- return;
227
- }
228
- // Load configuration
229
- let config;
230
- if (options.config && (0, fs_1.existsSync)(options.config)) {
231
- const content = await fs.readFile(options.config, 'utf-8');
232
- config = { ...getDefaultConfig(), ...yaml_1.default.parse(content) };
233
- spinner.text = `Loading config from ${options.config}...`;
234
- }
235
- else {
236
- config = await loadConfig();
237
- }
238
- // Apply CLI overrides
239
- if (options.port) {
240
- config.daemon.port = parseInt(options.port, 10);
241
- }
242
- // Save current config for daemon use
243
- await saveConfig(config);
244
- spinner.text = 'Initializing VP Daemon subsystems...';
245
- // Dynamically import VPDaemon at runtime to avoid TypeScript rootDir issues
246
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
247
- let daemon;
248
- try {
249
- // Use require for CommonJS compatibility or dynamic import for ESM
250
- const daemonModulePath = require
251
- .resolve('@wundr/vp-daemon')
252
- .replace(/\.js$/, '');
253
- // eslint-disable-next-line @typescript-eslint/no-require-imports
254
- const daemonModule = require(daemonModulePath);
255
- const VPDaemon = daemonModule.VPDaemon || daemonModule.default?.VPDaemon;
256
- if (!VPDaemon) {
257
- throw new Error('VPDaemon class not found in module');
258
- }
259
- daemon = new VPDaemon({
260
- name: config.daemon.name,
261
- port: config.daemon.port,
262
- host: config.daemon.host,
263
- maxSessions: config.daemon.maxSessions,
264
- heartbeatInterval: config.daemon.heartbeatInterval,
265
- shutdownTimeout: config.daemon.shutdownTimeout,
266
- verbose: options.verbose ?? false,
267
- });
268
- }
269
- catch (importError) {
270
- // Fallback: try to spawn the daemon as a subprocess
271
- spinner.fail('Failed to load VP Daemon module');
272
- console.error(chalk_1.default.red('\nThe VP Daemon module could not be loaded.'));
273
- console.error(chalk_1.default.gray('Options to resolve:'));
274
- console.error(chalk_1.default.white(' 1. Install: npm install @wundr/vp-daemon'));
275
- console.error(chalk_1.default.white(' 2. Or build from source: cd scripts/vp-daemon && npm run build'));
276
- console.error(chalk_1.default.gray(`\nError: ${importError instanceof Error ? importError.message : String(importError)}`));
277
- return;
278
- }
279
- // Write PID file
280
- await fs.writeFile(VP_PID_FILE, String(process.pid));
281
- // Set up status updates
282
- const updateStatus = () => {
283
- const status = daemon.getStatus();
284
- const statusData = {
285
- uptime: status.uptime,
286
- sessionCount: status.metrics?.activeSessions ?? 0,
287
- queueDepth: 0,
288
- health: status.status,
289
- subsystems: Object.fromEntries(Object.entries(status.subsystems ?? {}).map(([k, v]) => [
290
- k,
291
- v?.status ?? 'unknown',
292
- ])),
293
- };
294
- fs.writeFile(path.join(VP_CONFIG_DIR, 'status.json'), JSON.stringify(statusData, null, 2)).catch(() => { });
295
- };
296
- daemon.on('healthCheck', updateStatus);
297
- // Set up cleanup handlers
298
- const cleanup = async () => {
299
- await fs.unlink(VP_PID_FILE).catch(() => { });
300
- await fs.unlink(path.join(VP_CONFIG_DIR, 'status.json')).catch(() => { });
301
- };
302
- daemon.on('stopped', cleanup);
303
- // Start daemon
304
- await daemon.start();
305
- spinner.succeed(`VP Daemon started successfully on ${config.daemon.host}:${config.daemon.port}`);
306
- console.log(chalk_1.default.gray('\nDaemon Information:'));
307
- console.log(chalk_1.default.white(` PID: ${process.pid}`));
308
- console.log(chalk_1.default.white(` Port: ${config.daemon.port}`));
309
- console.log(chalk_1.default.white(` Host: ${config.daemon.host}`));
310
- console.log(chalk_1.default.white(` Config: ${VP_CONFIG_FILE}`));
311
- console.log(chalk_1.default.white(` Logs: ${VP_LOG_FILE}`));
312
- if (options.verbose) {
313
- console.log(chalk_1.default.gray('\nVerbose mode enabled - showing detailed logs'));
314
- }
315
- console.log(chalk_1.default.green('\nPress Ctrl+C to stop the daemon.\n'));
316
- // Keep process running
317
- if (!options.detach) {
318
- await new Promise(resolve => {
319
- daemon.on('stopped', resolve);
320
- });
321
- }
322
- }
323
- catch (error) {
324
- spinner.fail('Failed to start VP Daemon');
325
- console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
326
- }
327
- }
328
- async function showStatus(options) {
329
- const spinner = (0, ora_1.default)('Checking VP Daemon status...').start();
330
- try {
331
- const status = await getDaemonStatus();
332
- const config = await loadConfig();
333
- spinner.stop();
334
- if (options.json) {
335
- console.log(JSON.stringify({
336
- ...status,
337
- config: {
338
- port: config.daemon.port,
339
- host: config.daemon.host,
340
- maxSessions: config.daemon.maxSessions,
341
- },
342
- }, null, 2));
343
- return;
344
- }
345
- console.log(chalk_1.default.cyan('\nVP Daemon Status\n'));
346
- console.log(chalk_1.default.gray('='.repeat(50)));
347
- if (status.running) {
348
- console.log(chalk_1.default.green('Status: RUNNING'));
349
- console.log(chalk_1.default.white(`PID: ${status.pid}`));
350
- console.log(chalk_1.default.white(`Host: ${status.host}:${status.port}`));
351
- if (status.uptime) {
352
- console.log(chalk_1.default.white(`Uptime: ${status.uptime}`));
353
- }
354
- if (status.sessionCount !== undefined) {
355
- console.log(chalk_1.default.white(`Sessions: ${status.sessionCount}`));
356
- }
357
- if (status.queueDepth !== undefined) {
358
- console.log(chalk_1.default.white(`Queue Depth: ${status.queueDepth}`));
359
- }
360
- if (status.health) {
361
- const healthColor = status.health === 'healthy'
362
- ? chalk_1.default.green
363
- : status.health === 'degraded'
364
- ? chalk_1.default.yellow
365
- : chalk_1.default.red;
366
- console.log(healthColor(`Health: ${status.health.toUpperCase()}`));
367
- }
368
- if (status.subsystems && Object.keys(status.subsystems).length > 0) {
369
- console.log(chalk_1.default.gray('\nSubsystems:'));
370
- for (const [name, state] of Object.entries(status.subsystems)) {
371
- const stateColor = state === 'running'
372
- ? chalk_1.default.green
373
- : state === 'error'
374
- ? chalk_1.default.red
375
- : chalk_1.default.yellow;
376
- console.log(` ${chalk_1.default.white(name.padEnd(15))} ${stateColor(state)}`);
377
- }
378
- }
379
- }
380
- else {
381
- console.log(chalk_1.default.yellow('Status: STOPPED'));
382
- console.log(chalk_1.default.gray('\nDaemon is not running.'));
383
- console.log(chalk_1.default.gray('Start it with: wundr vp start'));
384
- }
385
- console.log(chalk_1.default.gray('\n' + '='.repeat(50)));
386
- console.log(chalk_1.default.gray(`Config: ${VP_CONFIG_FILE}`));
387
- console.log('');
388
- }
389
- catch (error) {
390
- spinner.fail('Failed to get daemon status');
391
- console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
392
- }
393
- }
394
- async function stopDaemon(options) {
395
- const spinner = (0, ora_1.default)('Stopping VP Daemon...').start();
396
- try {
397
- const status = await getDaemonStatus();
398
- if (!status.running || !status.pid) {
399
- spinner.info('VP Daemon is not running');
400
- return;
401
- }
402
- const pid = status.pid;
403
- const timeout = parseInt(options.timeout ?? '10000', 10);
404
- if (options.force) {
405
- spinner.text = 'Force stopping daemon...';
406
- process.kill(pid, 'SIGKILL');
407
- await fs.unlink(VP_PID_FILE).catch(() => { });
408
- await fs.unlink(path.join(VP_CONFIG_DIR, 'status.json')).catch(() => { });
409
- spinner.succeed('VP Daemon force stopped');
410
- return;
411
- }
412
- // Send SIGTERM for graceful shutdown
413
- spinner.text = `Sending shutdown signal (timeout: ${timeout}ms)...`;
414
- process.kill(pid, 'SIGTERM');
415
- // Wait for process to exit
416
- const startTime = Date.now();
417
- while (Date.now() - startTime < timeout) {
418
- try {
419
- process.kill(pid, 0);
420
- await new Promise(resolve => setTimeout(resolve, 500));
421
- }
422
- catch {
423
- // Process exited
424
- await fs.unlink(VP_PID_FILE).catch(() => { });
425
- await fs
426
- .unlink(path.join(VP_CONFIG_DIR, 'status.json'))
427
- .catch(() => { });
428
- spinner.succeed('VP Daemon stopped gracefully');
429
- return;
430
- }
431
- }
432
- // Timeout reached, force kill
433
- spinner.text = 'Graceful shutdown timed out, forcing stop...';
434
- process.kill(pid, 'SIGKILL');
435
- await fs.unlink(VP_PID_FILE).catch(() => { });
436
- await fs.unlink(path.join(VP_CONFIG_DIR, 'status.json')).catch(() => { });
437
- spinner.warn('VP Daemon stopped (forced after timeout)');
438
- }
439
- catch (error) {
440
- spinner.fail('Failed to stop VP Daemon');
441
- console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
442
- }
443
- }
444
- async function showConfig(options) {
445
- try {
446
- const config = await loadConfig();
447
- console.log(chalk_1.default.cyan('\nVP Daemon Configuration\n'));
448
- console.log(chalk_1.default.gray(`File: ${VP_CONFIG_FILE}`));
449
- console.log(chalk_1.default.gray('='.repeat(50) + '\n'));
450
- if (options.json) {
451
- console.log(JSON.stringify(config, null, 2));
452
- }
453
- else {
454
- console.log(yaml_1.default.stringify(config));
455
- }
456
- }
457
- catch (error) {
458
- console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
459
- }
460
- }
461
- async function setConfig(keyValue) {
462
- try {
463
- const [keyPath, ...valueParts] = keyValue.split('=');
464
- const valueStr = valueParts.join('=');
465
- if (!keyPath || valueStr === undefined) {
466
- console.error(chalk_1.default.red('Invalid format. Use: wundr vp config set <key>=<value>'));
467
- console.error(chalk_1.default.gray('Example: wundr vp config set daemon.port=9000'));
468
- return;
469
- }
470
- const config = await loadConfig();
471
- const keys = keyPath.split('.');
472
- // Navigate to parent object
473
- let obj = config;
474
- for (let i = 0; i < keys.length - 1; i++) {
475
- const key = keys[i];
476
- if (key && typeof obj[key] === 'object' && obj[key] !== null) {
477
- obj = obj[key];
478
- }
479
- else {
480
- console.error(chalk_1.default.red(`Invalid key path: ${keyPath}`));
481
- return;
482
- }
483
- }
484
- const lastKey = keys[keys.length - 1];
485
- if (!lastKey) {
486
- console.error(chalk_1.default.red('Invalid key path'));
487
- return;
488
- }
489
- // Parse and set value
490
- let value;
491
- try {
492
- value = JSON.parse(valueStr);
493
- }
494
- catch {
495
- value = valueStr;
496
- }
497
- const oldValue = obj[lastKey];
498
- obj[lastKey] = value;
499
- await saveConfig(config);
500
- console.log(chalk_1.default.green('Configuration updated:'));
501
- console.log(chalk_1.default.white(` ${keyPath}: ${JSON.stringify(oldValue)} -> ${JSON.stringify(value)}`));
502
- console.log(chalk_1.default.gray('\nRestart the daemon for changes to take effect.'));
503
- }
504
- catch (error) {
505
- console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
506
- }
507
- }
508
- async function resetConfig(options) {
509
- try {
510
- if (!options.force) {
511
- // Dynamic import for inquirer
512
- const inquirer = await Promise.resolve().then(() => tslib_1.__importStar(require('inquirer')));
513
- const answers = await inquirer.default.prompt([
514
- {
515
- type: 'confirm',
516
- name: 'confirm',
517
- message: 'Reset VP Daemon configuration to defaults?',
518
- default: false,
519
- },
520
- ]);
521
- if (!answers.confirm) {
522
- console.log(chalk_1.default.yellow('Cancelled.'));
523
- return;
524
- }
525
- }
526
- const config = getDefaultConfig();
527
- await saveConfig(config);
528
- console.log(chalk_1.default.green('Configuration reset to defaults.'));
529
- console.log(chalk_1.default.gray(`Saved to: ${VP_CONFIG_FILE}`));
530
- }
531
- catch (error) {
532
- console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
533
- }
534
- }
535
- async function viewLogs(options) {
536
- const lines = parseInt(options.lines ?? '50', 10);
537
- if (!(0, fs_1.existsSync)(VP_LOG_FILE)) {
538
- console.log(chalk_1.default.yellow('No log file found.'));
539
- console.log(chalk_1.default.gray(`Expected location: ${VP_LOG_FILE}`));
540
- console.log(chalk_1.default.gray('Start the daemon with --verbose to enable logging.'));
541
- return;
542
- }
543
- try {
544
- if (options.follow) {
545
- console.log(chalk_1.default.cyan(`Following logs from ${VP_LOG_FILE}...`));
546
- console.log(chalk_1.default.gray('Press Ctrl+C to stop.\n'));
547
- const { spawn } = await Promise.resolve().then(() => tslib_1.__importStar(require('child_process')));
548
- const tail = spawn('tail', ['-f', '-n', String(lines), VP_LOG_FILE], {
549
- stdio: 'inherit',
550
- });
551
- await new Promise(resolve => {
552
- process.on('SIGINT', () => {
553
- tail.kill();
554
- resolve();
555
- });
556
- tail.on('close', () => resolve());
557
- });
558
- }
559
- else {
560
- const content = await fs.readFile(VP_LOG_FILE, 'utf-8');
561
- const logLines = content.split('\n');
562
- const lastLines = logLines.slice(-lines).join('\n');
563
- console.log(chalk_1.default.cyan(`Last ${lines} lines from ${VP_LOG_FILE}:\n`));
564
- console.log(lastLines);
565
- }
566
- }
567
- catch (error) {
568
- console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
569
- }
570
- }
571
- //# sourceMappingURL=vp.js.map