mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-22 08:03:38 +00:00
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
181 lines
5.5 KiB
TypeScript
181 lines
5.5 KiB
TypeScript
import type { SupportedLanguage } from '$lib/common'
|
|
|
|
export type FlowBuilderWhitelabelCustomUi = {
|
|
/** Opt out of FlowEditor's `modalPanel` to keep the classic always-docked pane. */
|
|
modalPanel?: boolean
|
|
topBar?: {
|
|
path?: boolean
|
|
editablePath?: boolean
|
|
export?: boolean
|
|
history?: boolean
|
|
aiBuilder?: boolean
|
|
diff?: boolean
|
|
extraDeployOptions?: boolean
|
|
editableSummary?: boolean
|
|
settings?: boolean
|
|
draft?: boolean
|
|
}
|
|
settingsPanel?: boolean
|
|
settingsTabs?: {
|
|
schedule?: boolean
|
|
sharedDiretory?: boolean
|
|
earlyStop?: boolean
|
|
earlyReturn?: boolean
|
|
workerGroup?: boolean
|
|
concurrency?: boolean
|
|
debouncing?: 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
|
|
/** Set to false to hide the inline step's "Save to workspace" button. */
|
|
saveToWorkspace?: boolean
|
|
tagEdit?: boolean
|
|
editorBar?: EditorBarUi
|
|
downloadLogs?: boolean
|
|
tagSelectPlaceholder?: string
|
|
tagSelectNoLabel?: boolean
|
|
tagLabel?: string
|
|
aiAgent?: boolean
|
|
aiSandbox?: boolean
|
|
suggestIntegration?: boolean
|
|
suggestScript?: boolean
|
|
// Default timeout (in seconds) prefilled when enabling a custom step timeout.
|
|
// Defaults to 300 (5 minutes) when unset.
|
|
defaultTimeout?: number
|
|
}
|
|
|
|
export type DisplayResultUi = {
|
|
disableAiFix?: boolean
|
|
disableDownload?: boolean
|
|
}
|
|
|
|
export type PreviewPanelUi = {
|
|
disableHistory?: boolean
|
|
disableTracing?: boolean
|
|
disableTriggerCaptures?: boolean
|
|
disableTriggerButton?: boolean
|
|
disableJsonView?: boolean
|
|
displayResult?: DisplayResultUi
|
|
disableVariablePicker?: boolean
|
|
disableDownload?: boolean
|
|
tagLabel?: string
|
|
// Hide the args/SchemaForm pane entirely (use cases where the script
|
|
// is known to take no inputs — e.g. the pipeline editor's per-script
|
|
// preview). When set, the Test/Cancel button is rendered as a small
|
|
// floating affordance at the top-left of the preview area instead of
|
|
// inside the (now-absent) args column.
|
|
hideArgs?: boolean
|
|
// Render the LogPanel's logs/result as a left/right split instead of
|
|
// the default top/bottom. Pairs naturally with `hideArgs` when the
|
|
// preview area is the full bottom band.
|
|
logsResultSideBySide?: boolean
|
|
// Number of scripts that subscribe to assets this script writes (via
|
|
// `// on s3://…` etc.). When > 0, the Test button is rendered as a
|
|
// split: primary action runs just this step (cascade suppressed via
|
|
// `_wmill_skip_asset_dispatch`), and a caret exposes "Test + trigger N
|
|
// downstream" that lets the asset-dispatch hook fire downstream jobs.
|
|
// Undefined or 0 → plain Test button (no cascade UI).
|
|
downstreamSubscribers?: number
|
|
// Pairs with `hideArgs`: still hide the full args column, but when the
|
|
// script actually declares inputs render a compact SchemaForm between
|
|
// the floating Test button and the logs/result panel (e.g. a
|
|
// partitioned pipeline script that needs a `partition` arg to run).
|
|
// No-op when the script has no input properties.
|
|
argsAboveLogs?: boolean
|
|
// On mount, query the most recent top-level completed job for this
|
|
// script's path and load it into the preview pane so users immediately
|
|
// see the last run's logs/result instead of an empty panel. Used by the
|
|
// asset-graph details pane where selecting a script node should expose
|
|
// "what happened the last time this ran". No-op when a test is already
|
|
// in progress (we don't clobber a live run).
|
|
loadLastRunOnMount?: boolean
|
|
// Pipeline-only: when set, the Test split's caret popover gains a "Run
|
|
// downstream up to…" entry that calls this, letting the user bound the
|
|
// cascade from the script they're editing. Wired by the pipeline details
|
|
// pane only when the open script is a valid bounded-run start.
|
|
onBoundedRun?: () => void
|
|
}
|
|
|
|
export type EditorBarUi = {
|
|
contextVar?: boolean
|
|
variable?: boolean
|
|
resource?: boolean
|
|
reset?: boolean
|
|
type?: boolean
|
|
assistants?: boolean
|
|
multiplayer?: boolean
|
|
autoformatting?: boolean
|
|
editorSettings?: boolean
|
|
vimMode?: boolean
|
|
relativeLineNumbers?: boolean
|
|
aiGen?: boolean
|
|
aiCompletion?: boolean
|
|
library?: boolean
|
|
useVsCode?: boolean
|
|
diffMode?: boolean
|
|
s3object?: boolean
|
|
database?: boolean
|
|
ducklake?: boolean
|
|
metrics?: boolean
|
|
dataTable?: boolean
|
|
debug?: boolean
|
|
history?: boolean
|
|
saveToWorkspace?: 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
|
|
tagEdit?: boolean
|
|
}
|
|
settingsPanel?: SettingsPanelUi
|
|
disableTooltips?: boolean
|
|
editorBar?: EditorBarUi
|
|
previewPanel?: PreviewPanelUi
|
|
tagSelectPlaceholder?: string
|
|
// Default timeout (in seconds) prefilled when enabling a custom script timeout.
|
|
// Defaults to 300 (5 minutes) when unset.
|
|
defaultTimeout?: number
|
|
}
|