import type { WellKnownServiceBinding } from '../engine/core/ScopedIntentResolver';
import {
  PlatformAuthContract,
  PlatformCapabilitiesContract,
  UserAgentsContract,
  UserDevicesContract,
  UserRegistryContract,
  UserRuntimesContract,
} from './WellKnownServiceContracts';

export const WELL_KNOWN_SERVICE_BINDINGS: readonly WellKnownServiceBinding[] = [
  {
    contractId: UserRegistryContract.id,
    defaultScope: 'user',
    mount: 'system.registry',
  },
  {
    contractId: UserDevicesContract.id,
    defaultScope: 'account',
    mount: 'system.devices',
  },
  {
    contractId: UserRuntimesContract.id,
    defaultScope: 'user',
    mount: 'system.runtimes',
  },
  {
    contractId: UserAgentsContract.id,
    defaultScope: 'user',
    mount: 'system.agents',
  },
  {
    contractId: PlatformAuthContract.id,
    defaultScope: 'platform',
    mount: 'system.auth',
  },
  {
    contractId: PlatformCapabilitiesContract.id,
    defaultScope: 'platform',
    mount: 'system.capabilities',
  },
];
