Repository navigation
feat(shared): migrate the appkit CLI off the legacy workspace client - #643
Merged
Merged
Conversation
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 8, 2026 14:37
3cbb637 to
74aa464
Compare
MarioCadenas
changed the base branch from
feat/modular-sdk-integration
to
feat/modular-lakebase
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 (+32 KB) | 458 KB (+11 KB) |
| Type declarations | 465 KB (+9.3 KB) | 169 KB (+3.2 KB) |
| Source maps | 2.5 MB (+67 KB) | 858 KB (+21 KB) |
| Other | 11 KB | 3.7 KB |
| Total | 4.2 MB (+107 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 (+10 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.2 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.1 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 | 652 B |
./beta |
index.js |
initial | 20 B |
./beta |
supervisor-api.js |
lazy | 192 B |
./beta |
databricks.js |
lazy | 176 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 (+630 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.2 KB) | 99 KB (+421 B) |
| Source maps | 853 KB (+314 B) | 286 KB (+143 B) |
| CSS | 16 KB | 3.2 KB |
| Total | 1.5 MB (+1.7 KB) | 534 KB (+672 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-cli
branch
from
October 9, 2026 13:48
74aa464 to
2c28e4b
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 38918731191 -R databricks/appkit -n appkit-template-0.88.1-pr.7350ba3-feat-modular-cli-643 -D appkit-pr-643 \
&& unzip -o "appkit-pr-643/appkit-template-0.88.1-pr.7350ba3-feat-modular-cli-643.zip" -d "appkit-pr-643" \
&& databricks apps init --template "appkit-pr-643"The template pins |
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 9, 2026 15:07
2c28e4b to
ec373ac
Compare
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 9, 2026 18:15
ec373ac to
1dfe026
Compare
MarioCadenas
removed this pull request from stack #636
October 13, 2026 08:32
MarioCadenas
changed the base branch from
feat/modular-lakebase
to
feat/modular-client-apps
October 13, 2026 08:32
MarioCadenas
added this pull request to stack #664
October 13, 2026 08:33
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 13, 2026 09:01
1dfe026 to
48f9aa0
Compare
MarioCadenas
marked this pull request as ready for review
October 13, 2026 10:44
MarioCadenas
force-pushed
the
feat/modular-cli
branch
2 times, most recently
from
October 13, 2026 14:14
0b34fbf to
e3f0736
Compare
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 13, 2026 14:32
e3f0736 to
332f6aa
Compare
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 13, 2026 15:41
332f6aa to
3517a33
Compare
MarioCadenas
removed this pull request from stack #664
October 13, 2026 15:47
MarioCadenas
added this pull request to stack #669
October 13, 2026 15:48
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 14, 2026 14:21
3517a33 to
fa8b4c9
Compare
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 14, 2026 14:35
fa8b4c9 to
f8ff836
Compare
MarioCadenas
force-pushed
the
feat/modular-cli
branch
2 times, most recently
from
October 16, 2026 09:15
91622be to
f4f2c1f
Compare
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 16, 2026 10:21
f4f2c1f to
e88fff5
Compare
doctor and the registry picker now use the facade's modular clients (warehouses, jobs, genie, currentUser) and its raw request() seam for services with no modular client yet (serving, volumes, vector search, UC functions, connections, database, experiments, apps). - Profile host is read via sdk-core profiles resolve (disableEnv), exposed from the facade as resolveProfile. - Resolved host comes from getHost(), which needs no network, so it is also shown when credentials are rejected. The ConfigError host= parsing is gone. - Existence probes classify both ApiError shapes (statusCode/errorCode and httpStatusCode/code), so NOT_FOUND/INVALID_VALUE/ACCESS_DENIED are kept. - Auth hints also match the sdk-core "profile not found" and "Host is required" messages. - The Lakebase probe hands createLakebasePool a legacy-shaped adapter, since that package calls currentUser.me() with no argument. Co-authored-by: Isaac <no-reply@databricks.com> Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
…lient
doctor's vector_search_index probe now calls vectorSearch.getVectorIndex({ name })
instead of a raw GET through request(). Its modular ApiError is already classified.
Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
doctor probes and registry picker lists no longer call REST through
request(); each uses its facade accessor:
- serving get/list: modelServing.getInferenceEndpoint / listInferenceEndpoints
- volume read: volumes.getVolume({ fullNameArg })
- function get: functions.getFunction({ fullNameArg })
- connections, database instances, experiments, apps: list*Iter({})
Picker label/id fields follow the camelCase models (fullName,
experimentId). Error classification is unchanged.
Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
MarioCadenas
force-pushed
the
feat/modular-cli
branch
from
October 16, 2026 14:46
e88fff5 to
29621c4
Compare
atilafassina
approved these changes
Oct 16, 2026
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(shared): migrate the appkit CLI off the legacy workspace client
doctor and the registry picker now use the facade's modular clients
(warehouses, jobs, genie, currentUser) and its raw request() seam for
services with no modular client yet (serving, volumes, vector search,
UC functions, connections, database, experiments, apps).
from the facade as resolveProfile.
also shown when credentials are rejected. The ConfigError host= parsing
is gone.
httpStatusCode/code), so NOT_FOUND/INVALID_VALUE/ACCESS_DENIED are kept.
required" messages.
since that package calls currentUser.me() with no argument.
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.