agent-sdk / Exports
agent-sdk
Table of contents
Classes
Interfaces
- IPermissionLists
- IContextTokenUsage
- IContextWindowState
- IHookInput
- ICreateSessionOptions
- IResolvedConfig
- ILoadedContext
- IProjectInfo
- ISystemPromptParams
- IQueryOptions
- ISessionRecord
- ISessionLogger
- ISpinner
- ITerminalOutput
- ISessionOptions
- TToolResult
Type Aliases
- TPermissionMode
- TTrustLevel
- TPermissionDecision
- TToolArgs
- THookEvent
- THooksConfig
- TSessionLogData
- TPermissionResult
- TPermissionHandler
Variables
Functions
- evaluatePermission
- runHooks
- createProvider
- createSession
- createDefaultTools
- loadConfig
- loadContext
- detectProject
- buildSystemPrompt
- projectPaths
- userPaths
- promptForApproval
- query
- setAgentToolDeps
Type Aliases
TPermissionMode
Ƭ TPermissionMode: "plan" | "default" | "acceptEdits" | "bypassPermissions"
Permission modes (Claude Code compatible)
- plan: read-only tools only
- default: reads auto, writes/bash need approval
- acceptEdits: reads + writes auto, bash needs approval
- bypassPermissions: all tools auto
Defined in
packages/agent-core/dist/node/index.d.ts:4073
TTrustLevel
Ƭ TTrustLevel: "safe" | "moderate" | "full"
Friendly trust level aliases
- safe → plan
- moderate → default
- full → acceptEdits
Defined in
packages/agent-core/dist/node/index.d.ts:4080
TPermissionDecision
Ƭ TPermissionDecision: "auto" | "approve" | "deny"
Outcome of a permission evaluation
- auto: proceed without prompting
- approve: prompt user for approval
- deny: block the action
Defined in
packages/agent-core/dist/node/index.d.ts:4088
TToolArgs
Ƭ TToolArgs: Record<string, string | number | boolean | object>
Tool arguments passed from the LLM invocation. The values relevant to permission matching are strings.
Defined in
packages/agent-core/dist/node/index.d.ts:4109
THookEvent
Ƭ THookEvent: "PreToolUse" | "PostToolUse" | "SessionStart" | "Stop" | "PreCompact" | "PostCompact"
Hook lifecycle events
Defined in
packages/agent-core/dist/node/index.d.ts:4182
THooksConfig
Ƭ THooksConfig: Partial<Record<THookEvent, IHookGroup[]>>
Complete hooks configuration: event → array of hook groups
Defined in
packages/agent-core/dist/node/index.d.ts:4196
TSessionLogData
Ƭ TSessionLogData: Record<string, string | number | boolean | object>
Session log event data — extensible record of event metadata.
Defined in
packages/agent-sessions/dist/node/index.d.ts:67
TPermissionResult
Ƭ TPermissionResult: boolean | "allow-session"
Permission handler result:
- true: allow this invocation
- false: deny this invocation
- 'allow-session': allow this invocation and auto-approve this tool for the rest of the session
Defined in
packages/agent-sessions/dist/node/index.d.ts:108
TPermissionHandler
Ƭ TPermissionHandler: (toolName: string, toolArgs: TToolArgs) => Promise<TPermissionResult>
Custom permission handler — called when a tool needs user approval. Returns true to allow, false to deny, or 'allow-session' to remember for the session.
Type declaration
▸ (toolName, toolArgs): Promise<TPermissionResult>
Parameters
| Name | Type |
|---|---|
toolName | string |
toolArgs | TToolArgs |
Returns
Promise<TPermissionResult>
Defined in
packages/agent-sessions/dist/node/index.d.ts:113
Variables
TRUST_TO_MODE
• Const TRUST_TO_MODE: Record<TTrustLevel, TPermissionMode>
Defined in
packages/agent-core/dist/node/index.d.ts:4081
DEFAULT_TOOL_DESCRIPTIONS
• Const DEFAULT_TOOL_DESCRIPTIONS: string[]
Human-readable descriptions of the built-in tools (for system prompt)
Defined in
packages/agent-sdk/src/assembly/create-tools.ts:18
agentTool
• Const agentTool: FunctionTool
Defined in
packages/agent-sdk/src/tools/agent-tool.ts:93
bashTool
• Const bashTool: FunctionTool
BashTool instance — register with Robota agent tools registry.
Defined in
packages/agent-tools/dist/node/index.d.ts:299
readTool
• Const readTool: FunctionTool
ReadTool instance — register with Robota agent tools registry.
Defined in
packages/agent-tools/dist/node/index.d.ts:310
writeTool
• Const writeTool: FunctionTool
WriteTool instance — register with Robota agent tools registry.
Defined in
packages/agent-tools/dist/node/index.d.ts:318
editTool
• Const editTool: FunctionTool
EditTool instance — register with Robota agent tools registry.
Defined in
packages/agent-tools/dist/node/index.d.ts:329
globTool
• Const globTool: FunctionTool
GlobTool instance — register with Robota agent tools registry.
Defined in
packages/agent-tools/dist/node/index.d.ts:340
grepTool
• Const grepTool: FunctionTool
GrepTool instance — register with Robota agent tools registry.
Defined in
packages/agent-tools/dist/node/index.d.ts:352
Functions
evaluatePermission
▸ evaluatePermission(toolName, toolArgs, mode, permissions?): TPermissionDecision
Evaluate whether a tool invocation should be auto-approved, require user approval, or be denied.
Parameters
| Name | Type | Description |
|---|---|---|
toolName | string | Name of the tool being invoked (e.g. "Bash", "Write") |
toolArgs | TToolArgs | Arguments provided by the LLM |
mode | TPermissionMode | Active permission mode |
permissions? | IPermissionLists | Optional allow/deny lists from config |
Returns
Defined in
packages/agent-core/dist/node/index.d.ts:4126
runHooks
▸ runHooks(config, event, input): Promise<{ blocked: boolean ; reason?: string }>
Run all hooks for a given event.
For PreToolUse: if any hook returns exit code 2, the tool call is blocked. Returns { blocked: true, reason: string } if blocked, { blocked: false } otherwise.
Parameters
| Name | Type |
|---|---|
config | undefined | Partial<Record<THookEvent, IHookGroup[]>> |
event | THookEvent |
input | IHookInput |
Returns
Promise<{ blocked: boolean ; reason?: string }>
Defined in
packages/agent-core/dist/node/index.d.ts:4233
createProvider
▸ createProvider(config): IAIProvider
Create an AI provider from the resolved config. Currently supports Anthropic only. Throws if no API key is available.
Parameters
| Name | Type |
|---|---|
config | IResolvedConfig |
Returns
IAIProvider
Defined in
packages/agent-sdk/src/assembly/create-provider.ts:13
createSession
▸ createSession(options): Session
Create a fully-configured Session instance.
Assembles provider, tools, and system prompt, then passes them to Session as pre-constructed dependencies.
Parameters
| Name | Type |
|---|---|
options | ICreateSessionOptions |
Returns
Defined in
packages/agent-sdk/src/assembly/create-session.ts:75
createDefaultTools
▸ createDefaultTools(): IToolWithEventService[]
Create the default set of CLI tools. Returns the 8 standard tools as IToolWithEventService[].
Returns
IToolWithEventService[]
Defined in
packages/agent-sdk/src/assembly/create-tools.ts:32
loadConfig
▸ loadConfig(cwd): Promise<IResolvedConfig>
Load and merge all settings files, validate with Zod, return resolved config.
Parameters
| Name | Type | Description |
|---|---|---|
cwd | string | The working directory (project root) to search for .robota/ |
Returns
Promise<IResolvedConfig>
Defined in
packages/agent-sdk/src/config/config-loader.ts:131
loadContext
▸ loadContext(cwd): Promise<ILoadedContext>
Load all AGENTS.md and CLAUDE.md files found by walking up from cwd. Files from higher directories appear before files from lower directories.
Parameters
| Name | Type | Description |
|---|---|---|
cwd | string | Starting directory for the walk-up search |
Returns
Promise<ILoadedContext>
Defined in
packages/agent-sdk/src/context/context-loader.ts:86
detectProject
▸ detectProject(cwd): Promise<IProjectInfo>
Detect the project type, language, name, and package manager from cwd.
Parameters
| Name | Type |
|---|---|
cwd | string |
Returns
Promise<IProjectInfo>
Defined in
packages/agent-sdk/src/context/project-detector.ts:52
buildSystemPrompt
▸ buildSystemPrompt(params): string
Assemble the full system prompt string from the provided parameters.
Parameters
| Name | Type |
|---|---|
params | ISystemPromptParams |
Returns
string
Defined in
packages/agent-sdk/src/context/system-prompt-builder.ts:56
projectPaths
▸ projectPaths(cwd): Object
Project-level .robota/ paths (relative to cwd).
Parameters
| Name | Type |
|---|---|
cwd | string |
Returns
Object
| Name | Type |
|---|---|
settings | string |
settingsLocal | string |
logs | string |
sessions | string |
Defined in
packages/agent-sdk/src/paths.ts:12
userPaths
▸ userPaths(): Object
User-level ~/.robota/ paths.
Returns
Object
| Name | Type |
|---|---|
settings | string |
sessions | string |
Defined in
packages/agent-sdk/src/paths.ts:28
promptForApproval
▸ promptForApproval(terminal, toolName, toolArgs): Promise<boolean>
Prompt the user for approval before running a tool.
Parameters
| Name | Type |
|---|---|
terminal | ITerminalOutput |
toolName | string |
toolArgs | TToolArgs |
Returns
Promise<boolean>
Defined in
packages/agent-sdk/src/permissions/permission-prompt.ts:30
query
▸ query(prompt, options?): Promise<string>
query() — single entry point for running an AI agent conversation. Equivalent to Claude Agent SDK's query() function. Automatically loads config, context, and project info.
Parameters
| Name | Type |
|---|---|
prompt | string |
options? | IQueryOptions |
Returns
Promise<string>
Defined in
packages/agent-sdk/src/query.ts:30
setAgentToolDeps
▸ setAgentToolDeps(deps): void
Set dependencies for the agent tool. Must be called before tool is used.
Parameters
| Name | Type |
|---|---|
deps | IAgentToolDeps |
Returns
void