Interface: ExtensionContribution
Defined in: core/extensions.ts:56
What an extension brings to a session. Every part is optional.
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
api? | Record<string, unknown> | What the session hands back to the host (e.g. the knowledge base's store), by name. | core/extensions.ts:93 |
fileTools? | string[] | Built-in file tools it needs the session to have (Read, Glob, Grep…). | core/extensions.ts:62 |
helpLines? | string[] | What it says about itself in this session (its commands, its folder), for the agent to tell the person (SessionFacts). | core/extensions.ts:91 |
hooks? | Partial<Record<HookEvent, HookCallbackMatcher[]>> | Its hooks, by event, run after the kit's own: an internal extension's only (the memory hears the person's messages with UserPromptSubmit). | core/extensions.ts:89 |
mcpServers? | Record<string, McpServerConfig> | MCP servers, by name (mcp__<name>__<tool>). | core/extensions.ts:58 |
promptSection? | string | A section of the system prompt, after the agent's own and the list of extensions. | core/extensions.ts:60 |
readOnlyDirs? | string[] | Folders the file tools may read and search, never write (a sources folder). | core/extensions.ts:64 |
readOnlyHintServers? | string[] | Its MCP servers whose tools that only read plan mode learns from the servers themselves (readOnlyHint), asked while the session runs: an installed extension whose manifest lists no readOnlyTools. A list in the manifest wins: its servers aren't here. | core/extensions.ts:74 |
readOnlyTools? | string[] | Its MCP tools that only read: plan mode lets them through. | core/extensions.ts:68 |
remoteServers? | string[] | Its MCP servers that are remote (#61), by session name: the SDK fixes their URL and headers when the session opens, so a changed option takes opening it again, and they may need the person to sign in. | core/extensions.ts:80 |
selfAskingTools? | string[] | Its MCP tools that ask the person themselves: interactive mode's step gate doesn't ask first. | core/extensions.ts:82 |
toolLabels? | Readonly<Record<string, ToolLabel>> | How the chat shows its tools, by full name, in the kit's language: its line and how it counts in a folded group. | core/extensions.ts:84 |
toolOnlyDirs? | object[] | Folders reached only through its own tools, never the file tools, and what to use instead. | core/extensions.ts:66 |