windmill-components 1.695.1 → 1.699.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/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
- package/dist/sharedUtils/base.d.ts +1 -0
- package/dist/sharedUtils/cloud.d.ts +1 -0
- package/dist/sharedUtils/common.d.ts +111 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
- package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
- package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
- package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
- package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
- package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
- package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
- package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
- package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
- package/dist/sharedUtils/components/apps/types.d.ts +274 -0
- package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
- package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
- package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
- package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
- package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
- package/dist/sharedUtils/components/common/index.d.ts +24 -0
- package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
- package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
- package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
- package/dist/sharedUtils/components/ducklake.d.ts +1 -0
- package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
- package/dist/sharedUtils/components/icons/index.d.ts +101 -0
- package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
- package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
- package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
- package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
- package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
- package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
- package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
- package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
- package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers.d.ts +20 -0
- package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
- package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
- package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
- package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
- package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
- package/dist/sharedUtils/gen/core/request.d.ts +29 -0
- package/dist/sharedUtils/gen/index.d.ts +6 -0
- package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
- package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
- package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
- package/dist/sharedUtils/history.svelte.d.ts +9 -0
- package/dist/sharedUtils/hub.d.ts +49 -0
- package/dist/sharedUtils/jsr.json +6 -0
- package/dist/sharedUtils/lib.d.ts +5 -0
- package/dist/sharedUtils/lib.es.js +1588 -0
- package/dist/sharedUtils/package.json +12 -0
- package/dist/sharedUtils/schema.d.ts +3 -0
- package/dist/sharedUtils/stores.d.ts +97 -0
- package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
- package/dist/sharedUtils/toast.d.ts +8 -0
- package/dist/sharedUtils/utils.d.ts +265 -0
- package/package/components/AppConnectInner.svelte +38 -5
- package/package/components/CompareWorkspaces.svelte +142 -486
- package/package/components/DisplayResult.svelte +39 -19
- package/package/components/Editor.svelte +5 -4
- package/package/components/Editor.svelte.d.ts +1 -0
- package/package/components/FilterSearchbar.svelte +3 -1
- package/package/components/FilterSearchbar.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +23 -9
- package/package/components/ForkWorkspaceBanner.svelte +16 -0
- package/package/components/HistoricInputs.svelte +2 -1
- package/package/components/InstanceSetting.svelte +47 -5
- package/package/components/LogViewer.svelte +101 -71
- package/package/components/OnBehalfOfSelector.svelte +10 -7
- package/package/components/ParqetCsvTableRenderer.svelte +9 -4
- package/package/components/Path.svelte +10 -0
- package/package/components/ResourceEditor.svelte +198 -311
- package/package/components/ResourceEditor.svelte.d.ts +3 -3
- package/package/components/ResourceEditorDrawer.svelte +17 -6
- package/package/components/ResourceForm.svelte +235 -0
- package/package/components/ResourceForm.svelte.d.ts +25 -0
- package/package/components/RunsPage.svelte +1 -0
- package/package/components/S3FilePickerInner.svelte +22 -8
- package/package/components/ScriptBuilder.svelte +1 -0
- package/package/components/ScriptEditor.svelte +44 -7
- package/package/components/ScriptEditor.svelte.d.ts +1 -0
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/TaggedTextInput.svelte +4 -1
- package/package/components/TaggedTextInput.svelte.d.ts +2 -0
- package/package/components/VariableEditor.svelte +177 -199
- package/package/components/VariableEditor.svelte.d.ts +1 -2
- package/package/components/VariableForm.svelte +133 -0
- package/package/components/VariableForm.svelte.d.ts +22 -0
- package/package/components/WsSpecificVersions.svelte +39 -0
- package/package/components/WsSpecificVersions.svelte.d.ts +9 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +1 -1
- package/package/components/common/fileDownload/FileDownload.svelte +16 -6
- package/package/components/common/table/AppRow.svelte +2 -1
- package/package/components/common/table/AppRow.svelte.d.ts +1 -0
- package/package/components/common/table/FlowRow.svelte +2 -1
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -0
- package/package/components/common/table/RawAppRow.svelte +2 -1
- package/package/components/common/table/RawAppRow.svelte.d.ts +1 -0
- package/package/components/common/table/Row.svelte +11 -3
- package/package/components/common/table/Row.svelte.d.ts +2 -1
- package/package/components/common/table/RowIcon.svelte +18 -2
- package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
- package/package/components/common/table/ScriptRow.svelte +2 -1
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/package/components/copilot/autocomplete/Autocompletor.d.ts +3 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +5 -2
- package/package/components/copilot/autocomplete/request.d.ts +1 -0
- package/package/components/copilot/autocomplete/request.js +1 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +14 -4
- package/package/components/copilot/chat/AiChatLayout.svelte +2 -0
- package/package/components/copilot/chat/ContextManager.svelte.d.ts +1 -0
- package/package/components/copilot/chat/CreatedResourceActionDrawers.svelte +129 -0
- package/package/components/copilot/chat/CreatedResourceActionDrawers.svelte.d.ts +4 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +14 -6
- package/package/components/copilot/chat/ToolMessageActions.svelte +73 -0
- package/package/components/copilot/chat/ToolMessageActions.svelte.d.ts +7 -0
- package/package/components/copilot/chat/createdResourceActions.svelte.d.ts +6 -0
- package/package/components/copilot/chat/createdResourceActions.svelte.js +29 -0
- package/package/components/copilot/chat/script/core.d.ts +6 -2
- package/package/components/copilot/chat/script/core.js +13 -7
- package/package/components/copilot/chat/script/wacPrompt.test.d.ts +1 -0
- package/package/components/copilot/chat/script/wacPrompt.test.js +25 -0
- package/package/components/copilot/chat/shared.d.ts +12 -0
- package/package/components/copilot/chat/shared.test.js +23 -2
- package/package/components/copilot/chat/workspaceTools.js +34 -4
- package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -0
- package/package/components/flows/idUtils.js +4 -1
- package/package/components/flows/stepsInputArgs.svelte.js +6 -1
- package/package/components/graph/wacToFlow.js +1 -1
- package/package/components/graph/wacToFlow.test.d.ts +1 -0
- package/package/components/graph/wacToFlow.test.js +17 -0
- package/package/components/home/Item.svelte +5 -1
- package/package/components/home/Item.svelte.d.ts +1 -0
- package/package/components/home/ItemsList.svelte +260 -3
- package/package/components/instanceSettings/SecretBackendConfig.svelte +492 -98
- package/package/components/propertyPicker/ObjectViewer.svelte +10 -4
- package/package/components/runs/runsFilter.d.ts +1 -1
- package/package/components/runs/useJobsLoader.svelte.d.ts +1 -0
- package/package/components/runs/useJobsLoader.svelte.js +8 -12
- package/package/components/scriptEditor/LogPanel.svelte +4 -1
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
- package/package/components/settings/WorkspaceOperatorSettings.svelte +1 -1
- package/package/components/sidebar/SidebarContent.svelte +40 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +19 -5
- package/package/externalDomain.d.ts +2 -0
- package/package/externalDomain.js +16 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +33 -4
- package/package/gen/schemas.gen.js +33 -4
- package/package/gen/services.gen.d.ts +20 -1
- package/package/gen/services.gen.js +40 -0
- package/package/gen/types.gen.d.ts +70 -3
- package/package/hubPaths.json +2 -2
- package/package/system_prompts/index.d.ts +1 -1
- package/package/system_prompts/index.js +22 -3
- package/package/system_prompts/prompts.d.ts +2 -2
- package/package/system_prompts/prompts.js +7 -4
- package/package/utils/downloadFile.d.ts +11 -0
- package/package/utils/downloadFile.js +48 -0
- package/package/utils_deployable.d.ts +162 -638
- package/package/utils_deployable.js +75 -143
- package/package/utils_workspace_deploy.d.ts +10 -4
- package/package/utils_workspace_deploy.js +167 -42
- package/package.json +7 -3
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">import ObjectViewer from './ObjectViewer.svelte';
|
|
2
2
|
import { copyToClipboard, truncate } from '../../utils';
|
|
3
|
+
import { downloadViaClient, shouldDownloadViaClient } from '../../utils/downloadFile';
|
|
3
4
|
import { createEventDispatcher, tick, untrack, setContext, getContext } from 'svelte';
|
|
4
5
|
import { computeKey, keepByKeyOrValue } from './utils';
|
|
5
6
|
import { NEVER_TESTED_THIS_FAR } from '../flows/models';
|
|
@@ -335,12 +336,17 @@ let menuItems = $derived([
|
|
|
335
336
|
<div class="flex">
|
|
336
337
|
<span class="text-primary">{closeBracket}</span>
|
|
337
338
|
{#if getTypeAsString(jsonFiltered) === 's3object'}
|
|
339
|
+
{@const s3DownloadApiPath = `/w/${$workspaceStore}/job_helpers/download_s3_file?file_key=${encodeURIComponent(jsonFiltered?.s3 ?? '')}${jsonFiltered?.storage ? `&storage=${jsonFiltered.storage}` : ''}`}
|
|
340
|
+
{@const s3DownloadName = jsonFiltered?.s3.split('/').pop() ?? 'unnamed_download.file'}
|
|
338
341
|
<a
|
|
339
342
|
class="text-secondary underline font-semibold text-2xs whitespace-nowrap ml-1 w-fit"
|
|
340
|
-
href={`/api
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
343
|
+
href={`/api${s3DownloadApiPath}`}
|
|
344
|
+
download={s3DownloadName}
|
|
345
|
+
onclick={async (e) => {
|
|
346
|
+
if (!shouldDownloadViaClient()) return
|
|
347
|
+
e.preventDefault()
|
|
348
|
+
await downloadViaClient(s3DownloadApiPath, s3DownloadName)
|
|
349
|
+
}}
|
|
344
350
|
>
|
|
345
351
|
<span class="flex items-center gap-1"><Download size={12} />download</span>
|
|
346
352
|
</a>
|
|
@@ -178,7 +178,7 @@ export declare function buildRunsFilterSearchbarSchema({ paths, usernames, folde
|
|
|
178
178
|
label: string;
|
|
179
179
|
icon: typeof Zap;
|
|
180
180
|
options: {
|
|
181
|
-
label:
|
|
181
|
+
label: any;
|
|
182
182
|
value: JobTriggerKind;
|
|
183
183
|
}[];
|
|
184
184
|
allowNegative: true;
|
|
@@ -21,18 +21,12 @@ export function computeJobKinds(jobKindsCat) {
|
|
|
21
21
|
let kinds = ['deploymentcallback'];
|
|
22
22
|
return kinds.join(',');
|
|
23
23
|
}
|
|
24
|
-
else if (jobKindsCat == 'runs') {
|
|
25
|
-
let kinds = ['script', 'flow', 'singlestepflow'];
|
|
26
|
-
return kinds.join(',');
|
|
27
|
-
}
|
|
28
24
|
else {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
'appscript'
|
|
35
|
-
];
|
|
25
|
+
// Default mirrors the explicit 'runs' category — top-level scripts, flows,
|
|
26
|
+
// and single-step flows. flowscript/flownode/appscript are intermediate
|
|
27
|
+
// flow children with non-null parent_job, and the loader pairs this with
|
|
28
|
+
// hasNullParent: true, so they would never match here anyway.
|
|
29
|
+
let kinds = ['script', 'flow', 'singlestepflow'];
|
|
36
30
|
return kinds.join(',');
|
|
37
31
|
}
|
|
38
32
|
}
|
|
@@ -49,6 +43,7 @@ export function useJobsLoader(args) {
|
|
|
49
43
|
let lookback = $derived(_args.lookback ?? 0);
|
|
50
44
|
let timeframe = $derived(_args?.timeframe);
|
|
51
45
|
let perPage = $derived(_args?.perPage ?? 1000);
|
|
46
|
+
let excludesEntrypointOverride = $derived(_args.excludesEntrypointOverride ?? false);
|
|
52
47
|
let label = $derived(filters?.label ?? null);
|
|
53
48
|
let worker = $derived(filters?.worker ?? null);
|
|
54
49
|
let success = $derived(filters?.status ?? null);
|
|
@@ -218,7 +213,8 @@ export function useJobsLoader(args) {
|
|
|
218
213
|
allWorkspaces: allWorkspaces ? true : undefined,
|
|
219
214
|
perPage: perPageOverride ?? perPage,
|
|
220
215
|
allowWildcards: allowWildcards ? true : undefined,
|
|
221
|
-
broadFilter
|
|
216
|
+
broadFilter,
|
|
217
|
+
excludesEntrypointOverride: excludesEntrypointOverride ? true : undefined
|
|
222
218
|
});
|
|
223
219
|
promise = CancelablePromiseUtils.catchErr(promise, (e) => {
|
|
224
220
|
if (e instanceof CancelError)
|
|
@@ -21,10 +21,13 @@ import Head from '../table/Head.svelte';
|
|
|
21
21
|
import WorkflowTimeline from '../WorkflowTimeline.svelte';
|
|
22
22
|
import Tooltip from '../Tooltip.svelte';
|
|
23
23
|
import { getStringError } from '../copilot/chat/utils';
|
|
24
|
-
let { lang, previewIsLoading = false, previewJob, pastPreviews = [], editor = undefined, diffEditor = undefined, args = undefined, workspace = undefined, showCaptures = false, customUi = undefined, children, capturesTab, customResultPanel, showCustomResultPanel = false } = $props();
|
|
24
|
+
let { lang, previewIsLoading = false, previewJob, pastPreviews = [], editor = undefined, diffEditor = undefined, args = undefined, workspace = undefined, showCaptures = false, customUi = undefined, children, capturesTab, customResultPanel, showCustomResultPanel = false, onTabChange } = $props();
|
|
25
25
|
let selectedTab = $state('logs');
|
|
26
26
|
let drawerOpen = $state(false);
|
|
27
27
|
let drawerContent = $state(undefined);
|
|
28
|
+
$effect(() => {
|
|
29
|
+
onTabChange?.(selectedTab);
|
|
30
|
+
});
|
|
28
31
|
export function setFocusToLogs() {
|
|
29
32
|
selectedTab = 'logs';
|
|
30
33
|
}
|
|
@@ -21,6 +21,7 @@ interface Props {
|
|
|
21
21
|
capturesTab?: import('svelte').Snippet;
|
|
22
22
|
customResultPanel?: import('svelte').Snippet;
|
|
23
23
|
showCustomResultPanel?: boolean;
|
|
24
|
+
onTabChange?: (tab: string) => void;
|
|
24
25
|
}
|
|
25
26
|
declare const LogPanel: import("svelte").Component<Props, {
|
|
26
27
|
setFocusToLogs: () => void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">import MenuLink from './MenuLink.svelte';
|
|
2
|
-
import { superadmin, usedTriggerKinds, userStore, workspaceStore, isCriticalAlertsUIOpen, enterpriseLicense, devopsRole, tutorialsToDo, skippedAll } from '../../stores';
|
|
2
|
+
import { superadmin, usedTriggerKinds, userStore, userWorkspaces, workspaceStore, isCriticalAlertsUIOpen, enterpriseLicense, devopsRole, tutorialsToDo, skippedAll } from '../../stores';
|
|
3
|
+
import { findWorkspaceDescendants } from '../../utils/workspaceHierarchy';
|
|
3
4
|
import { syncTutorialsTodos } from '../../tutorialUtils';
|
|
4
5
|
import { SIDEBAR_SHOW_SCHEDULES } from '../../consts';
|
|
5
6
|
import { BookOpen, ServerCog, Boxes, Calendar, DollarSign, Eye, Logs, FolderCog, FolderOpen, Github, GraduationCap, HelpCircle, Home, LogOut, Newspaper, Play, Route, Settings, UserCog, Plus, Unplug, AlertCircle, Database, Pyramid, Trash2, MailIcon } from 'lucide-svelte';
|
|
@@ -64,11 +65,24 @@ async function deleteFork() {
|
|
|
64
65
|
sendUserToast(err, true);
|
|
65
66
|
}
|
|
66
67
|
}
|
|
68
|
+
if (deleteForkedChildren && forkedDescendants.length > 0) {
|
|
69
|
+
for (const child of forkedDescendants) {
|
|
70
|
+
try {
|
|
71
|
+
await WorkspaceService.deleteWorkspace({ workspace: child.id });
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
sendUserToast(`Failed to delete forked child ${child.id}: ${err}`, true);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
67
79
|
await WorkspaceService.deleteWorkspace({ workspace });
|
|
68
80
|
sendUserToast('You deleted the workspace');
|
|
69
81
|
clearStores();
|
|
70
82
|
goto('/user/workspaces');
|
|
71
83
|
}
|
|
84
|
+
let deleteForkedChildren = $state(false);
|
|
85
|
+
const forkedDescendants = $derived($workspaceStore ? findWorkspaceDescendants($workspaceStore, $userWorkspaces ?? []) : []);
|
|
72
86
|
let hasNewChangelogs = $state(false);
|
|
73
87
|
let recentChangelogs = $state([]);
|
|
74
88
|
let lastOpened = localStorage.getItem('changelogsLastOpened');
|
|
@@ -206,7 +220,6 @@ let mainMenuLinks = $derived([
|
|
|
206
220
|
label: 'Assets',
|
|
207
221
|
href: `${base}/assets`,
|
|
208
222
|
icon: Pyramid,
|
|
209
|
-
disabled: $userStore?.operator,
|
|
210
223
|
aiId: 'sidebar-menu-link-assets',
|
|
211
224
|
aiDescription: 'Button to navigate to assets'
|
|
212
225
|
},
|
|
@@ -403,6 +416,7 @@ let secondaryMenuLinks = $derived([
|
|
|
403
416
|
label: 'Delete Forked Workspace',
|
|
404
417
|
action: async () => {
|
|
405
418
|
await loadForkedDatatables();
|
|
419
|
+
deleteForkedChildren = false;
|
|
406
420
|
deleteWorkspaceForkModal = true;
|
|
407
421
|
},
|
|
408
422
|
icon: Trash2,
|
|
@@ -718,6 +732,30 @@ let secondaryMenuLinks = $derived([
|
|
|
718
732
|
>
|
|
719
733
|
<div class="flex flex-col w-full space-y-4">
|
|
720
734
|
<span>Are you sure you want to delete this workspace fork? (deleting {$workspaceStore})</span>
|
|
735
|
+
{#if forkedDescendants.length > 0}
|
|
736
|
+
<div class="border rounded-md divide-y">
|
|
737
|
+
<div class="px-4 py-2 flex items-center justify-between gap-2">
|
|
738
|
+
<div class="flex flex-col min-w-0">
|
|
739
|
+
<span class="text-xs font-semibold text-secondary">Forked children</span>
|
|
740
|
+
<span class="text-3xs text-hint">
|
|
741
|
+
This fork has {forkedDescendants.length} forked
|
|
742
|
+
{forkedDescendants.length === 1 ? 'child' : 'children'} (transitively).
|
|
743
|
+
</span>
|
|
744
|
+
</div>
|
|
745
|
+
<Toggle
|
|
746
|
+
class="shrink-0"
|
|
747
|
+
size="xs"
|
|
748
|
+
bind:checked={deleteForkedChildren}
|
|
749
|
+
options={{ right: 'Also delete children' }}
|
|
750
|
+
/>
|
|
751
|
+
</div>
|
|
752
|
+
<ul class="px-4 py-2 text-3xs text-hint max-h-32 overflow-y-auto">
|
|
753
|
+
{#each forkedDescendants as child}
|
|
754
|
+
<li class="font-mono truncate" title={child.id}>{child.id}</li>
|
|
755
|
+
{/each}
|
|
756
|
+
</ul>
|
|
757
|
+
</div>
|
|
758
|
+
{/if}
|
|
721
759
|
{#if forkedDatatables.length > 0}
|
|
722
760
|
<div class="border rounded-md divide-y">
|
|
723
761
|
<div class="px-4 py-2 text-xs font-semibold text-secondary"> Forked databases </div>
|
|
@@ -47,6 +47,23 @@ async function toggleSwitchWorkspace(id) {
|
|
|
47
47
|
await goto('/');
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
function workspaceHref(id) {
|
|
51
|
+
const params = new URLSearchParams(page.url.searchParams);
|
|
52
|
+
params.set('workspace', id);
|
|
53
|
+
return `${page.url.pathname}?${params.toString()}`;
|
|
54
|
+
}
|
|
55
|
+
function onWorkspaceItemClick(e, workspace) {
|
|
56
|
+
if (workspace.disabled) {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Let modifier-keyed clicks fall through so the browser can open in a new tab.
|
|
61
|
+
if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
toggleSwitchWorkspace(workspace.id);
|
|
66
|
+
}
|
|
50
67
|
function getForkedWorkspace(workspaceId) {
|
|
51
68
|
if (!$userWorkspaces)
|
|
52
69
|
return undefined;
|
|
@@ -112,11 +129,8 @@ const itemClass = 'text-primary w-full flex flex-row gap-2 px-4 py-2 text-xs hov
|
|
|
112
129
|
? ''
|
|
113
130
|
: 'cursor-pointer hover:bg-surface-hover data-[highlighted]:bg-surface-hover'
|
|
114
131
|
)}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
await toggleSwitchWorkspace(workspace.id)
|
|
118
|
-
}
|
|
119
|
-
}}
|
|
132
|
+
href={workspace.disabled ? undefined : workspaceHref(workspace.id)}
|
|
133
|
+
onClick={(e) => onWorkspaceItemClick(e, workspace)}
|
|
120
134
|
{item}
|
|
121
135
|
>
|
|
122
136
|
<div class="flex items-center justify-between min-w-0 w-full">
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Optional external domain (e.g. "https://app.windmill.dev") used to build
|
|
2
|
+
// absolute URLs for user-facing links when the Windmill UI is embedded on a
|
|
3
|
+
// different host than the API. Undefined = same-origin (default behavior).
|
|
4
|
+
// Intended to be set once at boot by SDK consumers (e.g. windmill-react-sdk),
|
|
5
|
+
// before any component that builds links has rendered — there is no
|
|
6
|
+
// reactivity, so changing it after mount won't update already-rendered hrefs.
|
|
7
|
+
let externalDomain = undefined;
|
|
8
|
+
export function setExternalDomain(domain) {
|
|
9
|
+
externalDomain = domain;
|
|
10
|
+
}
|
|
11
|
+
export function withExternalDomain(path) {
|
|
12
|
+
if (!externalDomain)
|
|
13
|
+
return path;
|
|
14
|
+
const trimmed = externalDomain.replace(/\/$/, '');
|
|
15
|
+
return `${trimmed}${path.startsWith('/') ? path : `/${path}`}`;
|
|
16
|
+
}
|
|
@@ -1796,7 +1796,7 @@ export declare const $AzureKeyVaultSettings: {
|
|
|
1796
1796
|
};
|
|
1797
1797
|
readonly client_secret: {
|
|
1798
1798
|
readonly type: "string";
|
|
1799
|
-
readonly description: "Azure AD client secret";
|
|
1799
|
+
readonly description: "Azure AD client secret. Optional — when omitted, the integration falls back to Azure Workload Identity Federation, exchanging the Kubernetes-projected service-account JWT at AZURE_FEDERATED_TOKEN_FILE for an access token (no long-lived secret stored).";
|
|
1800
1800
|
};
|
|
1801
1801
|
readonly token: {
|
|
1802
1802
|
readonly type: "string";
|
|
@@ -3732,6 +3732,9 @@ export declare const $ListableVariable: {
|
|
|
3732
3732
|
readonly type: "string";
|
|
3733
3733
|
};
|
|
3734
3734
|
};
|
|
3735
|
+
readonly ws_specific: {
|
|
3736
|
+
readonly type: "boolean";
|
|
3737
|
+
};
|
|
3735
3738
|
};
|
|
3736
3739
|
readonly required: readonly ["workspace_id", "path", "is_secret", "extra_perms"];
|
|
3737
3740
|
};
|
|
@@ -3791,6 +3794,9 @@ export declare const $CreateVariable: {
|
|
|
3791
3794
|
readonly type: "string";
|
|
3792
3795
|
};
|
|
3793
3796
|
};
|
|
3797
|
+
readonly ws_specific: {
|
|
3798
|
+
readonly type: "boolean";
|
|
3799
|
+
};
|
|
3794
3800
|
};
|
|
3795
3801
|
readonly required: readonly ["path", "value", "is_secret", "description"];
|
|
3796
3802
|
};
|
|
@@ -3819,6 +3825,9 @@ export declare const $EditVariable: {
|
|
|
3819
3825
|
readonly type: "string";
|
|
3820
3826
|
};
|
|
3821
3827
|
};
|
|
3828
|
+
readonly ws_specific: {
|
|
3829
|
+
readonly type: "boolean";
|
|
3830
|
+
};
|
|
3822
3831
|
};
|
|
3823
3832
|
};
|
|
3824
3833
|
export declare const $AuditLog: {
|
|
@@ -4133,6 +4142,9 @@ export declare const $CreateResource: {
|
|
|
4133
4142
|
readonly type: "string";
|
|
4134
4143
|
};
|
|
4135
4144
|
};
|
|
4145
|
+
readonly ws_specific: {
|
|
4146
|
+
readonly type: "boolean";
|
|
4147
|
+
};
|
|
4136
4148
|
};
|
|
4137
4149
|
readonly required: readonly ["path", "value", "resource_type"];
|
|
4138
4150
|
};
|
|
@@ -4158,6 +4170,9 @@ export declare const $EditResource: {
|
|
|
4158
4170
|
readonly type: "string";
|
|
4159
4171
|
};
|
|
4160
4172
|
};
|
|
4173
|
+
readonly ws_specific: {
|
|
4174
|
+
readonly type: "boolean";
|
|
4175
|
+
};
|
|
4161
4176
|
};
|
|
4162
4177
|
};
|
|
4163
4178
|
export declare const $Resource: {
|
|
@@ -4198,6 +4213,9 @@ export declare const $Resource: {
|
|
|
4198
4213
|
readonly type: "string";
|
|
4199
4214
|
};
|
|
4200
4215
|
};
|
|
4216
|
+
readonly ws_specific: {
|
|
4217
|
+
readonly type: "boolean";
|
|
4218
|
+
};
|
|
4201
4219
|
};
|
|
4202
4220
|
readonly required: readonly ["path", "resource_type", "is_oauth"];
|
|
4203
4221
|
};
|
|
@@ -4254,6 +4272,9 @@ export declare const $ListableResource: {
|
|
|
4254
4272
|
readonly type: "string";
|
|
4255
4273
|
};
|
|
4256
4274
|
};
|
|
4275
|
+
readonly ws_specific: {
|
|
4276
|
+
readonly type: "boolean";
|
|
4277
|
+
};
|
|
4257
4278
|
};
|
|
4258
4279
|
readonly required: readonly ["path", "resource_type", "is_oauth", "is_linked", "is_refreshed"];
|
|
4259
4280
|
};
|
|
@@ -4739,7 +4760,7 @@ export declare const $EditSchedule: {
|
|
|
4739
4760
|
export declare const $JobTriggerKind: {
|
|
4740
4761
|
readonly description: "job trigger kind (schedule, http, websocket...)";
|
|
4741
4762
|
readonly type: "string";
|
|
4742
|
-
readonly enum: readonly ["webhook", "default_email", "email", "schedule", "http", "websocket", "postgres", "kafka", "nats", "mqtt", "sqs", "gcp", "azure", "google", "github"];
|
|
4763
|
+
readonly enum: readonly ["webhook", "default_email", "email", "schedule", "http", "websocket", "postgres", "kafka", "nats", "mqtt", "sqs", "gcp", "azure", "google", "github", "asset"];
|
|
4743
4764
|
};
|
|
4744
4765
|
export declare const $TriggerMode: {
|
|
4745
4766
|
readonly description: "job trigger mode";
|
|
@@ -9179,7 +9200,7 @@ export declare const $WorkspaceItemDiff: {
|
|
|
9179
9200
|
readonly properties: {
|
|
9180
9201
|
readonly kind: {
|
|
9181
9202
|
readonly type: "string";
|
|
9182
|
-
readonly enum: readonly ["script", "flow", "app", "raw_app", "resource", "variable", "resource_type"];
|
|
9203
|
+
readonly enum: readonly ["script", "flow", "app", "raw_app", "resource", "variable", "resource_type", "folder", "schedule", "http_trigger", "websocket_trigger", "kafka_trigger", "nats_trigger", "postgres_trigger", "mqtt_trigger", "sqs_trigger", "gcp_trigger", "azure_trigger", "email_trigger"];
|
|
9183
9204
|
readonly description: "Type of the item";
|
|
9184
9205
|
};
|
|
9185
9206
|
readonly path: {
|
|
@@ -9210,7 +9231,7 @@ export declare const $WorkspaceItemDiff: {
|
|
|
9210
9231
|
};
|
|
9211
9232
|
export declare const $CompareSummary: {
|
|
9212
9233
|
readonly type: "object";
|
|
9213
|
-
readonly required: readonly ["total_diffs", "total_ahead", "total_behind", "scripts_changed", "flows_changed", "apps_changed", "resources_changed", "variables_changed", "resource_types_changed", "folders_changed", "conflicts"];
|
|
9234
|
+
readonly required: readonly ["total_diffs", "total_ahead", "total_behind", "scripts_changed", "flows_changed", "apps_changed", "resources_changed", "variables_changed", "resource_types_changed", "folders_changed", "schedules_changed", "triggers_changed", "conflicts"];
|
|
9214
9235
|
readonly properties: {
|
|
9215
9236
|
readonly total_diffs: {
|
|
9216
9237
|
readonly type: "integer";
|
|
@@ -9252,6 +9273,14 @@ export declare const $CompareSummary: {
|
|
|
9252
9273
|
readonly type: "integer";
|
|
9253
9274
|
readonly description: "Number of folders with differences";
|
|
9254
9275
|
};
|
|
9276
|
+
readonly schedules_changed: {
|
|
9277
|
+
readonly type: "integer";
|
|
9278
|
+
readonly description: "Number of schedules with differences";
|
|
9279
|
+
};
|
|
9280
|
+
readonly triggers_changed: {
|
|
9281
|
+
readonly type: "integer";
|
|
9282
|
+
readonly description: "Number of triggers with differences (sum across all trigger kinds)";
|
|
9283
|
+
};
|
|
9255
9284
|
readonly conflicts: {
|
|
9256
9285
|
readonly type: "integer";
|
|
9257
9286
|
readonly description: "Number of items that are both ahead and behind (conflicts)";
|
|
@@ -1879,7 +1879,7 @@ export const $AzureKeyVaultSettings = {
|
|
|
1879
1879
|
},
|
|
1880
1880
|
client_secret: {
|
|
1881
1881
|
type: 'string',
|
|
1882
|
-
description: 'Azure AD client secret'
|
|
1882
|
+
description: 'Azure AD client secret. Optional — when omitted, the integration falls back to Azure Workload Identity Federation, exchanging the Kubernetes-projected service-account JWT at AZURE_FEDERATED_TOKEN_FILE for an access token (no long-lived secret stored).'
|
|
1883
1883
|
},
|
|
1884
1884
|
token: {
|
|
1885
1885
|
type: 'string',
|
|
@@ -3833,6 +3833,9 @@ export const $ListableVariable = {
|
|
|
3833
3833
|
items: {
|
|
3834
3834
|
type: 'string'
|
|
3835
3835
|
}
|
|
3836
|
+
},
|
|
3837
|
+
ws_specific: {
|
|
3838
|
+
type: 'boolean'
|
|
3836
3839
|
}
|
|
3837
3840
|
},
|
|
3838
3841
|
required: ['workspace_id', 'path', 'is_secret', 'extra_perms']
|
|
@@ -3892,6 +3895,9 @@ export const $CreateVariable = {
|
|
|
3892
3895
|
items: {
|
|
3893
3896
|
type: 'string'
|
|
3894
3897
|
}
|
|
3898
|
+
},
|
|
3899
|
+
ws_specific: {
|
|
3900
|
+
type: 'boolean'
|
|
3895
3901
|
}
|
|
3896
3902
|
},
|
|
3897
3903
|
required: ['path', 'value', 'is_secret', 'description']
|
|
@@ -3920,6 +3926,9 @@ export const $EditVariable = {
|
|
|
3920
3926
|
items: {
|
|
3921
3927
|
type: 'string'
|
|
3922
3928
|
}
|
|
3929
|
+
},
|
|
3930
|
+
ws_specific: {
|
|
3931
|
+
type: 'boolean'
|
|
3923
3932
|
}
|
|
3924
3933
|
}
|
|
3925
3934
|
};
|
|
@@ -4246,6 +4255,9 @@ export const $CreateResource = {
|
|
|
4246
4255
|
items: {
|
|
4247
4256
|
type: 'string'
|
|
4248
4257
|
}
|
|
4258
|
+
},
|
|
4259
|
+
ws_specific: {
|
|
4260
|
+
type: 'boolean'
|
|
4249
4261
|
}
|
|
4250
4262
|
},
|
|
4251
4263
|
required: ['path', 'value', 'resource_type']
|
|
@@ -4271,6 +4283,9 @@ export const $EditResource = {
|
|
|
4271
4283
|
items: {
|
|
4272
4284
|
type: 'string'
|
|
4273
4285
|
}
|
|
4286
|
+
},
|
|
4287
|
+
ws_specific: {
|
|
4288
|
+
type: 'boolean'
|
|
4274
4289
|
}
|
|
4275
4290
|
}
|
|
4276
4291
|
};
|
|
@@ -4311,6 +4326,9 @@ export const $Resource = {
|
|
|
4311
4326
|
items: {
|
|
4312
4327
|
type: 'string'
|
|
4313
4328
|
}
|
|
4329
|
+
},
|
|
4330
|
+
ws_specific: {
|
|
4331
|
+
type: 'boolean'
|
|
4314
4332
|
}
|
|
4315
4333
|
},
|
|
4316
4334
|
required: ['path', 'resource_type', 'is_oauth']
|
|
@@ -4367,6 +4385,9 @@ export const $ListableResource = {
|
|
|
4367
4385
|
items: {
|
|
4368
4386
|
type: 'string'
|
|
4369
4387
|
}
|
|
4388
|
+
},
|
|
4389
|
+
ws_specific: {
|
|
4390
|
+
type: 'boolean'
|
|
4370
4391
|
}
|
|
4371
4392
|
},
|
|
4372
4393
|
required: ['path', 'resource_type', 'is_oauth', 'is_linked', 'is_refreshed']
|
|
@@ -4856,7 +4877,7 @@ export const $EditSchedule = {
|
|
|
4856
4877
|
export const $JobTriggerKind = {
|
|
4857
4878
|
description: 'job trigger kind (schedule, http, websocket...)',
|
|
4858
4879
|
type: 'string',
|
|
4859
|
-
enum: ['webhook', 'default_email', 'email', 'schedule', 'http', 'websocket', 'postgres', 'kafka', 'nats', 'mqtt', 'sqs', 'gcp', 'azure', 'google', 'github']
|
|
4880
|
+
enum: ['webhook', 'default_email', 'email', 'schedule', 'http', 'websocket', 'postgres', 'kafka', 'nats', 'mqtt', 'sqs', 'gcp', 'azure', 'google', 'github', 'asset']
|
|
4860
4881
|
};
|
|
4861
4882
|
export const $TriggerMode = {
|
|
4862
4883
|
description: 'job trigger mode',
|
|
@@ -9337,7 +9358,7 @@ export const $WorkspaceItemDiff = {
|
|
|
9337
9358
|
properties: {
|
|
9338
9359
|
kind: {
|
|
9339
9360
|
type: 'string',
|
|
9340
|
-
enum: ['script', 'flow', 'app', 'raw_app', 'resource', 'variable', 'resource_type'],
|
|
9361
|
+
enum: ['script', 'flow', 'app', 'raw_app', 'resource', 'variable', 'resource_type', 'folder', 'schedule', 'http_trigger', 'websocket_trigger', 'kafka_trigger', 'nats_trigger', 'postgres_trigger', 'mqtt_trigger', 'sqs_trigger', 'gcp_trigger', 'azure_trigger', 'email_trigger'],
|
|
9341
9362
|
description: 'Type of the item'
|
|
9342
9363
|
},
|
|
9343
9364
|
path: {
|
|
@@ -9368,7 +9389,7 @@ export const $WorkspaceItemDiff = {
|
|
|
9368
9389
|
};
|
|
9369
9390
|
export const $CompareSummary = {
|
|
9370
9391
|
type: 'object',
|
|
9371
|
-
required: ['total_diffs', 'total_ahead', 'total_behind', 'scripts_changed', 'flows_changed', 'apps_changed', 'resources_changed', 'variables_changed', 'resource_types_changed', 'folders_changed', 'conflicts'],
|
|
9392
|
+
required: ['total_diffs', 'total_ahead', 'total_behind', 'scripts_changed', 'flows_changed', 'apps_changed', 'resources_changed', 'variables_changed', 'resource_types_changed', 'folders_changed', 'schedules_changed', 'triggers_changed', 'conflicts'],
|
|
9372
9393
|
properties: {
|
|
9373
9394
|
total_diffs: {
|
|
9374
9395
|
type: 'integer',
|
|
@@ -9410,6 +9431,14 @@ export const $CompareSummary = {
|
|
|
9410
9431
|
type: 'integer',
|
|
9411
9432
|
description: 'Number of folders with differences'
|
|
9412
9433
|
},
|
|
9434
|
+
schedules_changed: {
|
|
9435
|
+
type: 'integer',
|
|
9436
|
+
description: 'Number of schedules with differences'
|
|
9437
|
+
},
|
|
9438
|
+
triggers_changed: {
|
|
9439
|
+
type: 'integer',
|
|
9440
|
+
description: 'Number of triggers with differences (sum across all trigger kinds)'
|
|
9441
|
+
},
|
|
9413
9442
|
conflicts: {
|
|
9414
9443
|
type: 'integer',
|
|
9415
9444
|
description: 'Number of items that are both ahead and behind (conflicts)'
|