Skip to content

Commit c43aacf

Browse files
committed
docs: beta agents banner, template stability, and unified typedoc entry
- Document agents as beta in docs and set stability in app template manifest - Point Docusaurus Typedoc at typedoc.entry.ts so stable + beta APIs publish together (fixes agent symbol pages being dropped from index-only builds) - Regenerate api/appkit index and sidebar; knip-ignore docs-only entry file Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
1 parent cefe28d commit c43aacf

14 files changed

Lines changed: 230 additions & 7 deletions

docs/docs/api/appkit/Interface.AgentsPluginConfig.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ Milliseconds to wait before auto-denying. Default: 60_000.
6060
### autoInheritTools?
6161

6262
```ts
63-
optional autoInheritTools: boolean | AutoInheritToolsConfig;
63+
optional autoInheritTools:
64+
| boolean
65+
| AutoInheritToolsConfig;
6466
```
6567

6668
Whether to auto-inherit every ToolProvider plugin's toolkit. Accepts a boolean shorthand.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Interface: AutoInheritToolsConfig
2+
3+
Auto-inherit configuration. When enabled for a given agent origin, agents
4+
with no explicit `tools:` declaration receive every registered ToolProvider
5+
plugin tool whose author marked `autoInheritable: true`. Tools without that
6+
flag — destructive, state-mutating, or privilege-sensitive — never spread
7+
automatically and must be wired via `tools:`, `toolkits:`, or `fromPlugin`.
8+
9+
Defaults are `false` for both origins (safe-by-default): developers must
10+
consciously opt an origin in to any auto-inherit behaviour.
11+
12+
## Properties
13+
14+
### code?
15+
16+
```ts
17+
optional code: boolean;
18+
```
19+
20+
Default for code-defined agents (via `agents: { foo: createAgent(...) }`). Default: `false`.
21+
22+
***
23+
24+
### file?
25+
26+
```ts
27+
optional file: boolean;
28+
```
29+
30+
Default for agents loaded from markdown files. Default: `false`.

docs/docs/api/appkit/Interface.BasePluginConfig.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Base configuration interface for AppKit plugins
44

55
## Extended by
66

7-
- [`AgentsPluginConfig`](Interface.AgentsPluginConfig.md)
87
- [`IJobsConfig`](Interface.IJobsConfig.md)
8+
- [`AgentsPluginConfig`](Interface.AgentsPluginConfig.md)
99

1010
## Indexable
1111

docs/docs/api/appkit/Interface.LakebasePoolConfig.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ const pool = createLakebasePool({
7676
### sslMode?
7777

7878
```ts
79-
optional sslMode: "require" | "disable" | "prefer";
79+
optional sslMode: "disable" | "require" | "prefer";
8080
```
8181

8282
SSL mode for the connection (convenience helper)
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Interface: RegisteredAgent
2+
3+
## Properties
4+
5+
### adapter
6+
7+
```ts
8+
adapter: AgentAdapter;
9+
```
10+
11+
***
12+
13+
### baseSystemPrompt?
14+
15+
```ts
16+
optional baseSystemPrompt: BaseSystemPromptOption;
17+
```
18+
19+
***
20+
21+
### ephemeral?
22+
23+
```ts
24+
optional ephemeral: boolean;
25+
```
26+
27+
Mirrors `AgentDefinition.ephemeral` — skip thread persistence.
28+
29+
***
30+
31+
### instructions
32+
33+
```ts
34+
instructions: string;
35+
```
36+
37+
***
38+
39+
### maxSteps?
40+
41+
```ts
42+
optional maxSteps: number;
43+
```
44+
45+
***
46+
47+
### maxTokens?
48+
49+
```ts
50+
optional maxTokens: number;
51+
```
52+
53+
***
54+
55+
### name
56+
57+
```ts
58+
name: string;
59+
```
60+
61+
***
62+
63+
### toolIndex
64+
65+
```ts
66+
toolIndex: Map<string, ResolvedToolEntry>;
67+
```
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Interface: ToolAnnotations
2+
3+
## Properties
4+
5+
### ~~destructive?~~
6+
7+
```ts
8+
optional destructive: boolean;
9+
```
10+
11+
#### Deprecated
12+
13+
Prefer [effect](#effect) with value `"destructive"`. Retained
14+
so existing annotations continue to force the approval gate, and so
15+
MCP-style consumers that only read `destructive` still see the hint.
16+
17+
***
18+
19+
### effect?
20+
21+
```ts
22+
optional effect: ToolEffect;
23+
```
24+
25+
Preferred semantic label. When set, drives both the approval gate (fires
26+
for `write`/`update`/`destructive`) and the approval-card styling.
27+
28+
***
29+
30+
### idempotent?
31+
32+
```ts
33+
optional idempotent: boolean;
34+
```
35+
36+
***
37+
38+
### ~~readOnly?~~
39+
40+
```ts
41+
optional readOnly: boolean;
42+
```
43+
44+
#### Deprecated
45+
46+
Prefer [effect](#effect). Retained for backward compatibility
47+
with tools authored against the original flags and for MCP interop.
48+
49+
***
50+
51+
### requiresUserContext?
52+
53+
```ts
54+
optional requiresUserContext: boolean;
55+
```
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Type Alias: ResolvedToolEntry
2+
3+
```ts
4+
type ResolvedToolEntry =
5+
| {
6+
def: AgentToolDefinition;
7+
localName: string;
8+
pluginName: string;
9+
source: "toolkit";
10+
}
11+
| {
12+
def: AgentToolDefinition;
13+
functionTool: FunctionTool;
14+
source: "function";
15+
}
16+
| {
17+
def: AgentToolDefinition;
18+
mcpToolName: string;
19+
source: "mcp";
20+
}
21+
| {
22+
agentName: string;
23+
def: AgentToolDefinition;
24+
source: "subagent";
25+
};
26+
```
27+
28+
Internal tool-index entry after a tool record has been resolved to a dispatchable form.

docs/docs/api/appkit/index.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# @databricks/appkit
22

3-
Core library for building Databricks applications with type-safe SQL queries,
4-
plugin architecture, and React integration.
3+
Documentation merge entry for Typedoc — combines the stable `@databricks/appkit`
4+
surface with `@databricks/appkit/beta`. Not meant for application imports.
55

66
## Enumerations
77

@@ -37,6 +37,7 @@ plugin architecture, and React integration.
3737
| [AgentRunContext](Interface.AgentRunContext.md) | - |
3838
| [AgentsPluginConfig](Interface.AgentsPluginConfig.md) | Base configuration interface for AppKit plugins |
3939
| [AgentToolDefinition](Interface.AgentToolDefinition.md) | - |
40+
| [AutoInheritToolsConfig](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:`, `toolkits:`, or `fromPlugin`. |
4041
| [BasePluginConfig](Interface.BasePluginConfig.md) | Base configuration interface for AppKit plugins |
4142
| [CacheConfig](Interface.CacheConfig.md) | Configuration for the CacheInterceptor. Controls TTL, size limits, storage backend, and probabilistic cleanup. |
4243
| [DatabaseCredential](Interface.DatabaseCredential.md) | Database credentials with OAuth token for Postgres connection |
@@ -55,6 +56,7 @@ plugin architecture, and React integration.
5556
| [Message](Interface.Message.md) | - |
5657
| [PluginManifest](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. |
5758
| [PromptContext](Interface.PromptContext.md) | Context passed to `baseSystemPrompt` callbacks. |
59+
| [RegisteredAgent](Interface.RegisteredAgent.md) | - |
5860
| [RequestedClaims](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 |
5961
| [RequestedResource](Interface.RequestedResource.md) | Resource to request permissions for in Unity Catalog |
6062
| [ResourceEntry](Interface.ResourceEntry.md) | Internal representation of a resource in the registry. Extends ResourceRequirement with resolution state and plugin ownership. |
@@ -68,6 +70,7 @@ plugin architecture, and React integration.
6870
| [TelemetryConfig](Interface.TelemetryConfig.md) | OpenTelemetry configuration for AppKit applications |
6971
| [Thread](Interface.Thread.md) | - |
7072
| [ThreadStore](Interface.ThreadStore.md) | - |
73+
| [ToolAnnotations](Interface.ToolAnnotations.md) | - |
7174
| [ToolConfig](Interface.ToolConfig.md) | - |
7275
| [ToolkitEntry](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. |
7376
| [ToolkitOptions](Interface.ToolkitOptions.md) | - |
@@ -91,6 +94,7 @@ plugin architecture, and React integration.
9194
| [JobHandle](TypeAlias.JobHandle.md) | Job handle returned by `appkit.jobs("etl")`. Supports OBO access via `.asUser(req)`. |
9295
| [JobsExport](TypeAlias.JobsExport.md) | Public API shape of the jobs plugin. Callable to select a job by key. |
9396
| [PluginData](TypeAlias.PluginData.md) | Tuple of plugin class, config, and name. Created by `toPlugin()` and passed to `createApp()`. |
97+
| [ResolvedToolEntry](TypeAlias.ResolvedToolEntry.md) | Internal tool-index entry after a tool record has been resolved to a dispatchable form. |
9498
| [ResourcePermission](TypeAlias.ResourcePermission.md) | Union of all possible permission levels across all resource types. |
9599
| [ServingFactory](TypeAlias.ServingFactory.md) | Factory function returned by `AppKit.serving`. |
96100
| [ToPlugin](TypeAlias.ToPlugin.md) | Factory function type returned by `toPlugin()`. Accepts optional config and returns a PluginData tuple. |

docs/docs/api/appkit/typedoc-sidebar.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ const typedocSidebar: SidebarsConfig = {
117117
id: "api/appkit/Interface.AgentToolDefinition",
118118
label: "AgentToolDefinition"
119119
},
120+
{
121+
type: "doc",
122+
id: "api/appkit/Interface.AutoInheritToolsConfig",
123+
label: "AutoInheritToolsConfig"
124+
},
120125
{
121126
type: "doc",
122127
id: "api/appkit/Interface.BasePluginConfig",
@@ -207,6 +212,11 @@ const typedocSidebar: SidebarsConfig = {
207212
id: "api/appkit/Interface.PromptContext",
208213
label: "PromptContext"
209214
},
215+
{
216+
type: "doc",
217+
id: "api/appkit/Interface.RegisteredAgent",
218+
label: "RegisteredAgent"
219+
},
210220
{
211221
type: "doc",
212222
id: "api/appkit/Interface.RequestedClaims",
@@ -272,6 +282,11 @@ const typedocSidebar: SidebarsConfig = {
272282
id: "api/appkit/Interface.ThreadStore",
273283
label: "ThreadStore"
274284
},
285+
{
286+
type: "doc",
287+
id: "api/appkit/Interface.ToolAnnotations",
288+
label: "ToolAnnotations"
289+
},
275290
{
276291
type: "doc",
277292
id: "api/appkit/Interface.ToolConfig",
@@ -368,6 +383,11 @@ const typedocSidebar: SidebarsConfig = {
368383
id: "api/appkit/TypeAlias.PluginData",
369384
label: "PluginData"
370385
},
386+
{
387+
type: "doc",
388+
id: "api/appkit/TypeAlias.ResolvedToolEntry",
389+
label: "ResolvedToolEntry"
390+
},
371391
{
372392
type: "doc",
373393
id: "api/appkit/TypeAlias.ResourcePermission",

docs/docs/plugins/agents.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Agents
22

3+
<!-- AUTO-GENERATED: stability-banner-start -->
4+
:::warning Beta plugin
5+
This plugin is currently **beta**. APIs may change between minor releases. Import from `@databricks/appkit/beta`. See [Plugin Stability Tiers](./stability.md).
6+
:::
7+
<!-- AUTO-GENERATED: stability-banner-end -->
8+
39
The `agents` plugin turns a Databricks AppKit app into an AI-agent host. It loads agent definitions from markdown on disk (one folder per agent: `config/agents/<id>/agent.md`), from TypeScript (`createAgent(def)`), or both, and exposes them at `POST /invocations` alongside routes for chat, thread management, and cancellation.
410

511
This page covers the full lifecycle. For the hand-written primitives (`tool()`, `mcpServer()`), see [tools](./server.md).

0 commit comments

Comments
 (0)