@databricks/appkit-ui 0.32.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CLAUDE.md +53 -1
  2. package/NOTICE.md +1 -0
  3. package/dist/js/index.js +1 -0
  4. package/dist/react/hooks/index.d.ts +1 -0
  5. package/dist/react/hooks/index.js +1 -0
  6. package/dist/react/hooks/types.d.ts +11 -5
  7. package/dist/react/hooks/types.d.ts.map +1 -1
  8. package/dist/react/hooks/use-agent-chat.d.ts +128 -0
  9. package/dist/react/hooks/use-agent-chat.d.ts.map +1 -0
  10. package/dist/react/hooks/use-agent-chat.js +133 -0
  11. package/dist/react/hooks/use-agent-chat.js.map +1 -0
  12. package/dist/react/hooks/use-analytics-query.d.ts +4 -4
  13. package/dist/react/hooks/use-analytics-query.d.ts.map +1 -1
  14. package/dist/react/hooks/use-analytics-query.js +4 -4
  15. package/dist/react/hooks/use-analytics-query.js.map +1 -1
  16. package/dist/react/hooks/use-chart-data.js +9 -9
  17. package/dist/react/hooks/use-chart-data.js.map +1 -1
  18. package/dist/react/index.d.ts +2 -1
  19. package/dist/react/index.js +2 -1
  20. package/dist/shared/src/index.js +2 -0
  21. package/dist/shared/src/sql/helpers.d.ts +113 -8
  22. package/dist/shared/src/sql/helpers.d.ts.map +1 -1
  23. package/dist/shared/src/sql/helpers.js +116 -7
  24. package/dist/shared/src/sql/helpers.js.map +1 -1
  25. package/dist/shared/src/sql/index.js +1 -0
  26. package/dist/shared/src/sql/types.d.ts +16 -2
  27. package/dist/shared/src/sql/types.d.ts.map +1 -1
  28. package/docs/api/appkit/Class.AppKitMcpClient.md +157 -0
  29. package/docs/api/appkit/Class.DatabricksAdapter.md +151 -0
  30. package/docs/api/appkit/Function.agentIdFromMarkdownPath.md +18 -0
  31. package/docs/api/appkit/Function.createAgent.md +33 -0
  32. package/docs/api/appkit/Function.defineTool.md +26 -0
  33. package/docs/api/appkit/Function.executeFromRegistry.md +25 -0
  34. package/docs/api/appkit/Function.functionToolToDefinition.md +16 -0
  35. package/docs/api/appkit/Function.isFunctionTool.md +16 -0
  36. package/docs/api/appkit/Function.isHostedTool.md +16 -0
  37. package/docs/api/appkit/Function.isToolkitEntry.md +18 -0
  38. package/docs/api/appkit/Function.loadAgentFromFile.md +21 -0
  39. package/docs/api/appkit/Function.loadAgentsFromDir.md +26 -0
  40. package/docs/api/appkit/Function.mcpServer.md +28 -0
  41. package/docs/api/appkit/Function.parseTextToolCalls.md +26 -0
  42. package/docs/api/appkit/Function.resolveHostedTools.md +16 -0
  43. package/docs/api/appkit/Function.runAgent.md +26 -0
  44. package/docs/api/appkit/Function.tool.md +28 -0
  45. package/docs/api/appkit/Function.toolsFromRegistry.md +20 -0
  46. package/docs/api/appkit/Interface.AgentAdapter.md +21 -0
  47. package/docs/api/appkit/Interface.AgentDefinition.md +112 -0
  48. package/docs/api/appkit/Interface.AgentInput.md +37 -0
  49. package/docs/api/appkit/Interface.AgentRunContext.md +32 -0
  50. package/docs/api/appkit/Interface.AgentToolDefinition.md +37 -0
  51. package/docs/api/appkit/Interface.AgentsPluginConfig.md +241 -0
  52. package/docs/api/appkit/Interface.AutoInheritToolsConfig.md +27 -0
  53. package/docs/api/appkit/Interface.BasePluginConfig.md +1 -0
  54. package/docs/api/appkit/Interface.FunctionTool.md +80 -0
  55. package/docs/api/appkit/Interface.McpConnectAllResult.md +38 -0
  56. package/docs/api/appkit/Interface.Message.md +55 -0
  57. package/docs/api/appkit/Interface.PluginToolkitProvider.md +22 -0
  58. package/docs/api/appkit/Interface.PromptContext.md +30 -0
  59. package/docs/api/appkit/Interface.RegisteredAgent.md +75 -0
  60. package/docs/api/appkit/Interface.RunAgentInput.md +34 -0
  61. package/docs/api/appkit/Interface.RunAgentResult.md +23 -0
  62. package/docs/api/appkit/Interface.Thread.md +46 -0
  63. package/docs/api/appkit/Interface.ThreadStore.md +103 -0
  64. package/docs/api/appkit/Interface.ToolAnnotations.md +56 -0
  65. package/docs/api/appkit/Interface.ToolConfig.md +72 -0
  66. package/docs/api/appkit/Interface.ToolEntry.md +73 -0
  67. package/docs/api/appkit/Interface.ToolProvider.md +38 -0
  68. package/docs/api/appkit/Interface.ToolkitEntry.md +59 -0
  69. package/docs/api/appkit/Interface.ToolkitOptions.md +45 -0
  70. package/docs/api/appkit/TypeAlias.AgentEvent.md +299 -0
  71. package/docs/api/appkit/TypeAlias.AgentTool.md +11 -0
  72. package/docs/api/appkit/TypeAlias.AgentTools.md +8 -0
  73. package/docs/api/appkit/TypeAlias.AgentToolsFn.md +20 -0
  74. package/docs/api/appkit/TypeAlias.BaseSystemPromptOption.md +9 -0
  75. package/docs/api/appkit/TypeAlias.HostedTool.md +10 -0
  76. package/docs/api/appkit/TypeAlias.Plugins.md +26 -0
  77. package/docs/api/appkit/TypeAlias.ResolvedToolEntry.md +29 -0
  78. package/docs/api/appkit/TypeAlias.ToolRegistry.md +6 -0
  79. package/docs/api/appkit/Variable.agents.md +19 -0
  80. package/docs/api/appkit/Variable.sql.md +203 -21
  81. package/docs/api/appkit.md +113 -62
  82. package/docs/app-management.md +2 -2
  83. package/docs/plugins/agents.md +441 -0
  84. package/docs/plugins/analytics.md +7 -2
  85. package/llms.txt +53 -1
  86. package/package.json +1 -1
  87. package/sbom.cdx.json +1 -1
@@ -1,6 +1,6 @@
1
1
  # @databricks/appkit
2
2
 
3
- Core library for building Databricks applications with type-safe SQL queries, plugin architecture, and React integration.
3
+ Documentation merge entry for Typedoc combines the stable `@databricks/appkit` surface with `@databricks/appkit/beta`. Not meant for application imports.
4
4
 
5
5
  ## Enumerations[​](#enumerations "Direct link to Enumerations")
6
6
 
@@ -14,9 +14,11 @@ Core library for building Databricks applications with type-safe SQL queries, pl
14
14
  | Class | Description |
15
15
  | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
16
16
  | [AppKitError](./docs/api/appkit/Class.AppKitError.md) | Base error class for all AppKit errors. Provides a consistent structure for error handling across the framework. |
17
+ | [AppKitMcpClient](./docs/api/appkit/Class.AppKitMcpClient.md) | Lightweight MCP client for Databricks-hosted MCP servers. |
17
18
  | [AuthenticationError](./docs/api/appkit/Class.AuthenticationError.md) | Error thrown when authentication fails. Use for missing tokens, invalid credentials, or authorization failures. |
18
19
  | [ConfigurationError](./docs/api/appkit/Class.ConfigurationError.md) | Error thrown when configuration is missing or invalid. Use for missing environment variables, invalid settings, or setup issues. |
19
20
  | [ConnectionError](./docs/api/appkit/Class.ConnectionError.md) | Error thrown when a connection or network operation fails. Use for database pool errors, API failures, timeouts, etc. |
21
+ | [DatabricksAdapter](./docs/api/appkit/Class.DatabricksAdapter.md) | Adapter that talks directly to Databricks Model Serving `/invocations` endpoint. |
20
22
  | [ExecutionError](./docs/api/appkit/Class.ExecutionError.md) | Error thrown when an operation execution fails. Use for statement failures, canceled operations, or unexpected states. |
21
23
  | [InitializationError](./docs/api/appkit/Class.InitializationError.md) | Error thrown when a service or component is not properly initialized. Use when accessing services before they are ready. |
22
24
  | [Plugin](./docs/api/appkit/Class.Plugin.md) | Base abstract class for creating AppKit plugins. |
@@ -28,73 +30,122 @@ Core library for building Databricks applications with type-safe SQL queries, pl
28
30
 
29
31
  ## Interfaces[​](#interfaces "Direct link to Interfaces")
30
32
 
31
- | Interface | Description |
32
- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
- | [BasePluginConfig](./docs/api/appkit/Interface.BasePluginConfig.md) | Base configuration interface for AppKit plugins |
34
- | [CacheConfig](./docs/api/appkit/Interface.CacheConfig.md) | Configuration for the CacheInterceptor. Controls TTL, size limits, storage backend, and probabilistic cleanup. |
35
- | [DatabaseCredential](./docs/api/appkit/Interface.DatabaseCredential.md) | Database credentials with OAuth token for Postgres connection |
36
- | [EndpointConfig](./docs/api/appkit/Interface.EndpointConfig.md) | - |
37
- | [FilePolicyUser](./docs/api/appkit/Interface.FilePolicyUser.md) | Minimal user identity passed to the policy function. |
38
- | [FileResource](./docs/api/appkit/Interface.FileResource.md) | Describes the file or directory being acted upon. |
39
- | [GenerateDatabaseCredentialRequest](./docs/api/appkit/Interface.GenerateDatabaseCredentialRequest.md) | Request parameters for generating database OAuth credentials |
40
- | [IJobsConfig](./docs/api/appkit/Interface.IJobsConfig.md) | Configuration for the Jobs plugin. |
41
- | [ITelemetry](./docs/api/appkit/Interface.ITelemetry.md) | Plugin-facing interface for OpenTelemetry instrumentation. Provides a thin abstraction over OpenTelemetry APIs for plugins. |
42
- | [JobAPI](./docs/api/appkit/Interface.JobAPI.md) | User-facing API for a single configured job. |
43
- | [JobConfig](./docs/api/appkit/Interface.JobConfig.md) | Per-job configuration options. |
44
- | [JobsConnectorConfig](./docs/api/appkit/Interface.JobsConnectorConfig.md) | - |
45
- | [LakebasePoolConfig](./docs/api/appkit/Interface.LakebasePoolConfig.md) | Configuration for creating a Lakebase connection pool |
46
- | [PluginManifest](./docs/api/appkit/Interface.PluginManifest.md) | Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property. Extends the shared PluginManifest with strict resource types. |
47
- | [RequestedClaims](./docs/api/appkit/Interface.RequestedClaims.md) | Optional claims for fine-grained Unity Catalog table permissions When specified, the returned token will be scoped to only the requested tables |
48
- | [RequestedResource](./docs/api/appkit/Interface.RequestedResource.md) | Resource to request permissions for in Unity Catalog |
49
- | [ResourceEntry](./docs/api/appkit/Interface.ResourceEntry.md) | Internal representation of a resource in the registry. Extends ResourceRequirement with resolution state and plugin ownership. |
50
- | [ResourceFieldEntry](./docs/api/appkit/Interface.ResourceFieldEntry.md) | Defines a single field for a resource. Each field has its own environment variable and optional description. Single-value types use one key (e.g. id); multi-value types (database, secret) use multiple (e.g. instance\_name, database\_name or scope, key). |
51
- | [ResourceRequirement](./docs/api/appkit/Interface.ResourceRequirement.md) | Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements(). Narrows the generated base: type → ResourceType enum, permission → ResourcePermission union. |
52
- | [ServingEndpointEntry](./docs/api/appkit/Interface.ServingEndpointEntry.md) | Shape of a single registry entry. |
53
- | [ServingEndpointRegistry](./docs/api/appkit/Interface.ServingEndpointRegistry.md) | Registry 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. |
54
- | [StreamExecutionSettings](./docs/api/appkit/Interface.StreamExecutionSettings.md) | Execution settings for streaming endpoints. Extends PluginExecutionSettings with SSE stream configuration. |
55
- | [TelemetryConfig](./docs/api/appkit/Interface.TelemetryConfig.md) | OpenTelemetry configuration for AppKit applications |
56
- | [ValidationResult](./docs/api/appkit/Interface.ValidationResult.md) | Result of validating all registered resources against the environment. |
33
+ | Interface | Description |
34
+ | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
35
+ | [AgentAdapter](./docs/api/appkit/Interface.AgentAdapter.md) | - |
36
+ | [AgentDefinition](./docs/api/appkit/Interface.AgentDefinition.md) | - |
37
+ | [AgentInput](./docs/api/appkit/Interface.AgentInput.md) | - |
38
+ | [AgentRunContext](./docs/api/appkit/Interface.AgentRunContext.md) | - |
39
+ | [AgentsPluginConfig](./docs/api/appkit/Interface.AgentsPluginConfig.md) | Base configuration interface for AppKit plugins |
40
+ | [AgentToolDefinition](./docs/api/appkit/Interface.AgentToolDefinition.md) | - |
41
+ | [AutoInheritToolsConfig](./docs/api/appkit/Interface.AutoInheritToolsConfig.md) | Auto-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). |
42
+ | [BasePluginConfig](./docs/api/appkit/Interface.BasePluginConfig.md) | Base configuration interface for AppKit plugins |
43
+ | [CacheConfig](./docs/api/appkit/Interface.CacheConfig.md) | Configuration for the CacheInterceptor. Controls TTL, size limits, storage backend, and probabilistic cleanup. |
44
+ | [DatabaseCredential](./docs/api/appkit/Interface.DatabaseCredential.md) | Database credentials with OAuth token for Postgres connection |
45
+ | [EndpointConfig](./docs/api/appkit/Interface.EndpointConfig.md) | - |
46
+ | [FilePolicyUser](./docs/api/appkit/Interface.FilePolicyUser.md) | Minimal user identity passed to the policy function. |
47
+ | [FileResource](./docs/api/appkit/Interface.FileResource.md) | Describes the file or directory being acted upon. |
48
+ | [FunctionTool](./docs/api/appkit/Interface.FunctionTool.md) | - |
49
+ | [GenerateDatabaseCredentialRequest](./docs/api/appkit/Interface.GenerateDatabaseCredentialRequest.md) | Request parameters for generating database OAuth credentials |
50
+ | [IJobsConfig](./docs/api/appkit/Interface.IJobsConfig.md) | Configuration for the Jobs plugin. |
51
+ | [ITelemetry](./docs/api/appkit/Interface.ITelemetry.md) | Plugin-facing interface for OpenTelemetry instrumentation. Provides a thin abstraction over OpenTelemetry APIs for plugins. |
52
+ | [JobAPI](./docs/api/appkit/Interface.JobAPI.md) | User-facing API for a single configured job. |
53
+ | [JobConfig](./docs/api/appkit/Interface.JobConfig.md) | Per-job configuration options. |
54
+ | [JobsConnectorConfig](./docs/api/appkit/Interface.JobsConnectorConfig.md) | - |
55
+ | [LakebasePoolConfig](./docs/api/appkit/Interface.LakebasePoolConfig.md) | Configuration for creating a Lakebase connection pool |
56
+ | [McpConnectAllResult](./docs/api/appkit/Interface.McpConnectAllResult.md) | Per-endpoint outcome of [AppKitMcpClient.connectAll](./docs/api/appkit/Class.AppKitMcpClient.md#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. |
57
+ | [Message](./docs/api/appkit/Interface.Message.md) | - |
58
+ | [PluginManifest](./docs/api/appkit/Interface.PluginManifest.md) | Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property. Extends the shared PluginManifest with strict resource types. |
59
+ | [PluginToolkitProvider](./docs/api/appkit/Interface.PluginToolkitProvider.md) | Minimum shape every entry in the [Plugins](./docs/api/appkit/TypeAlias.Plugins.md) 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). |
60
+ | [PromptContext](./docs/api/appkit/Interface.PromptContext.md) | Context passed to `baseSystemPrompt` callbacks. |
61
+ | [RegisteredAgent](./docs/api/appkit/Interface.RegisteredAgent.md) | - |
62
+ | [RequestedClaims](./docs/api/appkit/Interface.RequestedClaims.md) | Optional claims for fine-grained Unity Catalog table permissions When specified, the returned token will be scoped to only the requested tables |
63
+ | [RequestedResource](./docs/api/appkit/Interface.RequestedResource.md) | Resource to request permissions for in Unity Catalog |
64
+ | [ResourceEntry](./docs/api/appkit/Interface.ResourceEntry.md) | Internal representation of a resource in the registry. Extends ResourceRequirement with resolution state and plugin ownership. |
65
+ | [ResourceFieldEntry](./docs/api/appkit/Interface.ResourceFieldEntry.md) | Defines a single field for a resource. Each field has its own environment variable and optional description. Single-value types use one key (e.g. id); multi-value types (database, secret) use multiple (e.g. instance\_name, database\_name or scope, key). |
66
+ | [ResourceRequirement](./docs/api/appkit/Interface.ResourceRequirement.md) | Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements(). Narrows the generated base: type → ResourceType enum, permission → ResourcePermission union. |
67
+ | [RunAgentInput](./docs/api/appkit/Interface.RunAgentInput.md) | - |
68
+ | [RunAgentResult](./docs/api/appkit/Interface.RunAgentResult.md) | - |
69
+ | [ServingEndpointEntry](./docs/api/appkit/Interface.ServingEndpointEntry.md) | Shape of a single registry entry. |
70
+ | [ServingEndpointRegistry](./docs/api/appkit/Interface.ServingEndpointRegistry.md) | Registry 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. |
71
+ | [StreamExecutionSettings](./docs/api/appkit/Interface.StreamExecutionSettings.md) | Execution settings for streaming endpoints. Extends PluginExecutionSettings with SSE stream configuration. |
72
+ | [TelemetryConfig](./docs/api/appkit/Interface.TelemetryConfig.md) | OpenTelemetry configuration for AppKit applications |
73
+ | [Thread](./docs/api/appkit/Interface.Thread.md) | - |
74
+ | [ThreadStore](./docs/api/appkit/Interface.ThreadStore.md) | - |
75
+ | [ToolAnnotations](./docs/api/appkit/Interface.ToolAnnotations.md) | - |
76
+ | [ToolConfig](./docs/api/appkit/Interface.ToolConfig.md) | - |
77
+ | [ToolEntry](./docs/api/appkit/Interface.ToolEntry.md) | Single-tool entry for a plugin's internal tool registry. |
78
+ | [ToolkitEntry](./docs/api/appkit/Interface.ToolkitEntry.md) | A 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. |
79
+ | [ToolkitOptions](./docs/api/appkit/Interface.ToolkitOptions.md) | - |
80
+ | [ToolProvider](./docs/api/appkit/Interface.ToolProvider.md) | - |
81
+ | [ValidationResult](./docs/api/appkit/Interface.ValidationResult.md) | Result of validating all registered resources against the environment. |
57
82
 
58
83
  ## Type Aliases[​](#type-aliases "Direct link to Type Aliases")
59
84
 
60
- | Type Alias | Description |
61
- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
62
- | [ConfigSchema](./docs/api/appkit/TypeAlias.ConfigSchema.md) | Configuration schema definition for plugin config. Re-exported from the standard JSON Schema Draft 7 types. |
63
- | [ExecutionResult](./docs/api/appkit/TypeAlias.ExecutionResult.md) | Discriminated union for plugin execution results. |
64
- | [FileAction](./docs/api/appkit/TypeAlias.FileAction.md) | Every action the files plugin can perform. |
65
- | [FilePolicy](./docs/api/appkit/TypeAlias.FilePolicy.md) | A policy function that decides whether `user` may perform `action` on `resource`. Return `true` to allow, `false` to deny. |
66
- | [IAppRouter](./docs/api/appkit/TypeAlias.IAppRouter.md) | Express router type for plugin route registration |
67
- | [JobHandle](./docs/api/appkit/TypeAlias.JobHandle.md) | Job handle returned by `appkit.jobs("etl")`. Supports OBO access via `.asUser(req)`. |
68
- | [JobsExport](./docs/api/appkit/TypeAlias.JobsExport.md) | Public API shape of the jobs plugin. Callable to select a job by key. |
69
- | [PluginData](./docs/api/appkit/TypeAlias.PluginData.md) | Tuple of plugin class, config, and name. Created by `toPlugin()` and passed to `createApp()`. |
70
- | [ResourcePermission](./docs/api/appkit/TypeAlias.ResourcePermission.md) | Union of all possible permission levels across all resource types. |
71
- | [ServingFactory](./docs/api/appkit/TypeAlias.ServingFactory.md) | Factory function returned by `AppKit.serving`. |
72
- | [ToPlugin](./docs/api/appkit/TypeAlias.ToPlugin.md) | Factory function type returned by `toPlugin()`. Accepts optional config and returns a PluginData tuple. |
85
+ | Type Alias | Description |
86
+ | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
87
+ | [AgentEvent](./docs/api/appkit/TypeAlias.AgentEvent.md) | - |
88
+ | [AgentTool](./docs/api/appkit/TypeAlias.AgentTool.md) | Any tool an agent can invoke: inline function tools (`tool()`), hosted MCP tools (`mcpServer()` / raw hosted), or toolkit references from plugins (`analytics().toolkit()`). |
89
+ | [AgentTools](./docs/api/appkit/TypeAlias.AgentTools.md) | Per-agent tool record. String keys map to inline tools, toolkit entries, hosted tools, etc. |
90
+ | [AgentToolsFn](./docs/api/appkit/TypeAlias.AgentToolsFn.md) | Function form of `AgentDefinition.tools`. Receives the typed [Plugins](./docs/api/appkit/TypeAlias.Plugins.md) 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. |
91
+ | [BaseSystemPromptOption](./docs/api/appkit/TypeAlias.BaseSystemPromptOption.md) | - |
92
+ | [ConfigSchema](./docs/api/appkit/TypeAlias.ConfigSchema.md) | Configuration schema definition for plugin config. Re-exported from the standard JSON Schema Draft 7 types. |
93
+ | [ExecutionResult](./docs/api/appkit/TypeAlias.ExecutionResult.md) | Discriminated union for plugin execution results. |
94
+ | [FileAction](./docs/api/appkit/TypeAlias.FileAction.md) | Every action the files plugin can perform. |
95
+ | [FilePolicy](./docs/api/appkit/TypeAlias.FilePolicy.md) | A policy function that decides whether `user` may perform `action` on `resource`. Return `true` to allow, `false` to deny. |
96
+ | [HostedTool](./docs/api/appkit/TypeAlias.HostedTool.md) | - |
97
+ | [IAppRouter](./docs/api/appkit/TypeAlias.IAppRouter.md) | Express router type for plugin route registration |
98
+ | [JobHandle](./docs/api/appkit/TypeAlias.JobHandle.md) | Job handle returned by `appkit.jobs("etl")`. Supports OBO access via `.asUser(req)`. |
99
+ | [JobsExport](./docs/api/appkit/TypeAlias.JobsExport.md) | Public API shape of the jobs plugin. Callable to select a job by key. |
100
+ | [PluginData](./docs/api/appkit/TypeAlias.PluginData.md) | Tuple of plugin class, config, and name. Created by `toPlugin()` and passed to `createApp()`. |
101
+ | [Plugins](./docs/api/appkit/TypeAlias.Plugins.md) | Plugin map passed to the function form of [AgentDefinition.tools](./docs/api/appkit/Interface.AgentDefinition.md#tools). Each entry exposes a `.toolkit(opts?)` method that returns a record of [ToolkitEntry](./docs/api/appkit/Interface.ToolkitEntry.md) markers ready to be spread into a tool record. |
102
+ | [ResolvedToolEntry](./docs/api/appkit/TypeAlias.ResolvedToolEntry.md) | Internal tool-index entry after a tool record has been resolved to a dispatchable form. |
103
+ | [ResourcePermission](./docs/api/appkit/TypeAlias.ResourcePermission.md) | Union of all possible permission levels across all resource types. |
104
+ | [ServingFactory](./docs/api/appkit/TypeAlias.ServingFactory.md) | Factory function returned by `AppKit.serving`. |
105
+ | [ToolRegistry](./docs/api/appkit/TypeAlias.ToolRegistry.md) | - |
106
+ | [ToPlugin](./docs/api/appkit/TypeAlias.ToPlugin.md) | Factory function type returned by `toPlugin()`. Accepts optional config and returns a PluginData tuple. |
73
107
 
74
108
  ## Variables[​](#variables "Direct link to Variables")
75
109
 
76
- | Variable | Description |
77
- | ------------------------------------------------------------------- | ---------------------------- |
78
- | [READ\_ACTIONS](./docs/api/appkit/Variable.READ_ACTIONS.md) | Actions that only read data. |
79
- | [sql](./docs/api/appkit/Variable.sql.md) | SQL helper namespace |
80
- | [WRITE\_ACTIONS](./docs/api/appkit/Variable.WRITE_ACTIONS.md) | Actions that mutate data. |
110
+ | Variable | Description |
111
+ | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
112
+ | [agents](./docs/api/appkit/Variable.agents.md) | Plugin factory for the agents plugin. Reads `config/agents/*.md` by default, resolves toolkits/tools from registered plugins, exposes `appkit.agents.*` runtime API and mounts `/invocations`. |
113
+ | [READ\_ACTIONS](./docs/api/appkit/Variable.READ_ACTIONS.md) | Actions that only read data. |
114
+ | [sql](./docs/api/appkit/Variable.sql.md) | SQL helper namespace |
115
+ | [WRITE\_ACTIONS](./docs/api/appkit/Variable.WRITE_ACTIONS.md) | Actions that mutate data. |
81
116
 
82
117
  ## Functions[​](#functions "Direct link to Functions")
83
118
 
84
- | Function | Description |
85
- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
86
- | [appKitServingTypesPlugin](./docs/api/appkit/Function.appKitServingTypesPlugin.md) | Vite plugin to generate TypeScript types for AppKit serving endpoints. Fetches OpenAPI schemas from Databricks and generates a .d.ts with ServingEndpointRegistry module augmentation. |
87
- | [appKitTypesPlugin](./docs/api/appkit/Function.appKitTypesPlugin.md) | Vite plugin to generate types for AppKit queries. Calls generateFromEntryPoint under the hood. |
88
- | [createApp](./docs/api/appkit/Function.createApp.md) | Bootstraps AppKit with the provided configuration. |
89
- | [createLakebasePool](./docs/api/appkit/Function.createLakebasePool.md) | Create a Lakebase pool with appkit's logger integration. Telemetry automatically uses appkit's OpenTelemetry configuration via global registry. |
90
- | [extractServingEndpoints](./docs/api/appkit/Function.extractServingEndpoints.md) | Extract 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. |
91
- | [findServerFile](./docs/api/appkit/Function.findServerFile.md) | Find the server entry file by checking candidate paths in order. |
92
- | [generateDatabaseCredential](./docs/api/appkit/Function.generateDatabaseCredential.md) | Generate OAuth credentials for Postgres database connection using the proper Postgres API. |
93
- | [getExecutionContext](./docs/api/appkit/Function.getExecutionContext.md) | Get the current execution context. |
94
- | [getLakebaseOrmConfig](./docs/api/appkit/Function.getLakebaseOrmConfig.md) | Get Lakebase connection configuration for ORMs that don't accept pg.Pool directly. |
95
- | [getLakebasePgConfig](./docs/api/appkit/Function.getLakebasePgConfig.md) | Get Lakebase connection configuration for PostgreSQL clients. |
96
- | [getPluginManifest](./docs/api/appkit/Function.getPluginManifest.md) | Loads and validates the manifest from a plugin constructor. Normalizes string type/permission to strict ResourceType/ResourcePermission. |
97
- | [getResourceRequirements](./docs/api/appkit/Function.getResourceRequirements.md) | Gets the resource requirements from a plugin's manifest. |
98
- | [getUsernameWithApiLookup](./docs/api/appkit/Function.getUsernameWithApiLookup.md) | Resolves the PostgreSQL username for a Lakebase connection. |
99
- | [getWorkspaceClient](./docs/api/appkit/Function.getWorkspaceClient.md) | Get workspace client from config or SDK default auth chain |
100
- | [isSQLTypeMarker](./docs/api/appkit/Function.isSQLTypeMarker.md) | Type guard to check if a value is a SQL type marker |
119
+ | Function | Description |
120
+ | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
121
+ | [agentIdFromMarkdownPath](./docs/api/appkit/Function.agentIdFromMarkdownPath.md) | Derives 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). |
122
+ | [appKitServingTypesPlugin](./docs/api/appkit/Function.appKitServingTypesPlugin.md) | Vite plugin to generate TypeScript types for AppKit serving endpoints. Fetches OpenAPI schemas from Databricks and generates a .d.ts with ServingEndpointRegistry module augmentation. |
123
+ | [appKitTypesPlugin](./docs/api/appkit/Function.appKitTypesPlugin.md) | Vite plugin to generate types for AppKit queries. Calls generateFromEntryPoint under the hood. |
124
+ | [createAgent](./docs/api/appkit/Function.createAgent.md) | Pure 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. |
125
+ | [createApp](./docs/api/appkit/Function.createApp.md) | Bootstraps AppKit with the provided configuration. |
126
+ | [createLakebasePool](./docs/api/appkit/Function.createLakebasePool.md) | Create a Lakebase pool with appkit's logger integration. Telemetry automatically uses appkit's OpenTelemetry configuration via global registry. |
127
+ | [defineTool](./docs/api/appkit/Function.defineTool.md) | Defines a single tool entry for a plugin's internal registry. |
128
+ | [executeFromRegistry](./docs/api/appkit/Function.executeFromRegistry.md) | Validates 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. |
129
+ | [extractServingEndpoints](./docs/api/appkit/Function.extractServingEndpoints.md) | Extract 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. |
130
+ | [findServerFile](./docs/api/appkit/Function.findServerFile.md) | Find the server entry file by checking candidate paths in order. |
131
+ | [functionToolToDefinition](./docs/api/appkit/Function.functionToolToDefinition.md) | - |
132
+ | [generateDatabaseCredential](./docs/api/appkit/Function.generateDatabaseCredential.md) | Generate OAuth credentials for Postgres database connection using the proper Postgres API. |
133
+ | [getExecutionContext](./docs/api/appkit/Function.getExecutionContext.md) | Get the current execution context. |
134
+ | [getLakebaseOrmConfig](./docs/api/appkit/Function.getLakebaseOrmConfig.md) | Get Lakebase connection configuration for ORMs that don't accept pg.Pool directly. |
135
+ | [getLakebasePgConfig](./docs/api/appkit/Function.getLakebasePgConfig.md) | Get Lakebase connection configuration for PostgreSQL clients. |
136
+ | [getPluginManifest](./docs/api/appkit/Function.getPluginManifest.md) | Loads and validates the manifest from a plugin constructor. Normalizes string type/permission to strict ResourceType/ResourcePermission. |
137
+ | [getResourceRequirements](./docs/api/appkit/Function.getResourceRequirements.md) | Gets the resource requirements from a plugin's manifest. |
138
+ | [getUsernameWithApiLookup](./docs/api/appkit/Function.getUsernameWithApiLookup.md) | Resolves the PostgreSQL username for a Lakebase connection. |
139
+ | [getWorkspaceClient](./docs/api/appkit/Function.getWorkspaceClient.md) | Get workspace client from config or SDK default auth chain |
140
+ | [isFunctionTool](./docs/api/appkit/Function.isFunctionTool.md) | - |
141
+ | [isHostedTool](./docs/api/appkit/Function.isHostedTool.md) | - |
142
+ | [isSQLTypeMarker](./docs/api/appkit/Function.isSQLTypeMarker.md) | Type guard to check if a value is a SQL type marker |
143
+ | [isToolkitEntry](./docs/api/appkit/Function.isToolkitEntry.md) | Type guard for `ToolkitEntry` — used by the agents plugin to differentiate toolkit references from inline tools in a mixed `tools` record. |
144
+ | [loadAgentFromFile](./docs/api/appkit/Function.loadAgentFromFile.md) | Loads a single markdown agent file and resolves its frontmatter against registered plugin toolkits + ambient tool library. |
145
+ | [loadAgentsFromDir](./docs/api/appkit/Function.loadAgentsFromDir.md) | Scans 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. |
146
+ | [mcpServer](./docs/api/appkit/Function.mcpServer.md) | Factory for declaring a custom MCP server tool. |
147
+ | [parseTextToolCalls](./docs/api/appkit/Function.parseTextToolCalls.md) | Parses text-based tool calls from model output. |
148
+ | [resolveHostedTools](./docs/api/appkit/Function.resolveHostedTools.md) | - |
149
+ | [runAgent](./docs/api/appkit/Function.runAgent.md) | Standalone agent execution without `createApp`. Resolves the adapter, binds inline tools, and drives the adapter's `run()` loop to completion. |
150
+ | [tool](./docs/api/appkit/Function.tool.md) | Factory for defining function tools with Zod schemas. |
151
+ | [toolsFromRegistry](./docs/api/appkit/Function.toolsFromRegistry.md) | Produces the `AgentToolDefinition[]` a ToolProvider exposes to the LLM, deriving `parameters` JSON Schema from each entry's Zod schema. |
@@ -59,10 +59,10 @@ databricks apps deploy --help
59
59
 
60
60
  ```
61
61
 
62
- * Skip the build step for faster iteration:
62
+ * Skip validation for faster iteration:
63
63
 
64
64
  ```bash
65
- databricks apps deploy --skip-build
65
+ databricks apps deploy --skip-validation
66
66
 
67
67
  ```
68
68