@databricks/appkit 0.48.0 → 0.50.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.
- package/CLAUDE.md +11 -1
- package/dist/agents/databricks.d.ts +24 -7
- package/dist/agents/databricks.d.ts.map +1 -1
- package/dist/agents/databricks.js +25 -0
- package/dist/agents/databricks.js.map +1 -1
- package/dist/agents/supervisor-api.d.ts +362 -0
- package/dist/agents/supervisor-api.d.ts.map +1 -0
- package/dist/agents/supervisor-api.js +498 -0
- package/dist/agents/supervisor-api.js.map +1 -0
- package/dist/appkit/package.js +1 -1
- package/dist/beta.d.ts +2 -1
- package/dist/beta.js +2 -1
- package/dist/connectors/serving/client.d.ts +24 -0
- package/dist/connectors/serving/client.d.ts.map +1 -0
- package/dist/connectors/serving/client.js +34 -14
- package/dist/connectors/serving/client.js.map +1 -1
- package/dist/core/agent/run-agent.d.ts.map +1 -1
- package/dist/core/agent/run-agent.js +51 -2
- package/dist/core/agent/run-agent.js.map +1 -1
- package/dist/core/agent/types.d.ts +19 -3
- package/dist/core/agent/types.d.ts.map +1 -1
- package/dist/core/agent/types.js.map +1 -1
- package/dist/plugins/agents/agents.d.ts.map +1 -1
- package/dist/plugins/agents/agents.js +65 -5
- package/dist/plugins/agents/agents.js.map +1 -1
- package/dist/registry/manifest-loader.d.ts +1 -1
- package/dist/shared/src/agent.d.ts +28 -0
- package/dist/shared/src/agent.d.ts.map +1 -1
- package/dist/stream/index.js +1 -0
- package/dist/stream/sse-reader.js +86 -0
- package/dist/stream/sse-reader.js.map +1 -0
- package/docs/api/appkit/Class.DatabricksAdapter.md +34 -0
- package/docs/api/appkit/Class.SupervisorApiAdapter.md +121 -0
- package/docs/api/appkit/Function.fromSupervisorApi.md +63 -0
- package/docs/api/appkit/Function.isSupervisorTool.md +18 -0
- package/docs/api/appkit/Interface.AgentAdapter.md +24 -0
- package/docs/api/appkit/Interface.AgentInput.md +13 -0
- package/docs/api/appkit/Interface.HostedSupervisorTool.md +21 -0
- package/docs/api/appkit/Interface.SupervisorApiAdapterOptions.md +38 -0
- package/docs/api/appkit/Interface.SupervisorExtension.md +12 -0
- package/docs/api/appkit/Interface.WorkspaceClientLike.md +67 -0
- package/docs/api/appkit/TypeAlias.AgentTool.md +3 -2
- package/docs/api/appkit/TypeAlias.ResolvedToolEntry.md +167 -0
- package/docs/api/appkit/TypeAlias.SupervisorTool.md +45 -0
- package/docs/api/appkit/Variable.SUPERVISOR_EXTENSION_KEY.md +8 -0
- package/docs/api/appkit/Variable.supervisorTools.md +176 -0
- package/docs/api/appkit.md +118 -108
- package/docs/plugins/agents.md +136 -6
- package/llms.txt +11 -1
- package/package.json +1 -1
- package/sbom.cdx.json +1 -1
package/docs/plugins/agents.md
CHANGED
|
@@ -16,12 +16,14 @@ The agents plugin drives the LLM over Server-Sent Events. Foundation Model APIs
|
|
|
16
16
|
|
|
17
17
|
For the non-streaming path against a custom endpoint, use the `serving` plugin's `/invoke` route with `useServingInvoke` instead.
|
|
18
18
|
|
|
19
|
+
Or skip serving-endpoint setup entirely with the managed [Supervisor API adapter](#managed-agents-the-supervisor-api-adapter) (beta).
|
|
20
|
+
|
|
19
21
|
## Install[](#install "Direct link to Install")
|
|
20
22
|
|
|
21
23
|
`agents` is a regular plugin. Add it to `plugins[]` alongside `server()` and any ToolProvider plugins whose tools you want agents to reach.
|
|
22
24
|
|
|
23
25
|
```ts
|
|
24
|
-
import {
|
|
26
|
+
import { analytics, createApp, files, server } from "@databricks/appkit";
|
|
25
27
|
import { agents } from "@databricks/appkit/beta";
|
|
26
28
|
|
|
27
29
|
await createApp({
|
|
@@ -182,7 +184,7 @@ Each key in `agents: {...}` on an `AgentDefinition` becomes an `agent-<key>` too
|
|
|
182
184
|
## Level 5: standalone (no `createApp`)[](#level-5-standalone-no-createapp "Direct link to level-5-standalone-no-createapp")
|
|
183
185
|
|
|
184
186
|
```ts
|
|
185
|
-
import { createAgent, runAgent, tool } from "@databricks/appkit";
|
|
187
|
+
import { createAgent, runAgent, tool } from "@databricks/appkit/beta";
|
|
186
188
|
import { z } from "zod";
|
|
187
189
|
|
|
188
190
|
const classifier = createAgent({
|
|
@@ -225,7 +227,135 @@ const result = await runAgent(classifier, {
|
|
|
225
227
|
|
|
226
228
|
`runAgent` eagerly constructs each plugin in `RunAgentInput.plugins`, runs the standard `attachContext({})` + `await setup()` lifecycle, and shares the instances across the top-level run and every sub-agent dispatch. Plugins whose `setup()` requires `createApp`-only runtime (e.g. `WorkspaceClient`, `ServiceContext`) throw at standalone-init with a clear "use createApp instead" message rather than mid-stream.
|
|
227
229
|
|
|
228
|
-
|
|
230
|
+
MCP hosted tools (`mcpServer(...)`) still require `agents()` (they need a live MCP client). Supervisor-API hosted tools (`supervisorTools.*`), by contrast, **work in standalone `runAgent`** — the adapter has everything it needs to execute them server-side. This makes batch-eval / CI use of supervisor agents possible without `createApp`. Plugin tool dispatch in standalone mode runs as the service principal (no OBO) and **bypasses the agents-plugin approval gate** — treat standalone runAgent as a trusted-prompt environment (CI, batch eval, internal scripts), not as an exposed user-facing surface.
|
|
231
|
+
|
|
232
|
+
## Managed agents: the Supervisor API adapter[](#managed-agents-the-supervisor-api-adapter "Direct link to Managed agents: the Supervisor API adapter")
|
|
233
|
+
|
|
234
|
+
`DatabricksAdapter.fromSupervisorApi` (beta) is the zero-config way to run an agent: instead of provisioning and pointing at a model-serving endpoint, you run the agentic loop in the Databricks workspace by targeting the AI Gateway Responses API (`/ai-gateway/mlflow/v1/responses`), which runs the LLM — and any hosted tools — as a managed service on Databricks. No `DATABRICKS_SERVING_ENDPOINT_NAME`, no stream-capability check, no JS tool plumbing for the common cases.
|
|
235
|
+
|
|
236
|
+
The minimal agent is one extra line versus a markdown agent:
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
import { createApp } from "@databricks/appkit";
|
|
240
|
+
import { agents, createAgent, DatabricksAdapter } from "@databricks/appkit/beta";
|
|
241
|
+
|
|
242
|
+
await createApp({
|
|
243
|
+
plugins: [
|
|
244
|
+
agents({
|
|
245
|
+
agents: {
|
|
246
|
+
assistant: createAgent({
|
|
247
|
+
instructions: "You are a helpful assistant.",
|
|
248
|
+
model: DatabricksAdapter.fromSupervisorApi({
|
|
249
|
+
model: "databricks-claude-sonnet-4-5",
|
|
250
|
+
}),
|
|
251
|
+
}),
|
|
252
|
+
},
|
|
253
|
+
}),
|
|
254
|
+
],
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
`createAgent({ model })` already accepts adapters and adapter promises in addition to the model-name string used in earlier examples, so you can drop the factory result straight in. The factory resolves credentials through the SDK chain (`DATABRICKS_HOST`, OAuth, PAT, …); pass `workspaceClient` to reuse an existing client.
|
|
260
|
+
|
|
261
|
+
### Hosted tools[](#hosted-tools "Direct link to Hosted tools")
|
|
262
|
+
|
|
263
|
+
Expose Genie spaces, Unity Catalog functions/connections, Knowledge Assistants, or other AppKit apps to the model by declaring them as agent tools — same place every other tool is declared. Execution stays server-side; you write no tool code:
|
|
264
|
+
|
|
265
|
+
```ts
|
|
266
|
+
import {
|
|
267
|
+
createAgent,
|
|
268
|
+
DatabricksAdapter,
|
|
269
|
+
supervisorTools,
|
|
270
|
+
} from "@databricks/appkit/beta";
|
|
271
|
+
|
|
272
|
+
const assistant = createAgent({
|
|
273
|
+
instructions: "You are a helpful data assistant.",
|
|
274
|
+
model: DatabricksAdapter.fromSupervisorApi({
|
|
275
|
+
model: "databricks-claude-sonnet-4-5",
|
|
276
|
+
}),
|
|
277
|
+
tools: () => ({
|
|
278
|
+
nyc: supervisorTools.genieSpace({
|
|
279
|
+
id: "01ABCDEF12345678",
|
|
280
|
+
description: "NYC taxi trip records and zones",
|
|
281
|
+
}),
|
|
282
|
+
add: supervisorTools.ucFunction({
|
|
283
|
+
name: "main.default.add",
|
|
284
|
+
description: "Adds two integers and returns the sum.",
|
|
285
|
+
}),
|
|
286
|
+
}),
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Each `supervisorTools.*` factory takes a single named-options object — routing-critical strings get labels at the call site, so positional-argument swap bugs are impossible.
|
|
292
|
+
|
|
293
|
+
`description` is **required and non-empty** — the LLM uses it to route between tools, so two Genie spaces both labelled "Genie space" will be indistinguishable.
|
|
294
|
+
|
|
295
|
+
Hosted-tool descriptions are trusted application configuration (CWE-1427)
|
|
296
|
+
|
|
297
|
+
A hosted tool's `description` is read by the LLM to decide when to route to that tool. **Do not derive it from untrusted input** — user messages, request bodies, freeform fields from external systems, or any value an attacker could influence. Treat `description` (and `id`/`name`) as application-controlled, alongside the agent's `instructions`. Allowing a user-controlled string here is a prompt-injection sink: a hostile description can convince the model to route to (or away from) a tool for any future request handled by the agent.
|
|
298
|
+
|
|
299
|
+
The same caution applies to MCP `description`s and to any other field the model reads at routing time.
|
|
300
|
+
|
|
301
|
+
| Factory | Tool kind | Identifier |
|
|
302
|
+
| --------------------------------------------------------------------------- | ---------------------- | --------------- |
|
|
303
|
+
| `supervisorTools.genieSpace({ id, description })` | Genie space | space id |
|
|
304
|
+
| `supervisorTools.ucFunction({ name, description })` | Unity Catalog function | three-part name |
|
|
305
|
+
| `supervisorTools.knowledgeAssistant({ knowledgeAssistantId, description })` | Knowledge Assistant | assistant id |
|
|
306
|
+
| `supervisorTools.app({ name, description })` | Databricks App | app name |
|
|
307
|
+
| `supervisorTools.ucConnection({ name, description })` | UC connection | connection name |
|
|
308
|
+
|
|
309
|
+
### Declaring hosted tools in markdown agents[](#declaring-hosted-tools-in-markdown-agents "Direct link to Declaring hosted tools in markdown agents")
|
|
310
|
+
|
|
311
|
+
Hosted-supervisor tools also work in markdown-driven agents: declare the tool in code (under `agents({ tools: { ... } })`) and reference its key in frontmatter:
|
|
312
|
+
|
|
313
|
+
```ts
|
|
314
|
+
// server.ts
|
|
315
|
+
agents({
|
|
316
|
+
agents: { /* ... */ },
|
|
317
|
+
tools: {
|
|
318
|
+
nyc_taxi: supervisorTools.genieSpace({
|
|
319
|
+
id: "01ABCDEF12345678",
|
|
320
|
+
description: "NYC taxi trip records and zones",
|
|
321
|
+
}),
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
```md
|
|
328
|
+
---
|
|
329
|
+
endpoint: databricks-claude-sonnet-4-5
|
|
330
|
+
tools:
|
|
331
|
+
- nyc_taxi
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
You answer questions about NYC taxi data using the Genie space.
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
No new frontmatter syntax — the ambient-tool lookup in `tools:` already resolves bare keys against `agents({ tools })`, and the tagged-record shape of `supervisorTools.*` lets the plugin classify them automatically.
|
|
339
|
+
|
|
340
|
+
### What does *not* apply to Supervisor-API agents[](#what-does-not-apply-to-supervisor-api-agents "Direct link to what-does-not-apply-to-supervisor-api-agents")
|
|
341
|
+
|
|
342
|
+
The managed runtime owns its own tool execution, so the adapter intentionally **ignores function tools and sub-agents from the agents-plugin tool index**. For any agent whose `model:` is a Supervisor adapter:
|
|
343
|
+
|
|
344
|
+
* Only `supervisorTools.*` entries reach the model. Function tools (`tool({...})`), MCP hosted tools (`mcpServer(...)`), and local sub-agents (`agents: { ... }`) declared alongside a supervisor adapter will trigger a registration-time warning and **will not be exposed to the model**. The capability check fires from `consumesInputTools: false` on the adapter.
|
|
345
|
+
* The **human-in-the-loop approval gate** does not fire (tool calls never enter the Node process; `effect: "destructive"` annotations are irrelevant for hosted tools).
|
|
346
|
+
* `limits.maxToolCalls` is not enforced (the managed runtime accounts for its own calls).
|
|
347
|
+
* Per-call **OBO** does not apply to hosted tools; they run with the credentials the managed runtime uses for the target resource.
|
|
348
|
+
|
|
349
|
+
### Cross-adapter sub-agent composition[](#cross-adapter-sub-agent-composition "Direct link to Cross-adapter sub-agent composition")
|
|
350
|
+
|
|
351
|
+
Supervisor and chat-completions adapters can both appear in the same `agents({ agents: { ... } })` map, but composition only goes one direction:
|
|
352
|
+
|
|
353
|
+
* **Chat-completions parent → supervisor sub-agent** works natively. The parent dispatches via `agent-{key}` as a regular function tool; the child's adapter runs entirely on the AI Gateway.
|
|
354
|
+
* **Supervisor parent → function-tool / local sub-agent children** is not yet wired. The capability check warns at registration; those tools will not reach the supervisor model. Future work will lift this restriction by routing SA's `response.function_call` events through `context.executeTool`.
|
|
355
|
+
|
|
356
|
+
Recovery path for non-streaming tool turns
|
|
357
|
+
|
|
358
|
+
Some hosted tool kinds return their final assistant text without incremental `output_text.delta` events. The adapter has a recovery path that pulls the text out of `response.completed.output[]` so the turn is not silently empty. Set `DEBUG=appkit:agents:supervisor-api` to log the per-turn event-type histogram if you want to verify which path a turn took.
|
|
229
359
|
|
|
230
360
|
## Configuration reference[](#configuration-reference "Direct link to Configuration reference")
|
|
231
361
|
|
|
@@ -370,10 +500,10 @@ Flow:
|
|
|
370
500
|
|
|
371
501
|
2. The chat client renders an approval prompt (see the reference app's approval card).
|
|
372
502
|
|
|
373
|
-
3. The same user who initiated the stream posts the decision to `POST /api/
|
|
503
|
+
3. The same user who initiated the stream posts the decision to `POST /api/agents/approve`:
|
|
374
504
|
|
|
375
505
|
```http
|
|
376
|
-
POST /api/
|
|
506
|
+
POST /api/agents/approve
|
|
377
507
|
Content-Type: application/json
|
|
378
508
|
X-Forwarded-User: <end-user id>
|
|
379
509
|
X-Forwarded-Access-Token: <OBO token>
|
|
@@ -384,7 +514,7 @@ Flow:
|
|
|
384
514
|
|
|
385
515
|
4. If approved, the tool executes normally and the stream continues. If denied, the adapter receives the string `"Tool execution denied by user approval gate (tool: <name>)."` as the tool output and the LLM can apologise / replan. If no decision arrives within `approval.timeoutMs` (default 60 s), the gate auto-denies.
|
|
386
516
|
|
|
387
|
-
The route enforces that the decider is the stream owner: an approve from a different `x-forwarded-user` returns `403`. Cancelling the stream via `POST /api/
|
|
517
|
+
The route enforces that the decider is the stream owner: an approve from a different `x-forwarded-user` returns `403`. Cancelling the stream via `POST /api/agents/cancel` denies every pending approval on that stream.
|
|
388
518
|
|
|
389
519
|
### Resource limits[](#resource-limits "Direct link to Resource limits")
|
|
390
520
|
|
package/llms.txt
CHANGED
|
@@ -74,6 +74,7 @@ npx @databricks/appkit docs <query>
|
|
|
74
74
|
- [Class: PolicyDeniedError](./docs/api/appkit/Class.PolicyDeniedError.md): Thrown when a policy denies an action.
|
|
75
75
|
- [Class: ResourceRegistry](./docs/api/appkit/Class.ResourceRegistry.md): Central registry for tracking plugin resource requirements.
|
|
76
76
|
- [Class: ServerError](./docs/api/appkit/Class.ServerError.md): Error thrown when server lifecycle operations fail.
|
|
77
|
+
- [Class: SupervisorApiAdapter](./docs/api/appkit/Class.SupervisorApiAdapter.md): Adapter that calls the Databricks AI Gateway Responses API
|
|
77
78
|
- [Class: TunnelError](./docs/api/appkit/Class.TunnelError.md): Error thrown when remote tunnel operations fail.
|
|
78
79
|
- [Class: ValidationError](./docs/api/appkit/Class.ValidationError.md): Error thrown when input validation fails.
|
|
79
80
|
- [Enumeration: RequestedClaimsPermissionSet](./docs/api/appkit/Enumeration.RequestedClaimsPermissionSet.md): Permission set for Unity Catalog table access
|
|
@@ -89,6 +90,7 @@ npx @databricks/appkit docs <query>
|
|
|
89
90
|
- [Function: executeFromRegistry()](./docs/api/appkit/Function.executeFromRegistry.md): Validates tool-call arguments against the entry's schema and invokes its
|
|
90
91
|
- [Function: extractServingEndpoints()](./docs/api/appkit/Function.extractServingEndpoints.md): Extract serving endpoint config from a server file by AST-parsing it.
|
|
91
92
|
- [Function: findServerFile()](./docs/api/appkit/Function.findServerFile.md): Find the server entry file by checking candidate paths in order.
|
|
93
|
+
- [Function: fromSupervisorApi()](./docs/api/appkit/Function.fromSupervisorApi.md): Creates an AgentAdapter backed by the Databricks AI Gateway
|
|
92
94
|
- [Function: functionToolToDefinition()](./docs/api/appkit/Function.functionToolToDefinition.md): Parameters
|
|
93
95
|
- [Function: generateDatabaseCredential()](./docs/api/appkit/Function.generateDatabaseCredential.md): Generate OAuth credentials for Postgres database connection using the proper Postgres API.
|
|
94
96
|
- [Function: getExecutionContext()](./docs/api/appkit/Function.getExecutionContext.md): Get the current execution context.
|
|
@@ -101,6 +103,7 @@ npx @databricks/appkit docs <query>
|
|
|
101
103
|
- [Function: isFunctionTool()](./docs/api/appkit/Function.isFunctionTool.md): Parameters
|
|
102
104
|
- [Function: isHostedTool()](./docs/api/appkit/Function.isHostedTool.md): Parameters
|
|
103
105
|
- [Function: isSQLTypeMarker()](./docs/api/appkit/Function.isSQLTypeMarker.md): Type guard to check if a value is a SQL type marker
|
|
106
|
+
- [Function: isSupervisorTool()](./docs/api/appkit/Function.isSupervisorTool.md): Type guard for HostedSupervisorTool. Used by the agents plugin
|
|
104
107
|
- [Function: isToolkitEntry()](./docs/api/appkit/Function.isToolkitEntry.md): Type guard for ToolkitEntry — used by the agents plugin to differentiate
|
|
105
108
|
- [Function: loadAgentFromFile()](./docs/api/appkit/Function.loadAgentFromFile.md): Loads a single markdown agent file and resolves its frontmatter against
|
|
106
109
|
- [Function: loadAgentsFromDir()](./docs/api/appkit/Function.loadAgentsFromDir.md): Scans a directory for one subdirectory per agent, each containing
|
|
@@ -110,7 +113,7 @@ npx @databricks/appkit docs <query>
|
|
|
110
113
|
- [Function: runAgent()](./docs/api/appkit/Function.runAgent.md): Standalone agent execution without createApp. Resolves the adapter, binds
|
|
111
114
|
- [Function: tool()](./docs/api/appkit/Function.tool.md): Factory for defining function tools with Zod schemas.
|
|
112
115
|
- [Function: toolsFromRegistry()](./docs/api/appkit/Function.toolsFromRegistry.md): Produces the AgentToolDefinition[] a ToolProvider exposes to the LLM,
|
|
113
|
-
- [Interface: AgentAdapter](./docs/api/appkit/Interface.AgentAdapter.md):
|
|
116
|
+
- [Interface: AgentAdapter](./docs/api/appkit/Interface.AgentAdapter.md): Properties
|
|
114
117
|
- [Interface: AgentDefinition](./docs/api/appkit/Interface.AgentDefinition.md): Properties
|
|
115
118
|
- [Interface: AgentInput](./docs/api/appkit/Interface.AgentInput.md): Properties
|
|
116
119
|
- [Interface: AgentRunContext](./docs/api/appkit/Interface.AgentRunContext.md): Properties
|
|
@@ -126,6 +129,7 @@ npx @databricks/appkit docs <query>
|
|
|
126
129
|
- [Interface: FunctionTool](./docs/api/appkit/Interface.FunctionTool.md): Properties
|
|
127
130
|
- [Interface: GenerateDatabaseCredentialRequest](./docs/api/appkit/Interface.GenerateDatabaseCredentialRequest.md): Request parameters for generating database OAuth credentials
|
|
128
131
|
- [Interface: GenerationParams](./docs/api/appkit/Interface.GenerationParams.md): Optional generation parameters forwarded to the OpenAI-compatible serving
|
|
132
|
+
- [Interface: HostedSupervisorTool](./docs/api/appkit/Interface.HostedSupervisorTool.md): Tagged record returned by every supervisorTools factory. The
|
|
129
133
|
- [Interface: IJobsConfig](./docs/api/appkit/Interface.IJobsConfig.md): Configuration for the Jobs plugin.
|
|
130
134
|
- [Interface: ITelemetry](./docs/api/appkit/Interface.ITelemetry.md): Plugin-facing interface for OpenTelemetry instrumentation.
|
|
131
135
|
- [Interface: JobAPI](./docs/api/appkit/Interface.JobAPI.md): User-facing API for a single configured job.
|
|
@@ -149,6 +153,8 @@ npx @databricks/appkit docs <query>
|
|
|
149
153
|
- [Interface: ServingEndpointEntry](./docs/api/appkit/Interface.ServingEndpointEntry.md): Shape of a single registry entry.
|
|
150
154
|
- [Interface: ServingEndpointRegistry](./docs/api/appkit/Interface.ServingEndpointRegistry.md): Registry interface for serving endpoint type generation.
|
|
151
155
|
- [Interface: StreamExecutionSettings](./docs/api/appkit/Interface.StreamExecutionSettings.md): Execution settings for streaming endpoints. Extends PluginExecutionSettings with SSE stream configuration.
|
|
156
|
+
- [Interface: SupervisorApiAdapterOptions](./docs/api/appkit/Interface.SupervisorApiAdapterOptions.md): Properties
|
|
157
|
+
- [Interface: SupervisorExtension](./docs/api/appkit/Interface.SupervisorExtension.md): Shape of the value at AgentInput.extensions[SUPERVISOREXTENSIONKEY].
|
|
152
158
|
- [Interface: TelemetryConfig](./docs/api/appkit/Interface.TelemetryConfig.md): OpenTelemetry configuration for AppKit applications
|
|
153
159
|
- [Interface: Thread](./docs/api/appkit/Interface.Thread.md): Properties
|
|
154
160
|
- [Interface: ThreadStore](./docs/api/appkit/Interface.ThreadStore.md): Methods
|
|
@@ -159,6 +165,7 @@ npx @databricks/appkit docs <query>
|
|
|
159
165
|
- [Interface: ToolkitOptions](./docs/api/appkit/Interface.ToolkitOptions.md): Properties
|
|
160
166
|
- [Interface: ToolProvider](./docs/api/appkit/Interface.ToolProvider.md): Methods
|
|
161
167
|
- [Interface: ValidationResult](./docs/api/appkit/Interface.ValidationResult.md): Result of validating all registered resources against the environment.
|
|
168
|
+
- [Interface: WorkspaceClientLike](./docs/api/appkit/Interface.WorkspaceClientLike.md): Structural shape of a Databricks SDK client used by fromSupervisorApi.
|
|
162
169
|
- [Type Alias: AgentEvent](./docs/api/appkit/TypeAlias.AgentEvent.md): Type Declaration
|
|
163
170
|
- [Type Alias: AgentTool](./docs/api/appkit/TypeAlias.AgentTool.md): Any tool an agent can invoke: inline function tools (tool()), hosted MCP
|
|
164
171
|
- [Type Alias: AgentTools](./docs/api/appkit/TypeAlias.AgentTools.md): Per-agent tool record. String keys map to inline tools, toolkit entries,
|
|
@@ -178,11 +185,14 @@ npx @databricks/appkit docs <query>
|
|
|
178
185
|
- [Type Alias: ResourceFieldEntry](./docs/api/appkit/TypeAlias.ResourceFieldEntry.md)
|
|
179
186
|
- [Type Alias: ResourcePermission](./docs/api/appkit/TypeAlias.ResourcePermission.md): Union of all possible permission levels across all resource types.
|
|
180
187
|
- [Type Alias: ServingFactory](./docs/api/appkit/TypeAlias.ServingFactory.md): Factory function returned by AppKit.serving.
|
|
188
|
+
- [Type Alias: SupervisorTool](./docs/api/appkit/TypeAlias.SupervisorTool.md): Tools supported by the Databricks AI Gateway Responses API. The shapes match
|
|
181
189
|
- [Type Alias: ToolRegistry](./docs/api/appkit/TypeAlias.ToolRegistry.md)
|
|
182
190
|
- [Type Alias: ToPlugin()<T, U, N>](./docs/api/appkit/TypeAlias.ToPlugin.md): Factory function type returned by toPlugin(). Accepts optional config and returns a PluginData tuple.
|
|
183
191
|
- [Variable: agents](./docs/api/appkit/Variable.agents.md): Plugin factory for the agents plugin. Reads config/agents/*.md by default,
|
|
184
192
|
- [Variable: READ_ACTIONS](./docs/api/appkit/Variable.READ_ACTIONS.md): Actions that only read data.
|
|
185
193
|
- [Variable: sql](./docs/api/appkit/Variable.sql.md): SQL helper namespace
|
|
194
|
+
- [Variable: SUPERVISOR_EXTENSION_KEY](./docs/api/appkit/Variable.SUPERVISOR_EXTENSION_KEY.md): Namespace key under which the adapter reads its hosted-tool payload
|
|
195
|
+
- [Variable: supervisorTools](./docs/api/appkit/Variable.supervisorTools.md): Concise factories for declaring Supervisor API tools.
|
|
186
196
|
- [Variable: WRITE_ACTIONS](./docs/api/appkit/Variable.WRITE_ACTIONS.md): Actions that mutate data.
|
|
187
197
|
|
|
188
198
|
## appkit-ui API reference [collapsed]
|