@databricks/appkit 0.81.0 → 0.83.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 +7 -1
- package/dist/appkit/package.js +1 -1
- package/dist/cli/commands/plugin/create/create.js +20 -8
- package/dist/cli/commands/plugin/create/create.js.map +1 -1
- package/dist/cli/commands/plugin/create/scaffold.js +3 -1
- package/dist/cli/commands/plugin/create/scaffold.js.map +1 -1
- package/dist/cli/commands/registry/add.js +2 -7
- package/dist/cli/commands/registry/add.js.map +1 -1
- package/dist/cli/package-manager.js +65 -0
- package/dist/cli/package-manager.js.map +1 -0
- package/dist/connectors/lakebase/index.js +1 -1
- package/dist/connectors/lakebase/routing-pool.d.ts +1 -1
- package/dist/connectors/lakebase/routing-pool.js +3 -3
- package/dist/connectors/lakebase/routing-pool.js.map +1 -1
- package/dist/context/caller-context.d.ts +22 -0
- package/dist/context/caller-context.d.ts.map +1 -0
- package/dist/context/caller-context.js +21 -0
- package/dist/context/caller-context.js.map +1 -0
- package/dist/context/deprecation.js +14 -0
- package/dist/context/deprecation.js.map +1 -0
- package/dist/context/execution-context.d.ts +12 -4
- package/dist/context/execution-context.d.ts.map +1 -1
- package/dist/context/execution-context.js +36 -34
- package/dist/context/execution-context.js.map +1 -1
- package/dist/context/index.d.ts +3 -2
- package/dist/context/index.js +2 -1
- package/dist/context/service-context.d.ts +18 -12
- package/dist/context/service-context.d.ts.map +1 -1
- package/dist/context/service-context.js +44 -54
- package/dist/context/service-context.js.map +1 -1
- package/dist/context/user-context.d.ts +5 -8
- package/dist/context/user-context.d.ts.map +1 -1
- package/dist/context/user-context.js +33 -6
- package/dist/context/user-context.js.map +1 -1
- package/dist/core/appkit.d.ts.map +1 -1
- package/dist/core/appkit.js +4 -2
- package/dist/core/appkit.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +4 -2
- package/dist/plugin/plugin.d.ts +2 -2
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +6 -6
- package/dist/plugin/plugin.js.map +1 -1
- package/dist/plugins/agents/agents.d.ts +1 -1
- package/dist/plugins/ai-search/ai-search.d.ts +1 -1
- package/dist/plugins/analytics/analytics.d.ts +1 -1
- package/dist/plugins/analytics/analytics.d.ts.map +1 -1
- package/dist/plugins/analytics/analytics.js +3 -1
- package/dist/plugins/analytics/analytics.js.map +1 -1
- package/dist/plugins/database/database.d.ts +1 -1
- package/dist/plugins/files/plugin.d.ts +11 -11
- package/dist/plugins/files/plugin.js +17 -17
- package/dist/plugins/files/plugin.js.map +1 -1
- package/dist/plugins/genie/genie.d.ts +1 -1
- package/dist/plugins/jobs/plugin.d.ts +1 -1
- package/dist/plugins/lakebase/lakebase.d.ts +1 -1
- package/dist/plugins/lakebase/lakebase.d.ts.map +1 -1
- package/dist/plugins/lakebase/lakebase.js +4 -4
- package/dist/plugins/lakebase/lakebase.js.map +1 -1
- package/dist/plugins/server/index.d.ts +1 -1
- package/dist/plugins/server/index.js +2 -2
- package/dist/plugins/server/index.js.map +1 -1
- package/dist/plugins/server/remote-tunnel/remote-tunnel-manager.js +3 -3
- package/dist/plugins/server/remote-tunnel/remote-tunnel-manager.js.map +1 -1
- package/dist/plugins/server/static-server.js +3 -3
- package/dist/plugins/server/static-server.js.map +1 -1
- package/dist/plugins/server/utils.js +3 -3
- package/dist/plugins/server/utils.js.map +1 -1
- package/dist/plugins/server/vite-dev-server.js +4 -4
- package/dist/plugins/server/vite-dev-server.js.map +1 -1
- package/dist/plugins/serving/serving.d.ts +1 -1
- package/dist/resources/index.d.ts +1 -0
- package/dist/resources/index.js +3 -0
- package/dist/resources/warehouse.d.ts +16 -0
- package/dist/resources/warehouse.d.ts.map +1 -0
- package/dist/resources/warehouse.js +93 -0
- package/dist/resources/warehouse.js.map +1 -0
- package/dist/schemas/manifest.d.ts +9 -0
- package/dist/schemas/manifest.d.ts.map +1 -1
- package/dist/schemas/manifest.js +11 -0
- package/dist/schemas/manifest.js.map +1 -1
- package/dist/shared/src/schemas/manifest.d.ts +42 -33
- package/dist/shared/src/schemas/manifest.d.ts.map +1 -1
- package/dist/shared/src/schemas/manifest.js +11 -0
- package/dist/shared/src/schemas/manifest.js.map +1 -1
- package/dist/testing/create-test-app.js +2 -2
- package/dist/testing/create-test-app.js.map +1 -1
- package/dist/testing/fixtures.d.ts +3 -2
- package/dist/testing/fixtures.d.ts.map +1 -1
- package/dist/testing/fixtures.js +21 -14
- package/dist/testing/fixtures.js.map +1 -1
- package/dist/testing/reset-singletons.js +1 -1
- package/dist/type-generator/database/generate.js +3 -3
- package/dist/type-generator/database/generate.js.map +1 -1
- package/dist/type-generator/migration.js +2 -2
- package/dist/type-generator/migration.js.map +1 -1
- package/dist/type-generator/serving/server-file-extractor.js +3 -3
- package/dist/type-generator/serving/server-file-extractor.js.map +1 -1
- package/docs/api/appkit/Class.Plugin.md +1 -1
- package/docs/api/appkit/Function.getCurrentActorId.md +12 -0
- package/docs/api/appkit/Function.getCurrentPrincipalKey.md +12 -0
- package/docs/api/appkit/Function.getExecutionContext.md +5 -3
- package/docs/api/appkit/Function.getWarehouseId.md +20 -0
- package/docs/api/appkit/Interface.CallerContext.md +41 -0
- package/docs/api/appkit/Interface.PluginManifest.md +25 -2
- package/docs/api/appkit/TypeAlias.CallerPrincipal.md +13 -0
- package/docs/api/appkit/TypeAlias.ExecutionContext.md +6 -0
- package/docs/api/appkit.md +6 -0
- package/docs/development/templates.md +12 -11
- package/docs/plugins/agents.md +3 -1
- package/docs/plugins/analytics.md +8 -0
- package/docs/plugins/execution-context.md +16 -0
- package/docs/plugins/model-serving.md +4 -0
- package/llms.txt +7 -1
- package/package.json +1 -1
- package/sbom.cdx.json +1 -1
package/docs/api/appkit.md
CHANGED
|
@@ -47,6 +47,7 @@ Documentation merge entry for Typedoc — combines the stable `@databricks/appki
|
|
|
47
47
|
| [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). |
|
|
48
48
|
| [BasePluginConfig](./docs/api/appkit/Interface.BasePluginConfig.md) | Base configuration interface for AppKit plugins |
|
|
49
49
|
| [CacheConfig](./docs/api/appkit/Interface.CacheConfig.md) | Configuration for the CacheInterceptor. Controls TTL, size limits, storage backend, and probabilistic cleanup. |
|
|
50
|
+
| [CallerContext](./docs/api/appkit/Interface.CallerContext.md) | Caller identity and workspace for one immutable execution scope. |
|
|
50
51
|
| [CustomJudgeSpec](./docs/api/appkit/Interface.CustomJudgeSpec.md) | A custom LLM-judge definition: a prompt template and choice→score mapping. |
|
|
51
52
|
| [DatabaseCredential](./docs/api/appkit/Interface.DatabaseCredential.md) | Database credentials with OAuth token for Postgres connection |
|
|
52
53
|
| [DatabaseRegistry](./docs/api/appkit/Interface.DatabaseRegistry.md) | CANONICAL augmentation target. Empty by default; the generated `database.d.ts` augments it via `declare module "@databricks/appkit" { interface DatabaseRegistry { ... } }`. |
|
|
@@ -139,6 +140,7 @@ Documentation merge entry for Typedoc — combines the stable `@databricks/appki
|
|
|
139
140
|
| [AgentTools](./docs/api/appkit/TypeAlias.AgentTools.md) | Per-agent tool record. String keys map to inline tools, toolkit entries, hosted tools, etc. |
|
|
140
141
|
| [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. |
|
|
141
142
|
| [BaseSystemPromptOption](./docs/api/appkit/TypeAlias.BaseSystemPromptOption.md) | - |
|
|
143
|
+
| [CallerPrincipal](./docs/api/appkit/TypeAlias.CallerPrincipal.md) | The caller identity whose permissions authorize execution, not its resources. |
|
|
142
144
|
| [ConfigSchema](./docs/api/appkit/TypeAlias.ConfigSchema.md) | Configuration schema definition for plugin config. Re-exported from the standard JSON Schema Draft 7 types. |
|
|
143
145
|
| [DatabaseApiConfig](./docs/api/appkit/TypeAlias.DatabaseApiConfig.md) | Full generated CRUD for every declared table by default. Set false to disable all generated routes, or use an object to restrict tables and writes. Keyed routes require a public primary key; upsert stays programmatic. Route names must start with a letter, contain only letters, digits, `_`, or `-`, be at most 64 characters, and be unique ignoring case. Invalid names fail setup; exclude internal tables with `api.tables` or use `api: false`. |
|
|
144
146
|
| [DatabaseApiWriteOperation](./docs/api/appkit/TypeAlias.DatabaseApiWriteOperation.md) | Generated HTTP write operations. |
|
|
@@ -146,6 +148,7 @@ Documentation merge entry for Typedoc — combines the stable `@databricks/appki
|
|
|
146
148
|
| [DatabaseExports](./docs/api/appkit/TypeAlias.DatabaseExports.md) | Typed database API published by the plugin. |
|
|
147
149
|
| [EntityHooks](./docs/api/appkit/TypeAlias.EntityHooks.md) | Response shaping and mutation lifecycle declared for one table. |
|
|
148
150
|
| [EvalProgress](./docs/api/appkit/TypeAlias.EvalProgress.md) | - |
|
|
151
|
+
| [ExecutionContext](./docs/api/appkit/TypeAlias.ExecutionContext.md) | - |
|
|
149
152
|
| [ExecutionResult](./docs/api/appkit/TypeAlias.ExecutionResult.md) | Discriminated union for plugin execution results. |
|
|
150
153
|
| [FileAction](./docs/api/appkit/TypeAlias.FileAction.md) | Every action the files plugin can perform. |
|
|
151
154
|
| [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. |
|
|
@@ -223,12 +226,15 @@ Documentation merge entry for Typedoc — combines the stable `@databricks/appki
|
|
|
223
226
|
| [fromSupervisorApi](./docs/api/appkit/Function.fromSupervisorApi.md) | Creates an [AgentAdapter](./docs/api/appkit/Interface.AgentAdapter.md) backed by the Databricks AI Gateway Responses API (`/ai-gateway/mlflow/v1/responses`). |
|
|
224
227
|
| [functionToolToDefinition](./docs/api/appkit/Function.functionToolToDefinition.md) | - |
|
|
225
228
|
| [generateDatabaseCredential](./docs/api/appkit/Function.generateDatabaseCredential.md) | Generate OAuth credentials for Postgres database connection using the proper Postgres API. |
|
|
229
|
+
| [getCurrentActorId](./docs/api/appkit/Function.getCurrentActorId.md) | The initiating user in a caller scope; no user actor exists in service scope. |
|
|
230
|
+
| [getCurrentPrincipalKey](./docs/api/appkit/Function.getCurrentPrincipalKey.md) | Get the principal key for future cache keying: `app` or `user:<id>`. |
|
|
226
231
|
| [getExecutionContext](./docs/api/appkit/Function.getExecutionContext.md) | Get the current execution context. |
|
|
227
232
|
| [getLakebaseOrmConfig](./docs/api/appkit/Function.getLakebaseOrmConfig.md) | Get Lakebase connection configuration for ORMs that don't accept pg.Pool directly. |
|
|
228
233
|
| [getLakebasePgConfig](./docs/api/appkit/Function.getLakebasePgConfig.md) | Get Lakebase connection configuration for PostgreSQL clients. |
|
|
229
234
|
| [getPluginManifest](./docs/api/appkit/Function.getPluginManifest.md) | Loads and validates the manifest from a plugin constructor. Normalizes string type/permission to strict ResourceType/ResourcePermission. |
|
|
230
235
|
| [getResourceRequirements](./docs/api/appkit/Function.getResourceRequirements.md) | Gets the resource requirements from a plugin's manifest. |
|
|
231
236
|
| [getUsernameWithApiLookup](./docs/api/appkit/Function.getUsernameWithApiLookup.md) | Resolves the PostgreSQL username for a Lakebase connection. |
|
|
237
|
+
| [getWarehouseId](./docs/api/appkit/Function.getWarehouseId.md) | Get the configured SQL warehouse ID after app initialization. The warehouse is an app resource; SP and caller executions use the same binding. Deprecated user-context scopes retain support for explicit warehouse overrides. |
|
|
232
238
|
| [getWorkspaceClient](./docs/api/appkit/Function.getWorkspaceClient.md) | Get workspace client from config or SDK default auth chain |
|
|
233
239
|
| [id](./docs/api/appkit/Function.id.md) | - |
|
|
234
240
|
| [includes](./docs/api/appkit/Function.includes.md) | Passes when the value contains `substring`. |
|
|
@@ -14,17 +14,18 @@ Files named with a `_` prefix are renamed to `.` prefix (e.g. `_gitignore` → `
|
|
|
14
14
|
|
|
15
15
|
### Template variables[](#template-variables "Direct link to Template variables")
|
|
16
16
|
|
|
17
|
-
| Variable | Description
|
|
18
|
-
| ----------------- |
|
|
19
|
-
| `.projectName` | Project name from `--name` or interactive prompt
|
|
20
|
-
| `.workspaceHost` | Databricks workspace URL
|
|
21
|
-
| `.profile` | Databricks CLI profile name (empty if using host-based auth)
|
|
22
|
-
| `.appDescription` | App description
|
|
23
|
-
| `.
|
|
24
|
-
| `.
|
|
25
|
-
| `.dotEnv.
|
|
26
|
-
| `.
|
|
27
|
-
| `.
|
|
17
|
+
| Variable | Description |
|
|
18
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
+
| `.projectName` | Project name from `--name` or interactive prompt |
|
|
20
|
+
| `.workspaceHost` | Databricks workspace URL |
|
|
21
|
+
| `.profile` | Databricks CLI profile name (empty if using host-based auth) |
|
|
22
|
+
| `.appDescription` | App description |
|
|
23
|
+
| `.packageManager` | Selected package manager (`npm` or `pnpm`). Use `{{or .packageManager "pnpm"}}` to default to pnpm when an older CLI omits this variable. |
|
|
24
|
+
| `.plugins.<name>` | Non-nil for each selected plugin, enabling conditionals |
|
|
25
|
+
| `.dotEnv.content` | Generated `.env` content from plugin resources |
|
|
26
|
+
| `.dotEnv.example` | Generated `.env.example` content with placeholders |
|
|
27
|
+
| `.bundle.*` | Generated `databricks.yml` sections (variables, resources, target variables) |
|
|
28
|
+
| `.appEnv` | Generated `app.yaml` env entries |
|
|
28
29
|
|
|
29
30
|
### Conditional content[](#conditional-content "Direct link to Conditional content")
|
|
30
31
|
|
package/docs/plugins/agents.md
CHANGED
|
@@ -14,6 +14,8 @@ Streaming-capable serving endpoints only
|
|
|
14
14
|
|
|
15
15
|
The agents plugin drives the LLM over Server-Sent Events. Foundation Model APIs (Claude, Llama, GPT, etc.) and other chat-style endpoints support streaming and work out of the box. Custom model endpoints that return a single JSON response (e.g. typical `sklearn` or MLflow `pyfunc` deployments) do **not** stream — pointing an agent at one will fail with "Response body is null — streaming not supported" on the first turn. If you list a serving endpoint in `apps init`, pick one whose model implements the chat-completions streaming protocol; the agents plugin reads its name from `DATABRICKS_SERVING_ENDPOINT_NAME` whenever an agent doesn't pin `model:` itself.
|
|
16
16
|
|
|
17
|
+
`fromModelServing` (the serving-endpoint adapter) uses the OpenAI **chat-completions** streaming protocol, so it drives chat-completions serving endpoints (task type `agent/*/chat`) and Databricks foundation models. An endpoint on the Responses API (task type `agent/*/responses`, e.g. a `ResponsesAgent`) rejects a chat-completions request, so `fromModelServing` can't drive it.
|
|
18
|
+
|
|
17
19
|
For the non-streaming path against a custom endpoint, use the `serving` plugin's `/invoke` route with `useServingInvoke` instead.
|
|
18
20
|
|
|
19
21
|
Or skip serving-endpoint setup entirely with the managed [Supervisor API adapter](#managed-agents-the-supervisor-api-adapter) (beta).
|
|
@@ -163,7 +165,7 @@ Auto-inherit is **off for both origins by default** — a markdown or code agent
|
|
|
163
165
|
|
|
164
166
|
Deprecated: the `agents({ agents: { ... } })` map
|
|
165
167
|
|
|
166
|
-
Passing a hand-built agent map still works and is honored for backward compatibility, but it emits a one-time deprecation warning and will be removed in a future minor. It restates each agent's id (once in `createAgent`, once as the map key); discovery from `server/agents/` removes both the map and the restatement. Migrate by moving each `createAgent(...)` into its own `server/agents/<id>/agent.ts` (default or single named export) and dropping the map. If a discovered agent and a map entry share an id, discovery wins and the map entry is ignored (with a one-time warning). (Inline sub-agents — `createAgent({ agents: { ... } })` on a definition — are unaffected; only the plugin-level map is deprecated.)
|
|
168
|
+
Passing a hand-built agent map still works and is honored for backward compatibility, but it is deprecated as of 0.64.0: it emits a one-time deprecation warning and will be removed in a future minor. It restates each agent's id (once in `createAgent`, once as the map key); discovery from `server/agents/` removes both the map and the restatement. Migrate by moving each `createAgent(...)` into its own `server/agents/<id>/agent.ts` (default or single named export) and dropping the map. If a discovered agent and a map entry share an id, discovery wins and the map entry is ignored (with a one-time warning). (Inline sub-agents — `createAgent({ agents: { ... } })` on a definition — are unaffected; only the plugin-level map is deprecated.)
|
|
167
169
|
|
|
168
170
|
Some examples further down still pass agents inline via this map for snippet brevity — in a real app each of those `createAgent(...)` definitions lives in its own `server/agents/<id>/agent.ts` and needs no map.
|
|
169
171
|
|
|
@@ -33,6 +33,14 @@ await createApp({
|
|
|
33
33
|
|
|
34
34
|
The execution context is determined by the SQL file name, not by the hook call.
|
|
35
35
|
|
|
36
|
+
### Warehouse binding[](#warehouse-binding "Direct link to Warehouse binding")
|
|
37
|
+
|
|
38
|
+
The warehouse is an app resource, not part of the caller's identity. After `createApp()` initializes Analytics, custom plugins can read the binding with `getWarehouseId` from `@databricks/appkit`. It returns a `Promise<string>` and uses the same app warehouse for service-principal and caller executions. Credentials still come from the current execution context.
|
|
39
|
+
|
|
40
|
+
`ServiceContextState.warehouseId` and the old context-module `getWarehouseId` helper are deprecated compatibility accessors. Use the package-root helper for new code. Warehouse environment lookup and development discovery are unchanged.
|
|
41
|
+
|
|
42
|
+
The service-context property is retained for one release with a one-time deprecation warning, then scheduled for removal. Internal callers use the resource accessor already.
|
|
43
|
+
|
|
36
44
|
## SQL parameters[](#sql-parameters "Direct link to SQL parameters")
|
|
37
45
|
|
|
38
46
|
Use `:paramName` placeholders and optionally annotate parameter types using SQL comments:
|
|
@@ -30,6 +30,22 @@ router.post("/system/data", async (req, res) => {
|
|
|
30
30
|
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
+
## Which built-in surfaces run OBO vs service principal[](#which-built-in-surfaces-run-obo-vs-service-principal "Direct link to Which built-in surfaces run OBO vs service principal")
|
|
34
|
+
|
|
35
|
+
The default is the **service principal**: an operation runs on behalf of the user only when it goes through `asUser(req)`, which needs the forwarded user token. There is no global "OBO everywhere" mode, so identity is decided per surface:
|
|
36
|
+
|
|
37
|
+
| Surface | Runs as | Why |
|
|
38
|
+
| ----------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
39
|
+
| Genie routes | signed-in user (OBO) | the built-in route calls `asUser(req)` automatically |
|
|
40
|
+
| Files / Analytics ops via `asUser(req)` | signed-in user (OBO) | service principal by default; OBO only when you wrap the call in `asUser(req)` |
|
|
41
|
+
| Agents plugin `/chat` — the model (LLM) call | app service principal | the chat route does not call `asUser`, and the model adapter is built at startup with the service-principal client |
|
|
42
|
+
| Agents plugin — plugin-toolkit tool calls (`plugin:<name>`) | signed-in user (OBO) | dispatched through `asUser(req)` per call |
|
|
43
|
+
| Agents plugin — hand-rolled `tool({ execute })` | app service principal | receives only tool arguments, no `req`, so it can't opt into OBO |
|
|
44
|
+
| Standalone `runAgent` (no HTTP request) | app service principal | no request context, so neither the model nor any tool runs OBO |
|
|
45
|
+
| Serving plugin (deprecated) routes | signed-in user (OBO) | the built-in route calls `asUser(req)`; prefer the agents plugin |
|
|
46
|
+
|
|
47
|
+
So an agent's **model inference runs as the service principal**; only the plugin tools it calls over the built-in HTTP routes run on behalf of the user. See the [agents plugin](./docs/plugins/agents.md) for the tool-level detail.
|
|
48
|
+
|
|
33
49
|
## Context helper functions[](#context-helper-functions "Direct link to Context helper functions")
|
|
34
50
|
|
|
35
51
|
Exported from `@databricks/appkit`:
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Model Serving plugin
|
|
2
2
|
|
|
3
|
+
Deprecated in favor of the agents plugin
|
|
4
|
+
|
|
5
|
+
`serving()` (`useServingStream` / `useServingInvoke`) is deprecated as of AppKit 0.77.0; for chat and streaming, use the [agents plugin](./docs/plugins/agents.md) (`DatabricksAdapter.fromModelServing` + `useAgentChat`). The agents plugin drives only streaming chat-completions endpoints, so non-streaming custom model endpoints (`sklearn`/`pyfunc`) have no agents equivalent; `/invoke` still serves them until the plugin is removed.
|
|
6
|
+
|
|
3
7
|
Provides an authenticated proxy to [Databricks Model Serving](https://docs.databricks.com/aws/en/machine-learning/model-serving) endpoints, with invoke and streaming support.
|
|
4
8
|
|
|
5
9
|
**Key features:**
|
package/llms.txt
CHANGED
|
@@ -55,7 +55,7 @@ npx @databricks/appkit docs <query>
|
|
|
55
55
|
- [Jobs plugin](./docs/plugins/jobs.md): Trigger and monitor Databricks Lakeflow Jobs from your AppKit application.
|
|
56
56
|
- [Lakebase plugin](./docs/plugins/lakebase.md): Provides a PostgreSQL connection pool for Databricks Lakebase Autoscaling with automatic OAuth token refresh.
|
|
57
57
|
- [Plugin manifest](./docs/plugins/manifest.md): Every plugin ships a manifest.json next to its source code. The manifest declares plugin metadata, the Databricks resources the plugin needs, and any structured rules a scaffolding agent must honor when running databricks apps init. It is consumed at three stages:
|
|
58
|
-
- [Model Serving plugin](./docs/plugins/model-serving.md):
|
|
58
|
+
- [Model Serving plugin](./docs/plugins/model-serving.md): serving() (useServingStream / useServingInvoke) is deprecated as of AppKit 0.77.0; for chat and streaming, use the agents plugin (DatabricksAdapter.fromModelServing + useAgentChat). The agents plugin drives only streaming chat-completions endpoints, so non-streaming custom model endpoints (sklearn/pyfunc) have no agents equivalent; /invoke still serves them until the plugin is removed.
|
|
59
59
|
- [Plugin management](./docs/plugins/plugin-management.md): AppKit includes a CLI for managing plugins. All commands are available under npx @databricks/appkit plugin.
|
|
60
60
|
- [Server plugin](./docs/plugins/server.md): Provides HTTP server capabilities with development and production modes.
|
|
61
61
|
- [Plugin Stability Tiers](./docs/plugins/stability.md): AppKit plugins have a two-tier stability system that communicates API maturity and breaking-change expectations.
|
|
@@ -122,12 +122,15 @@ npx @databricks/appkit docs <query>
|
|
|
122
122
|
- [Function: fromSupervisorApi()](./docs/api/appkit/Function.fromSupervisorApi.md): Creates an AgentAdapter backed by the Databricks AI Gateway
|
|
123
123
|
- [Function: functionToolToDefinition()](./docs/api/appkit/Function.functionToolToDefinition.md): Parameters
|
|
124
124
|
- [Function: generateDatabaseCredential()](./docs/api/appkit/Function.generateDatabaseCredential.md): Generate OAuth credentials for Postgres database connection using the proper Postgres API.
|
|
125
|
+
- [Function: getCurrentActorId()](./docs/api/appkit/Function.getCurrentActorId.md): The initiating user in a caller scope; no user actor exists in service scope.
|
|
126
|
+
- [Function: getCurrentPrincipalKey()](./docs/api/appkit/Function.getCurrentPrincipalKey.md): Get the principal key for future cache keying.
|
|
125
127
|
- [Function: getExecutionContext()](./docs/api/appkit/Function.getExecutionContext.md): Get the current execution context.
|
|
126
128
|
- [Function: getLakebaseOrmConfig()](./docs/api/appkit/Function.getLakebaseOrmConfig.md): Get Lakebase connection configuration for ORMs that don't accept pg.Pool directly.
|
|
127
129
|
- [Function: getLakebasePgConfig()](./docs/api/appkit/Function.getLakebasePgConfig.md): Get Lakebase connection configuration for PostgreSQL clients.
|
|
128
130
|
- [Function: getPluginManifest()](./docs/api/appkit/Function.getPluginManifest.md): Loads and validates the manifest from a plugin constructor.
|
|
129
131
|
- [Function: getResourceRequirements()](./docs/api/appkit/Function.getResourceRequirements.md): Gets the resource requirements from a plugin's manifest.
|
|
130
132
|
- [Function: getUsernameWithApiLookup()](./docs/api/appkit/Function.getUsernameWithApiLookup.md): Resolves the PostgreSQL username for a Lakebase connection.
|
|
133
|
+
- [Function: getWarehouseId()](./docs/api/appkit/Function.getWarehouseId.md): Get the configured SQL warehouse ID after app initialization.
|
|
131
134
|
- [Function: getWorkspaceClient()](./docs/api/appkit/Function.getWorkspaceClient.md): Get workspace client from config or SDK default auth chain
|
|
132
135
|
- [Function: id()](./docs/api/appkit/Function.id.md): Returns
|
|
133
136
|
- [Function: includes()](./docs/api/appkit/Function.includes.md): Passes when the value contains substring.
|
|
@@ -175,6 +178,7 @@ npx @databricks/appkit docs <query>
|
|
|
175
178
|
- [Interface: AutoInheritToolsConfig](./docs/api/appkit/Interface.AutoInheritToolsConfig.md): Auto-inherit configuration. When enabled for a given agent origin, agents
|
|
176
179
|
- [Interface: BasePluginConfig](./docs/api/appkit/Interface.BasePluginConfig.md): Base configuration interface for AppKit plugins
|
|
177
180
|
- [Interface: CacheConfig](./docs/api/appkit/Interface.CacheConfig.md): Configuration for the CacheInterceptor. Controls TTL, size limits, storage backend, and probabilistic cleanup.
|
|
181
|
+
- [Interface: CallerContext](./docs/api/appkit/Interface.CallerContext.md): Caller identity and workspace for one immutable execution scope.
|
|
178
182
|
- [Interface: CustomJudgeSpec](./docs/api/appkit/Interface.CustomJudgeSpec.md): A custom LLM-judge definition: a prompt template and choice→score mapping.
|
|
179
183
|
- [Interface: DatabaseCredential](./docs/api/appkit/Interface.DatabaseCredential.md): Database credentials with OAuth token for Postgres connection
|
|
180
184
|
- [Interface: DatabaseRegistry](./docs/api/appkit/Interface.DatabaseRegistry.md): CANONICAL augmentation target. Empty by default; the generated database.d.ts
|
|
@@ -262,6 +266,7 @@ npx @databricks/appkit docs <query>
|
|
|
262
266
|
- [Type Alias: AgentTools](./docs/api/appkit/TypeAlias.AgentTools.md): Per-agent tool record. String keys map to inline tools, toolkit entries,
|
|
263
267
|
- [Type Alias: AgentToolsFn()](./docs/api/appkit/TypeAlias.AgentToolsFn.md): Function form of AgentDefinition.tools. Receives the typed
|
|
264
268
|
- [Type Alias: BaseSystemPromptOption](./docs/api/appkit/TypeAlias.BaseSystemPromptOption.md)
|
|
269
|
+
- [Type Alias: CallerPrincipal](./docs/api/appkit/TypeAlias.CallerPrincipal.md): The caller identity whose permissions authorize execution, not its resources.
|
|
265
270
|
- [Type Alias: ConfigSchema](./docs/api/appkit/TypeAlias.ConfigSchema.md): Configuration schema definition for plugin config.
|
|
266
271
|
- [Type Alias: DatabaseApiConfig<TSchema>](./docs/api/appkit/TypeAlias.DatabaseApiConfig.md): Full generated CRUD for every declared table by default. Set false to disable
|
|
267
272
|
- [Type Alias: DatabaseApiWriteOperation](./docs/api/appkit/TypeAlias.DatabaseApiWriteOperation.md): Generated HTTP write operations.
|
|
@@ -269,6 +274,7 @@ npx @databricks/appkit docs <query>
|
|
|
269
274
|
- [Type Alias: DatabaseExports](./docs/api/appkit/TypeAlias.DatabaseExports.md): Typed database API published by the plugin.
|
|
270
275
|
- [Type Alias: EntityHooks<TTable>](./docs/api/appkit/TypeAlias.EntityHooks.md): Response shaping and mutation lifecycle declared for one table.
|
|
271
276
|
- [Type Alias: EvalProgress](./docs/api/appkit/TypeAlias.EvalProgress.md)
|
|
277
|
+
- [Type Alias: ExecutionContext](./docs/api/appkit/TypeAlias.ExecutionContext.md)
|
|
272
278
|
- [Type Alias: ExecutionResult<T>](./docs/api/appkit/TypeAlias.ExecutionResult.md): Discriminated union for plugin execution results.
|
|
273
279
|
- [Type Alias: FileAction](./docs/api/appkit/TypeAlias.FileAction.md): Every action the files plugin can perform.
|
|
274
280
|
- [Type Alias: FilePolicy()](./docs/api/appkit/TypeAlias.FilePolicy.md): A policy function that decides whether user may perform action on
|