# Platform Capabilities SDK

<div style="height: 160px; border-radius: 16px; background: linear-gradient(135deg, #06b6d4, #3b82f6);"></div>

## Overview

The Platform Capabilities SDK provides a catalog of platform-level capabilities and their status.

## Introduction

The Platform Capabilities SDK provides a catalog of platform-level capabilities and their status.

## Technical Notes

- A main-process registry maintains capability definitions.
- Capabilities are queried via `platform.capabilities.list` (TuffTransport).
- Supports scope/status filters.
- The SDK is a thin wrapper over transport events.
- Capabilities are statically registered and can be extended over time.

## How it works

- The SDK only wraps the event calls.
- The capability manifest is registered statically by the main process and extended on demand.

## Usage

:::TuffCodeBlock{lang="typescript"}
---
code: |
  import { usePlatformSdk } from '@talex-touch/utils/renderer'

  const platform = usePlatformSdk()

  // List all capabilities
  const all = await platform.listCapabilities()

  // Filter by scope
  const systemCaps = await platform.listCapabilities({ scope: 'system' })
---
:::

## Examples

1. Filter beta capabilities: `{ status: 'beta' }`
2. Render a platform capability list in Settings

## FAQ

**Q: Where does the list come from?**  
A: The main-process registry registers capabilities and expands over time.

## Best Practices

- Refresh capability lists only when needed to reduce overhead.
- Filter by `status` and `scope` to avoid noisy results.
- Surface capability maturity (beta/experimental) in UI.
