/** One compatibility source for manifest types, validation, discovery and configuration UIs. */ export const INFRA_RUNTIME_COMPATIBILITY = { minikube: ['local'], k3s: ['local', 'hetzner'], 'docker-compose': ['local', 'hetzner'], } as const; /** Canonical package identities. Capabilities describe ownership, not eight mandatory methods. */ export const INFRA_ADAPTER_CATALOG = { local: { id: 'local', package: '@ankhorage/local', kind: 'compute', configVersion: 1, capabilities: ['compute'], targets: ['local-host'], dependencies: [], }, hetzner: { id: 'hetzner', package: '@ankhorage/hetzner', kind: 'compute', configVersion: 1, capabilities: ['compute'], targets: ['ssh-host'], dependencies: [], }, minikube: { id: 'minikube', package: '@ankhorage/minikube', kind: 'runtime', configVersion: 1, capabilities: ['runtime', 'workloads', 'networking'], targets: ['local-host'], dependencies: ['compute'], }, k3s: { id: 'k3s', package: '@ankhorage/k3s', kind: 'runtime', configVersion: 1, capabilities: ['runtime', 'workloads', 'networking'], targets: ['local-host', 'ssh-host'], dependencies: ['compute'], }, 'docker-compose': { id: 'docker-compose', package: '@ankhorage/docker-compose', kind: 'runtime', configVersion: 1, capabilities: ['runtime', 'workloads', 'networking'], targets: ['local-host', 'ssh-host'], dependencies: ['compute'], }, supabase: { id: 'supabase', package: '@ankhorage/supabase', kind: 'service', configVersion: 1, capabilities: ['database', 'auth', 'objectStorage'], targets: [], dependencies: ['workloads'], }, cerbos: { id: 'cerbos', package: '@ankhorage/cerbos', kind: 'service', configVersion: 1, capabilities: ['authz'], targets: [], dependencies: ['workloads'], }, r2: { id: 'r2', package: '@ankhorage/r2', kind: 'service', configVersion: 1, capabilities: ['objectStorage'], targets: [], dependencies: [], }, 'supabase-vault': { id: 'supabase-vault', package: '@ankhorage/supabase-vault', kind: 'service', configVersion: 1, capabilities: ['secretStore'], targets: [], dependencies: ['database'], }, } as const;