Skip to content

appkit

AppKit runtime glue: the auto-configuring createApp drop-in, plus the per-request execution context helpers and types derived from it.

createApp runs dbx-tools auto-configuration, then delegates to AppKit’s own createApp with the same arguments and the same typed plugin-export map. Drop it in as a one-for-one replacement:

import { lakebase, server } from "@databricks/appkit";
import { appkit } from "@dbx-tools/appkit";
await appkit.createApp({ plugins: [server(), lakebase()] });

Auto-configuration runs BEFORE delegating so plugins see a fully populated process.env during their synchronous setup(). Lakebase Postgres runs when a lakebase plugin is present, or when AutoConfigureMode is set explicitly on the config object.

getExecutionContext() is AppKit’s own accessor for the OBO-scoped workspace client + request metadata; the wrappers here make it safe to call outside a request scope (tryGetExecutionContext) and to lazily boot a bare app (ensureInitialized), and re-export the derived types so add-on packages can type a context / client without re-deriving them inline.