Files
automaker/apps/server/src/services/auto-mode/index.ts
Shirone 603cb63dc4 refactor(06-04): delete auto-mode-service.ts monolith
- Delete the 2705-line auto-mode-service.ts monolith
- Create AutoModeServiceCompat as compatibility layer for routes
- Create GlobalAutoModeService for cross-project operations
- Update all routes to use AutoModeServiceCompat type
- Add SharedServices interface for state sharing across facades
- Add getActiveProjects/getActiveWorktrees to AutoLoopCoordinator
- Delete obsolete monolith test files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 22:05:46 +01:00

77 lines
2.0 KiB
TypeScript

/**
* Auto Mode Service Module
*
* Entry point for auto-mode functionality. Exports:
* - GlobalAutoModeService: Global operations that span all projects
* - AutoModeServiceFacade: Per-project facade for auto-mode operations
* - createAutoModeFacade: Convenience factory function
* - Types for route consumption
*/
// Main exports
export { GlobalAutoModeService } from './global-service.js';
export { AutoModeServiceFacade } from './facade.js';
export { AutoModeServiceCompat } from './compat.js';
// Convenience factory function
import { AutoModeServiceFacade } from './facade.js';
import type { FacadeOptions } from './types.js';
/**
* Create an AutoModeServiceFacade instance for a specific project.
*
* This is a convenience wrapper around AutoModeServiceFacade.create().
*
* @param projectPath - The project path this facade operates on
* @param options - Configuration options including events, settingsService, featureLoader
* @returns A new AutoModeServiceFacade instance
*
* @example
* ```typescript
* import { createAutoModeFacade } from './services/auto-mode';
*
* const facade = createAutoModeFacade('/path/to/project', {
* events: eventEmitter,
* settingsService,
* });
*
* // Start auto mode
* await facade.startAutoLoop(null, 3);
*
* // Check status
* const status = facade.getStatusForProject();
* ```
*/
export function createAutoModeFacade(
projectPath: string,
options: FacadeOptions
): AutoModeServiceFacade {
return AutoModeServiceFacade.create(projectPath, options);
}
// Type exports from types.ts
export type {
FacadeOptions,
SharedServices,
AutoModeStatus,
ProjectAutoModeStatus,
WorktreeCapacityInfo,
RunningAgentInfo,
OrphanedFeatureInfo,
GlobalAutoModeOperations,
} from './types.js';
// Re-export types from extracted services for route convenience
export type {
AutoModeConfig,
ProjectAutoLoopState,
RunningFeature,
AcquireParams,
WorktreeInfo,
PipelineContext,
PipelineStatusInfo,
PlanApprovalResult,
ResolveApprovalResult,
ExecutionState,
} from './types.js';