# SDK reference

Every export from the deepspace package, with signatures and examples.

The `deepspace` package exposes three entry points. Each section of this reference documents the surface of one entry point, organized by feature.

```ts
import { ... } from 'deepspace'          // React client SDK
import { ... } from 'deepspace/worker'   // Cloudflare Worker runtime
import { ... } from 'deepspace/testing'  // Playwright fixture (test files only)
```

## Client - `deepspace`

Everything you import on the frontend - providers, hooks, components, and utility functions.

| Section | Covers |
|---|---|
| [Auth](/sdk-reference/client/auth) | `useAuth`, `useUser`, `AuthGate`, `AuthOverlay`, `signIn`, `signOut`, `getAuthToken` |
| [Records](/sdk-reference/client/records) | `useQuery`, `useMutations`, `RecordProvider`, `RecordScope`, `useUsers`, `useUserLookup` |
| [Messaging](/sdk-reference/client/messaging) | `useChannels`, `useMessages`, `useReactions`, `useChannelMembers`, `useReadReceipts`, `useConversation` |
| [Real-time](/sdk-reference/client/realtime) | `usePresence`, `usePresenceRoom`, `useYjsText`, `useYjsField`, `useCanvas`, `useGameRoom`, `useCronMonitor`, `useJobs` |
| [Files](/sdk-reference/client/files) | `useR2Files`, `formatFileSize`, `isImageFile` |
| [Integrations](/sdk-reference/client/integrations) | `integration.post`, OAuth helpers, platform-context exports |
| [Payments](/sdk-reference/client/payments) | `useSubscription`, `useCheckout`, `PricingTable`, server helpers |
| [Theming](/sdk-reference/client/theming) | `DeepSpaceThemeProvider`, `applyDeepSpaceTheme`, `getUserColor` |

## Worker - `deepspace/worker`

Everything you import inside your Cloudflare Worker - DO base classes, schemas, auth verification, AI helpers.

| Section | Covers |
|---|---|
| [Rooms](/sdk-reference/worker/rooms) | `RecordRoom`, `YjsRoom`, `CanvasRoom`, `PresenceRoom`, `CronRoom`, `GameRoom`, `JobRoom`, `enqueueJob`, `DOManifest` |
| [Schemas](/sdk-reference/worker/schemas) | `CollectionSchema`, RBAC types, drop-in collections, role constants |
| [Server actions](/sdk-reference/worker/server-actions) | `ActionHandler`, `ActionContext`, `ActionTools`, `ActionResult` |
| [AI](/sdk-reference/worker/ai) | `createDeepSpaceAI`, context compaction, chat history, built-in tools |
| [Cron](/sdk-reference/worker/cron) | `CronTask`, `CronExecution`, `buildCronContext` |
| [Auth](/sdk-reference/worker/auth) | `verifyJwt`, `createDeepSpaceAuth`, HMAC primitives |
| [Bindings](/sdk-reference/worker/bindings) | `runMigrations`, `meterAi`, `meterVectorize`, `meterUsage`, manifest types |
| [Proxy helpers](/sdk-reference/worker/proxy-helpers) | `apiWorkerFetch`, `platformWorkerFetch`, `authWorkerFetch` |

## Testing - `deepspace/testing`

Multi-user Playwright fixture and account helpers.

- [Testing reference](/sdk-reference/testing) - `test`, `expect`, `users(N)`, `MultiplayerUser`, account helpers.

## TypeScript signatures

This reference shows the most common signatures and shapes. For exact type definitions - including generic constraints, optional fields, and discriminated unions - read the bundled `.d.ts` files:

| Module | Location |
|---|---|
| `deepspace` | `node_modules/deepspace/dist/index.d.ts` |
| `deepspace/worker` | `node_modules/deepspace/dist/worker.d.ts` |
| `deepspace/testing` | `node_modules/deepspace/dist/testing.d.ts` |

If a hook or type isn't documented in this reference, it probably exists in the `.d.ts`. Read the declaration before guessing.
