This page defines the core domain vocabulary of the Executor system. Understanding these terms is essential for navigating the codebase, as they map directly to the internal data model, directory structure, and API endpoints.
The following terms represent the primary objects managed by the system and stored in the underlying database.
An Integration represents an upstream API surface or tool provider (e.g., a specific GitHub instance, a Slack workspace, or a custom OpenAPI spec). It defines what tools are available but does not contain user-specific credentials.
Integration in packages/core/sdk/src/integration.ts79-87 The database representation is IntegrationRow in packages/core/sdk/src/core-schema.ts38ctx.core.integrations.register packages/core/sdk/src/plugin.ts162A Connection is a specific, authenticated instance of an Integration. It binds an Integration to a set of credentials (secrets). One Integration can have multiple Connections (e.g., "Work GitHub" and "Personal GitHub").
ConnectionRow packages/core/sdk/src/core-schema.ts36ConnectionName, which is a human-readable slug packages/core/sdk/src/ids.ts45A Tool is an individual unit of execution (e.g., create_issue or list_messages). Tools are grouped by their parent Connection.
ToolDef packages/core/sdk/src/tool.ts143tools.<integration>.<owner>.<connection>.<tool> packages/core/sdk/src/executor.ts173-177A Toolkit is a named subset of the tool catalog. It allows grouping tools from different connections into a single logical "kit" with its own specific policy rules.
The Executor is the central engine that orchestrates tool discovery, authentication, and execution. It coordinates between Plugins and the Storage layer.
Executor defined in packages/core/sdk/src/executor.ts214-300createExecutor packages/core/sdk/src/executor.ts1210A Plugin extends the Executor with support for new integration types (OpenAPI, MCP, GraphQL) or credential providers.
AnyPlugin packages/core/sdk/src/plugin.ts111-126In the Desktop host, the Sidecar is a supervised background process that runs the Executor daemon. It ensures the API remains available even if the GUI process is busy or restarted.
Codemode (often referred to as kernel/core) refers to the logic responsible for parsing and transforming tool definitions, specifically handling the translation between different schema formats (e.g., JSON Schema to TypeScript types).
Elicitation is the process of suspending a tool's execution to request input or approval from a user. This is critical for OAuth flows or high-stakes actions (like deleting a production database).
ElicitationRequest and ElicitationResponse packages/core/sdk/src/elicitation.ts40-52onElicitation callback is provided during Executor creation packages/core/sdk/src/executor.ts169-170A Policy defines the governance rules for tool usage. It determines if a tool is allow, block, or require_approval.
execute calls in the core SDK.A Vault (or CredentialProvider) is a plugin-driven backend that stores and retrieves secrets (API keys, OAuth tokens).
CredentialProvider packages/core/sdk/src/provider.ts109keychain (OS-native), file-secrets, and 1Password.Executor uses a three-tier identity model to partition data and permissions.
| Term | Description | Code Reference |
|---|---|---|
| Tenant | The top-level organization or account (e.g., a WorkOS Org ID). | Tenant packages/core/sdk/src/ids.ts81 |
| Owner | The visibility scope: either org (shared) or user (private). | Owner packages/core/sdk/src/ids.ts76 |
| Subject | The specific user ID within a tenant (required for user owner scope). | Subject packages/core/sdk/src/ids.ts80 |
A protocol by Anthropic that allows AI agents to connect to tool servers. Executor acts as both an MCP Client (to ingest tools from MCP servers) and an MCP Host (to expose its entire catalog to agents like Claude Desktop).
plugin-mcp packages/plugins/mcp/package.json2This diagram shows how user-facing concepts (Natural Language Space) map to specific classes and types within the codebase (Code Entity Space).
Diagram: Domain Mapping
Sources: packages/core/sdk/src/core-schema.ts33-43 packages/core/sdk/src/elicitation.ts40-52 packages/core/sdk/src/tool.ts143
This diagram traces the flow of a tool call through the system, highlighting where key terminology comes into play.
Diagram: Execution Flow
Sources: packages/core/sdk/src/executor.ts314-450 packages/core/sdk/src/elicitation.ts161-170 packages/core/sdk/src/policies.ts101-102
Sources:
Refresh this wiki