Repository navigation
feat: drop @databricks/sdk-experimental from @databricks/lakebase - #642
Open
MarioCadenas wants to merge 5 commits into
Open
MarioCadenas wants to merge 5 commits into
MarioCadenas wants to merge 5 commits into
Conversation
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 8, 2026 14:37
b17efc2 to
5fc3b68
Compare
MarioCadenas
changed the base branch from
feat/modular-sdk-integration
to
feat/modular-agents
October 8, 2026 14:38
MarioCadenas
added this pull request to stack #636
October 8, 2026 14:38
Contributor
📦 Bundle size reportCompared against
|
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 1.3 MB (+28 KB) | 458 KB (+11 KB) |
| Type declarations | 463 KB (+7.8 KB) | 168 KB (+2.9 KB) |
| Source maps | 2.5 MB (+58 KB) | 857 KB (+20 KB) |
| Other | 11 KB | 3.7 KB |
| Total | 4.2 MB (+94 KB) | 1.5 MB (+33 KB) |
Per-entry composition (own code — deps external (as shipped))
| Entry | Initial (gz) | Lazy (gz) | Total (gz) | node_modules (min) | Own code (min) |
|---|---|---|---|---|---|
. |
106 KB (+3.8 KB) | 2.5 KB (+1 B) | 108 KB (+3.8 KB) | external | 343 KB (+11 KB) |
./beta |
102 KB (+3.7 KB) | 486 B (+1 B) | 103 KB (+3.7 KB) | external | 307 KB (+9.8 KB) |
./testing |
45 KB (+3.2 KB) | 32 KB (-2 B) | 77 KB (+3.2 KB) | external | 224 KB (+8.8 KB) |
./tsdown |
520 B | 0 B | 520 B | external | 813 B |
./type-generator |
26 KB (+2.6 KB) | 0 B | 26 KB (+2.6 KB) | external | 74 KB (+7.1 KB) |
Chunks:
| Entry | Chunk | Load | Size (gz) |
|---|---|---|---|
. |
index.js |
initial | 101 KB |
. |
utils.js |
initial | 4.6 KB |
. |
remote-tunnel-manager.js |
lazy | 2.5 KB |
./beta |
beta.js |
initial | 82 KB |
./beta |
stream-manager.js |
initial | 5.9 KB |
./beta |
modular.js |
initial | 5.8 KB |
./beta |
service-context.js |
initial | 4.2 KB |
./beta |
databricks.js |
initial | 3.3 KB |
./beta |
client.js |
initial | 653 B |
./beta |
index.js |
initial | 20 B |
./beta |
supervisor-api.js |
lazy | 192 B |
./beta |
databricks.js |
lazy | 179 B |
./beta |
index.js |
lazy | 115 B |
./testing |
manifest.js |
initial | 32 KB |
./testing |
index.js |
initial | 10 KB |
./testing |
wide-event-emitter.js |
initial | 2.9 KB |
./testing |
index.js |
lazy | 28 KB |
./testing |
remote-tunnel-manager.js |
lazy | 2.5 KB |
./testing |
utils.js |
lazy | 1.8 KB |
./tsdown |
index.js |
initial | 520 B |
./type-generator |
index.js |
initial | 26 KB |
@databricks/appkit-ui
npm tarball (packed): 397 KB (+579 B) — gzipped download (dist + bin; excludes release-only docs/NOTICE).
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 429 KB (+235 B) | 147 KB (+108 B) |
| Type declarations | 267 KB (+887 B) | 99 KB (+371 B) |
| Source maps | 853 KB (+314 B) | 286 KB (+143 B) |
| CSS | 16 KB | 3.2 KB |
| Total | 1.5 MB (+1.4 KB) | 534 KB (+622 B) |
Per-entry composition (consumer bundle — deps bundled, peerDeps external)
| Entry | Initial (gz) | Lazy (gz) | Total (gz) | node_modules (min) | Own code (min) |
|---|---|---|---|---|---|
./js |
5.3 KB | 49 KB | 55 KB | 208 KB | 14 KB |
./js/beta |
2.1 KB | 0 B | 2.1 KB | 0 B | 5.0 KB |
./react |
433 KB (+12 B) | 49 KB | 481 KB (+12 B) | 1.3 MB | 177 KB (+41 B) |
./react/beta |
4.9 KB | 0 B | 4.9 KB | 0 B | 12 KB |
Chunks:
| Entry | Chunk | Load | Size (gz) |
|---|---|---|---|
./js |
index.js |
initial | 5.2 KB |
./js |
chunk |
initial | 120 B |
./js |
apache-arrow |
lazy | 49 KB |
./js/beta |
beta.js |
initial | 2.1 KB |
./react |
index.js |
initial | 431 KB |
./react |
tslib |
initial | 2.1 KB |
./react |
apache-arrow |
lazy | 49 KB |
./react/beta |
beta.js |
initial | 4.9 KB |
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 9, 2026 13:48
5fc3b68 to
c51b470
Compare
Contributor
🤖 AppKit PR bot🔬 Run evalsStart an eval for this PR from the evals-monitor app: Go to Evals Monitor → 📦 Try this PR's app templateScaffolds a new app from this PR's SDK build. Run it in any folder (requires the GitHub CLI — gh run download 38918707769 -R databricks/appkit -n appkit-template-0.88.1-pr.167ffac-feat-modular-lakebase-642 -D appkit-pr-642 \
&& unzip -o "appkit-pr-642/appkit-template-0.88.1-pr.167ffac-feat-modular-lakebase-642.zip" -d "appkit-pr-642" \
&& databricks apps init --template "appkit-pr-642"The template pins |
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 9, 2026 15:07
c51b470 to
5246761
Compare
MarioCadenas
removed this pull request from stack #636
October 13, 2026 08:32
MarioCadenas
added this pull request to stack #664
October 13, 2026 08:33
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 13, 2026 09:01
5246761 to
b93a9e5
Compare
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 13, 2026 13:03
b93a9e5 to
7225b69
Compare
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 13, 2026 14:14
7225b69 to
0aad830
Compare
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
2 times, most recently
from
October 13, 2026 15:41
278221f to
82f9959
Compare
MarioCadenas
removed this pull request from stack #664
October 13, 2026 15:47
MarioCadenas
changed the base branch from
feat/modular-agents
to
feat/modular-client-postgres
October 13, 2026 15:47
MarioCadenas
added this pull request to stack #669
October 13, 2026 15:48
MarioCadenas
marked this pull request as ready for review
October 13, 2026 16:12
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 14, 2026 14:21
1dbb5d5 to
a49a734
Compare
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 14, 2026 14:35
a49a734 to
a11556c
Compare
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 15, 2026 16:29
a11556c to
f18cece
Compare
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 16, 2026 09:15
f18cece to
f80ebdc
Compare
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 16, 2026 10:21
f80ebdc to
f5706e4
Compare
Lakebase now takes a structural workspace client: either the legacy WorkspaceClient shape (currentUser.me + apiClient.request) or anything with an authenticated request() (the AppKit modular client). Credential generation and the SCIM Me lookup go through request() when present. The default client (no workspaceClient passed) uses the modular sdk-core profile resolution and sdk-auth default credentials, loaded via dynamic import so the CJS build keeps working with the ESM-only SDK. Token refresh timing and caching are unchanged. Co-authored-by: Isaac <no-reply@databricks.com> Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
The lakebase plugin and initializeLakebasePool hand the AppKit client to @databricks/lakebase directly instead of toLegacyWorkspaceClient(). Co-authored-by: Isaac <no-reply@databricks.com> Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
…res client The PGHOST check now calls postgres.getEndpoint on the AppKit workspace client instead of a raw GET, keeping the raw request and legacy paths for other clients. A 404 from the typed client's ApiError (httpStatusCode) is still treated as a missing endpoint. Co-authored-by: Isaac <no-reply@databricks.com> Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
Lakebase's request-capable client type gains an optional `postgres` (the subset of sdk-postgres PostgresClient it uses). When present, credentials go through postgres.generateDatabaseCredential, mapping the snake_case public request to the camelCase model and expireTime back to an ISO string. Claims using unspecified_resource_name fall back to the raw request: the typed model only has tableName and would drop them. The endpoint host check drops its raw request() branch and the cast; a request-only client now skips verification with a warning. Co-authored-by: Isaac <no-reply@databricks.com> Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
AppKit's workspace client types its raw request headers as Headers, so the request type and its callers now use Headers too. Co-authored-by: Isaac <no-reply@databricks.com> Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
MarioCadenas
force-pushed
the
feat/modular-lakebase
branch
from
October 16, 2026 14:46
f5706e4 to
162c59f
Compare
atilafassina
approved these changes
Oct 16, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the migration off
@databricks/sdk-experimentalonto the modular@databricks/sdk-*SDK (see #562). Base:feat/modular-sdk-integration.Changes
feat: drop @databricks/sdk-experimental from @databricks/lakebase
Lakebase now takes a structural workspace client: either the legacy
WorkspaceClient shape (currentUser.me + apiClient.request) or anything with an
authenticated request() (the AppKit modular client). Credential generation and
the SCIM Me lookup go through request() when present.
The default client (no workspaceClient passed) uses the modular sdk-core
profile resolution and sdk-auth default credentials, loaded via dynamic
import so the CJS build keeps working with the ESM-only SDK.
Token refresh timing and caching are unchanged.
feat(appkit): pass the modular workspace client to lakebase
The lakebase plugin and initializeLakebasePool hand the AppKit client to
@databricks/lakebase directly instead of toLegacyWorkspaceClient().
Draft: implemented by an agent; needs review and a deployed SP + OBO check before it's marked ready.
This pull request and its description were written by Isaac.