Skip to content

agent-sdk / Exports / ICreateSessionOptions

Interface: ICreateSessionOptions

Options for the createSession factory

Table of contents

Properties

Properties

config

config: IResolvedConfig

Resolved CLI configuration (model, API key, permissions)

Defined in

packages/agent-sdk/src/assembly/create-session.ts:30


context

context: ILoadedContext

Loaded AGENTS.md / CLAUDE.md context

Defined in

packages/agent-sdk/src/assembly/create-session.ts:32


terminal

terminal: ITerminalOutput

Terminal I/O for permission prompts

Defined in

packages/agent-sdk/src/assembly/create-session.ts:34


projectInfo

Optional projectInfo: IProjectInfo

Project metadata for system prompt

Defined in

packages/agent-sdk/src/assembly/create-session.ts:36


permissionMode

Optional permissionMode: TPermissionMode

Initial permission mode (defaults to config.defaultTrustLevel → mode mapping)

Defined in

packages/agent-sdk/src/assembly/create-session.ts:38


maxTurns

Optional maxTurns: number

Maximum number of agentic turns per run() call. Undefined = unlimited.

Defined in

packages/agent-sdk/src/assembly/create-session.ts:40


sessionStore

Optional sessionStore: SessionStore

Optional session store for persistence

Defined in

packages/agent-sdk/src/assembly/create-session.ts:42


provider

Optional provider: IAIProvider

Inject a pre-constructed AI provider (used by tests to avoid real API calls)

Defined in

packages/agent-sdk/src/assembly/create-session.ts:44


permissionHandler

Optional permissionHandler: TPermissionHandler

Custom permission handler (overrides terminal-based prompts, used by Ink UI)

Defined in

packages/agent-sdk/src/assembly/create-session.ts:46


onTextDelta

Optional onTextDelta: (delta: string) => void

Callback for text deltas — enables streaming text to the UI in real-time

Type declaration

▸ (delta): void

Parameters
NameType
deltastring
Returns

void

Defined in

packages/agent-sdk/src/assembly/create-session.ts:48


promptForApproval

Optional promptForApproval: (terminal: ITerminalOutput, toolName: string, toolArgs: TToolArgs) => Promise<boolean>

Custom prompt-for-approval function (injected from CLI)

Type declaration

▸ (terminal, toolName, toolArgs): Promise<boolean>

Parameters
NameType
terminalITerminalOutput
toolNamestring
toolArgsTToolArgs
Returns

Promise<boolean>

Defined in

packages/agent-sdk/src/assembly/create-session.ts:50


additionalTools

Optional additionalTools: IToolWithEventService<TToolParameters, IToolResult>[]

Additional tools to register beyond the defaults (e.g. agent-tool)

Defined in

packages/agent-sdk/src/assembly/create-session.ts:56


onCompact

Optional onCompact: (summary: string) => void

Callback when context is compacted

Type declaration

▸ (summary): void

Parameters
NameType
summarystring
Returns

void

Defined in

packages/agent-sdk/src/assembly/create-session.ts:58


compactInstructions

Optional compactInstructions: string

Instructions to include in the compaction prompt (e.g. from CLAUDE.md)

Defined in

packages/agent-sdk/src/assembly/create-session.ts:60


systemPromptBuilder

Optional systemPromptBuilder: (params: ISystemPromptParams) => string

Custom system prompt builder function

Type declaration

▸ (params): string

Parameters
NameType
paramsISystemPromptParams
Returns

string

Defined in

packages/agent-sdk/src/assembly/create-session.ts:62


toolDescriptions

Optional toolDescriptions: string[]

Custom tool descriptions for the system prompt

Defined in

packages/agent-sdk/src/assembly/create-session.ts:64


sessionLogger

Optional sessionLogger: ISessionLogger

Session logger — injected for pluggable session event logging.

Defined in

packages/agent-sdk/src/assembly/create-session.ts:66

Released under the MIT License.