Repository navigation
Conversation
Contributor
📦 Bundle size reportCompared against
|
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 1.3 MB (-7.9 KB) | 458 KB (-2.0 KB) |
| Type declarations | 473 KB (+8.6 KB) | 171 KB (+2.8 KB) |
| Source maps | 2.5 MB (-3.4 KB) | 859 KB (+91 B) |
| Other | 11 KB | 3.7 KB |
| Total | 4.2 MB (-2.8 KB) | 1.5 MB (+958 B) |
Per-entry composition (own code — deps external (as shipped))
| Entry | Initial (gz) | Lazy (gz) | Total (gz) | node_modules (min) | Own code (min) |
|---|---|---|---|---|---|
. |
106 KB | 2.5 KB | 109 KB | external | 344 KB |
./beta |
102 KB (-879 B) | 482 B | 103 KB (-879 B) | external | 307 KB (-3.3 KB) |
./testing |
45 KB | 32 KB | 77 KB | external | 223 KB |
./tsdown |
520 B | 0 B | 520 B | external | 813 B |
./type-generator |
26 KB | 0 B | 26 KB | external | 74 KB |
Chunks:
| Entry | Chunk | Load | Size (gz) |
|---|---|---|---|
. |
index.js |
initial | 102 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 | 176 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): 395 KB (-2.4 KB) — gzipped download (dist + bin; excludes release-only docs/NOTICE).
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 427 KB (-1.9 KB) | 146 KB (-774 B) |
| Type declarations | 266 KB (-920 B) | 98 KB (-223 B) |
| Source maps | 849 KB (-4.5 KB) | 284 KB (-1.4 KB) |
| CSS | 16 KB | 3.2 KB |
| Total | 1.5 MB (-7.3 KB) | 531 KB (-2.4 KB) |
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 | 49 KB | 481 KB | 1.3 MB | 177 KB |
./react/beta |
4.7 KB (-199 B) | 0 B | 4.7 KB (-199 B) | 0 B | 12 KB (-561 B) |
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.7 KB |
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 42205549133 -R databricks/appkit -n appkit-template-0.90.0-pr.34587c7-stack-database-stable-02-operation-definitions-688 -D appkit-pr-688 \
&& unzip -o "appkit-pr-688/appkit-template-0.90.0-pr.34587c7-stack-database-stable-02-operation-definitions-688.zip" -d "appkit-pr-688" \
&& databricks apps init --template "appkit-pr-688"The template pins |
ditadi
force-pushed
the
stack/database-stable/02-operation-definitions
branch
from
October 26, 2026 10:41
3bad942 to
6c6896b
Compare
ditadi
marked this pull request as ready for review
October 28, 2026 11:05
ditadi
requested review from
MarioCadenas and
atilafassina
and removed request for
atilafassina
October 28, 2026 11:05
ditadi
force-pushed
the
stack/database-stable/02-operation-definitions
branch
from
November 3, 2026 15:18
0a8f15f to
cee639c
Compare
This was referenced Nov 3, 2026
ditadi
force-pushed
the
stack/database-stable/02-operation-definitions
branch
from
November 4, 2026 19:15
cee639c to
2f3d66c
Compare
ditadi
force-pushed
the
stack/database-stable/02-operation-definitions
branch
from
November 4, 2026 20:06
2f3d66c to
2f5c59f
Compare
Add defineOperation and definePolicy to @databricks/appkit/beta. A required, unique name identifies each operation, and the entity and method infer its default input and output. The declaration validator rejects malformed and duplicate operations and skips those without authorization. Nothing registers or serves an operation yet. Signed-off-by: ditadi <victordperd@gmail.com>
Signed-off-by: ditadi <victordperd@gmail.com>
…finitions defineOperation no longer takes an entity, and an operation without an output schema types its execute result as void, or null on GET, PATCH, and PUT for a missing record, instead of inferring a row from a table. The metadata validator stops checking entities, and the definePolicy and PolicyContext comments say the resource lookup receives the actor like every other callback. Co-authored-by: Isaac <no-reply@databricks.com> Signed-off-by: ditadi <victordperd@gmail.com>
ditadi
force-pushed
the
stack/database-stable/02-operation-definitions
branch
from
November 6, 2026 10:49
2f5c59f to
ca978b6
Compare
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.
What did you change, and why?
Named operations let an app declare who may call each database action. Inputs are explicit contracts: omitting
inputmeans no parameters, so a list or count does not needz.object({})just to disable an inferred{ id }input. Outputs are explicit too: omittingoutputmeans no body.defineOperation({ name, method, authorize, execute, input?, output? })anddefinePolicyto@databricks/appkit/beta.undefinedandOperationWireInputisvoid, for every method.input.id, or use a policy requiring parameters, until its operation declares an input schema. Explicit schemas can refine or transform values.outputschema an operation answers no body.executemust resolve to nothing, or tonullon GET, PATCH, or PUT, andOperationWireOutputisvoid. Returning a row, a boolean, ornullon POST without anoutputis a type error. A Zodoutputdeclares the response and is its public projection.skipLibCheck.Nothing loads or serves an operation in this layer.
Interface
definePolicysupports actor/input decisions or a resource lookup followed by an allow decision. The lookup receives the same context as every callback,actorincluded. Only literaltrueadmits. A resource lookup that returns null or undefined ends the request before allow or execute runs. Definition freezes a descriptor and performs no I/O.Validation
The definition/metadata tests and type probes pass (17 tests). Probes check explicit inputs, omitted inputs across all methods, incompatible resource policies, omitted outputs (a row, a boolean, or
nullon POST withoutoutputfails), and built public declarations withoutskipLibCheck. The package build and documentation build pass.Stack
#683 → #687 → #688 → #689 → #690 → #691 → #692
Design: #683. Previous layer: #687. Next layer: #689.
Review feedback:
refactor(appkit): drop entities and default outputs from operation definitionsremovesentityand the default output types, and documents the actor in policy lookups.Stack created with GitHub Stacks CLI • Give Feedback 💬