Skip to main content

appkit

@databricks/appkit

Documentation merge entry for Typedoc — combines the stable @databricks/appkit surface with @databricks/appkit/beta. Not meant for application imports.

Enumerations

EnumerationDescription
RequestedClaimsPermissionSetPermission set for Unity Catalog table access
ResourceTypeResource types from resourceTypeSchema.options

Classes

ClassDescription
AppKitErrorBase error class for all AppKit errors. Provides a consistent structure for error handling across the framework.
AppKitMcpClientLightweight MCP client for Databricks-hosted MCP servers.
AuthenticationErrorError thrown when authentication fails. Use for missing tokens, invalid credentials, or authorization failures.
ConfigurationErrorError thrown when configuration is missing or invalid. Use for missing environment variables, invalid settings, or setup issues.
ConnectionErrorError thrown when a connection or network operation fails. Use for database pool errors, API failures, timeouts, etc.
DatabricksAdapterAdapter that talks directly to Databricks Model Serving /invocations endpoint.
ExecutionErrorError thrown when an operation execution fails. Use for statement failures, canceled operations, or unexpected states.
InitializationErrorError thrown when a service or component is not properly initialized. Use when accessing services before they are ready.
PluginBase abstract class for creating AppKit plugins.
PolicyDeniedErrorThrown when a policy denies an action.
ResourceRegistryCentral registry for tracking plugin resource requirements. Deduplication uses type + resourceKey (machine-stable); alias is for display only.
ServerErrorError thrown when server lifecycle operations fail. Use for server start/stop issues, configuration conflicts, etc.
SupervisorApiAdapterAdapter that calls the Databricks AI Gateway Responses API (/ai-gateway/mlflow/v1/responses).
TunnelErrorError thrown when remote tunnel operations fail. Use for tunnel connection issues, message parsing failures, etc.
ValidationErrorError thrown when input validation fails. Use for invalid parameters, missing required fields, or type mismatches.

Interfaces

InterfaceDescription
AgentAdapter-
AgentDefinition-
AgentInput-
AgentRunContext-
AgentsPluginConfigBase configuration interface for AppKit plugins
AgentToolDefinition-
AutoInheritToolsConfigAuto-inherit configuration. When enabled for a given agent origin, agents with no explicit tools: declaration receive every registered ToolProvider plugin tool whose author marked autoInheritable: true. Tools without that flag — destructive, state-mutating, or privilege-sensitive — never spread automatically and must be wired via tools: (object or function form in code, plugin:NAME entries in markdown frontmatter).
BasePluginConfigBase configuration interface for AppKit plugins
CacheConfigConfiguration for the CacheInterceptor. Controls TTL, size limits, storage backend, and probabilistic cleanup.
DatabaseCredentialDatabase credentials with OAuth token for Postgres connection
EndpointConfig-
FilePolicyUserMinimal user identity passed to the policy function.
FileResourceDescribes the file or directory being acted upon.
FunctionTool-
GenerateDatabaseCredentialRequestRequest parameters for generating database OAuth credentials
GenerationParamsOptional generation parameters forwarded to the OpenAI-compatible serving request body. Names match the serving API wire keys. Only keys that are set are sent — undefined values are omitted so the endpoint applies its own defaults. Ranges are not validated here; the serving endpoint validates.
HostedSupervisorToolTagged record returned by every supervisorTools factory. The __kind discriminator lets the agents plugin (and standalone runAgent) classify these tools without a structural match against the wire format — keeps the SA wire shape free to evolve and avoids namespace collisions with MCP hosted tools (which use type: "genie-space" hyphenated, vs SA's type: "genie_space" underscored).
IAiSearchConfigBase configuration interface for AppKit plugins
IJobsConfigConfiguration for the Jobs plugin.
IndexConfig-
ITelemetryPlugin-facing interface for OpenTelemetry instrumentation. Provides a thin abstraction over OpenTelemetry APIs for plugins.
JobAPIUser-facing API for a single configured job.
JobConfigPer-job configuration options.
JobsConnectorConfig-
LakebasePoolSubset of pg.Pool exposed by the Lakebase plugin.
LakebasePoolConfigConfiguration for creating a Lakebase connection pool
LakebasePoolManagerManages multiple Lakebase connection pools keyed by an identifier (e.g. userId).
McpConnectAllResultPer-endpoint outcome of AppKitMcpClient.connectAll. Callers (the agents plugin in particular) use the split to warn at startup when some MCP servers are unreachable without aborting boot for the rest.
Message-
PluginManifestPlugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property. Extends the shared PluginManifest with strict resource types.
PluginToolkitProviderMinimum shape every entry in the Plugins map must expose. Core plugins (analytics, files, genie, lakebase) implement this directly via their .toolkit() method. The agents plugin and standalone runAgent synthesize this shape for any registered plugin that doesn't implement .toolkit() directly (falling back to getAgentTools() walking).
PromptContextContext passed to baseSystemPrompt callbacks.
RegisteredAgent-
RequestedClaimsOptional claims for fine-grained Unity Catalog table permissions When specified, the returned token will be scoped to only the requested tables
RequestedResourceResource to request permissions for in Unity Catalog
RerankerConfig-
ResourceEntryInternal representation of a resource in the registry. Extends ResourceRequirement with resolution state and plugin ownership.
ResourceRequirementDeclares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements().
RunAgentInput-
RunAgentResult-
SearchRequest-
SearchResponse-
SearchResult-
ServingEndpointEntryShape of a single registry entry.
ServingEndpointRegistryRegistry interface for serving endpoint type generation. Empty by default — augmented by the Vite type generator's .d.ts output via module augmentation. When populated, provides autocomplete for alias names and typed request/response/chunk per endpoint.
StreamExecutionSettingsExecution settings for streaming endpoints. Extends PluginExecutionSettings with SSE stream configuration.
SupervisorApiAdapterOptions-
SupervisorExtensionShape of the value at AgentInput.extensions[SUPERVISOR_EXTENSION_KEY]. The agents plugin / runAgent build this from the tool index; advanced callers invoking adapter.run(...) directly populate it themselves.
TelemetryConfigOpenTelemetry configuration for AppKit applications
Thread-
ThreadStore-
ToolAnnotations-
ToolConfig-
ToolEntrySingle-tool entry for a plugin's internal tool registry.
ToolkitEntryA tool reference produced by a plugin's .toolkit() call. The agents plugin recognizes the __toolkitRef brand and dispatches tool invocations through PluginContext.executeTool(req, pluginName, localName, ...), preserving OBO (asUser) and telemetry spans.
ToolkitOptions-
ToolProvider-
ValidationResultResult of validating all registered resources against the environment.
WorkspaceClientAppKit's workspace client facade. Mirrors the multi-client shape of the modular Databricks SDK: each service is its own accessor, so services can be migrated one at a time behind this stable interface.
WorkspaceClientLikeStructural shape of a Databricks SDK client used by fromSupervisorApi. Only what we need: apiClient.request for streaming and config.ensureResolved to materialise the host/credentials.
WorkspaceClientOptionsOptions used to construct the wrapper. Mirrors the subset of the old SDK's Config + ClientOptions that AppKit relies on today; we deliberately do NOT re-expose every old-SDK config knob.

Type Aliases

Type AliasDescription
AgentEvent-
AgentToolAny tool an agent can invoke: inline function tools (tool()), hosted MCP tools (mcpServer() / raw hosted), toolkit references from plugins (analytics().toolkit()), or adapter-hosted Supervisor-API tools (supervisorTools.*).
AgentToolsPer-agent tool record. String keys map to inline tools, toolkit entries, hosted tools, etc.
AgentToolsFnFunction form of AgentDefinition.tools. Receives the typed Plugins map and returns a tool record. Invoked exactly once at setup (or once per runAgent call in standalone mode); the result is cached as the agent's resolved tool record.
BaseSystemPromptOption-
ConfigSchemaConfiguration schema definition for plugin config. Re-exported from the standard JSON Schema Draft 7 types.
ExecutionResultDiscriminated union for plugin execution results.
FileActionEvery action the files plugin can perform.
FilePolicyA policy function that decides whether user may perform action on resource. Return true to allow, false to deny.
HostedTool-
IAppRouterExpress router type for plugin route registration
JobsExportPublic API shape of the jobs plugin. Callable to select a job by key.
PluginDataTuple of plugin class, config, and name. Created by toPlugin() and passed to createApp().
PluginsPlugin map passed to the function form of AgentDefinition.tools. Each entry exposes a .toolkit(opts?) method that returns a record of ToolkitEntry markers ready to be spread into a tool record.
ResolvedToolEntryInternal tool-index entry after a tool record has been resolved to a dispatchable form.
ResourceFieldEntry-
ResourcePermissionUnion of all possible permission levels across all resource types.
SearchFilters-
ServingFactoryFactory function returned by AppKit.serving.
SupervisorToolTools supported by the Databricks AI Gateway Responses API. The shapes match the wire format the endpoint expects, so the adapter passes the array straight into the request body.
ToolRegistry-
ToPluginFactory function type returned by toPlugin(). Accepts optional config and returns a PluginData tuple.

Variables

VariableDescription
agentsPlugin factory for the agents plugin. Reads config/agents/*.md by default, resolves toolkits/tools from registered plugins, exposes appkit.agents.* runtime API and mounts POST /invocations and POST /responses (aliased non-streaming invoke endpoints) plus POST /chat (streaming, HITL-capable).
aiSearch-
READ_ACTIONSActions that only read data.
sqlSQL helper namespace
SUPERVISOR_EXTENSION_KEYNamespace key under which the adapter reads its hosted-tool payload from AgentInput.extensions. Exported so the agents plugin and standalone runAgent (the producers) can write under the same key the adapter reads.
supervisorToolsConcise factories for declaring Supervisor API tools.
WRITE_ACTIONSActions that mutate data.

Functions

FunctionDescription
agentIdFromMarkdownPathDerives the logical agent id from a markdown path. When the file is named agent.md, the id is the parent directory name (folder-based layout); otherwise the id is the file stem (e.g. legacy single-file paths).
appKitServingTypesPluginVite plugin to generate TypeScript types for AppKit serving endpoints. Fetches OpenAPI schemas from Databricks and generates a .d.ts with ServingEndpointRegistry module augmentation.
appKitTypesPluginVite plugin to generate types for AppKit queries. Calls generateFromEntryPoint under the hood.
createAgentPure factory for agent definitions. Returns the passed-in definition after cycle-detecting the sub-agent graph. Accepts the full AgentDefinition shape and is safe to call at module top-level.
createAppBootstraps AppKit with the provided configuration.
createLakebasePoolCreate a Lakebase pool with appkit's logger integration. Telemetry automatically uses appkit's OpenTelemetry configuration via global registry.
createLakebasePoolManagerCreate a pool manager that maintains per-key Lakebase connection pools.
createWorkspaceClientConstruct an AppKit workspace client.
defineToolDefines a single tool entry for a plugin's internal registry.
executeFromRegistryValidates tool-call arguments against the entry's schema and invokes its handler. On validation failure, returns an LLM-friendly error string (matching the behavior of tool()) rather than throwing, so the model can self-correct on its next turn.
extractServingEndpointsExtract serving endpoint config from a server file by AST-parsing it. Looks for serving({ endpoints: { alias: { env: "..." }, ... } }) calls and extracts the endpoint alias names and their environment variable mappings.
findServerFileFind the server entry file by checking candidate paths in order.
fromSupervisorApiCreates an AgentAdapter backed by the Databricks AI Gateway Responses API (/ai-gateway/mlflow/v1/responses).
functionToolToDefinition-
generateDatabaseCredentialGenerate OAuth credentials for Postgres database connection using the proper Postgres API.
getExecutionContextGet the current execution context.
getLakebaseOrmConfigGet Lakebase connection configuration for ORMs that don't accept pg.Pool directly.
getLakebasePgConfigGet Lakebase connection configuration for PostgreSQL clients.
getPluginManifestLoads and validates the manifest from a plugin constructor. Normalizes string type/permission to strict ResourceType/ResourcePermission.
getResourceRequirementsGets the resource requirements from a plugin's manifest.
getUsernameWithApiLookupResolves the PostgreSQL username for a Lakebase connection.
getWorkspaceClientGet workspace client from config or SDK default auth chain
isFunctionTool-
isHostedTool-
isSQLTypeMarkerType guard to check if a value is a SQL type marker
isSupervisorToolType guard for HostedSupervisorTool. Used by the agents plugin (buildToolIndex) and standalone runAgent (classifyTool) to route supervisor-hosted tools to the extensions payload rather than the adapter's tools array.
isToolkitEntryType guard for ToolkitEntry — used by the agents plugin to differentiate toolkit references from inline tools in a mixed tools record.
loadAgentFromFileLoads a single markdown agent file and resolves its frontmatter against registered plugin toolkits + ambient tool library.
loadAgentsFromDirScans a directory for one subdirectory per agent, each containing agent.md (frontmatter + body). Produces an AgentDefinition record keyed by agent id (folder name). Throws on frontmatter errors or unresolved references. Returns an empty map if the directory does not exist.
mcpServerFactory for declaring a custom MCP server tool.
parseTextToolCallsParses text-based tool calls from model output.
resolveHostedTools-
runAgentStandalone agent execution without createApp. Resolves the adapter, binds inline tools, and drives the adapter's run() loop to completion.
toolFactory for defining function tools with Zod schemas.
toolsFromRegistryProduces the AgentToolDefinition[] a ToolProvider exposes to the LLM, deriving parameters JSON Schema from each entry's Zod schema.

Databricks Developer Hub

Ready to ship your next agentic app in minutes?

Read docs