> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dedaluslabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use Dedalus Cloud Services for the platform and Dedalus Machines for the Linux VM product.
> A default Machine has 1 vCPU, 4096 MiB of memory, 10 GiB of storage, and sleeps after 300 idle seconds.
> Raw mutating HTTP requests require Idempotency-Key. Official SDK clients generate one unless the caller overrides it.
> Raw and generated SDK SSH-session requests require public_key. The dedalus ssh CLI generates an ephemeral keypair.
> SSH authorization lasts 10 minutes before connection. A connected session closes after 30 idle minutes or 12 hours total.
> Sleeping stops compute billing. Persistent storage remains billable or counts against the included allowance.
> Do not infer deletion retention, Hobby storage overages, concurrent SSH limits, or unreleased feature availability.
> For raw API contracts, use the canonical control-plane OpenAPI document in the dedalus monorepo.

# SDKs

> Install and configure official Dedalus Cloud Services SDKs.

## TypeScript

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
npm install dedalus
```

```typescript theme={"theme":{"light":"github-light","dark":"github-dark"}}
import Dedalus from "dedalus";

const client = new Dedalus();

const machine = await client.machines.create({
  vcpu: 1,
  memory_mib: 2048,
  storage_gib: 10,
});

console.log(machine.machine_id);
```

Auto-pagination is built in:

```typescript theme={"theme":{"light":"github-light","dark":"github-dark"}}
for await (const machine of client.machines.list()) {
  console.log(machine.machine_id, machine.status.phase);
}
```

## Python

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
pip install dedalus-sdk
```

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
from dedalus_sdk import Dedalus

client = Dedalus()

machine = client.machines.create(
    vcpu=1,
    memory_mib=2048,
    storage_gib=10,
)

print(machine.machine_id)
```

Async is supported:

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
from dedalus_sdk import AsyncDedalus

client = AsyncDedalus()
machine = await client.machines.create(vcpu=1, memory_mib=2048, storage_gib=10)
```

## Go

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
go get github.com/dedalus-labs/dedalus-go
```

```go theme={"theme":{"light":"github-light","dark":"github-dark"}}
package main

import (
    "context"
    "fmt"

    "github.com/dedalus-labs/dedalus-go"
)

func main() {
    client := dedalus.NewClient()

    machine, _ := client.Machines.New(context.TODO(), dedalus.MachineNewParams{
        CreateParams: dedalus.CreateParams{
            VCPU:       1,
            MemoryMiB:  2048,
            StorageGiB: 10,
        },
    })

    fmt.Println(machine.MachineID)
}
```

## Resources

Each SDK exposes the same resource hierarchy:

| Resource | Description |
| - | - |
| `machines` | Create, list, update, sleep, wake, and delete machines |
| `machines.ssh` | SSH session management |
| `machines.executions` | Run commands and scripts |
| `machines.terminals` | Interactive terminal sessions |
| `machines.artifacts` | Retrieve, list, and delete captured artifacts |
| `machines.previews` | Web preview URLs |
| `usage` | Retrieve organization, compute, and storage usage |

## Links

| SDK | Package | Repository |
| - | - | - |
| TypeScript | `dedalus` | [dedalus-labs/dedalus-typescript](https://github.com/dedalus-labs/dedalus-typescript) |
| Python | [`dedalus-sdk`](https://pypi.org/project/dedalus-sdk/) | [dedalus-labs/dedalus-python](https://github.com/dedalus-labs/dedalus-python) |
| Go | `dedalus-go` | [dedalus-labs/dedalus-go](https://github.com/dedalus-labs/dedalus-go) |
