Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions apps/server/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@ const settingsService = new SettingsService(DATA_DIR);
const agentService = new AgentService(DATA_DIR, events, settingsService);
const featureLoader = new FeatureLoader();
const autoModeService = new AutoModeService(events, settingsService);
// Initialize auto mode service (performs startup cleanup of orphaned processes on Windows)
autoModeService.initialize().catch((err) => {
console.error('[AutoModeService] Initialization error:', err);
});
const claudeUsageService = new ClaudeUsageService();
const codexAppServerService = new CodexAppServerService();
const codexModelCacheService = new CodexModelCacheService(DATA_DIR, codexAppServerService);
Expand Down
9 changes: 7 additions & 2 deletions apps/server/src/routes/auto-mode/routes/stop-feature.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,19 @@ import { getErrorMessage, logError } from '../common.js';
export function createStopFeatureHandler(autoModeService: AutoModeService) {
return async (req: Request, res: Response): Promise<void> => {
try {
const { featureId } = req.body as { featureId: string };
const { featureId, waitForCleanup } = req.body as {
featureId: string;
waitForCleanup?: boolean;
};

if (!featureId) {
res.status(400).json({ success: false, error: 'featureId is required' });
return;
}

const stopped = await autoModeService.stopFeature(featureId);
// Default to waiting for cleanup unless explicitly set to false
const shouldWait = waitForCleanup !== false;
const stopped = await autoModeService.stopFeature(featureId, shouldWait);
res.json({ success: true, stopped });
} catch (error) {
logError(error, 'Stop feature failed');
Expand Down
Loading