> ## Documentation Index
> Fetch the complete documentation index at: https://cognitio-agent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK reference

> Generated from the public TypeScript API.

Use this reference for the JavaScript and TypeScript API exported by `cognitio-agent-sdk`. If you are starting a new project, begin with the [quickstart](https://cognitio-agent.mintlify.site/quickstart.md) and return here for exact options and return types.

## Start with these APIs

| API | Use it for |
| - | - |
| [Agent](https://cognitio-agent.mintlify.site/api-reference/classes/Agent.md) | Reusable configuration, one-off tasks, streams, and conversations. |
| [Session](https://cognitio-agent.mintlify.site/api-reference/classes/Session.md) | Multiple messages in one conversation, forks, and checkpoints. |
| [query](https://cognitio-agent.mintlify.site/api-reference/functions/query.md) | One streamed task without managing an Agent object. |
| [defineTool](https://cognitio-agent.mintlify.site/api-reference/functions/defineTool.md) | A function the model can call in your application. |
| [createAgentClient](https://cognitio-agent.mintlify.site/api-reference/functions/createAgentClient.md) | Direct control over a local or remote runtime and session handles. |
| [shutdown](https://cognitio-agent.mintlify.site/api-reference/functions/shutdown.md) | Application teardown for facade-owned runtimes. |

See [AgentOptions](https://cognitio-agent.mintlify.site/api-reference/interfaces/AgentOptions.md) for agent configuration and [RunResult](https://cognitio-agent.mintlify.site/api-reference/interfaces/RunResult.md) for completed high-level runs. Low-level session operations return [ResultMessage](https://cognitio-agent.mintlify.site/api-reference/interfaces/ResultMessage.md).

The **SDK reference** is the interface most applications use. The **[runtime HTTP API](https://cognitio-agent.mintlify.site/http-api/overview.md)** and protocol types under **Advanced** describe the underlying server for direct integrations; you do not need them to use `Agent`.

## Exported API

## Classes

* [Agent](classes/Agent)
* [Session](classes/Session)

## Interfaces

* [AgentClient](interfaces/AgentClient)
* [AgentDefinition](interfaces/AgentDefinition)
* [AgentOptions](interfaces/AgentOptions)
* [AgentSessionOptions](interfaces/AgentSessionOptions)
* [AgentStream](interfaces/AgentStream)
* [AgentStreamOptions](interfaces/AgentStreamOptions)
* [AppliedSettings](interfaces/AppliedSettings)
* [CheckpointHandle](interfaces/CheckpointHandle)
* [CheckpointingConfig](interfaces/CheckpointingConfig)
* [ClaudePluginSpec](interfaces/ClaudePluginSpec)
* [ClientOptions](interfaces/ClientOptions)
* [CommandDefinition](interfaces/CommandDefinition)
* [CompactResult](interfaces/CompactResult)
* [ControlOptions](interfaces/ControlOptions)
* [HookEntry](interfaces/HookEntry)
* [HookEventPayload](interfaces/HookEventPayload)
* [HookResult](interfaces/HookResult)
* [InlinePluginSpec](interfaces/InlinePluginSpec)
* [LocalMcpServer](interfaces/LocalMcpServer)
* [McpPromptDefinition](interfaces/McpPromptDefinition)
* [McpResourceDefinition](interfaces/McpResourceDefinition)
* [ModelUsageSummary](interfaces/ModelUsageSummary)
* [OutputFormatSpec](interfaces/OutputFormatSpec)
* [PostCompactHookData](interfaces/PostCompactHookData)
* [PreCompactHookData](interfaces/PreCompactHookData)
* [PromptTurn](interfaces/PromptTurn)
* [QueryOptions](interfaces/QueryOptions)
* [RateLimitEvent](interfaces/RateLimitEvent)
* [RemoteMcpServer](interfaces/RemoteMcpServer)
* [ResultMessage](interfaces/ResultMessage)
* [RunOptions](interfaces/RunOptions)
* [RunResult](interfaces/RunResult)
* [RuntimeConfig](interfaces/RuntimeConfig)
* [SdkError](interfaces/SdkError)
* [SdkMcpServer](interfaces/SdkMcpServer)
* [SessionContext](interfaces/SessionContext)
* [SessionCreateOptions](interfaces/SessionCreateOptions)
* [SessionListFilter](interfaces/SessionListFilter)
* [SessionNamespace](interfaces/SessionNamespace)
* [SessionResumeOptions](interfaces/SessionResumeOptions)
* [SessionUsage](interfaces/SessionUsage)
* [SkillDefinition](interfaces/SkillDefinition)
* [SpawnOptions](interfaces/SpawnOptions)
* [StreamOptions](interfaces/StreamOptions)
* [TaskNotificationEvent](interfaces/TaskNotificationEvent)
* [TaskProgressEvent](interfaces/TaskProgressEvent)
* [TaskStartedEvent](interfaces/TaskStartedEvent)
* [TaskStoppedEvent](interfaces/TaskStoppedEvent)
* [ToolContext](interfaces/ToolContext)
* [UsageSummary](interfaces/UsageSummary)

## Type Aliases

* [AgentMessage](type-aliases/AgentMessage)
* [AnthropicModelId](type-aliases/AnthropicModelId)
* [ApiAuth](type-aliases/ApiAuth)
* [Auth](type-aliases/Auth)
* [AuthContent](type-aliases/AuthContent)
* [CanUseToolCallback](type-aliases/CanUseToolCallback)
* [CognitioConfig](type-aliases/CognitioConfig)
* [CognitioEvent](type-aliases/CognitioEvent)
* [CognitioMessage](type-aliases/CognitioMessage)
* [CognitioPart](type-aliases/CognitioPart)
* [CognitioSession](type-aliases/CognitioSession)
* [DeepseekModelId](type-aliases/DeepseekModelId)
* [ExternalMcpServer](type-aliases/ExternalMcpServer)
* [GoogleModelId](type-aliases/GoogleModelId)
* [GroqModelId](type-aliases/GroqModelId)
* [HookCallback](type-aliases/HookCallback)
* [HookData](type-aliases/HookData)
* [HookEventName](type-aliases/HookEventName)
* [HookRegistration](type-aliases/HookRegistration)
* [KnownModelId](type-aliases/KnownModelId)
* [MistralModelId](type-aliases/MistralModelId)
* [ModelId](type-aliases/ModelId)
* [OAuth](type-aliases/OAuth)
* [OpenaiModelId](type-aliases/OpenaiModelId)
* [OutputOf](type-aliases/OutputOf)
* [PermissionDecision](type-aliases/PermissionDecision)
* [PermissionMode](type-aliases/PermissionMode)
* [PermissionRuleset](type-aliases/PermissionRuleset)
* [PluginSpec](type-aliases/PluginSpec)
* [PromptInput](type-aliases/PromptInput)
* [PromptPart](type-aliases/PromptPart)
* [Query](type-aliases/Query)
* [RewindResult](type-aliases/RewindResult)
* [RuntimeMcpServer](type-aliases/RuntimeMcpServer)
* [SdkErrorKind](type-aliases/SdkErrorKind)
* [SpawnServerRequest](type-aliases/SpawnServerRequest)
* [SystemPromptSpec](type-aliases/SystemPromptSpec)
* [ThinkingConfig](type-aliases/ThinkingConfig)
* [TodoItem](type-aliases/TodoItem)
* [ToolDefinition](type-aliases/ToolDefinition)
* [TransportKind](type-aliases/TransportKind)
* [WellKnownAuth](type-aliases/WellKnownAuth)
* [XaiModelId](type-aliases/XaiModelId)

## Variables

* [models](variables/models)
* [NEUTRAL\_BASE\_PROMPT](variables/NEUTRAL_BASE_PROMPT)
* [PermissionDecision](variables/PermissionDecision)

## Functions

* [claudeCompat](functions/claudeCompat)
* [createAgentClient](functions/createAgentClient)
* [createSdkMcpServer](functions/createSdkMcpServer)
* [defineAgent](functions/defineAgent)
* [defineCommand](functions/defineCommand)
* [defineHook](functions/defineHook)
* [defineOutputFormat](functions/defineOutputFormat)
* [definePlugin](functions/definePlugin)
* [defineSkill](functions/defineSkill)
* [defineTool](functions/defineTool)
* [isSdkError](functions/isSdkError)
* [query](functions/query)
* [shutdown](functions/shutdown)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.