Skip to content

agent-sessions / Exports / ISessionOptions

Interface: ISessionOptions

Options for constructing a Session

Table of contents

Properties

Properties

tools

tools: IToolWithEventService<TToolParameters, IToolResult>[]

Pre-constructed tools to register with the agent

Defined in

agent-sessions/src/session.ts:35


provider

provider: IAIProvider

Pre-constructed AI provider

Defined in

agent-sessions/src/session.ts:37


systemMessage

systemMessage: string

Pre-built system message string

Defined in

agent-sessions/src/session.ts:39


terminal

terminal: ITerminalOutput

Terminal I/O for permission prompts

Defined in

agent-sessions/src/session.ts:41


permissions

Optional permissions: Object

Permission and hook configuration

Type declaration

NameType
allowstring[]
denystring[]

Defined in

agent-sessions/src/session.ts:43


hooks

Optional hooks: Record<string, unknown>

Defined in

agent-sessions/src/session.ts:44


permissionMode

Optional permissionMode: TPermissionMode

Initial permission mode

Defined in

agent-sessions/src/session.ts:46


defaultTrustLevel

Optional defaultTrustLevel: "safe" | "moderate" | "full"

Default trust level — used to derive permissionMode if not given

Defined in

agent-sessions/src/session.ts:48


model

Optional model: string

Model name (for context window sizing and Robota config)

Defined in

agent-sessions/src/session.ts:50


maxTurns

Optional maxTurns: number

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

Defined in

agent-sessions/src/session.ts:52


sessionStore

Optional sessionStore: SessionStore

Optional session store for persistence

Defined in

agent-sessions/src/session.ts:54


permissionHandler

Optional permissionHandler: TPermissionHandler

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

Defined in

agent-sessions/src/session.ts:56


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

agent-sessions/src/session.ts:58


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

agent-sessions/src/session.ts:60


onCompact

Optional onCompact: (summary: string) => void

Callback when context is compacted

Type declaration

▸ (summary): void

Parameters
NameType
summarystring
Returns

void

Defined in

agent-sessions/src/session.ts:66


compactInstructions

Optional compactInstructions: string

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

Defined in

agent-sessions/src/session.ts:68


contextMaxTokens

Optional contextMaxTokens: number

Override context max tokens (otherwise derived from model name)

Defined in

agent-sessions/src/session.ts:70


sessionLogger

Optional sessionLogger: ISessionLogger

Session logger — injected for pluggable session event logging.

Defined in

agent-sessions/src/session.ts:72

Released under the MIT License.