macosProfile top-level property
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'}),
},
);