Skip to content

feat(shared): add a modular Experiments client to the workspace client - #662

Merged
MarioCadenas merged 2 commits into
feat/modular-client-databasefrom
feat/modular-client-experiments
Oct 19, 2026
Merged

MarioCadenas merged 2 commits into
feat/modular-client-databasefrom
feat/modular-client-experiments

Conversation

@MarioCadenas

Copy link
Copy Markdown
Collaborator

Stack created with GitHub Stacks CLI • Give Feedback 💬

@MarioCadenas
MarioCadenas added this pull request to stack #664 October 13, 2026 08:33
@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 (+32 KB) — gzipped download (dist + bin; excludes release-only docs/NOTICE).

dist raw gzip
JS (runtime) 1.3 MB (+31 KB) 458 KB (+11 KB)
Type declarations 465 KB (+9.1 KB) 168 KB (+3.2 KB)
Source maps 2.5 MB (+65 KB) 858 KB (+21 KB)
Other 11 KB 3.7 KB
Total 4.2 MB (+105 KB) 1.5 MB (+35 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 (+4.0 KB) 2.5 KB (+1 B) 109 KB (+4.0 KB) external 344 KB (+12 KB)
./beta 102 KB (+3.9 KB) 483 B (-2 B) 103 KB (+3.9 KB) external 308 KB (+11 KB)
./testing 45 KB (+3.5 KB) 32 KB (-2 B) 78 KB (+3.5 KB) external 225 KB (+9.9 KB)
./tsdown 520 B 0 B 520 B external 813 B
./type-generator 26 KB (+2.9 KB) 0 B 26 KB (+2.9 KB) external 75 KB (+8.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 modular.js initial 6.0 KB
./beta stream-manager.js initial 5.9 KB
./beta service-context.js initial 4.2 KB
./beta databricks.js initial 3.3 KB
./beta client.js initial 654 B
./beta index.js initial 20 B
./beta supervisor-api.js lazy 191 B
./beta databricks.js lazy 177 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 (+622 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 (+1.1 KB) 99 KB (+412 B)
Source maps 853 KB (+314 B) 286 KB (+143 B)
CSS 16 KB 3.2 KB
Total 1.5 MB (+1.6 KB) 534 KB (+663 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 38918729407 -R databricks/appkit -n appkit-template-0.88.1-pr.84a858b-feat-modular-client-experiments-662 -D appkit-pr-662 \
  && unzip -o "appkit-pr-662/appkit-template-0.88.1-pr.84a858b-feat-modular-client-experiments-662.zip" -d "appkit-pr-662" \
  && databricks apps init --template "appkit-pr-662"

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-experiments branch from 3fedc26 to 630bd9a Compare October 13, 2026 09:01
@MarioCadenas MarioCadenas changed the title feat/modular client experiments feat(shared): add a modular Experiments client to the workspace client Oct 13, 2026
@MarioCadenas
MarioCadenas marked this pull request as ready for review October 13, 2026 10:41
@MarioCadenas
MarioCadenas requested a review from a team as a code owner October 13, 2026 10:41
@MarioCadenas
MarioCadenas requested a review from ditadi October 13, 2026 10:41
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-experiments branch from 630bd9a to e1dfb69 Compare October 13, 2026 13:03
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-experiments branch from e1dfb69 to d2687a0 Compare October 13, 2026 14:14
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-experiments branch from d2687a0 to 1626623 Compare October 13, 2026 14:32
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-experiments branch from 1626623 to ebcb142 Compare October 13, 2026 15:41
@MarioCadenas
MarioCadenas removed this pull request from stack #664 October 13, 2026 15:47
@MarioCadenas
MarioCadenas added this pull request to stack #669 October 13, 2026 15:48
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-experiments branch 3 times, most recently from 1e3e762 to 6d868d7 Compare October 15, 2026 16:29
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-experiments branch from 6d868d7 to 2e9e4c5 Compare October 16, 2026 09:15
@MarioCadenas
MarioCadenas force-pushed the feat/modular-client-experiments branch from 2e9e4c5 to a5c301f Compare October 16, 2026 10:21
MarioCadenas and others added 2 commits October 16, 2026 16:43
Add buildExperimentsClient (@databricks/sdk-experiments 0.52.0, pinned) and a
lazily built `experiments` accessor on the facade, so the CLI can list MLflow
experiments through a typed client instead of raw request().

Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
…ads under Node ESM

@mlflow/core 0.4.0 has no exports map, so Node ESM rejects the extensionless
deep imports (ERR_MODULE_NOT_FOUND). UC auto-detect fell back to classic, then
the exporter import failed and tracing was disabled behind a misleading
"requires the optional @mlflow/core package" warning. vitest adds extensions,
so unit tests never caught it.

Only warn about the missing package when the bare import fails; a failed deep
import now logs its real error. Add a test that resolves the deep imports in a
child node process.

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-experiments branch from a5c301f to c2f1d6a Compare October 16, 2026 14:46
@MarioCadenas
MarioCadenas merged commit e3079c5 into main Oct 19, 2026
21 of 24 checks passed
@MarioCadenas
MarioCadenas deleted the feat/modular-client-experiments branch October 19, 2026 11:16
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