Files
windmill/frontend/src/lib/components/custom_ui.ts
T
e6f1211d31 feat: Ducklake native support (#6268)
* upgrade duckdb

* basic ducklake works

* ducklake works with custom db catalogs

* fix: pwsh skip already installed modules outside of cache (#6037)

* improve query performance of user stats

* separate ducklake_catalog db

* ducklake settings

* DucklakeSettings frontend

* Ducklake ws settings saved in backend

* fetch ducklake catalog resource

* Ducklake works with configured s3 storage

* Ducklake as asset

* ducklake asset icon

* Fix duckdb array and object args not working properly (#6254)

* Fix bug with comments in duckdb

* Avoid multiple queries when doing ATTACH ducklake

* trunc sig no longer needed now that comments are trimmed

* cache DuckdbConnectionSettingsResponse

* duplicated code

* transform_attach_ducklake contributes to duckdb_connection_settings_cache

* eliminate the need for used_storages

* nit

* cleaner management of the bigquery credentials file

* DBManagerDrawer refactor to prepare for Ducklake

* get ducklake schema

* implement delete for ducklake

* load column metadata for ducklake

* Select query works for ducklake, basic db explorer works !

* duckdb count query

* Support all db ops for ducklake

* clean migrations

* SQL repl for Ducklake

* fix broken database studio

* nit

* assert function

* Ducklake in Editor Bar

* default ducklake syntax + allow extra args

* DucklakeCatalogWizard UI

* nit + remove extra $

* modal when databases do not exist

* cannot be windmill

* Ducklake works safely with instance database

* Avoid sending instance db credentials on network

* resource leak security

* remove fetch_attach_db_conn_str

* prevent instance pg password leak

* hide asset usage count when not available

* case unsensitivity duckdb

* warnings

* disable instance catalog

* use shorthand syntax when inserting with EditorBar

* Instance ducklake catalog is now safe to use

* use safer argon2 pwd

* update package json parsers

* update package json

* better msgs

* tooltips

* disable explore button until saved

* nit

* fix warnings

* better ducklake_user password management

* nit

* Sanitize passwords from errors in ducklake

* DisplayResult broken in job result

* remove superadmin requirement to check databases_exist

* duckdb_connection_settings_v2_inner

* Ducklake works on agent worker (finally)

* ci

* #[allow(dead_code)]

* fix openapi missing response

* Separate +Database button for DuckDB in EditorBar

* Fix dropdown in ducklake settings

* Attempt to fix migration race condition in CI

* update sqlx failing for some offline queries

* avoid temp password for ducklake_user

* nits

* ducklake settings nits

* update duckdb default script

* fix sql repl resetting text on refresh

* avoid pgcrypto extension

---------

Co-authored-by: HugoCasa <hugo@casademont.ch>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-08-06 13:55:36 +00:00

120 lines
2.6 KiB
TypeScript

import type { SupportedLanguage } from '$lib/common'
export type FlowBuilderWhitelabelCustomUi = {
topBar?: {
path?: boolean
export?: boolean
history?: boolean
aiBuilder?: boolean
tutorials?: boolean
diff?: boolean
extraDeployOptions?: boolean
editableSummary?: boolean
settings?: boolean
}
settingsPanel?: boolean
settingsTabs?: {
schedule?: boolean
sharedDiretory?: boolean
earlyStop?: boolean
earlyReturn?: boolean
workerGroup?: boolean
concurrency?: boolean
cache?: boolean
}
triggers?: boolean
flowNode?: boolean
hub?: boolean
hubCode?: boolean
graph?: { aiBuilder?: boolean; dataflow?: boolean }
stepInputs?: { ai?: boolean }
stepAdvancedSettings?: boolean
languages?: (SupportedLanguage | 'docker' | 'bunnative')[]
scriptFork?: boolean
scriptEdit?: boolean
tagEdit?: boolean
editorBar?: EditorBarUi
downloadLogs?: boolean
tagSelectPlaceholder?: string
tagSelectNoLabel?: boolean
tagLabel?: string
}
export type DisplayResultUi = {
disableAiFix?: boolean
disableDownload?: boolean
}
export type PreviewPanelUi = {
disableHistory?: boolean
disableTriggerCaptures?: boolean
disableTriggerButton?: boolean
displayResult?: DisplayResultUi
disableVariablePicker?: boolean
disableDownload?: boolean
tagLabel?: string
}
export type EditorBarUi = {
contextVar?: boolean
variable?: boolean
resource?: boolean
reset?: boolean
type?: boolean
assistants?: boolean
multiplayer?: boolean
autoformatting?: boolean
vimMode?: boolean
aiGen?: boolean
aiCompletion?: boolean
library?: boolean
useVsCode?: boolean
diffMode?: boolean
s3object?: boolean
database?: boolean
ducklake?: boolean
}
export type EditableSchemaFormUi = {
jsonOnly?: boolean
disableVariablePicker?: boolean
}
export type SettingsPanelMetadataUi = {
languages?: SupportedLanguage[]
disableScriptKind?: boolean
editableSchemaForm?: EditableSchemaFormUi
disableMute?: boolean
disableAiFilling?: boolean
}
export type SettingsPanelUi = {
metadata?: SettingsPanelMetadataUi
disableMetadata?: boolean
disableRuntime?: boolean
disableGeneratedUi?: boolean
disableTriggers?: boolean
}
export type ScriptEditorWhitelabelCustomUi = {
editorBar?: EditorBarUi
previewPanel?: PreviewPanelUi
disableTooltips?: boolean
}
export type ScriptBuilderWhitelabelCustomUi = {
topBar?: {
path?: boolean
editablePath?: boolean
settings?: boolean
extraDeployOptions?: boolean
editableSummary?: boolean
diff?: boolean
}
settingsPanel?: SettingsPanelUi
disableTooltips?: boolean
editorBar?: EditorBarUi
previewPanel?: PreviewPanelUi
tagSelectPlaceholder?: string
}