This page provides definitions for the core domain vocabulary, codebase-specific jargon, and technical abbreviations used throughout the Executor project.
An Integration represents an external API surface or tool source (e.g., a specific OpenAPI specification, a GraphQL endpoint, or an MCP server). It defines what tools are available but does not contain user-specific credentials.
Integration interface: packages/core/sdk/src/integration.ts87-90IntegrationRow schema: packages/core/sdk/src/core-schema.ts38registerIntegration logic: packages/core/sdk/src/executor.ts89-90A Connection is a configured and optionally authenticated instance of an Integration. While an Integration describes the "Petstore API," a Connection represents "My authenticated Petstore account." One Integration can have many Connections.
Connection type: packages/core/sdk/src/connection.ts22createConnection method: packages/core/sdk/src/executor.ts25ConnectionAddress format: packages/core/sdk/src/ids.ts71A Tool is an individual unit of functionality (an endpoint, a function, or an operation) exposed by a Connection. Tools are invoked by agents to perform actions or fetch data.
Tool type definition: packages/core/sdk/src/tool.ts143ToolAddress parsing: packages/core/sdk/src/executor.ts197-214invokeTool implementation: packages/core/execution/src/tool-invoker.ts33The Executor is the central interface of the SDK. It manages the lifecycle of integrations, connections, policies, and tool execution. It acts as the bridge between the high-level API and the underlying storage and execution runtimes.
Executor interface: packages/core/sdk/src/executor.ts160-170createExecutor factory: packages/core/sdk/src/index.ts142-145Executor uses a hierarchical identity model to partition data and enforce access control.
| Term | Definition | Code Entity |
|---|---|---|
| Tenant | The top-level isolation boundary (e.g., a specific organization or instance). | Tenant packages/core/sdk/src/ids.ts81 |
| Owner | The entity that "owns" a resource, typically user or org. | Owner packages/core/sdk/src/ids.ts76 |
| Subject | The specific ID of the user or organization (e.g., a UUID). | Subject packages/core/sdk/src/ids.ts80 |
Title: Identity Mapping
Sources: packages/core/sdk/src/ids.ts76-81 packages/core/sdk/src/executor.ts185
Elicitation is the process where a tool execution pauses to request input from a human. This is used for OAuth flows (requesting a login), manual approvals (security policies), or missing parameters.
ElicitationRequest: packages/core/sdk/src/elicitation.ts49ElicitationResponse: packages/core/sdk/src/elicitation.ts46onElicitation handler: packages/core/sdk/src/executor.ts169-170A Policy determines the execution rules for a tool. A tool can be allow (run immediately), approve (require elicitation), or deny (blocked).
ToolPolicyRow: packages/core/sdk/src/core-schema.ts42resolveEffectivePolicy: packages/core/sdk/src/policies.ts101A canonical string used to identify a tool across the system. It follows the pattern: tools.<integration>.<owner>.<connection>.<toolName>.
parseToolAddress: packages/core/sdk/src/executor.ts197-214ADDRESS_PREFIX: packages/core/sdk/src/executor.ts176A Plugin extends the Executor with new source types (OpenAPI, MCP, etc.) or storage capabilities.
definePlugin: packages/core/sdk/src/plugin.ts12PluginCtx: packages/core/sdk/src/plugin.ts117In the Desktop application, the Sidecar is a background process (the CLI daemon) supervised by the Electron main process. It provides the core API and execution environment.
DESKTOP_SIDECAR_READY_SENTINEL: apps/cli/src/main.ts190A protocol used to expose the Executor's tool catalog to AI agents (like Claude or Cursor). Executor acts as an MCP Server to agents and an MCP Client to upstream MCP integrations.
mcpPlugin: packages/plugins/mcp/src/sdk/plugin.ts69invokeMcpTool: packages/plugins/mcp/src/sdk/invoke.ts50Title: From Agent Call to Tool Execution
Sources: packages/core/sdk/src/executor.ts160-170 packages/core/execution/src/engine.ts20-40 packages/plugins/mcp/src/sdk/invoke.ts50
fumadb import: packages/core/sdk/src/executor.ts3runtime-quickjs package: packages/kernel/runtime-quickjs/package.json2resolveExecutorDataDir: apps/cli/src/main.ts141Sources: packages/core/sdk/src/executor.ts apps/cli/src/main.ts packages/core/sdk/src/ids.ts packages/core/sdk/src/elicitation.ts packages/plugins/mcp/src/sdk/plugin.ts
Refresh this wiki