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

# modus

> Org-wide Modus assistant.

## Constructor

```typescript
modus(http: HttpClient, config: ModusConfig): ModusResource
```

### Parameters

<ResponseField name={"http"} type={"HttpClient"} required />

<ResponseField name={"config"} type={"ModusConfig"} required />

### Returns

`ModusResource`

## Properties

<ResponseField name={"conversations"} type={"ModusConversationsResource"} required />

## Methods

### chat()

```typescript
chat(message: string, options: { model: "claude-sonnet-5" | "claude-sonnet-4.6" | "claude-opus-4.8" | "gpt-5.2" | "gpt-5.5" | "gpt-5-mini" | "gpt-oss-120b" | "gpt-oss-20b" | "qwen3-235b-a22b-2507" | "qwen3-coder" | "qwen3-32b" | "deepseek-chat-v3.1" | "minimax-m2.7" | "llama-4-maverick" | "llama-4-scout" | "llama-3.3-70b-instruct" | "gemini-3.1-pro-preview" | "gemini-3-flash-preview" | "grok-4.3-fast" | "grok-4.3"; threadId: string }): Promise<ChatResult>
```

Send a message to Modus (org-wide assistant) and get the complete reply.

```ts
const result = await client.modus.chat('What tables describe revenue?', { model: 'claude-sonnet-5' })
console.log(result.content, result.threadId)
```

#### Parameters

<ResponseField name={"message"} type={"string"} required>
  Message to send.
</ResponseField>

<ResponseField name={"options"} type={"{ model: \"claude-sonnet-5\" | \"claude-sonnet-4.6\" | \"claude-opus-4.8\" | \"gpt-5.2…"} required />

#### Returns

`Promise<ChatResult>`

Chat result with content and threadId.

### chatStream()

```typescript
chatStream(message: string, options: { model: "claude-sonnet-5" | "claude-sonnet-4.6" | "claude-opus-4.8" | "gpt-5.2" | "gpt-5.5" | "gpt-5-mini" | "gpt-oss-120b" | "gpt-oss-20b" | "qwen3-235b-a22b-2507" | "qwen3-coder" | "qwen3-32b" | "deepseek-chat-v3.1" | "minimax-m2.7" | "llama-4-maverick" | "llama-4-scout" | "llama-3.3-70b-instruct" | "gemini-3.1-pro-preview" | "gemini-3-flash-preview" | "grok-4.3-fast" | "grok-4.3"; threadId: string }): ChatStream
```

Stream a Modus reply token by token.

#### Parameters

<ResponseField name={"message"} type={"string"} required>
  Message to send.
</ResponseField>

<ResponseField name={"options"} type={"{ model: \"claude-sonnet-5\" | \"claude-sonnet-4.6\" | \"claude-opus-4.8\" | \"gpt-5.2…"} required />

#### Returns

`ChatStream`

Chat stream.

### getContext()

```typescript
getContext(message: string, options?: { limit: number }): Promise<object>
```

Return composed full-environment context for an intent, without running chat.

#### Parameters

<ResponseField name={"message"} type={"string"} required>
  User intent or question to compose context for.
</ResponseField>

<ResponseField name={"options"} type={"{ limit: number }"} />

#### Returns

`Promise<object>`

Composed Modus context.
