#! vim: set filetype=nu:
# Platform services module
#
# Provides service management for provisioning platform services:
# - Orchestrator
# - Control Center
# - KMS Service
# - Other platform components
# - Platform target configuration and service discovery
# - Service health checks
# - Workspace activation integration
# - Auto-start service management
# - Credential and token management
# - Connection metadata tracking
# - Service startup management and lifecycle
# - CLI commands

# platform/ subsystem facade — selective re-exports (ADR-025 Phase 3 Layer 3).

export use target.nu [
    detect-platform-mode get-default-platform-target get-deployment-service-config
    get-enabled-services get-platform-endpoint get-platform-service-config
    is-platform-service-enabled list-enabled-platform-services
    list-required-platform-services load-deployment-mode should-start-locally
    validate-platform-target
]
export use discovery.nu [
    is-service-available list-required-services list-services
    service-config service-endpoint
]
export use health.nu [
    check-all-services check-required-services check-service-health wait-for-service
]
export use credentials.nu [
    credential-exists delete-credential get-credential get-credentials-namespace
    list-workspace-credentials store-credential
]
export use connection.nu [
    add-service-connection get-active-connections get-service-status
    init-connection-metadata load-connection-metadata remove-service-connection
    show-connection-status store-connection-metadata update-service-status
]
export use cli.nu [
    platform-config platform-connections platform-health platform-init
    platform-list platform-start platform-status
]
export use autostart.nu [
    disable-autostart enable-autostart get-service-status restart-service
    start-required-services start-service stop-service
]
export use service-manager.nu [
    get-external-services get-service-port is-port-listening load-deployment-mode
    load-service-config nats_health nats_start nats_stop ncl-sync-start
    ncl-sync-status ncl-sync-stop normalize-service-name start-required-services
    start-services stop-services
]
