@databricks/appkit 0.11.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +4 -0
- package/NOTICE.md +1 -0
- package/dist/_virtual/_rolldown/runtime.js +0 -2
- package/dist/appkit/package.js +1 -1
- package/dist/connectors/genie/client.js +208 -0
- package/dist/connectors/genie/client.js.map +1 -0
- package/dist/connectors/genie/defaults.js +10 -0
- package/dist/connectors/genie/defaults.js.map +1 -0
- package/dist/connectors/genie/index.js +5 -0
- package/dist/connectors/genie/poll-waiter.js +54 -0
- package/dist/connectors/genie/poll-waiter.js.map +1 -0
- package/dist/connectors/genie/types.d.ts +11 -0
- package/dist/connectors/genie/types.d.ts.map +1 -0
- package/dist/connectors/index.js +4 -0
- package/dist/context/execution-context.d.ts.map +1 -1
- package/dist/context/execution-context.js +6 -1
- package/dist/context/execution-context.js.map +1 -1
- package/dist/context/service-context.d.ts +2 -2
- package/dist/context/service-context.d.ts.map +1 -1
- package/dist/context/service-context.js +5 -4
- package/dist/context/service-context.js.map +1 -1
- package/dist/context/user-context.d.ts +2 -2
- package/dist/context/user-context.d.ts.map +1 -1
- package/dist/context/user-context.js.map +1 -1
- package/dist/core/appkit.d.ts.map +1 -1
- package/dist/core/appkit.js +3 -1
- package/dist/core/appkit.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/logging/index.js +16 -0
- package/dist/plugins/genie/defaults.js +13 -0
- package/dist/plugins/genie/defaults.js.map +1 -0
- package/dist/plugins/genie/genie.d.ts +44 -0
- package/dist/plugins/genie/genie.d.ts.map +1 -0
- package/dist/plugins/genie/genie.js +141 -0
- package/dist/plugins/genie/genie.js.map +1 -0
- package/dist/plugins/genie/index.js +4 -0
- package/dist/plugins/genie/manifest.js +11 -0
- package/dist/plugins/genie/manifest.js.map +1 -0
- package/dist/plugins/genie/manifest.json +43 -0
- package/dist/plugins/genie/types.d.ts +14 -0
- package/dist/plugins/genie/types.d.ts.map +1 -0
- package/dist/plugins/index.js +3 -0
- package/dist/plugins/lakebase/manifest.json +1 -1
- package/dist/registry/types.generated.js.map +1 -1
- package/dist/shared/src/genie.d.ts +48 -0
- package/dist/shared/src/genie.d.ts.map +1 -0
- package/docs/docs/api/appkit/Class.AppKitError/index.html +2 -2
- package/docs/docs/api/appkit/Class.AuthenticationError/index.html +2 -2
- package/docs/docs/api/appkit/Class.ConfigurationError/index.html +2 -2
- package/docs/docs/api/appkit/Class.ConnectionError/index.html +2 -2
- package/docs/docs/api/appkit/Class.ExecutionError/index.html +2 -2
- package/docs/docs/api/appkit/Class.InitializationError/index.html +2 -2
- package/docs/docs/api/appkit/Class.Plugin/index.html +2 -2
- package/docs/docs/api/appkit/Class.ResourceRegistry/index.html +2 -2
- package/docs/docs/api/appkit/Class.ServerError/index.html +2 -2
- package/docs/docs/api/appkit/Class.TunnelError/index.html +2 -2
- package/docs/docs/api/appkit/Class.ValidationError/index.html +2 -2
- package/docs/docs/api/appkit/Enumeration.RequestedClaimsPermissionSet/index.html +2 -2
- package/docs/docs/api/appkit/Enumeration.ResourceType/index.html +2 -2
- package/docs/docs/api/appkit/Function.appKitTypesPlugin/index.html +2 -2
- package/docs/docs/api/appkit/Function.createApp/index.html +2 -2
- package/docs/docs/api/appkit/Function.createLakebasePool/index.html +2 -2
- package/docs/docs/api/appkit/Function.generateDatabaseCredential/index.html +2 -2
- package/docs/docs/api/appkit/Function.getExecutionContext/index.html +2 -2
- package/docs/docs/api/appkit/Function.getLakebaseOrmConfig/index.html +2 -2
- package/docs/docs/api/appkit/Function.getLakebasePgConfig/index.html +2 -2
- package/docs/docs/api/appkit/Function.getPluginManifest/index.html +2 -2
- package/docs/docs/api/appkit/Function.getResourceRequirements/index.html +2 -2
- package/docs/docs/api/appkit/Function.getUsernameWithApiLookup/index.html +2 -2
- package/docs/docs/api/appkit/Function.getWorkspaceClient/index.html +2 -2
- package/docs/docs/api/appkit/Function.isSQLTypeMarker/index.html +2 -2
- package/docs/docs/api/appkit/Interface.BasePluginConfig/index.html +2 -2
- package/docs/docs/api/appkit/Interface.CacheConfig/index.html +2 -2
- package/docs/docs/api/appkit/Interface.DatabaseCredential/index.html +2 -2
- package/docs/docs/api/appkit/Interface.GenerateDatabaseCredentialRequest/index.html +2 -2
- package/docs/docs/api/appkit/Interface.ITelemetry/index.html +2 -2
- package/docs/docs/api/appkit/Interface.LakebasePoolConfig/index.html +2 -2
- package/docs/docs/api/appkit/Interface.PluginManifest/index.html +2 -2
- package/docs/docs/api/appkit/Interface.RequestedClaims/index.html +2 -2
- package/docs/docs/api/appkit/Interface.RequestedResource/index.html +2 -2
- package/docs/docs/api/appkit/Interface.ResourceEntry/index.html +2 -2
- package/docs/docs/api/appkit/Interface.ResourceFieldEntry/index.html +2 -2
- package/docs/docs/api/appkit/Interface.ResourceRequirement/index.html +2 -2
- package/docs/docs/api/appkit/Interface.StreamExecutionSettings/index.html +2 -2
- package/docs/docs/api/appkit/Interface.TelemetryConfig/index.html +2 -2
- package/docs/docs/api/appkit/Interface.ValidationResult/index.html +2 -2
- package/docs/docs/api/appkit/TypeAlias.ConfigSchema/index.html +2 -2
- package/docs/docs/api/appkit/TypeAlias.IAppRouter/index.html +2 -2
- package/docs/docs/api/appkit/TypeAlias.ResourcePermission/index.html +2 -2
- package/docs/docs/api/appkit/TypeAlias.ToPlugin/index.html +2 -2
- package/docs/docs/api/appkit/Variable.sql/index.html +2 -2
- package/docs/docs/api/appkit/index.html +2 -2
- package/docs/docs/api/appkit-ui/data/AreaChart/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/BarChart/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/DataTable/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/DonutChart/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/HeatmapChart/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/LineChart/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/PieChart/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/RadarChart/index.html +3 -3
- package/docs/docs/api/appkit-ui/data/ScatterChart/index.html +4 -4
- package/docs/docs/api/appkit-ui/genie/GenieChat/index.html +26 -0
- package/docs/docs/api/appkit-ui/genie/GenieChat.md +43 -0
- package/docs/docs/api/appkit-ui/genie/GenieChatInput/index.html +24 -0
- package/docs/docs/api/appkit-ui/genie/GenieChatInput.md +27 -0
- package/docs/docs/api/appkit-ui/genie/GenieChatMessage/index.html +24 -0
- package/docs/docs/api/appkit-ui/genie/GenieChatMessage.md +25 -0
- package/docs/docs/api/appkit-ui/genie/GenieChatMessageList/index.html +24 -0
- package/docs/docs/api/appkit-ui/genie/GenieChatMessageList.md +26 -0
- package/docs/docs/api/appkit-ui/index.html +3 -3
- package/docs/docs/api/appkit-ui/styling/index.html +4 -4
- package/docs/docs/api/appkit-ui/ui/Accordion/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Alert/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/AlertDialog/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/AspectRatio/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Avatar/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Badge/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Breadcrumb/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Button/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/ButtonGroup/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Calendar/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Card/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Carousel/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/ChartContainer/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Checkbox/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Collapsible/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Command/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/ContextMenu/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Dialog/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Drawer/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/DropdownMenu/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Empty/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Field/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/FormControl/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/HoverCard/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Input/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/InputGroup/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/InputOTP/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Item/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Kbd/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Label/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Menubar/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/NavigationMenu/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Pagination/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Popover/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Progress/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/RadioGroup/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/ResizableHandle/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/ScrollArea/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Select/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Separator/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Sheet/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Sidebar/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Skeleton/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Slider/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Spinner/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Switch/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Table/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Tabs/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Textarea/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Toaster/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Toggle/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/ToggleGroup/index.html +3 -3
- package/docs/docs/api/appkit-ui/ui/Tooltip/index.html +3 -3
- package/docs/docs/api/index.html +2 -2
- package/docs/docs/app-management/index.html +2 -2
- package/docs/docs/architecture/index.html +2 -2
- package/docs/docs/category/development/index.html +2 -2
- package/docs/docs/configuration/index.html +2 -2
- package/docs/docs/core-principles/index.html +2 -2
- package/docs/docs/development/ai-assisted-development/index.html +2 -2
- package/docs/docs/development/index.html +2 -2
- package/docs/docs/development/llm-guide/index.html +2 -2
- package/docs/docs/development/local-development/index.html +2 -2
- package/docs/docs/development/project-setup/index.html +2 -2
- package/docs/docs/development/remote-bridge/index.html +2 -2
- package/docs/docs/development/type-generation/index.html +2 -2
- package/docs/docs/index.html +2 -2
- package/docs/docs/plugins/analytics/index.html +2 -2
- package/docs/docs/plugins/caching/index.html +2 -2
- package/docs/docs/plugins/custom-plugins/index.html +2 -2
- package/docs/docs/plugins/execution-context/index.html +2 -2
- package/docs/docs/plugins/index.html +2 -2
- package/docs/docs/plugins/lakebase/index.html +4 -4
- package/docs/docs/plugins/lakebase.md +25 -24
- package/docs/docs/plugins/plugin-management/index.html +2 -2
- package/docs/docs/plugins/server/index.html +2 -2
- package/llms.txt +4 -0
- package/package.json +1 -1
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Development | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/development/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Development | AppKit"><meta data-rh="true" name="description" content="AppKit provides multiple development workflows to suit different needs: local development with hot reload, AI-assisted development with MCP, and remote tunneling to deployed backends."><meta data-rh="true" property="og:description" content="AppKit provides multiple development workflows to suit different needs: local development with hot reload, AI-assisted development with MCP, and remote tunneling to deployed backends."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/development/"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Development","item":"https://databricks.github.io/appkit/docs/category/development"},{"@type":"ListItem","position":2,"name":"Development","item":"https://databricks.github.io/appkit/docs/development/"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">LLM Guide | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/development/llm-guide"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="LLM Guide | AppKit"><meta data-rh="true" name="description" content="This document provides prescriptive guidance for AI coding assistants generating code with Databricks AppKit. It is intentionally opinionated to ensure consistent, production-ready code generation."><meta data-rh="true" property="og:description" content="This document provides prescriptive guidance for AI coding assistants generating code with Databricks AppKit. It is intentionally opinionated to ensure consistent, production-ready code generation."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/development/llm-guide"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/llm-guide" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/llm-guide" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Development","item":"https://databricks.github.io/appkit/docs/category/development"},{"@type":"ListItem","position":2,"name":"LLM Guide","item":"https://databricks.github.io/appkit/docs/development/llm-guide"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Local development | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/development/local-development"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Local development | AppKit"><meta data-rh="true" name="description" content="Once your app is bootstrapped according to the Quick start guide, you can start the development server with hot reload for both UI and backend code."><meta data-rh="true" property="og:description" content="Once your app is bootstrapped according to the Quick start guide, you can start the development server with hot reload for both UI and backend code."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/development/local-development"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/local-development" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/local-development" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Development","item":"https://databricks.github.io/appkit/docs/category/development"},{"@type":"ListItem","position":2,"name":"Local development","item":"https://databricks.github.io/appkit/docs/development/local-development"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Project setup | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/development/project-setup"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Project setup | AppKit"><meta data-rh="true" name="description" content="This guide covers the recommended project structure and scaffolding for AppKit applications."><meta data-rh="true" property="og:description" content="This guide covers the recommended project structure and scaffolding for AppKit applications."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/development/project-setup"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/project-setup" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/project-setup" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Development","item":"https://databricks.github.io/appkit/docs/category/development"},{"@type":"ListItem","position":2,"name":"Project setup","item":"https://databricks.github.io/appkit/docs/development/project-setup"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Remote Bridge | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/development/remote-bridge"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Remote Bridge | AppKit"><meta data-rh="true" name="description" content="Remote bridge allows you to develop against a deployed backend while keeping your UI and queries local. This is useful for testing against production data or debugging deployed backend code without redeploying your app."><meta data-rh="true" property="og:description" content="Remote bridge allows you to develop against a deployed backend while keeping your UI and queries local. This is useful for testing against production data or debugging deployed backend code without redeploying your app."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/development/remote-bridge"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/remote-bridge" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/remote-bridge" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Development","item":"https://databricks.github.io/appkit/docs/category/development"},{"@type":"ListItem","position":2,"name":"Remote Bridge","item":"https://databricks.github.io/appkit/docs/development/remote-bridge"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Type generation | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/development/type-generation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Type generation | AppKit"><meta data-rh="true" name="description" content="AppKit can automatically generate TypeScript types for your SQL queries, providing end-to-end type safety from database to UI."><meta data-rh="true" property="og:description" content="AppKit can automatically generate TypeScript types for your SQL queries, providing end-to-end type safety from database to UI."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/development/type-generation"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/type-generation" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/development/type-generation" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Development","item":"https://databricks.github.io/appkit/docs/category/development"},{"@type":"ListItem","position":2,"name":"Type generation","item":"https://databricks.github.io/appkit/docs/development/type-generation"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
package/docs/docs/index.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Getting started | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Getting started | AppKit"><meta data-rh="true" name="description" content="Learn how to get started with AppKit."><meta data-rh="true" property="og:description" content="Learn how to get started with AppKit."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Getting started","item":"https://databricks.github.io/appkit/docs/"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Analytics plugin | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/analytics"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Analytics plugin | AppKit"><meta data-rh="true" name="description" content="Enables SQL query execution against Databricks SQL Warehouses."><meta data-rh="true" property="og:description" content="Enables SQL query execution against Databricks SQL Warehouses."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/analytics"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/analytics" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/analytics" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"},{"@type":"ListItem","position":2,"name":"Analytics plugin","item":"https://databricks.github.io/appkit/docs/plugins/analytics"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Caching | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/caching"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Caching | AppKit"><meta data-rh="true" name="description" content="AppKit provides both global and plugin-level caching capabilities."><meta data-rh="true" property="og:description" content="AppKit provides both global and plugin-level caching capabilities."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/caching"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/caching" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/caching" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"},{"@type":"ListItem","position":2,"name":"Caching","item":"https://databricks.github.io/appkit/docs/plugins/caching"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Creating custom plugins | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/custom-plugins"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Creating custom plugins | AppKit"><meta data-rh="true" name="description" content="If you need custom API routes or background logic, implement an AppKit plugin. The fastest way is to use the CLI:"><meta data-rh="true" property="og:description" content="If you need custom API routes or background logic, implement an AppKit plugin. The fastest way is to use the CLI:"><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/custom-plugins"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/custom-plugins" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/custom-plugins" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"},{"@type":"ListItem","position":2,"name":"Creating custom plugins","item":"https://databricks.github.io/appkit/docs/plugins/custom-plugins"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Execution context | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/execution-context"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Execution context | AppKit"><meta data-rh="true" name="description" content="AppKit manages Databricks authentication via two contexts:"><meta data-rh="true" property="og:description" content="AppKit manages Databricks authentication via two contexts:"><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/execution-context"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/execution-context" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/execution-context" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"},{"@type":"ListItem","position":2,"name":"Execution context","item":"https://databricks.github.io/appkit/docs/plugins/execution-context"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Plugins | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Plugins | AppKit"><meta data-rh="true" name="description" content="Plugins are modular extensions that add capabilities to your AppKit application. They follow a defined lifecycle and have access to shared services like caching, telemetry, and streaming."><meta data-rh="true" property="og:description" content="Plugins are modular extensions that add capabilities to your AppKit application. They follow a defined lifecycle and have access to shared services like caching, telemetry, and streaming."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Lakebase plugin | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/lakebase"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Lakebase plugin | AppKit"><meta data-rh="true" name="description" content="Currently, the Lakebase plugin currently requires a one-time manual setup to connect your Databricks App with your Lakebase database. An automated setup process is planned for an upcoming future release."><meta data-rh="true" property="og:description" content="Currently, the Lakebase plugin currently requires a one-time manual setup to connect your Databricks App with your Lakebase database. An automated setup process is planned for an upcoming future release."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/lakebase"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/lakebase" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/lakebase" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"},{"@type":"ListItem","position":2,"name":"Lakebase plugin","item":"https://databricks.github.io/appkit/docs/plugins/lakebase"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
<p>Click the <strong>Connect</strong> button on your Lakebase branch and copy the <code>PGHOST</code> and <code>PGDATABASE</code> values for later.</p>
|
|
39
39
|
<p><img decoding="async" loading="lazy" alt="Connect dialog" src="/appkit/assets/images/step-4-78b906d125c2c130f6e14984a9f89a62.png" width="845" height="623" class="img_1rA8"></p>
|
|
40
40
|
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="5-grant-access-to-the-service-principal">5. Grant access to the service principal<a href="#5-grant-access-to-the-service-principal" class="hash-link" aria-label="Direct link to 5. Grant access to the service principal" title="Direct link to 5. Grant access to the service principal" translate="no"></a></h3>
|
|
41
|
-
<p>Navigate to the <strong>SQL Editor</strong> tab on your Lakebase branch. Run the following SQL against the <code>databricks_postgres</code> database, replacing <code
|
|
42
|
-
<div class="language-sql codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-sql codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token comment" style="color:rgb(0, 128, 0)">-- 1. Create the extension and role</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">CREATE</span><span class="token plain"> EXTENSION </span><span class="token keyword" style="color:rgb(0, 0, 255)">IF</span><span class="token plain"> </span><span class="token operator" style="color:rgb(0, 0, 0)">NOT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXISTS</span><span class="token plain"> databricks_auth</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">SELECT</span><span class="token plain"> databricks_create_role</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'<DATABRICKS_CLIENT_ID>'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">'SERVICE_PRINCIPAL'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token comment" style="color:rgb(0, 128, 0)">-- 2. Basic connection & usage</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">CONNECT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">DATABASE</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"databricks_postgres"</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token comment" style="color:rgb(0, 128, 0)">-- 3. Grant on existing objects</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TABLES</span><span class="token plain"> </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> SEQUENCES </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> FUNCTIONS </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> PROCEDURES </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token comment" style="color:rgb(0, 128, 0)">-- 4. Grant on future objects</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token comment" style="color:rgb(0, 128, 0)">-- NOTE: This applies to objects created by the user running this script.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">ALTER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">DEFAULT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TABLES</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">ALTER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">DEFAULT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> SEQUENCES </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">ALTER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">DEFAULT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> FUNCTIONS </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">ALTER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">DEFAULT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">PRIVILEGES</span><span class="token plain"> </span><span class="token operator" style="color:rgb(0, 0, 0)">IN</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">SCHEMA</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">public</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">GRANT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ALL</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">ON</span><span class="token plain"> ROUTINES </span><span class="token keyword" style="color:rgb(0, 0, 255)">TO</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">"<DATABRICKS_CLIENT_ID>"</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><br></span></code></pre></div></div>
|
|
41
|
+
<p>Navigate to the <strong>SQL Editor</strong> tab on your Lakebase branch. Run the following SQL against the <code>databricks_postgres</code> database, replacing the service principal ID in the <code>DECLARE</code> block with the <code>DATABRICKS_CLIENT_ID</code> value from step 1:</p>
|
|
42
|
+
<div class="language-sql codeBlockContainer_crgn theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent__42J"><pre tabindex="0" class="prism-code language-sql codeBlock_CnLD thin-scrollbar" style="color:#000000;background-color:#ffffff"><code class="codeBlockLines_sJEA"><span class="token-line" style="color:#000000"><span class="token keyword" style="color:rgb(0, 0, 255)">CREATE</span><span class="token plain"> EXTENSION </span><span class="token keyword" style="color:rgb(0, 0, 255)">IF</span><span class="token plain"> </span><span class="token operator" style="color:rgb(0, 0, 0)">NOT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXISTS</span><span class="token plain"> databricks_auth</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">DO</span><span class="token plain"> $$</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">DECLARE</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> sp </span><span class="token keyword" style="color:rgb(0, 0, 255)">TEXT</span><span class="token plain"> :</span><span class="token operator" style="color:rgb(0, 0, 0)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">'your-service-principal-id'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"> </span><span class="token comment" style="color:rgb(0, 128, 0)">-- Replace with DATABRICKS_CLIENT_ID from Step 1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">BEGIN</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token comment" style="color:rgb(0, 128, 0)">-- Create service principal role</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> PERFORM databricks_create_role</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token plain">sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(163, 21, 21)">'SERVICE_PRINCIPAL'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token comment" style="color:rgb(0, 128, 0)">-- Connection and schema access</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'GRANT CONNECT ON DATABASE "databricks_postgres" TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'GRANT ALL ON SCHEMA public TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token comment" style="color:rgb(0, 128, 0)">-- Privileges on existing objects</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'GRANT ALL PRIVILEGES ON ALL PROCEDURES IN SCHEMA public TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token comment" style="color:rgb(0, 128, 0)">-- Default privileges on future objects you create</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON FUNCTIONS TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> </span><span class="token keyword" style="color:rgb(0, 0, 255)">EXECUTE</span><span class="token plain"> </span><span class="token function" style="color:rgb(0, 0, 255)">format</span><span class="token punctuation" style="color:rgb(4, 81, 165)">(</span><span class="token string" style="color:rgb(163, 21, 21)">'ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON ROUTINES TO %I'</span><span class="token punctuation" style="color:rgb(4, 81, 165)">,</span><span class="token plain"> sp</span><span class="token punctuation" style="color:rgb(4, 81, 165)">)</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"></span><span class="token keyword" style="color:rgb(0, 0, 255)">END</span><span class="token plain"> $$</span><span class="token punctuation" style="color:rgb(4, 81, 165)">;</span><br></span></code></pre></div></div>
|
|
43
43
|
<p><img decoding="async" loading="lazy" alt="SQL Editor" src="/appkit/assets/images/step-5-38bdf3e3ac8aadf2c0cd57aa5f0ba090.png" width="1074" height="618" class="img_1rA8"></p>
|
|
44
44
|
<h3 class="anchor anchorTargetStickyNavbar_scV4" id="6-verify-the-role">6. Verify the role<a href="#6-verify-the-role" class="hash-link" aria-label="Direct link to 6. Verify the role" title="Direct link to 6. Verify the role" translate="no"></a></h3>
|
|
45
45
|
<p>Navigate to the <strong>Roles & Databases</strong> tab and confirm the role is visible. You may need to fully refresh the page.</p>
|
|
@@ -58,33 +58,34 @@ Click the **Connect** button on your Lakebase branch and copy the `PGHOST` and `
|
|
|
58
58
|
|
|
59
59
|
### 5. Grant access to the service principal[](#5-grant-access-to-the-service-principal "Direct link to 5. Grant access to the service principal")
|
|
60
60
|
|
|
61
|
-
Navigate to the **SQL Editor** tab on your Lakebase branch. Run the following SQL against the `databricks_postgres` database, replacing
|
|
61
|
+
Navigate to the **SQL Editor** tab on your Lakebase branch. Run the following SQL against the `databricks_postgres` database, replacing the service principal ID in the `DECLARE` block with the `DATABRICKS_CLIENT_ID` value from step 1:
|
|
62
62
|
|
|
63
63
|
```sql
|
|
64
|
-
-- 1. Create the extension and role
|
|
65
64
|
CREATE EXTENSION IF NOT EXISTS databricks_auth;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
GRANT
|
|
76
|
-
GRANT ALL
|
|
77
|
-
|
|
78
|
-
--
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
GRANT ALL ON
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
GRANT ALL ON
|
|
86
|
-
ALTER DEFAULT PRIVILEGES IN SCHEMA public
|
|
87
|
-
GRANT ALL ON
|
|
65
|
+
|
|
66
|
+
DO $$
|
|
67
|
+
DECLARE
|
|
68
|
+
sp TEXT := 'your-service-principal-id'; -- Replace with DATABRICKS_CLIENT_ID from Step 1
|
|
69
|
+
BEGIN
|
|
70
|
+
-- Create service principal role
|
|
71
|
+
PERFORM databricks_create_role(sp, 'SERVICE_PRINCIPAL');
|
|
72
|
+
|
|
73
|
+
-- Connection and schema access
|
|
74
|
+
EXECUTE format('GRANT CONNECT ON DATABASE "databricks_postgres" TO %I', sp);
|
|
75
|
+
EXECUTE format('GRANT ALL ON SCHEMA public TO %I', sp);
|
|
76
|
+
|
|
77
|
+
-- Privileges on existing objects
|
|
78
|
+
EXECUTE format('GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO %I', sp);
|
|
79
|
+
EXECUTE format('GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO %I', sp);
|
|
80
|
+
EXECUTE format('GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO %I', sp);
|
|
81
|
+
EXECUTE format('GRANT ALL PRIVILEGES ON ALL PROCEDURES IN SCHEMA public TO %I', sp);
|
|
82
|
+
|
|
83
|
+
-- Default privileges on future objects you create
|
|
84
|
+
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO %I', sp);
|
|
85
|
+
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO %I', sp);
|
|
86
|
+
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON FUNCTIONS TO %I', sp);
|
|
87
|
+
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON ROUTINES TO %I', sp);
|
|
88
|
+
END $$;
|
|
88
89
|
|
|
89
90
|
```
|
|
90
91
|
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Plugin management | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/plugin-management"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Plugin management | AppKit"><meta data-rh="true" name="description" content="AppKit includes a CLI for managing plugins. All commands are available under npx @databricks/appkit plugin."><meta data-rh="true" property="og:description" content="AppKit includes a CLI for managing plugins. All commands are available under npx @databricks/appkit plugin."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/plugin-management"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/plugin-management" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/plugin-management" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"},{"@type":"ListItem","position":2,"name":"Plugin management","item":"https://databricks.github.io/appkit/docs/plugins/plugin-management"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.9.2">
|
|
6
6
|
<title data-rh="true">Server plugin | AppKit</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://databricks.github.io/appkit/docs/plugins/server"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Databricks Apps, Node.js, React.js, SDK, TypeScript, SQL, Databricks, AI, full-stack, development"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Server plugin | AppKit"><meta data-rh="true" name="description" content="Provides HTTP server capabilities with development and production modes."><meta data-rh="true" property="og:description" content="Provides HTTP server capabilities with development and production modes."><link data-rh="true" rel="icon" href="/appkit/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://databricks.github.io/appkit/docs/plugins/server"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/server" hreflang="en"><link data-rh="true" rel="alternate" href="https://databricks.github.io/appkit/docs/plugins/server" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Plugins","item":"https://databricks.github.io/appkit/docs/plugins/"},{"@type":"ListItem","position":2,"name":"Server plugin","item":"https://databricks.github.io/appkit/docs/plugins/server"}]}</script><link rel="stylesheet" href="/appkit/assets/css/styles.36a38b99.css">
|
|
7
|
-
<script src="/appkit/assets/js/runtime~main.
|
|
8
|
-
<script src="/appkit/assets/js/main.
|
|
7
|
+
<script src="/appkit/assets/js/runtime~main.05f114de.js" defer="defer"></script>
|
|
8
|
+
<script src="/appkit/assets/js/main.215573eb.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="navigation-with-keyboard">
|
|
11
11
|
<svg style="display: none;"><defs>
|
package/llms.txt
CHANGED
|
@@ -81,6 +81,10 @@ The CLI will display the documentation content directly in the terminal.
|
|
|
81
81
|
- [PieChart](./docs/docs/api/appkit-ui/data/PieChart.md): Pie Chart component for proportional data visualization.
|
|
82
82
|
- [RadarChart](./docs/docs/api/appkit-ui/data/RadarChart.md): Radar Chart component for multi-dimensional data comparison.
|
|
83
83
|
- [ScatterChart](./docs/docs/api/appkit-ui/data/ScatterChart.md): Scatter Chart component for correlation and distribution visualization.
|
|
84
|
+
- [GenieChat](./docs/docs/api/appkit-ui/genie/GenieChat.md): Full-featured chat interface for a single Databricks AI/BI Genie space. Handles message streaming, conversation history, and auto-reconnection via SSE.
|
|
85
|
+
- [GenieChatInput](./docs/docs/api/appkit-ui/genie/GenieChatInput.md): Auto-expanding textarea input with a send button for chat messages. Submits on Enter (Shift+Enter for newline).
|
|
86
|
+
- [GenieChatMessage](./docs/docs/api/appkit-ui/genie/GenieChatMessage.md): Renders a single Genie message bubble with optional expandable SQL query attachments.
|
|
87
|
+
- [GenieChatMessageList](./docs/docs/api/appkit-ui/genie/GenieChatMessageList.md): Scrollable message list that renders Genie chat messages with auto-scroll, skeleton loaders, and a streaming indicator.
|
|
84
88
|
- [Styling](./docs/docs/api/appkit-ui/styling.md): This guide covers how to style AppKit UI components using CSS variables and theming.
|
|
85
89
|
- [Accordion](./docs/docs/api/appkit-ui/ui/Accordion.md): Collapsible content sections organized in a vertical stack
|
|
86
90
|
- [Alert](./docs/docs/api/appkit-ui/ui/Alert.md): Displays important information with optional icon and multiple variants
|