# `OpenCode.Generated.Pty`
[🔗](https://github.com/UtkarshUsername/opencode-sdk-elixir/blob/v0.1.84/lib/opencode/generated/pty.ex#L1)

Provides API endpoints related to pty

# `pty_connect_token_200_json_resp`

```elixir
@type pty_connect_token_200_json_resp() :: %{
  expires_in: integer(),
  ticket: String.t()
}
```

# `pty_shells_200_json_resp`

```elixir
@type pty_shells_200_json_resp() :: %{
  acceptable: boolean(),
  name: String.t(),
  path: String.t()
}
```

# `t`

```elixir
@type t() :: %OpenCode.Generated.Pty{
  args: [String.t()],
  command: String.t(),
  cwd: String.t(),
  id: String.t(),
  pid: integer(),
  status: String.t(),
  title: String.t()
}
```

# `pty_connect`

```elixir
@spec pty_connect(ptyID :: String.t(), opts :: keyword()) ::
  {:ok, boolean()}
  | {:error,
     OpenCode.Generated.EffectHttpApiErrorForbidden.t()
     | OpenCode.Generated.NotFoundError.t()}
```

Connect to PTY session

Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.

## Options

  * `directory`
  * `workspace`
  * `cursor`
  * `ticket`

# `pty_connect_token`

```elixir
@spec pty_connect_token(ptyID :: String.t(), opts :: keyword()) ::
  {:ok, pty_connect_token_200_json_resp()}
  | {:error,
     OpenCode.Generated.BadRequestError.t()
     | OpenCode.Generated.PtyForbiddenError.t()
     | OpenCode.Generated.PtyNotFoundError.t()}
```

Create PTY WebSocket token

Create a short-lived ticket for opening a PTY WebSocket connection.

## Options

  * `directory`
  * `workspace`

# `pty_create`

```elixir
@spec pty_create(body :: map(), opts :: keyword()) ::
  {:ok, t()}
  | {:error,
     OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
     | OpenCode.Generated.InvalidRequestError.t()}
```

Create PTY session

Create a new pseudo-terminal (PTY) session for running shell commands and processes.

## Options

  * `directory`
  * `workspace`

## Request Body

**Content Types**: `application/json`

# `pty_get`

```elixir
@spec pty_get(ptyID :: String.t(), opts :: keyword()) ::
  {:ok, t()}
  | {:error,
     OpenCode.Generated.BadRequestError.t()
     | OpenCode.Generated.PtyNotFoundError.t()}
```

Get PTY session

Retrieve detailed information about a specific pseudo-terminal (PTY) session.

## Options

  * `directory`
  * `workspace`

# `pty_list`

```elixir
@spec pty_list(opts :: keyword()) ::
  {:ok, [t()]} | {:error, OpenCode.Generated.BadRequestError.t()}
```

List PTY sessions

Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.

## Options

  * `directory`
  * `workspace`

# `pty_remove`

```elixir
@spec pty_remove(ptyID :: String.t(), opts :: keyword()) ::
  {:ok, boolean()}
  | {:error,
     OpenCode.Generated.BadRequestError.t()
     | OpenCode.Generated.PtyNotFoundError.t()}
```

Remove PTY session

Remove and terminate a specific pseudo-terminal (PTY) session.

## Options

  * `directory`
  * `workspace`

# `pty_shells`

```elixir
@spec pty_shells(opts :: keyword()) ::
  {:ok, [pty_shells_200_json_resp()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

List available shells

Get a list of available shells on the system.

## Options

  * `directory`
  * `workspace`

# `pty_update`

```elixir
@spec pty_update(ptyID :: String.t(), body :: map(), opts :: keyword()) ::
  {:ok, t()}
  | {:error,
     OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
     | OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.PtyNotFoundError.t()}
```

Update PTY session

Update properties of an existing pseudo-terminal (PTY) session.

## Options

  * `directory`
  * `workspace`

## Request Body

**Content Types**: `application/json`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
