/**
 * peripheral-registry.ts — Typed const registry of olam's 4 k8s peripheral services.
 *
 * Phase 2 Phase B (olam-host-suite-phase-2-peripheral-services-on-k3s).
 *
 * Each entry describes everything port-forward.ts (B2), upgrade-kubernetes.ts (C),
 * and services.ts / doctor.ts (D) need to drive the lifecycle of one peripheral.
 *
 * ---
 * YAML-DRIVEN REFACTOR TRIGGER (Decision D26)
 *
 * This file uses a hardcoded TypeScript const — acceptable while the registry
 * has ≤4 entries (small, type-safe, IDE-checkable). ADD THE 5th PERIPHERAL HERE
 * as a plain object literal first; if the registry grows to 5+ entries and the
 * pattern becomes repetitive, THEN migrate to yaml-driven config. Do not
 * over-engineer for the case that hasn't arrived.
 * ---
 *
 * host-cp is NOT in PERIPHERALS. It is a named special-case in port-forward.ts.
 */
export const PERIPHERALS = [
    {
        name: 'auth-service',
        port: 9999,
        k8sResourceName: 'olam-auth-service',
        composeContainerName: 'olam-auth-service',
        configMapKeyInHostCp: 'OLAM_AUTH_SERVICE_URL',
        healthPath: '/health',
    },
    {
        name: 'mcp-auth-service',
        port: 9998,
        k8sResourceName: 'olam-mcp-auth-service',
        composeContainerName: 'olam-mcp-auth-service',
        configMapKeyInHostCp: 'OLAM_MCP_AUTH_SERVICE_URL',
        healthPath: '/health',
    },
    {
        name: 'kg-service',
        port: 9997,
        k8sResourceName: 'olam-kg-service',
        composeContainerName: 'olam-kg-service',
        configMapKeyInHostCp: 'OLAM_KG_SERVICE_URL',
        healthPath: '/health',
    },
    {
        name: 'memory-service',
        port: 3111,
        k8sResourceName: 'olam-memory-service',
        composeContainerName: 'olam-memory-service',
        configMapKeyInHostCp: 'OLAM_MEMORY_SERVICE_URL',
        healthPath: '/agentmemory/livez',
    },
    {
        // Phase B Model B: plan-chat-service joins the registry as the 5th
        // peripheral. host-cp's PLAN_CHAT_SERVICE_URL ConfigMap key gets rewritten
        // to cluster-DNS form by upgrade-kubernetes.ts step 2.5 (buildK8sDnsUrl).
        // The host-cp source (server.mjs:/api/plan-chat/*) reads PLAN_CHAT_SERVICE_URL
        // at request time so the new value applies on every render.
        name: 'plan-chat-service',
        port: 3200,
        k8sResourceName: 'olam-plan-chat-service',
        composeContainerName: 'olam-plan-chat-service',
        configMapKeyInHostCp: 'PLAN_CHAT_SERVICE_URL',
        healthPath: '/livez',
    },
];
//# sourceMappingURL=peripheral-registry.js.map