Skip to content

feat(appkit): identify outbound requests as databricks-appkit - #676

Merged
MarioCadenas merged 1 commit into
feat/modular-remove-legacy-sdkfrom
feat/appkit-user-agent-rename
Oct 19, 2026
Merged

MarioCadenas merged 1 commit into
feat/modular-remove-legacy-sdkfrom
feat/appkit-user-agent-rename

Conversation

@MarioCadenas

@MarioCadenas MarioCadenas commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Changes the User-Agent product segment AppKit stamps on outbound Databricks requests from @databricks/appkit/<version> (the npm package name) to databricks-appkit/<version>.

Changes

  • packages/appkit/src/context/client-options.ts: the product name is now the constant databricks-appkit instead of package.json's name. This single source feeds the modular SDK transport (getClientOptions()) and APPKIT_USER_AGENT (agents adapter and MCP raw fetches).
  • packages/shared/src/workspace-client/modular.ts: comment updates (new example, corrected setProduct rationale, stale return note).
  • Tests updated to assert databricks-appkit.

Dashboards

Databricks-side dashboards that match on the old @databricks/appkit/<version> string need to follow the new one. That update is tracked separately.

Test plan

  • UA wire integration test against a real local server sees databricks-appkit/<version> (and fails on the old code)
  • pnpm -r typecheck, lint, format
  • Unit tests: 5676 passed

This pull request and its description were written by Isaac.

The User-Agent product segment changes from `@databricks/appkit/<version>`
(the npm package name) to `databricks-appkit/<version>`. It covers the
modular SDK transport and the raw fetch callers (agents adapter, MCP).

Databricks-side dashboards that match the old string need to follow the new
one; that update is tracked separately.

Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
@MarioCadenas
MarioCadenas requested a review from a team as a code owner October 19, 2026 09:20
@MarioCadenas
MarioCadenas requested review from pkosiec and removed request for a team October 19, 2026 09:20
@MarioCadenas
MarioCadenas added this pull request to stack #669 October 19, 2026 09:21
@github-actions

Copy link
Copy Markdown
Contributor

📦 Bundle size report

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

@databricks/appkit

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

dist raw gzip
JS (runtime) 1.3 MB (+28 KB) 457 KB (+9.9 KB)
Type declarations 464 KB (+8.0 KB) 168 KB (+2.8 KB)
Source maps 2.5 MB (+56 KB) 855 KB (+18 KB)
Other 11 KB 3.7 KB
Total 4.2 MB (+93 KB) 1.4 MB (+30 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.9 KB) 2.5 KB (+1 B) 108 KB (+3.9 KB) external 343 KB (+12 KB)
./beta 102 KB (+3.8 KB) 483 B (-2 B) 103 KB (+3.8 KB) external 308 KB (+11 KB)
./testing 45 KB (+3.1 KB) 32 KB (-2 B) 77 KB (+3.1 KB) external 223 KB (+8.7 KB)
./tsdown 520 B 0 B 520 B external 813 B
./type-generator 26 KB (+2.8 KB) 0 B 26 KB (+2.8 KB) external 74 KB (+7.9 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 647 B
./beta index.js initial 20 B
./beta supervisor-api.js lazy 192 B
./beta databricks.js lazy 177 B
./beta index.js lazy 114 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 (+497 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 (+983 B) 98 KB (+225 B)
Source maps 853 KB (+314 B) 286 KB (+143 B)
CSS 16 KB 3.2 KB
Total 1.5 MB (+1.5 KB) 534 KB (+476 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

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 39229343951 -R databricks/appkit -n appkit-template-0.88.1-pr.a3dc490-feat-appkit-user-agent-rename-676 -D appkit-pr-676 \
  && unzip -o "appkit-pr-676/appkit-template-0.88.1-pr.a3dc490-feat-appkit-user-agent-rename-676.zip" -d "appkit-pr-676" \
  && databricks apps init --template "appkit-pr-676"

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 merged commit 6460f6d into main Oct 19, 2026
12 checks passed
@MarioCadenas
MarioCadenas deleted the feat/appkit-user-agent-rename 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