import { createShellExtensionServices } from './shell-command-extensions.js';
import { createShellOpsServices, createShellPlanRuntime, createShellRemoteCommandService } from './shell-command-ops.js';
import { createShellPlatformServices } from './shell-command-platform.js';
import { createShellWorkspaceServices } from './shell-command-workspace.js';
export function createBootstrapCommandShellServices(options) {
    const { agentManager, acpManager, automationManager, modeManager, planManager, adaptivePlanner, sessionOrchestration, shellPaths, panelHealthMonitor, worktreeRegistry, sandboxSessionRegistry, readModels, serviceRegistry, subscriptionManager, secretsManager, localUserAuthManager, tokenAuditor, replayEngine, webhookNotifier, remoteRuntime, planRuntime, forensicsRegistry, policyRuntimeState, memoryRegistry, integrationHelpers, knowledgeService, pluginManager, hookWorkbench, } = options;
    return {
        workspace: createShellWorkspaceServices({
            shellPaths,
            panelHealthMonitor,
            worktreeRegistry,
            sandboxSessionRegistry,
        }),
        platform: createShellPlatformServices({
            readModels,
            serviceRegistry,
            subscriptionManager,
            secretsManager,
            localUserAuthManager,
            tokenAuditor,
            replayEngine,
            webhookNotifier,
        }),
        ops: createShellOpsServices({
            agentManager,
            acpManager,
            automationManager,
            modeManager,
            planManager,
            adaptivePlanner,
            sessionOrchestration,
            remoteRuntime,
            planRuntime,
        }),
        extensions: createShellExtensionServices({
            forensicsRegistry,
            policyRuntimeState,
            memoryRegistry,
            integrationHelpers,
            knowledgeService,
            pluginManager,
            hookWorkbench,
        }),
    };
}
export { createShellRemoteCommandService, createShellPlanRuntime } from './shell-command-ops.js';
