windmill-components 1.511.0 → 1.522.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/package/components/AppConnectInner.svelte.d.ts +1 -1
- package/package/components/ArgInput.svelte +56 -18
- package/package/components/ArgInput.svelte.d.ts +2 -10
- package/package/components/AssignableTagsInner.svelte +5 -0
- package/package/components/AuthSettings.svelte +4 -2
- package/package/components/AuthSettings.svelte.d.ts +1 -0
- package/package/components/DBManagerDrawer.svelte +154 -151
- package/package/components/DBManagerDrawer.svelte.d.ts +2 -2
- package/package/components/DBTable.svelte +3 -3
- package/package/components/DBTable.svelte.d.ts +1 -0
- package/package/components/DBTableEditor.svelte +7 -7
- package/package/components/DBTableEditor.svelte.d.ts +1 -1
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/DisplayResult.svelte +34 -8
- package/package/components/DisplayResult.svelte.d.ts +4 -1
- package/package/components/DynSelect.svelte +58 -34
- package/package/components/DynSelect.svelte.d.ts +3 -11
- package/package/components/EditableSchemaForm.svelte +126 -6
- package/package/components/EditableSchemaForm.svelte.d.ts +5 -1
- package/package/components/Editor.svelte +1 -1
- package/package/components/EditorBar.svelte +82 -4
- package/package/components/ErrorOrRecoveryHandler.svelte +76 -8
- package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -1
- package/package/components/ExploreAssetButton.svelte +14 -4
- package/package/components/ExploreAssetButton.svelte.d.ts +1 -0
- package/package/components/FlowJobResult.svelte +3 -3
- package/package/components/FlowJobResult.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +9 -0
- package/package/components/FlowPreviewContent.svelte.d.ts +3 -0
- package/package/components/FlowPreviewResult.svelte +4 -1
- package/package/components/FlowPreviewResult.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewer.svelte +2 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
- package/package/components/FlowStatusViewerInner.svelte +23 -3
- package/package/components/FlowStatusViewerInner.svelte.d.ts +10 -1
- package/package/components/FolderEditor.svelte +1 -1
- package/package/components/GitDiffPreview.svelte +14 -18
- package/package/components/GitDiffPreview.svelte.d.ts +2 -8
- package/package/components/GitHubAppIntegration.svelte +3 -1
- package/package/components/IdEditorInput.svelte +25 -22
- package/package/components/IdEditorInput.svelte.d.ts +11 -23
- package/package/components/InstanceSetting.svelte +7 -2
- package/package/components/InstanceSettings.svelte +1 -0
- package/package/components/JobLoader.svelte +48 -5
- package/package/components/JobLoader.svelte.d.ts +7 -2
- package/package/components/Login.svelte +8 -2
- package/package/components/MemoryFootprintViewer.svelte +1 -1
- package/package/components/ModulePreviewResultViewer.svelte +2 -2
- package/package/components/MoveDrawer.svelte.d.ts +2 -2
- package/package/components/NextcloudSetting.svelte +84 -0
- package/package/components/NextcloudSetting.svelte.d.ts +7 -0
- package/package/components/ObjectResourceInput.svelte +3 -2
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/ParqetCsvTableRenderer.svelte +1 -1
- package/package/components/ResourceEditor.svelte +1 -1
- package/package/components/ResourcePicker.svelte +8 -1
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultStreamDisplay.svelte +5 -0
- package/package/components/ResultStreamDisplay.svelte.d.ts +5 -0
- package/package/components/RunForm.svelte +9 -1
- package/package/components/SchemaForm.svelte +2 -2
- package/package/components/SchemaForm.svelte.d.ts +2 -10
- package/package/components/ScriptBuilder.svelte +13 -8
- package/package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ScriptWrapper.svelte +1 -1
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleAgTable.svelte +2 -0
- package/package/components/SimpleAgTable.svelte.d.ts +2 -0
- package/package/components/SqlRepl.svelte +21 -7
- package/package/components/SqlRepl.svelte.d.ts +2 -2
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/WorkerTagSelect.svelte +70 -1
- package/package/components/apps/components/display/AppDisplayComponent.svelte +13 -1
- package/package/components/apps/components/display/AppText.svelte +2 -2
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +8 -1
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +5 -4
- package/package/components/apps/components/display/dbtable/queries/count.js +11 -1
- package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +1 -1
- package/package/components/apps/components/display/dbtable/queries/createTable.js +3 -3
- package/package/components/apps/components/display/dbtable/queries/delete.js +7 -0
- package/package/components/apps/components/display/dbtable/queries/insert.js +2 -0
- package/package/components/apps/components/display/dbtable/queries/select.js +14 -0
- package/package/components/apps/components/display/dbtable/queries/update.js +7 -0
- package/package/components/apps/components/display/dbtable/utils.d.ts +6 -5
- package/package/components/apps/components/display/dbtable/utils.js +52 -28
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +1 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/AppAggridTable.svelte +5 -4
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/utils.js +7 -4
- package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -2
- package/package/components/apps/components/helpers/RunnableComponent.svelte +4 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +2 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +2 -2
- package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
- package/package/components/apps/components/layout/AppStepper.svelte +1 -1
- package/package/components/apps/components/layout/AppTabs.svelte +1 -1
- package/package/components/apps/editor/AppEditorHeader.svelte +13 -2
- package/package/components/apps/editor/GridViewer.svelte +1 -0
- package/package/components/apps/editor/RunnableJobPanelInner.svelte +2 -1
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +7 -7
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +7 -19
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +8 -12
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +3 -3
- package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +1 -3
- package/package/components/assets/AssetsDropdownButton.svelte +1 -1
- package/package/components/assets/JobAssetsViewer.svelte +2 -2
- package/package/components/assets/lib.js +4 -0
- package/package/components/auditLogs/AuditLogsFilters.svelte +7 -9
- package/package/components/common/button/Button.svelte +4 -3
- package/package/components/common/button/Button.svelte.d.ts +1 -0
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +6 -5
- package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +6 -11
- package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.d.ts +26 -0
- package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.js +50 -0
- package/package/components/common/modal/Modal.svelte +2 -5
- package/package/components/common/tabs/TabsV2.svelte +2 -1
- package/package/components/common/tabs/TabsV2.svelte.d.ts +1 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +61 -7
- package/package/components/copilot/chat/ContextTextarea.svelte +1 -1
- package/package/components/copilot/chat/script/core.js +28 -29
- package/package/components/copilot/chat/shared.d.ts +1 -1
- package/package/components/copilot/chat/shared.js +8 -2
- package/package/components/custom_ui.d.ts +3 -0
- package/package/components/dbOps.d.ts +20 -8
- package/package/components/dbOps.js +85 -40
- package/package/components/details/DetailPageHeader.svelte +0 -2
- package/package/components/flows/content/FlowInput.svelte +5 -0
- package/package/components/flows/content/FlowModuleComponent.svelte +1 -0
- package/package/components/flows/content/FlowModuleScript.svelte +0 -1
- package/package/components/flows/idUtils.js +2 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +3 -3
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -0
- package/package/components/flows/map/InsertModuleButton.svelte +4 -1
- package/package/components/flows/propPicker/OutputBadge.svelte +5 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte +9 -5
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +6 -2
- package/package/components/flows/propPicker/StepHistory.svelte +4 -1
- package/package/components/git_sync/DetectionFlow.svelte +202 -0
- package/package/components/git_sync/DetectionFlow.svelte.d.ts +6 -0
- package/package/components/git_sync/GitSyncContext.svelte.d.ts +82 -0
- package/package/components/git_sync/GitSyncContext.svelte.js +461 -0
- package/package/components/git_sync/GitSyncModalManager.svelte +99 -0
- package/package/components/git_sync/GitSyncModalManager.svelte.d.ts +18 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +339 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +6 -0
- package/package/components/git_sync/GitSyncRepositoryList.svelte +17 -0
- package/package/components/git_sync/GitSyncRepositoryList.svelte.d.ts +18 -0
- package/package/components/git_sync/GitSyncSection.svelte +89 -0
- package/package/components/git_sync/GitSyncSection.svelte.d.ts +3 -0
- package/package/components/git_sync/GitSyncSuccessModal.svelte +58 -0
- package/package/components/git_sync/GitSyncSuccessModal.svelte.d.ts +7 -0
- package/package/components/git_sync/PullWorkspaceModal.svelte +575 -0
- package/package/components/git_sync/PullWorkspaceModal.svelte.d.ts +15 -0
- package/package/components/git_sync/PushWorkspaceModal.svelte +320 -0
- package/package/components/git_sync/PushWorkspaceModal.svelte.d.ts +12 -0
- package/package/components/graph/FlowGraphV2.svelte +5 -1
- package/package/components/graph/graphBuilder.svelte.js +1 -1
- package/package/components/graph/renderers/nodes/AssetNode.svelte +4 -4
- package/package/components/icons/AssetDucklakeIcon.svelte +28 -0
- package/package/components/icons/AssetDucklakeIcon.svelte.d.ts +9 -0
- package/package/components/icons/AssetGenericIcon.svelte +3 -0
- package/package/components/icons/DucklakeIcon.svelte +18 -0
- package/package/components/icons/DucklakeIcon.svelte.d.ts +6 -0
- package/package/components/instanceSettings.js +11 -3
- package/package/components/runs/JobPreview.svelte +2 -2
- package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/schema/FlowPropertyEditor.svelte +3 -2
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +0 -2
- package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/SchemaFormDND.svelte +2 -1
- package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -0
- package/package/components/scriptEditor/LogPanel.svelte +5 -3
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +5 -1
- package/package/components/select/Select.svelte +7 -4
- package/package/components/select/Select.svelte.d.ts +5 -0
- package/package/components/select/SelectDropdown.svelte +2 -1
- package/package/components/select/SelectDropdown.svelte.d.ts +3 -0
- package/package/components/sidebar/changelogs.js +5 -0
- package/package/components/table/AutoDataTable.svelte +6 -4
- package/package/components/table/AutoDataTable.svelte.d.ts +1 -0
- package/package/components/table/DataTable.svelte +12 -10
- package/package/components/table/DataTable.svelte.d.ts +1 -0
- package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte.d.ts +2 -2
- package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
- package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +50 -11
- package/package/components/triggers/gcp/utils.js +1 -0
- package/package/components/triggers/http/utils.js +1 -1
- package/package/components/triggers/kafka/utils.js +1 -1
- package/package/components/triggers/mqtt/utils.js +1 -1
- package/package/components/triggers/nats/utils.js +1 -1
- package/package/components/triggers/postgres/utils.js +1 -1
- package/package/components/triggers/sqs/utils.js +1 -1
- package/package/components/triggers/utils.js +2 -1
- package/package/components/triggers/webhook/WebhooksConfigSection.svelte +24 -26
- package/package/components/triggers/webhook/WebhooksPanel.svelte +1 -15
- package/package/components/triggers/websocket/utils.js +1 -1
- package/package/components/workspaceSettings/AISettings.svelte +52 -36
- package/package/components/workspaceSettings/DucklakeSettings.svelte +321 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +23 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +122 -499
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte.d.ts +8 -10
- package/package/consts.js +2 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +33 -24
- package/package/gen/schemas.gen.js +36 -27
- package/package/gen/services.gen.d.ts +19 -1
- package/package/gen/services.gen.js +38 -0
- package/package/gen/types.gen.d.ts +103 -9
- package/package/git-sync.d.ts +36 -0
- package/package/git-sync.js +1 -0
- package/package/hub.d.ts +1 -0
- package/package/hubPaths.json +5 -2
- package/package/infer.js +3 -2
- package/package/script_helpers.d.ts +2 -2
- package/package/script_helpers.js +29 -11
- package/package/services/JobManager.d.ts +28 -0
- package/package/services/JobManager.js +114 -0
- package/package/stores.d.ts +1 -1
- package/package/utils.d.ts +18 -1
- package/package/utils.js +55 -2
- package/package.json +13 -12
- package/package/components/InitGitRepoPopover.svelte +0 -410
- package/package/components/InitGitRepoPopover.svelte.d.ts +0 -13
- package/package/components/PullGitRepoPopover.svelte +0 -355
- package/package/components/PullGitRepoPopover.svelte.d.ts +0 -18
- package/package/inferArgSig.d.ts +0 -35
- package/package/inferArgSig.js +0 -191
|
@@ -49,6 +49,7 @@ let forceJson = $state(false);
|
|
|
49
49
|
result={drawerContent.content}
|
|
50
50
|
customUi={customUi?.displayResult}
|
|
51
51
|
language={lang}
|
|
52
|
+
result_stream={previewJob?.result_stream}
|
|
52
53
|
/>
|
|
53
54
|
{:else if drawerContent?.mode === 'plain'}
|
|
54
55
|
<pre
|
|
@@ -60,7 +61,6 @@ let forceJson = $state(false);
|
|
|
60
61
|
{/if}
|
|
61
62
|
</DrawerContent>
|
|
62
63
|
</Drawer>
|
|
63
|
-
|
|
64
64
|
<div class="h-full flex flex-col">
|
|
65
65
|
<Tabs bind:selected={selectedTab} class="pt-1" wrapperClass="flex-none">
|
|
66
66
|
<Tab value="logs" size="xs">Logs & Result</Tab>
|
|
@@ -98,9 +98,9 @@ let forceJson = $state(false);
|
|
|
98
98
|
</Pane>
|
|
99
99
|
<Pane>
|
|
100
100
|
{@render children?.()}
|
|
101
|
-
{#if previewJob != undefined &&
|
|
101
|
+
{#if previewJob != undefined && (previewJob.result_stream || previewJob.result)}
|
|
102
102
|
<div class="relative w-full h-full p-2">
|
|
103
|
-
<div class="relative">
|
|
103
|
+
<div class="relative h-full">
|
|
104
104
|
<DisplayResult
|
|
105
105
|
bind:forceJson
|
|
106
106
|
workspaceId={previewJob?.workspace_id}
|
|
@@ -108,6 +108,8 @@ let forceJson = $state(false);
|
|
|
108
108
|
result={previewJob.result}
|
|
109
109
|
customUi={customUi?.displayResult}
|
|
110
110
|
language={lang}
|
|
111
|
+
result_stream={previewJob?.result_stream}
|
|
112
|
+
fixTableSizingToParent
|
|
111
113
|
>
|
|
112
114
|
{#snippet copilot_fix()}
|
|
113
115
|
{#if lang && editor && diffEditor && args && previewJob && !previewJob.success && getStringError(previewJob.result)}
|
|
@@ -5,7 +5,11 @@ import type { PreviewPanelUi } from '../custom_ui';
|
|
|
5
5
|
interface Props {
|
|
6
6
|
lang: Preview['language'] | undefined;
|
|
7
7
|
previewIsLoading?: boolean;
|
|
8
|
-
previewJob: Job
|
|
8
|
+
previewJob: (Job & {
|
|
9
|
+
result_stream?: string;
|
|
10
|
+
result?: any;
|
|
11
|
+
success?: boolean;
|
|
12
|
+
}) | undefined;
|
|
9
13
|
pastPreviews?: CompletedJob[];
|
|
10
14
|
editor?: Editor | undefined;
|
|
11
15
|
diffEditor?: DiffEditor | undefined;
|
|
@@ -6,8 +6,8 @@ import { untrack } from 'svelte';
|
|
|
6
6
|
import { getLabel, processItems } from './utils.svelte';
|
|
7
7
|
import SelectDropdown from './SelectDropdown.svelte';
|
|
8
8
|
import { deepEqual } from 'fast-equals';
|
|
9
|
-
let { items, placeholder = 'Please select', value = $bindable(), filterText = $bindable(''), class: className = '', clearable = false, listAutoWidth = true, disabled: _disabled = false, containerStyle = '', inputClass = '', disablePortal = false, loading = false, autofocus, RightIcon, createText, noItemsMsg, open = $bindable(false), groupBy, sortBy, onFocus, onBlur, onClear, onCreateItem } = $props();
|
|
10
|
-
let disabled = $derived(_disabled || loading);
|
|
9
|
+
let { items, placeholder = 'Please select', value = $bindable(), filterText = $bindable(''), class: className = '', clearable = false, listAutoWidth = true, disabled: _disabled = false, containerStyle = '', inputClass = '', disablePortal = false, loading = false, autofocus, RightIcon, createText, noItemsMsg, open = $bindable(false), groupBy, sortBy, onFocus, onBlur, onClear, onCreateItem, startSnippet } = $props();
|
|
10
|
+
let disabled = $derived(_disabled || (loading && !value));
|
|
11
11
|
let inputEl = $state();
|
|
12
12
|
let processedItems = $derived.by(() => {
|
|
13
13
|
let args = { items, createText, filterText, groupBy, onCreateItem, sortBy };
|
|
@@ -67,12 +67,14 @@ function clearValue() {
|
|
|
67
67
|
{disabled}
|
|
68
68
|
type="text"
|
|
69
69
|
bind:value={() => filterText, (v) => (filterText = v)}
|
|
70
|
-
placeholder={loading
|
|
70
|
+
placeholder={loading && !value
|
|
71
|
+
? 'Loading...'
|
|
72
|
+
: (valueEntry?.label ?? getLabel({ value }) ?? placeholder)}
|
|
71
73
|
style={containerStyle}
|
|
72
74
|
class={twMerge(
|
|
73
75
|
'!bg-surface text-ellipsis',
|
|
74
76
|
open ? '' : 'cursor-pointer',
|
|
75
|
-
|
|
77
|
+
!loading && value ? '!placeholder-primary' : '',
|
|
76
78
|
(clearable || RightIcon) && !disabled && value ? '!pr-8' : '',
|
|
77
79
|
inputClass ?? ''
|
|
78
80
|
)}
|
|
@@ -91,5 +93,6 @@ function clearValue() {
|
|
|
91
93
|
getInputRect={inputEl && (() => inputEl!.getBoundingClientRect())}
|
|
92
94
|
{listAutoWidth}
|
|
93
95
|
{noItemsMsg}
|
|
96
|
+
{startSnippet}
|
|
94
97
|
/>
|
|
95
98
|
</div>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type Snippet } from 'svelte';
|
|
2
|
+
import { type ProcessedItem } from './utils.svelte';
|
|
1
3
|
declare class __sveltets_Render<Item extends {
|
|
2
4
|
label?: string;
|
|
3
5
|
value: any;
|
|
@@ -27,6 +29,9 @@ declare class __sveltets_Render<Item extends {
|
|
|
27
29
|
onBlur?: (() => void) | undefined;
|
|
28
30
|
onClear?: (() => void) | undefined;
|
|
29
31
|
onCreateItem?: ((value: string) => void) | undefined;
|
|
32
|
+
startSnippet?: Snippet<[{
|
|
33
|
+
item: ProcessedItem<Item["value"]>;
|
|
34
|
+
}]> | undefined;
|
|
30
35
|
};
|
|
31
36
|
events(): {};
|
|
32
37
|
slots(): {};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import ConditionalPortal from '../common/drawer/ConditionalPortal.svelte';
|
|
3
3
|
import { untrack } from 'svelte';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
|
-
let { processedItems: _processedItems, value, filterText, listAutoWidth = true, disabled, disablePortal = false, open, noItemsMsg = 'No items found', class: className = '', ulClass = '', header, getInputRect, onSelectValue } = $props();
|
|
5
|
+
let { processedItems: _processedItems, value, filterText, listAutoWidth = true, disabled, disablePortal = false, open, noItemsMsg = 'No items found', class: className = '', ulClass = '', header, getInputRect, onSelectValue, startSnippet } = $props();
|
|
6
6
|
let processedItems = $derived(!filterText
|
|
7
7
|
? _processedItems
|
|
8
8
|
: _processedItems?.filter((item) => item.__is_create || item?.label?.toLowerCase().includes(filterText?.toLowerCase())));
|
|
@@ -102,6 +102,7 @@ $effect(() => {
|
|
|
102
102
|
onSelectValue(item)
|
|
103
103
|
}}
|
|
104
104
|
>
|
|
105
|
+
{@render startSnippet?.({ item })}
|
|
105
106
|
{item.label || '\xa0'}
|
|
106
107
|
{#if item.subtitle}
|
|
107
108
|
<div class="text-xs text-tertiary">{item.subtitle}</div>
|
|
@@ -15,6 +15,9 @@ declare class __sveltets_Render<T> {
|
|
|
15
15
|
header?: Snippet;
|
|
16
16
|
getInputRect?: (() => DOMRect) | undefined;
|
|
17
17
|
onSelectValue: (item: ProcessedItem<T>) => void;
|
|
18
|
+
startSnippet?: Snippet<[{
|
|
19
|
+
item: ProcessedItem<T>;
|
|
20
|
+
}]> | undefined;
|
|
18
21
|
};
|
|
19
22
|
events(): {};
|
|
20
23
|
slots(): {};
|
|
@@ -11,7 +11,7 @@ import { computeStructuredObjectsAndHeaders, convertJsonToCsv, isEmail, isLink }
|
|
|
11
11
|
import Popover from '../Popover.svelte';
|
|
12
12
|
import DarkModeObserver from '../DarkModeObserver.svelte';
|
|
13
13
|
import DownloadCsv from './DownloadCsv.svelte';
|
|
14
|
-
let { objects = [] } = $props();
|
|
14
|
+
let { objects = [], class: className } = $props();
|
|
15
15
|
let currentPage = $state(1);
|
|
16
16
|
let perPage = $state(25);
|
|
17
17
|
let search = $state('');
|
|
@@ -131,7 +131,7 @@ let slicedData = $derived(data.slice((currentPage - 1) * perPage, currentPage *
|
|
|
131
131
|
|
|
132
132
|
<DarkModeObserver bind:darkMode />
|
|
133
133
|
|
|
134
|
-
<div class=
|
|
134
|
+
<div class={className} bind:clientWidth={wrapperWidth}>
|
|
135
135
|
<div class="flex flex-col gap-2 py-1 my-1" style={`max-width: ${wrapperWidth}px;`}>
|
|
136
136
|
<div class="flex flex-row justify-between items-center gap-2">
|
|
137
137
|
<div class="flex flex-row gap-2 items-center whitespace-nowrap w-full">
|
|
@@ -242,7 +242,9 @@ let slicedData = $derived(data.slice((currentPage - 1) * perPage, currentPage *
|
|
|
242
242
|
on:change={(event) => {
|
|
243
243
|
currentPage = event.detail
|
|
244
244
|
}}
|
|
245
|
-
showNext={
|
|
245
|
+
showNext={objects.length > perPage}
|
|
246
|
+
showPrev={objects.length > perPage}
|
|
247
|
+
hasMore={currentPage * perPage < objects.length}
|
|
246
248
|
rowCount={data.length}
|
|
247
249
|
>
|
|
248
250
|
<Head>
|
|
@@ -294,7 +296,7 @@ let slicedData = $derived(data.slice((currentPage - 1) * perPage, currentPage *
|
|
|
294
296
|
{/each}
|
|
295
297
|
</tr>
|
|
296
298
|
</Head>
|
|
297
|
-
<tbody class="divide-y">
|
|
299
|
+
<tbody class="divide-y border-b">
|
|
298
300
|
{#each slicedData.filter((x) => x) as { _id, rowData }, index (index)}
|
|
299
301
|
<Row dividable selected={selection.includes(_id) && colSelection.length == 0}>
|
|
300
302
|
<Cell first={true} last={false} class="w-6">
|
|
@@ -10,7 +10,7 @@ let footerHeight = $state(0);
|
|
|
10
10
|
let tableHeight = $state(0);
|
|
11
11
|
const dispatch = createEventDispatcher();
|
|
12
12
|
let tableContainer = $state();
|
|
13
|
-
let { paginated = false, currentPage = $bindable(1), showNext = true, loadMore = 0, shouldLoadMore = false, rounded = true, size = 'md', perPage = $bindable(undefined), shouldHidePagination = false, noBorder = false, rowCount = undefined, hasMore = true, contentHeight = $bindable(0), tableFixed = false, infiniteScroll = undefined, neverShowLoader = false, loading = false, loadingMore = false, children, emptyMessage } = $props();
|
|
13
|
+
let { paginated = false, currentPage = $bindable(1), showNext = true, showPrev = true, loadMore = 0, shouldLoadMore = false, rounded = true, size = 'md', perPage = $bindable(undefined), shouldHidePagination = false, noBorder = false, rowCount = undefined, hasMore = true, contentHeight = $bindable(0), tableFixed = false, infiniteScroll = undefined, neverShowLoader = false, loading = false, loadingMore = false, children, emptyMessage } = $props();
|
|
14
14
|
setContext('datatable', {
|
|
15
15
|
size
|
|
16
16
|
});
|
|
@@ -98,15 +98,17 @@ $effect(() => {
|
|
|
98
98
|
<option value={1000}>1000</option>
|
|
99
99
|
</select>
|
|
100
100
|
{/if}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
101
|
+
{#if showPrev}
|
|
102
|
+
<Button
|
|
103
|
+
color="light"
|
|
104
|
+
size="xs2"
|
|
105
|
+
on:click={() => dispatch('previous')}
|
|
106
|
+
disabled={currentPage === 1}
|
|
107
|
+
startIcon={{ icon: ArrowLeftIcon }}
|
|
108
|
+
>
|
|
109
|
+
Previous
|
|
110
|
+
</Button>
|
|
111
|
+
{/if}
|
|
110
112
|
{#if showNext}
|
|
111
113
|
<Button
|
|
112
114
|
color="light"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Retry } from '../../gen';
|
|
1
|
+
import type { ErrorHandler, Retry } from '../../gen';
|
|
2
2
|
type $$ComponentProps = {
|
|
3
3
|
optionTabSelected: 'error_handler' | 'retries' | string;
|
|
4
4
|
itemKind: 'script' | 'flow';
|
|
5
5
|
can_write: boolean;
|
|
6
|
-
errorHandlerSelected:
|
|
6
|
+
errorHandlerSelected: ErrorHandler;
|
|
7
7
|
error_handler_path: string | undefined;
|
|
8
8
|
error_handler_args: Record<string, any>;
|
|
9
9
|
retry: Retry | undefined;
|
|
@@ -57,7 +57,7 @@ async function loadAllSubscriptionFromGooglePubSubTopic() {
|
|
|
57
57
|
loadingSubscription = false;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
let { can_write = false, headless = false, isValid = $bindable(false), gcp_resource_path = $bindable(''), subscription_id = $bindable(''), topic_id = $bindable(''), delivery_type = $bindable('pull'), delivery_config = $bindable(), subscription_mode = $bindable('create_update'), base_endpoint = $bindable(getBaseUrl()), path = '', showTestingBadge = false, cloud_subscription_id = $bindable(''), create_update_subscription_id = $bindable('') } = $props();
|
|
60
|
+
let { can_write = false, headless = false, isValid = $bindable(false), gcp_resource_path = $bindable(''), subscription_id = $bindable(''), topic_id = $bindable(''), delivery_type = $bindable('pull'), delivery_config = $bindable(), subscription_mode = $bindable('create_update'), base_endpoint = $bindable(getBaseUrl()), auto_acknowledge_msg = $bindable(true), path = '', showTestingBadge = false, cloud_subscription_id = $bindable(''), create_update_subscription_id = $bindable('') } = $props();
|
|
61
61
|
if (gcp_resource_path) {
|
|
62
62
|
loadAllPubSubTopicsFromProject();
|
|
63
63
|
}
|
|
@@ -14,7 +14,8 @@ interface Props {
|
|
|
14
14
|
showTestingBadge?: boolean;
|
|
15
15
|
cloud_subscription_id?: string;
|
|
16
16
|
create_update_subscription_id?: string;
|
|
17
|
+
auto_acknowledge_msg: boolean;
|
|
17
18
|
}
|
|
18
|
-
declare const GcpTriggerEditorConfigSection: import("svelte").Component<Props, {}, "base_endpoint" | "gcp_resource_path" | "topic_id" | "subscription_id" | "delivery_type" | "subscription_mode" | "delivery_config" | "isValid" | "cloud_subscription_id" | "create_update_subscription_id">;
|
|
19
|
+
declare const GcpTriggerEditorConfigSection: import("svelte").Component<Props, {}, "base_endpoint" | "gcp_resource_path" | "topic_id" | "subscription_id" | "delivery_type" | "subscription_mode" | "delivery_config" | "auto_acknowledge_msg" | "isValid" | "cloud_subscription_id" | "create_update_subscription_id">;
|
|
19
20
|
type GcpTriggerEditorConfigSection = ReturnType<typeof GcpTriggerEditorConfigSection>;
|
|
20
21
|
export default GcpTriggerEditorConfigSection;
|
|
@@ -19,6 +19,8 @@ import { base } from '../../../base';
|
|
|
19
19
|
import Tabs from '../../common/tabs/Tabs.svelte';
|
|
20
20
|
import Tab from '../../common/tabs/Tab.svelte';
|
|
21
21
|
import TriggerRetriesAndErrorHandler from '../TriggerRetriesAndErrorHandler.svelte';
|
|
22
|
+
import Subsection from '../../Subsection.svelte';
|
|
23
|
+
import Toggle from '../../Toggle.svelte';
|
|
22
24
|
let drawer = $state(undefined);
|
|
23
25
|
let is_flow = $state(false);
|
|
24
26
|
let initialPath = $state('');
|
|
@@ -43,6 +45,7 @@ let subscription_mode = $state('create_update');
|
|
|
43
45
|
let initialConfig = undefined;
|
|
44
46
|
let deploymentLoading = $state(false);
|
|
45
47
|
let base_endpoint = $derived(`${window.location.origin}${base}`);
|
|
48
|
+
let auto_acknowledge_msg = $state(true);
|
|
46
49
|
let optionTabSelected = $state('error_handler');
|
|
47
50
|
let errorHandlerSelected = $state('slack');
|
|
48
51
|
let error_handler_path = $state();
|
|
@@ -95,6 +98,7 @@ export async function openNew(nis_flow, fixedScriptPath_, defaultValues) {
|
|
|
95
98
|
error_handler_path = defaultValues?.error_handler_path ?? undefined;
|
|
96
99
|
error_handler_args = defaultValues?.error_handler_args ?? {};
|
|
97
100
|
retry = defaultValues?.retry ?? undefined;
|
|
101
|
+
auto_acknowledge_msg = defaultValues?.auto_acknowledge_msg ?? true;
|
|
98
102
|
errorHandlerSelected = getHandlerType(error_handler_path ?? '');
|
|
99
103
|
}
|
|
100
104
|
finally {
|
|
@@ -135,6 +139,7 @@ async function loadTriggerConfig(cfg) {
|
|
|
135
139
|
error_handler_path = cfg?.error_handler_path;
|
|
136
140
|
error_handler_args = cfg?.error_handler_args ?? {};
|
|
137
141
|
retry = cfg?.retry;
|
|
142
|
+
auto_acknowledge_msg = cfg?.auto_acknowledge_msg ?? true;
|
|
138
143
|
errorHandlerSelected = getHandlerType(error_handler_path ?? '');
|
|
139
144
|
}
|
|
140
145
|
async function updateTrigger() {
|
|
@@ -165,7 +170,8 @@ function getGcpConfig() {
|
|
|
165
170
|
is_flow,
|
|
166
171
|
error_handler_path,
|
|
167
172
|
error_handler_args,
|
|
168
|
-
retry
|
|
173
|
+
retry,
|
|
174
|
+
auto_acknowledge_msg
|
|
169
175
|
};
|
|
170
176
|
}
|
|
171
177
|
function getGcpCaptureConfig() {
|
|
@@ -176,6 +182,7 @@ function getGcpCaptureConfig() {
|
|
|
176
182
|
delivery_type,
|
|
177
183
|
delivery_config,
|
|
178
184
|
base_endpoint,
|
|
185
|
+
auto_acknowledge_msg,
|
|
179
186
|
topic_id,
|
|
180
187
|
path
|
|
181
188
|
};
|
|
@@ -313,7 +320,7 @@ $effect(() => {
|
|
|
313
320
|
color="dark"
|
|
314
321
|
size="xs"
|
|
315
322
|
disabled={!can_write}
|
|
316
|
-
href={itemKind === 'flow' ? '/flows/add?hub=68' : '/scripts/add?hub=hub%
|
|
323
|
+
href={itemKind === 'flow' ? '/flows/add?hub=68' : '/scripts/add?hub=hub%2F19796'}
|
|
317
324
|
target="_blank">Create from template</Button
|
|
318
325
|
>
|
|
319
326
|
{/if}
|
|
@@ -329,6 +336,7 @@ $effect(() => {
|
|
|
329
336
|
bind:delivery_config
|
|
330
337
|
bind:topic_id
|
|
331
338
|
bind:subscription_mode
|
|
339
|
+
bind:auto_acknowledge_msg
|
|
332
340
|
{path}
|
|
333
341
|
cloud_subscription_id={subscription_id}
|
|
334
342
|
create_update_subscription_id={subscription_id}
|
|
@@ -341,19 +349,50 @@ $effect(() => {
|
|
|
341
349
|
<div class="flex flex-col gap-4">
|
|
342
350
|
<div class="min-h-96">
|
|
343
351
|
<Tabs bind:selected={optionTabSelected}>
|
|
352
|
+
<Tab value="settings">Settings</Tab>
|
|
344
353
|
<Tab value="error_handler">Error Handler</Tab>
|
|
345
354
|
<Tab value="retries">Retries</Tab>
|
|
346
355
|
</Tabs>
|
|
347
356
|
<div class="mt-4">
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
+
{#if optionTabSelected === 'settings'}
|
|
358
|
+
<div class="flex flex-col gap-4">
|
|
359
|
+
{#if delivery_type === 'pull'}
|
|
360
|
+
<Subsection
|
|
361
|
+
label="Auto-acknowledge messages"
|
|
362
|
+
tooltip="When enabled (recommended), Windmill automatically acknowledges Pub/Sub messages after successful processing. When disabled, your script/flow must explicitly acknowledge each message."
|
|
363
|
+
>
|
|
364
|
+
<div class="mt-2">
|
|
365
|
+
<Toggle bind:checked={auto_acknowledge_msg} />
|
|
366
|
+
</div>
|
|
367
|
+
{#if !auto_acknowledge_msg}
|
|
368
|
+
<div class="mt-3">
|
|
369
|
+
<Alert size="xs" type="warning" title="Manual Acknowledgment Required">
|
|
370
|
+
You must acknowledge each message in your script/flow code using the
|
|
371
|
+
`ack_id` provided in the payload data. If messages are not acknowledged
|
|
372
|
+
within the acknowledgment deadline (by default 600 seconds), GCP will
|
|
373
|
+
automatically redeliver them in 600 seconds, causing Windmill to
|
|
374
|
+
reprocess the same messages repeatedly.
|
|
375
|
+
</Alert>
|
|
376
|
+
</div>
|
|
377
|
+
{/if}
|
|
378
|
+
</Subsection>
|
|
379
|
+
{:else}
|
|
380
|
+
<div class="flex items-center justify-center h-32 text-tertiary">
|
|
381
|
+
No settings available for push delivery type
|
|
382
|
+
</div>
|
|
383
|
+
{/if}
|
|
384
|
+
</div>
|
|
385
|
+
{:else}
|
|
386
|
+
<TriggerRetriesAndErrorHandler
|
|
387
|
+
{optionTabSelected}
|
|
388
|
+
{itemKind}
|
|
389
|
+
{can_write}
|
|
390
|
+
bind:errorHandlerSelected
|
|
391
|
+
bind:error_handler_path
|
|
392
|
+
bind:error_handler_args
|
|
393
|
+
bind:retry
|
|
394
|
+
/>
|
|
395
|
+
{/if}
|
|
357
396
|
</div>
|
|
358
397
|
</div>
|
|
359
398
|
</div>
|
|
@@ -22,6 +22,7 @@ export async function saveGcpTriggerFromCfg(initialPath, cfg, edit, workspace, u
|
|
|
22
22
|
script_path: cfg.script_path,
|
|
23
23
|
enabled: cfg.enabled,
|
|
24
24
|
is_flow: cfg.is_flow,
|
|
25
|
+
auto_acknowledge_msg: cfg.auto_acknowledge_msg,
|
|
25
26
|
...errorHandlerAndRetries
|
|
26
27
|
};
|
|
27
28
|
if (edit) {
|
|
@@ -37,7 +37,7 @@ export async function saveHttpRouteFromCfg(initialPath, routeCfg, edit, workspac
|
|
|
37
37
|
summary: routeCfg.summary,
|
|
38
38
|
error_handler_path: routeCfg.error_handler_path,
|
|
39
39
|
error_handler_args: routeCfg.error_handler_path ? routeCfg.error_handler_args : undefined,
|
|
40
|
-
retry: routeCfg.retry
|
|
40
|
+
retry: routeCfg.retry,
|
|
41
41
|
};
|
|
42
42
|
try {
|
|
43
43
|
if (edit) {
|
|
@@ -6,7 +6,7 @@ export async function saveKafkaTriggerFromCfg(initialPath, cfg, edit, workspace,
|
|
|
6
6
|
? {
|
|
7
7
|
error_handler_path: cfg.error_handler_path,
|
|
8
8
|
error_handler_args: cfg.error_handler_path ? cfg.error_handler_args : undefined,
|
|
9
|
-
retry: cfg.retry
|
|
9
|
+
retry: cfg.retry,
|
|
10
10
|
}
|
|
11
11
|
: {};
|
|
12
12
|
const requestBody = {
|
|
@@ -6,7 +6,7 @@ export async function saveMqttTriggerFromCfg(initialPath, cfg, edit, workspace,
|
|
|
6
6
|
? {
|
|
7
7
|
error_handler_path: cfg.error_handler_path,
|
|
8
8
|
error_handler_args: cfg.error_handler_path ? cfg.error_handler_args : undefined,
|
|
9
|
-
retry: cfg.retry
|
|
9
|
+
retry: cfg.retry,
|
|
10
10
|
}
|
|
11
11
|
: {};
|
|
12
12
|
const requestBody = {
|
|
@@ -6,7 +6,7 @@ export async function saveNatsTriggerFromCfg(initialPath, cfg, edit, workspace,
|
|
|
6
6
|
? {
|
|
7
7
|
error_handler_path: cfg.error_handler_path,
|
|
8
8
|
error_handler_args: cfg.error_handler_path ? cfg.error_handler_args : undefined,
|
|
9
|
-
retry: cfg.retry
|
|
9
|
+
retry: cfg.retry,
|
|
10
10
|
}
|
|
11
11
|
: {};
|
|
12
12
|
const requestBody = {
|
|
@@ -85,7 +85,7 @@ export async function savePostgresTriggerFromCfg(initialPath, config, edit, work
|
|
|
85
85
|
? {
|
|
86
86
|
error_handler_path: config.error_handler_path,
|
|
87
87
|
error_handler_args: config.error_handler_path ? config.error_handler_args : undefined,
|
|
88
|
-
retry: config.retry
|
|
88
|
+
retry: config.retry,
|
|
89
89
|
}
|
|
90
90
|
: {};
|
|
91
91
|
const requestBody = {
|
|
@@ -6,7 +6,7 @@ export async function saveSqsTriggerFromCfg(initialPath, cfg, edit, workspace, u
|
|
|
6
6
|
? {
|
|
7
7
|
error_handler_path: cfg.error_handler_path,
|
|
8
8
|
error_handler_args: cfg.error_handler_path ? cfg.error_handler_args : undefined,
|
|
9
|
-
retry: cfg.retry
|
|
9
|
+
retry: cfg.retry,
|
|
10
10
|
}
|
|
11
11
|
: {};
|
|
12
12
|
const requestBody = {
|
|
@@ -398,7 +398,8 @@ export function filterDraftTriggers(savedValue, triggersState) {
|
|
|
398
398
|
export function getHandlerType(scriptPath) {
|
|
399
399
|
const handlerMap = {
|
|
400
400
|
teams: '/workspace-or-schedule-error-handler-teams',
|
|
401
|
-
slack: '/workspace-or-schedule-error-handler-slack'
|
|
401
|
+
slack: '/workspace-or-schedule-error-handler-slack',
|
|
402
|
+
email: '/workspace-or-error-handler-email'
|
|
402
403
|
};
|
|
403
404
|
for (const [type, suffix] of Object.entries(handlerMap)) {
|
|
404
405
|
if (scriptPath.startsWith('hub/') && scriptPath.endsWith(suffix)) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
<script lang="ts">import
|
|
2
|
-
import Label from '../../Label.svelte';
|
|
1
|
+
<script lang="ts">import Label from '../../Label.svelte';
|
|
3
2
|
import Tooltip from '../../Tooltip.svelte';
|
|
4
3
|
import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
5
4
|
import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
|
|
@@ -10,7 +9,7 @@ import { ArrowDownRight, ArrowUpRight, Clipboard } from 'lucide-svelte';
|
|
|
10
9
|
import { Highlight } from 'svelte-highlight';
|
|
11
10
|
import { typescript } from 'svelte-highlight/languages';
|
|
12
11
|
import ClipboardPanel from '../../details/ClipboardPanel.svelte';
|
|
13
|
-
import { copyToClipboard, isObject } from '../../../utils';
|
|
12
|
+
import { copyToClipboard, isObject, readFieldsRecursively } from '../../../utils';
|
|
14
13
|
// import { page } from '$app/stores'
|
|
15
14
|
import { base } from '../../../base';
|
|
16
15
|
import TriggerTokens from '../TriggerTokens.svelte';
|
|
@@ -21,7 +20,28 @@ let { isFlow = false, path = '', hash = undefined, token = $bindable(''), runnab
|
|
|
21
20
|
let webhooks = $derived(isFlow ? computeFlowWebhooks(path) : computeScriptWebhooks(hash, path));
|
|
22
21
|
let selectedTab = $state('rest');
|
|
23
22
|
let userSettings = $state();
|
|
24
|
-
let
|
|
23
|
+
let webhookType = $state(DEFAULT_WEBHOOK_TYPE);
|
|
24
|
+
let requestType = $state(isFlow ? 'path' : 'path');
|
|
25
|
+
let tokenType = $state('headers');
|
|
26
|
+
$effect(() => {
|
|
27
|
+
if (webhookType === 'async' && requestType === 'get_path') {
|
|
28
|
+
requestType = hash ? 'hash' : 'path';
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
let cleanedRunnableArgs = $derived.by(() => {
|
|
32
|
+
readFieldsRecursively(runnableArgs);
|
|
33
|
+
return isObject(runnableArgs) && 'wm_trigger' in runnableArgs
|
|
34
|
+
? Object.fromEntries(Object.entries(runnableArgs).filter(([key]) => key !== 'wm_trigger'))
|
|
35
|
+
: runnableArgs;
|
|
36
|
+
});
|
|
37
|
+
let url = $derived(webhooks[webhookType][requestType] +
|
|
38
|
+
(tokenType === 'query'
|
|
39
|
+
? `?token=${token}${requestType === 'get_path'
|
|
40
|
+
? `&payload=${encodeURIComponent(btoa(JSON.stringify(cleanedRunnableArgs ?? {})))}`
|
|
41
|
+
: ''}`
|
|
42
|
+
: `${requestType === 'get_path'
|
|
43
|
+
? `?payload=${encodeURIComponent(btoa(JSON.stringify(cleanedRunnableArgs ?? {})))}`
|
|
44
|
+
: ''}`));
|
|
25
45
|
function computeScriptWebhooks(hash, path) {
|
|
26
46
|
let webhookBase = `${location.origin}${base}/api/w/${$workspaceStore}/jobs`;
|
|
27
47
|
return {
|
|
@@ -50,9 +70,6 @@ function computeFlowWebhooks(path) {
|
|
|
50
70
|
}
|
|
51
71
|
};
|
|
52
72
|
}
|
|
53
|
-
let webhookType = $state(DEFAULT_WEBHOOK_TYPE);
|
|
54
|
-
let requestType = $state(isFlow ? 'path' : 'path');
|
|
55
|
-
let tokenType = $state('headers');
|
|
56
73
|
function headers() {
|
|
57
74
|
const headers = {};
|
|
58
75
|
if (requestType != 'get_path') {
|
|
@@ -155,25 +172,6 @@ while true; do
|
|
|
155
172
|
fi
|
|
156
173
|
done`}`;
|
|
157
174
|
}
|
|
158
|
-
run(() => {
|
|
159
|
-
if (webhookType === 'async' && requestType === 'get_path') {
|
|
160
|
-
requestType = hash ? 'hash' : 'path';
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
let cleanedRunnableArgs = $derived(isObject(runnableArgs) && 'wm_trigger' in runnableArgs
|
|
164
|
-
? Object.fromEntries(Object.entries(runnableArgs).filter(([key]) => key !== 'wm_trigger'))
|
|
165
|
-
: runnableArgs);
|
|
166
|
-
run(() => {
|
|
167
|
-
url =
|
|
168
|
-
webhooks[webhookType][requestType] +
|
|
169
|
-
(tokenType === 'query'
|
|
170
|
-
? `?token=${token}${requestType === 'get_path'
|
|
171
|
-
? `&payload=${encodeURIComponent(btoa(JSON.stringify(cleanedRunnableArgs ?? {})))}`
|
|
172
|
-
: ''}`
|
|
173
|
-
: `${requestType === 'get_path'
|
|
174
|
-
? `?payload=${encodeURIComponent(btoa(JSON.stringify(cleanedRunnableArgs ?? {})))}`
|
|
175
|
-
: ''}`);
|
|
176
|
-
});
|
|
177
175
|
</script>
|
|
178
176
|
|
|
179
177
|
<UserSettings
|
|
@@ -4,12 +4,6 @@ import HighlightTheme from '../../HighlightTheme.svelte';
|
|
|
4
4
|
import WebhooksConfigSection from './WebhooksConfigSection.svelte';
|
|
5
5
|
import { Section } from '../../common';
|
|
6
6
|
let { token, args = {}, scopes = [], isFlow = false, hash = undefined, path, newItem = false } = $props();
|
|
7
|
-
let data = $derived({
|
|
8
|
-
hash,
|
|
9
|
-
token,
|
|
10
|
-
scopes,
|
|
11
|
-
args
|
|
12
|
-
});
|
|
13
7
|
</script>
|
|
14
8
|
|
|
15
9
|
<HighlightTheme />
|
|
@@ -25,13 +19,5 @@ let data = $derived({
|
|
|
25
19
|
{isFlow ? 'flow' : 'script'}.
|
|
26
20
|
</Alert>
|
|
27
21
|
{/if}
|
|
28
|
-
|
|
29
|
-
<WebhooksConfigSection
|
|
30
|
-
{isFlow}
|
|
31
|
-
{path}
|
|
32
|
-
hash={data?.hash}
|
|
33
|
-
token={data?.token}
|
|
34
|
-
runnableArgs={data?.args}
|
|
35
|
-
scopes={data?.scopes}
|
|
36
|
-
/>
|
|
22
|
+
<WebhooksConfigSection {isFlow} {path} {hash} {token} runnableArgs={args} {scopes} />
|
|
37
23
|
</Section>
|
|
@@ -8,7 +8,7 @@ export async function saveWebsocketTriggerFromCfg(initialPath, triggerCfg, edit,
|
|
|
8
8
|
error_handler_args: triggerCfg.error_handler_path
|
|
9
9
|
? triggerCfg.error_handler_args
|
|
10
10
|
: undefined,
|
|
11
|
-
retry: triggerCfg.retry
|
|
11
|
+
retry: triggerCfg.retry,
|
|
12
12
|
}
|
|
13
13
|
: {};
|
|
14
14
|
const requestBody = {
|