agent-sdk / Exports / ICreateSessionOptions
Interface: ICreateSessionOptions
Options for the createSession factory
Table of contents
Properties
- config
- context
- terminal
- projectInfo
- permissionMode
- maxTurns
- sessionStore
- provider
- permissionHandler
- onTextDelta
- promptForApproval
- additionalTools
- onCompact
- compactInstructions
- systemPromptBuilder
- toolDescriptions
- sessionLogger
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
| Name | Type |
|---|---|
delta | string |
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
| Name | Type |
|---|---|
terminal | ITerminalOutput |
toolName | string |
toolArgs | TToolArgs |
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
| Name | Type |
|---|---|
summary | string |
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
| Name | Type |
|---|---|
params | ISystemPromptParams |
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.