@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.
- package/bin/wundr.js +8 -4
- package/dist/ai/ai-service.d.ts.map +1 -1
- package/dist/ai/ai-service.js.map +1 -1
- package/dist/ai/claude-client.js.map +1 -1
- package/dist/ai/conversation-manager.js.map +1 -1
- package/dist/commands/ai.d.ts.map +1 -1
- package/dist/commands/ai.js +179 -24
- package/dist/commands/ai.js.map +1 -1
- package/dist/commands/analyze-optimized.d.ts.map +1 -1
- package/dist/commands/analyze-optimized.js +15 -6
- package/dist/commands/analyze-optimized.js.map +1 -1
- package/dist/commands/batch.d.ts +22 -0
- package/dist/commands/batch.d.ts.map +1 -1
- package/dist/commands/batch.js +130 -14
- package/dist/commands/batch.js.map +1 -1
- package/dist/commands/chat.d.ts +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +7 -3
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/claude-init.d.ts +1 -1
- package/dist/commands/claude-init.d.ts.map +1 -1
- package/dist/commands/claude-init.js +16 -16
- package/dist/commands/claude-init.js.map +1 -1
- package/dist/commands/claude-setup.d.ts +5 -5
- package/dist/commands/claude-setup.d.ts.map +1 -1
- package/dist/commands/claude-setup.js +65 -59
- package/dist/commands/claude-setup.js.map +1 -1
- package/dist/commands/computer-setup.d.ts +1 -0
- package/dist/commands/computer-setup.d.ts.map +1 -1
- package/dist/commands/computer-setup.js +35 -7
- package/dist/commands/computer-setup.js.map +1 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/govern.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/orchestrator.d.ts.map +1 -1
- package/dist/commands/orchestrator.js +11 -4
- package/dist/commands/orchestrator.js.map +1 -1
- package/dist/commands/performance-optimizer.d.ts.map +1 -1
- package/dist/commands/performance-optimizer.js.map +1 -1
- package/dist/commands/rag.d.ts.map +1 -1
- package/dist/commands/rag.js +9 -6
- package/dist/commands/rag.js.map +1 -1
- package/dist/commands/setup.d.ts +5 -10
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +35 -260
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js.map +1 -1
- package/dist/context/session-manager.js.map +1 -1
- package/dist/framework/command-interface.d.ts +349 -0
- package/dist/framework/command-interface.d.ts.map +1 -0
- package/dist/framework/command-interface.js +101 -0
- package/dist/framework/command-interface.js.map +1 -0
- package/dist/framework/command-registry.d.ts +173 -0
- package/dist/framework/command-registry.d.ts.map +1 -0
- package/dist/framework/command-registry.js +734 -0
- package/dist/framework/command-registry.js.map +1 -0
- package/dist/framework/completion-exporter.d.ts +79 -0
- package/dist/framework/completion-exporter.d.ts.map +1 -0
- package/dist/framework/completion-exporter.js +259 -0
- package/dist/framework/completion-exporter.js.map +1 -0
- package/dist/framework/debug-logger.d.ts +163 -0
- package/dist/framework/debug-logger.d.ts.map +1 -0
- package/dist/framework/debug-logger.js +373 -0
- package/dist/framework/debug-logger.js.map +1 -0
- package/dist/framework/error-handler.d.ts +196 -0
- package/dist/framework/error-handler.d.ts.map +1 -0
- package/dist/framework/error-handler.js +613 -0
- package/dist/framework/error-handler.js.map +1 -0
- package/dist/framework/help-generator.d.ts +78 -0
- package/dist/framework/help-generator.d.ts.map +1 -0
- package/dist/framework/help-generator.js +414 -0
- package/dist/framework/help-generator.js.map +1 -0
- package/dist/framework/index.d.ts +62 -0
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +95 -0
- package/dist/framework/index.js.map +1 -0
- package/dist/framework/interactive-repl.d.ts +138 -0
- package/dist/framework/interactive-repl.d.ts.map +1 -0
- package/dist/framework/interactive-repl.js +567 -0
- package/dist/framework/interactive-repl.js.map +1 -0
- package/dist/framework/output-formatter.d.ts +274 -0
- package/dist/framework/output-formatter.d.ts.map +1 -0
- package/dist/framework/output-formatter.js +545 -0
- package/dist/framework/output-formatter.js.map +1 -0
- package/dist/framework/progress-manager.d.ts +192 -0
- package/dist/framework/progress-manager.d.ts.map +1 -0
- package/dist/framework/progress-manager.js +408 -0
- package/dist/framework/progress-manager.js.map +1 -0
- package/dist/interactive/interactive-mode.js.map +1 -1
- package/dist/nlp/command-mapper.js.map +1 -1
- package/dist/nlp/command-parser.js.map +1 -1
- package/dist/nlp/intent-parser.d.ts.map +1 -1
- package/dist/nlp/intent-parser.js +4 -2
- package/dist/nlp/intent-parser.js.map +1 -1
- package/dist/plugins/plugin-manager.d.ts +2 -1
- package/dist/plugins/plugin-manager.d.ts.map +1 -1
- package/dist/plugins/plugin-manager.js +30 -19
- package/dist/plugins/plugin-manager.js.map +1 -1
- package/dist/utils/backup-rollback-manager.d.ts.map +1 -1
- package/dist/utils/backup-rollback-manager.js +1 -2
- package/dist/utils/backup-rollback-manager.js.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/package.json +6 -6
- package/src/ai/ai-service.ts +16 -17
- package/src/ai/claude-client.ts +16 -16
- package/src/ai/conversation-manager.ts +29 -29
- package/src/cli.ts +4 -4
- package/src/commands/ai.ts +246 -78
- package/src/commands/alignment.ts +74 -74
- package/src/commands/analyze-optimized.ts +111 -78
- package/src/commands/analyze.ts +14 -14
- package/src/commands/batch.ts +179 -42
- package/src/commands/chat.ts +37 -30
- package/src/commands/claude-init.ts +41 -45
- package/src/commands/claude-setup.ts +204 -119
- package/src/commands/computer-setup.ts +85 -43
- package/src/commands/create-command.ts +4 -4
- package/src/commands/create.ts +27 -27
- package/src/commands/dashboard.ts +24 -24
- package/src/commands/govern.ts +25 -25
- package/src/commands/governance.ts +34 -34
- package/src/commands/guardian.ts +56 -56
- package/src/commands/init.ts +25 -22
- package/src/commands/orchestrator.ts +68 -41
- package/src/commands/performance-optimizer.ts +34 -35
- package/src/commands/plugins.ts +27 -27
- package/src/commands/project-update.ts +175 -72
- package/src/commands/rag.ts +185 -78
- package/src/commands/session.ts +35 -35
- package/src/commands/setup.ts +40 -344
- package/src/commands/test-init.ts +3 -3
- package/src/commands/test.ts +4 -4
- package/src/commands/watch.ts +28 -29
- package/src/commands/worktree.ts +49 -49
- package/src/context/context-manager.ts +10 -10
- package/src/context/session-manager.ts +41 -41
- package/src/framework/command-interface.ts +520 -0
- package/src/framework/command-registry.ts +942 -0
- package/src/framework/completion-exporter.ts +383 -0
- package/src/framework/debug-logger.ts +519 -0
- package/src/framework/error-handler.ts +867 -0
- package/src/framework/help-generator.ts +540 -0
- package/src/framework/index.ts +169 -0
- package/src/framework/interactive-repl.ts +703 -0
- package/src/framework/output-formatter.ts +834 -0
- package/src/framework/progress-manager.ts +539 -0
- package/src/index.ts +4 -4
- package/src/interactive/interactive-mode.ts +16 -16
- package/src/lib/conflict-resolution.ts +799 -9
- package/src/lib/merge-strategy.ts +529 -7
- package/src/lib/safety-mechanisms.ts +422 -18
- package/src/lib/state-detection.ts +1015 -13
- package/src/nlp/command-mapper.ts +29 -29
- package/src/nlp/command-parser.ts +17 -17
- package/src/nlp/intent-classifier.ts +7 -7
- package/src/nlp/intent-parser.ts +54 -52
- package/src/plugins/plugin-manager.ts +61 -39
- package/src/tests/computer-setup-integration.test.ts +46 -15
- package/src/types/modules.d.ts +424 -1
- package/src/utils/backup-rollback-manager.ts +11 -8
- package/src/utils/config-manager.ts +3 -3
- package/src/utils/error-handler.ts +2 -2
- package/src/utils/logger.ts +22 -22
- package/templates/batch/ci-cd.yaml +7 -7
- package/test-suites/api/health.spec.ts +20 -23
- package/test-suites/helpers/test-config.ts +14 -13
- package/test-suites/ui/accessibility.spec.ts +27 -22
- package/test-suites/ui/smoke.spec.ts +26 -21
- package/dist/commands/computer-setup-commands.d.ts +0 -53
- package/dist/commands/computer-setup-commands.d.ts.map +0 -1
- package/dist/commands/computer-setup-commands.js +0 -705
- package/dist/commands/computer-setup-commands.js.map +0 -1
- package/dist/commands/vp.d.ts +0 -7
- package/dist/commands/vp.d.ts.map +0 -1
- package/dist/commands/vp.js +0 -571
- package/dist/commands/vp.js.map +0 -1
- package/src/commands/computer-setup-commands.ts +0 -872
package/src/commands/session.ts
CHANGED
|
@@ -164,7 +164,7 @@ Examples:
|
|
|
164
164
|
${chalk.green('wundr session pause <sessionId>')} Pause a running session
|
|
165
165
|
${chalk.green('wundr session resume <sessionId>')}Resume a paused session
|
|
166
166
|
${chalk.green('wundr session kill <sessionId>')} Terminate a session
|
|
167
|
-
`)
|
|
167
|
+
`)
|
|
168
168
|
);
|
|
169
169
|
|
|
170
170
|
// List command (default)
|
|
@@ -174,7 +174,7 @@ Examples:
|
|
|
174
174
|
.option('-a, --all', 'Show all sessions including completed and terminated')
|
|
175
175
|
.option(
|
|
176
176
|
'-s, --status <status>',
|
|
177
|
-
'Filter by status (active, paused, completed, error, terminated)'
|
|
177
|
+
'Filter by status (active, paused, completed, error, terminated)'
|
|
178
178
|
)
|
|
179
179
|
.option('-f, --format <format>', 'Output format (table, json)', 'table')
|
|
180
180
|
.action(async options => {
|
|
@@ -236,7 +236,7 @@ async function listSessions(options: {
|
|
|
236
236
|
} else if (!options.all) {
|
|
237
237
|
// By default, only show active and paused sessions
|
|
238
238
|
sessions = sessions.filter(
|
|
239
|
-
s => s.status === 'active' || s.status === 'paused'
|
|
239
|
+
s => s.status === 'active' || s.status === 'paused'
|
|
240
240
|
);
|
|
241
241
|
}
|
|
242
242
|
|
|
@@ -251,8 +251,8 @@ async function listSessions(options: {
|
|
|
251
251
|
sessions: sessions,
|
|
252
252
|
},
|
|
253
253
|
null,
|
|
254
|
-
2
|
|
255
|
-
)
|
|
254
|
+
2
|
|
255
|
+
)
|
|
256
256
|
);
|
|
257
257
|
return;
|
|
258
258
|
}
|
|
@@ -264,7 +264,7 @@ async function listSessions(options: {
|
|
|
264
264
|
console.log(chalk.yellow('\nNo sessions found.'));
|
|
265
265
|
if (!options.all && !options.status) {
|
|
266
266
|
console.log(
|
|
267
|
-
chalk.gray('Use --all to show completed and terminated sessions.')
|
|
267
|
+
chalk.gray('Use --all to show completed and terminated sessions.')
|
|
268
268
|
);
|
|
269
269
|
}
|
|
270
270
|
console.log('');
|
|
@@ -278,8 +278,8 @@ async function listSessions(options: {
|
|
|
278
278
|
padRight('Status', 12) +
|
|
279
279
|
padRight('Started At', 22) +
|
|
280
280
|
padRight('Slot ID', 10) +
|
|
281
|
-
padRight('Worktree Path', 36)
|
|
282
|
-
)
|
|
281
|
+
padRight('Worktree Path', 36)
|
|
282
|
+
)
|
|
283
283
|
);
|
|
284
284
|
console.log(chalk.gray('-'.repeat(100)));
|
|
285
285
|
|
|
@@ -294,7 +294,7 @@ async function listSessions(options: {
|
|
|
294
294
|
statusColor(padRight(getStatusIcon(session.status), 12)) +
|
|
295
295
|
padRight(startedAt, 22) +
|
|
296
296
|
padRight(session.slotId, 10) +
|
|
297
|
-
chalk.gray(padRight(worktreePath, 36))
|
|
297
|
+
chalk.gray(padRight(worktreePath, 36))
|
|
298
298
|
);
|
|
299
299
|
}
|
|
300
300
|
|
|
@@ -304,14 +304,14 @@ async function listSessions(options: {
|
|
|
304
304
|
} catch (error) {
|
|
305
305
|
spinner.fail('Failed to load sessions');
|
|
306
306
|
console.error(
|
|
307
|
-
chalk.red(error instanceof Error ? error.message : String(error))
|
|
307
|
+
chalk.red(error instanceof Error ? error.message : String(error))
|
|
308
308
|
);
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
311
|
|
|
312
312
|
async function showSessionInfo(
|
|
313
313
|
sessionId: string,
|
|
314
|
-
options: { format?: 'table' | 'json' }
|
|
314
|
+
options: { format?: 'table' | 'json' }
|
|
315
315
|
): Promise<void> {
|
|
316
316
|
const spinner = ora(`Loading session ${sessionId}...`).start();
|
|
317
317
|
|
|
@@ -337,32 +337,32 @@ async function showSessionInfo(
|
|
|
337
337
|
// Basic info
|
|
338
338
|
const statusColor = getStatusColor(session.status);
|
|
339
339
|
console.log(
|
|
340
|
-
chalk.white('Session ID: ') + chalk.green(session.sessionId)
|
|
340
|
+
chalk.white('Session ID: ') + chalk.green(session.sessionId)
|
|
341
341
|
);
|
|
342
342
|
console.log(
|
|
343
343
|
chalk.white('Status: ') +
|
|
344
|
-
statusColor(getStatusIcon(session.status))
|
|
344
|
+
statusColor(getStatusIcon(session.status))
|
|
345
345
|
);
|
|
346
346
|
console.log(chalk.white('Slot ID: ') + session.slotId);
|
|
347
347
|
console.log(
|
|
348
|
-
chalk.white('Worktree Path: ') + chalk.gray(session.worktreePath)
|
|
348
|
+
chalk.white('Worktree Path: ') + chalk.gray(session.worktreePath)
|
|
349
349
|
);
|
|
350
350
|
console.log(
|
|
351
351
|
chalk.white('Started At: ') +
|
|
352
|
-
new Date(session.startedAt).toLocaleString()
|
|
352
|
+
new Date(session.startedAt).toLocaleString()
|
|
353
353
|
);
|
|
354
354
|
|
|
355
355
|
if (session.pausedAt) {
|
|
356
356
|
console.log(
|
|
357
357
|
chalk.white('Paused At: ') +
|
|
358
|
-
new Date(session.pausedAt).toLocaleString()
|
|
358
|
+
new Date(session.pausedAt).toLocaleString()
|
|
359
359
|
);
|
|
360
360
|
}
|
|
361
361
|
|
|
362
362
|
if (session.lastActivity) {
|
|
363
363
|
console.log(
|
|
364
364
|
chalk.white('Last Activity: ') +
|
|
365
|
-
new Date(session.lastActivity).toLocaleString()
|
|
365
|
+
new Date(session.lastActivity).toLocaleString()
|
|
366
366
|
);
|
|
367
367
|
}
|
|
368
368
|
|
|
@@ -397,8 +397,8 @@ async function showSessionInfo(
|
|
|
397
397
|
padRight('Agent ID', 15) +
|
|
398
398
|
padRight('Type', 15) +
|
|
399
399
|
padRight('Status', 12) +
|
|
400
|
-
padRight('Tasks', 8)
|
|
401
|
-
)
|
|
400
|
+
padRight('Tasks', 8)
|
|
401
|
+
)
|
|
402
402
|
);
|
|
403
403
|
console.log(chalk.gray('-'.repeat(50)));
|
|
404
404
|
|
|
@@ -413,7 +413,7 @@ async function showSessionInfo(
|
|
|
413
413
|
padRight(agent.agentId, 15) +
|
|
414
414
|
padRight(agent.type, 15) +
|
|
415
415
|
agentStatusColor(padRight(`[${agent.status.toUpperCase()}]`, 12)) +
|
|
416
|
-
padRight(String(agent.taskCount), 8)
|
|
416
|
+
padRight(String(agent.taskCount), 8)
|
|
417
417
|
);
|
|
418
418
|
}
|
|
419
419
|
} else {
|
|
@@ -426,17 +426,17 @@ async function showSessionInfo(
|
|
|
426
426
|
console.log(chalk.cyan('Session Metrics'));
|
|
427
427
|
console.log(
|
|
428
428
|
chalk.white('Tasks: ') +
|
|
429
|
-
`${session.metrics.tasksCompleted}/${session.metrics.tasksTotal}
|
|
429
|
+
`${session.metrics.tasksCompleted}/${session.metrics.tasksTotal}`
|
|
430
430
|
);
|
|
431
431
|
console.log(
|
|
432
|
-
chalk.white('Duration: ') + formatDuration(session.metrics.duration)
|
|
432
|
+
chalk.white('Duration: ') + formatDuration(session.metrics.duration)
|
|
433
433
|
);
|
|
434
434
|
console.log(
|
|
435
|
-
chalk.white('Tokens: ') + session.metrics.tokensUsed.toLocaleString()
|
|
435
|
+
chalk.white('Tokens: ') + session.metrics.tokensUsed.toLocaleString()
|
|
436
436
|
);
|
|
437
437
|
console.log(
|
|
438
438
|
chalk.white('Errors: ') +
|
|
439
|
-
(session.metrics.errors > 0 ? chalk.red(session.metrics.errors) : '0')
|
|
439
|
+
(session.metrics.errors > 0 ? chalk.red(session.metrics.errors) : '0')
|
|
440
440
|
);
|
|
441
441
|
}
|
|
442
442
|
|
|
@@ -445,7 +445,7 @@ async function showSessionInfo(
|
|
|
445
445
|
} catch (error) {
|
|
446
446
|
spinner.fail('Failed to load session info');
|
|
447
447
|
console.error(
|
|
448
|
-
chalk.red(error instanceof Error ? error.message : String(error))
|
|
448
|
+
chalk.red(error instanceof Error ? error.message : String(error))
|
|
449
449
|
);
|
|
450
450
|
}
|
|
451
451
|
}
|
|
@@ -456,7 +456,7 @@ async function pauseSession(sessionId: string): Promise<void> {
|
|
|
456
456
|
try {
|
|
457
457
|
const state = await loadSessionsState();
|
|
458
458
|
const sessionIndex = state.sessions.findIndex(
|
|
459
|
-
s => s.sessionId === sessionId
|
|
459
|
+
s => s.sessionId === sessionId
|
|
460
460
|
);
|
|
461
461
|
|
|
462
462
|
if (sessionIndex === -1) {
|
|
@@ -486,13 +486,13 @@ async function pauseSession(sessionId: string): Promise<void> {
|
|
|
486
486
|
|
|
487
487
|
spinner.succeed(`Session paused: ${sessionId}`);
|
|
488
488
|
console.log(
|
|
489
|
-
chalk.gray('Use "wundr session resume ' + sessionId + '" to resume.')
|
|
489
|
+
chalk.gray('Use "wundr session resume ' + sessionId + '" to resume.')
|
|
490
490
|
);
|
|
491
491
|
console.log('');
|
|
492
492
|
} catch (error) {
|
|
493
493
|
spinner.fail('Failed to pause session');
|
|
494
494
|
console.error(
|
|
495
|
-
chalk.red(error instanceof Error ? error.message : String(error))
|
|
495
|
+
chalk.red(error instanceof Error ? error.message : String(error))
|
|
496
496
|
);
|
|
497
497
|
}
|
|
498
498
|
}
|
|
@@ -503,7 +503,7 @@ async function resumeSession(sessionId: string): Promise<void> {
|
|
|
503
503
|
try {
|
|
504
504
|
const state = await loadSessionsState();
|
|
505
505
|
const sessionIndex = state.sessions.findIndex(
|
|
506
|
-
s => s.sessionId === sessionId
|
|
506
|
+
s => s.sessionId === sessionId
|
|
507
507
|
);
|
|
508
508
|
|
|
509
509
|
if (sessionIndex === -1) {
|
|
@@ -537,21 +537,21 @@ async function resumeSession(sessionId: string): Promise<void> {
|
|
|
537
537
|
} catch (error) {
|
|
538
538
|
spinner.fail('Failed to resume session');
|
|
539
539
|
console.error(
|
|
540
|
-
chalk.red(error instanceof Error ? error.message : String(error))
|
|
540
|
+
chalk.red(error instanceof Error ? error.message : String(error))
|
|
541
541
|
);
|
|
542
542
|
}
|
|
543
543
|
}
|
|
544
544
|
|
|
545
545
|
async function killSession(
|
|
546
546
|
sessionId: string,
|
|
547
|
-
options: { force?: boolean }
|
|
547
|
+
options: { force?: boolean }
|
|
548
548
|
): Promise<void> {
|
|
549
549
|
const spinner = ora(`Terminating session ${sessionId}...`).start();
|
|
550
550
|
|
|
551
551
|
try {
|
|
552
552
|
const state = await loadSessionsState();
|
|
553
553
|
const sessionIndex = state.sessions.findIndex(
|
|
554
|
-
s => s.sessionId === sessionId
|
|
554
|
+
s => s.sessionId === sessionId
|
|
555
555
|
);
|
|
556
556
|
|
|
557
557
|
if (sessionIndex === -1) {
|
|
@@ -610,19 +610,19 @@ async function killSession(
|
|
|
610
610
|
console.log(chalk.gray('\nCleanup completed:'));
|
|
611
611
|
if (session.subAgents && session.subAgents.length > 0) {
|
|
612
612
|
console.log(
|
|
613
|
-
chalk.gray(` - Terminated ${session.subAgents.length} sub-agent(s)`)
|
|
613
|
+
chalk.gray(` - Terminated ${session.subAgents.length} sub-agent(s)`)
|
|
614
614
|
);
|
|
615
615
|
}
|
|
616
616
|
if (session.memoryBankPath) {
|
|
617
617
|
console.log(
|
|
618
|
-
chalk.gray(` - Memory bank preserved at: ${session.memoryBankPath}`)
|
|
618
|
+
chalk.gray(` - Memory bank preserved at: ${session.memoryBankPath}`)
|
|
619
619
|
);
|
|
620
620
|
}
|
|
621
621
|
console.log('');
|
|
622
622
|
} catch (error) {
|
|
623
623
|
spinner.fail('Failed to terminate session');
|
|
624
624
|
console.error(
|
|
625
|
-
chalk.red(error instanceof Error ? error.message : String(error))
|
|
625
|
+
chalk.red(error instanceof Error ? error.message : String(error))
|
|
626
626
|
);
|
|
627
627
|
}
|
|
628
628
|
}
|