Skip to content

feat(shared): add a modular Lakebase Postgres client to the workspace client - #668

Open
MarioCadenas wants to merge 1 commit into
feat/modular-agentsfrom
feat/modular-client-postgres
Open

MarioCadenas wants to merge 1 commit into
feat/modular-agentsfrom
feat/modular-client-postgres

Conversation

@MarioCadenas

Copy link
Copy Markdown
Collaborator

Adds @databricks/sdk-postgres (0.52.0, exact pin) as a lazy postgres accessor on the workspace client.

Lakebase uses the autoscaling Postgres API (/api/2.0/postgres: projects, branches, endpoints, credentials). The database client added in #661 covers a different API, the provisioned-instance one at /api/2.0/database, so it can't serve lakebase. This layer adds the matching typed client, and #642 builds on it to read endpoint hosts with postgres.getEndpoint instead of a raw GET.

  • 0.52.0 is the newest version that accepts the stack's sdk-core / sdk-auth / sdk-options 0.51.0. 0.52.1 would need those bumped. (The npm latest tag still points at 0.25.0.)
  • The client is lazy like the others: the SDK module loads on first method call.
  • Tests: builder tests for SP M2M and OBO-as-PAT, plus the mock client entry.

This pull request and its description were written by Isaac.

@MarioCadenas
MarioCadenas requested a review from a team as a code owner October 13, 2026 15:42
@MarioCadenas
MarioCadenas requested review from calvarjorge and removed request for a team October 13, 2026 15:42
@MarioCadenas
MarioCadenas added this pull request to stack #669 October 13, 2026 15:48
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

📦 Bundle size report

Compared against bundle-size-baseline.json (main).

@databricks/appkit

npm tarball (packed): 1.2 MB (+30 KB) — gzipped download (dist + bin; excludes release-only docs/NOTICE).

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 (+57 KB) 857 KB (+19 KB)
Other 11 KB 3.7 KB
Total 4.2 MB (+93 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)
. 105 KB (+3.3 KB) 2.5 KB (+1 B) 108 KB (+3.3 KB) external 341 KB (+9.4 KB)
./beta 102 KB (+3.1 KB) 486 B (+1 B) 102 KB (+3.2 KB) external 306 KB (+8.2 KB)
./testing 45 KB (+2.7 KB) 32 KB (-2 B) 77 KB (+2.7 KB) external 222 KB (+7.5 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 31 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

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🤖 AppKit PR bot

🔬 Run evals

Start an eval for this PR from the evals-monitor app: Go to Evals Monitor →

📦 Try this PR's app template

Scaffolds a new app from this PR's SDK build. Run it in any folder (requires the GitHub CLI — gh auth login — and the Databricks CLI):

gh run download 38918768397 -R databricks/appkit -n appkit-template-0.88.1-pr.48a045d-feat-modular-client-postgres-668 -D appkit-pr-668 \
  && unzip -o "appkit-pr-668/appkit-template-0.88.1-pr.48a045d-feat-modular-client-postgres-668.zip" -d "appkit-pr-668" \
  && databricks apps init --template "appkit-pr-668"

The template pins @databricks/appkit and @databricks/appkit-ui to tarballs built from this branch, so the scaffolded app runs against this PR's code.

@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-postgres branch from a1bb282 to b5ba1d9 Compare October 14, 2026 14:21
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-postgres branch 2 times, most recently from 83506c7 to ee23ec3 Compare October 15, 2026 16:29
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-postgres branch from ee23ec3 to 2820b88 Compare October 16, 2026 09:15
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-postgres branch from 2820b88 to 8fda791 Compare October 16, 2026 10:21
… client

Adds @databricks/sdk-postgres as a lazy `postgres` accessor for the
autoscaling Lakebase API (/api/2.0/postgres: projects, branches, endpoints,
credentials), which the provisioned-instance database client does not cover.

Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-postgres branch from 8fda791 to e2139a0 Compare October 16, 2026 14:46

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants