macosProfile top-level property

HostCapabilityProfile macosProfile
final

Implementation

final HostCapabilityProfile macosProfile = HostCapabilityProfile(
  name: 'macos',
  states: {
    HostCapability.configSections: CapabilityState.on,
    HostCapability.compaction: CapabilityState.on,
    HostCapability.loadModes: CapabilityState.on,
    HostCapability.mcp: CapabilityTransportState(
      {'remote'},
      'stdio servers need an unsandboxed host process; the app defaults to '
      'remote MCP (matrix: remote + stdio unsandboxed)',
    ),
    HostCapability.messagingFabric: CapabilityTransportState({
      'file',
      'hub',
    }, 'the file fabric lives in the App Group container; no A2A gateway'),
    HostCapability.approvalGate: CapabilityState.on,
    HostCapability.skills: CapabilityState.on,
    HostCapability.sandboxEnv: CapabilityState.on,
    HostCapability.backgroundShellJobs: CapabilityState.on,
    HostCapability.sqliteLspDap: CapabilityTransportState(
      {'ffi', 'process'},
      'app-bundle wiring: sqlite loads via FFI and lsp/dap servers spawn as '
      'child processes of the app',
    ),
    // Single-transport vocabulary, so `transport({'in-process'})` and `on`
    // wire identically; the cell records the matrix's 🔀 (non-default on
    // desktop), not a narrower capability set.
    HostCapability.onDeviceProviders: CapabilityTransportState(
      {'in-process'},
      'in-process inference is available; the desktop default stays server '
      'providers',
    ),
    HostCapability.jsApps: CapabilityState.on,
    HostCapability.checkpointRewind: CapabilityState.on,
    HostCapability.hostExtensionApi: CapabilityState.on,
    HostCapability.webSearch: _inventoryRow('macOS app'),
    HostCapability.visionTranscribe: _inventoryRow('macOS app'),
    HostCapability.subagents: _inventoryRow('macOS app'),
    HostCapability.browserBridge: _inventoryRow('macOS app'),
    HostCapability.jsExtensions: _inventoryRow('macOS app'),
  },
  // macOS CAN spawn stdio servers (unsandboxed) — the floor keeps both
  // transports so a host may narrow UP to stdio explicitly.
  floors: {
    HostCapability.mcp: const FloorTransports({'stdio', 'remote'}),
  },
);