/**
 * RuntimeState — the canonical top-level state shape for the GoodVibes
 * runtime store. All domain slices are defined here.
 *
 * Each domain includes revision, lastUpdatedAt, and source metadata fields.
 * These are defined per-domain in the domain files.
 */
import { createInitialSessionState } from './domains/session.js';
import { createInitialModelState } from './domains/model.js';
import { createInitialConversationState } from './domains/conversation.js';
import { createInitialOverlaysState } from './domains/overlays.js';
import { createInitialPermissionsState } from './domains/permissions.js';
import { createInitialTasksState } from './domains/tasks.js';
import { createInitialAgentsState } from './domains/agents.js';
import { createInitialOrchestrationState } from './domains/orchestration.js';
import { createInitialCommunicationState } from './domains/communication.js';
import { createInitialProviderHealthState } from './domains/provider-health.js';
import { createInitialMcpState } from './domains/mcp.js';
import { createInitialPluginsState } from './domains/plugins.js';
import { createInitialDaemonState } from './domains/daemon.js';
import { createInitialAutomationState } from './domains/automation.js';
import { createInitialAcpState } from './domains/acp.js';
import { createInitialRoutesState } from './domains/routes.js';
import { createInitialControlPlaneState } from './domains/control-plane.js';
import { createInitialDeliveryState } from './domains/deliveries.js';
import { createInitialWatcherState } from './domains/watchers.js';
import { createInitialSurfaceState } from './domains/surfaces.js';
import { createInitialIntegrationsState } from './domains/integrations.js';
import { createInitialTelemetryState } from './domains/telemetry.js';
import { createInitialGitState } from './domains/git.js';
import { createInitialDiscoveryState } from './domains/discovery.js';
import { createInitialIntelligenceState } from './domains/intelligence.js';
import { createInitialSurfacePerfState } from './domains/surface-perf.js';
/**
 * Creates and returns a fully initialized RuntimeState with all domains
 * set to their default initial values.
 *
 * This is the factory used by `createRuntimeStore()` and test harnesses.
 */
export function createInitialRuntimeState() {
    return {
        session: createInitialSessionState(),
        model: createInitialModelState(),
        conversation: createInitialConversationState(),
        overlays: createInitialOverlaysState(),
        panels: {},
        permissions: createInitialPermissionsState(),
        tasks: createInitialTasksState(),
        agents: createInitialAgentsState(),
        orchestration: createInitialOrchestrationState(),
        communication: createInitialCommunicationState(),
        providerHealth: createInitialProviderHealthState(),
        mcp: createInitialMcpState(),
        plugins: createInitialPluginsState(),
        daemon: createInitialDaemonState(),
        automation: createInitialAutomationState(),
        routes: createInitialRoutesState(),
        controlPlane: createInitialControlPlaneState(),
        deliveries: createInitialDeliveryState(),
        watchers: createInitialWatcherState(),
        surfaces: createInitialSurfaceState(),
        acp: createInitialAcpState(),
        integrations: createInitialIntegrationsState(),
        telemetry: createInitialTelemetryState(),
        git: createInitialGitState(),
        discovery: createInitialDiscoveryState(),
        intelligence: createInitialIntelligenceState(),
        surfacePerf: createInitialSurfacePerfState(),
    };
}
