windmill-components 1.665.1 → 1.677.1
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/AddUser.svelte +67 -34
- package/package/components/AppConnectInner.svelte +9 -1
- package/package/components/ArgInfo.svelte +9 -1
- package/package/components/ArgInput.svelte +21 -1
- package/package/components/CompareWorkspaces.svelte +11 -2
- package/package/components/DedicatedWorkersSelector.svelte +262 -247
- package/package/components/DefaultTagsInner.svelte +40 -2
- package/package/components/DeployWorkspace.svelte +13 -0
- package/package/components/DiffEditor.svelte +44 -1
- package/package/components/EditableSchemaForm.svelte +5 -2
- package/package/components/EditableSchemaForm.svelte.d.ts +1 -0
- package/package/components/Editor.svelte +5 -1
- package/package/components/EditorBar.svelte +12 -3
- package/package/components/FilterSearchbar.svelte +26 -2
- package/package/components/FlowBuilder.svelte +6 -3
- package/package/components/FlowGraphDiffViewer.svelte +16 -17
- package/package/components/FlowGraphViewer.svelte +20 -6
- package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
- package/package/components/FlowGraphViewerStep.svelte +14 -32
- package/package/components/FlowMetadata.svelte +4 -1
- package/package/components/FlowPreviewContent.svelte +2 -0
- package/package/components/FlowStatusWaitingForEvents.svelte +25 -4
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InstanceSetting.svelte +9 -25
- package/package/components/InstanceSettings.svelte +16 -0
- package/package/components/LabelsInput.svelte +149 -0
- package/package/components/LabelsInput.svelte.d.ts +8 -0
- package/package/components/Login.svelte +6 -1
- package/package/components/ObjectStoreConfigSettings.svelte +273 -1
- package/package/components/OktaSetting.svelte +6 -5
- package/package/components/Password.svelte +74 -20
- package/package/components/Password.svelte.d.ts +1 -0
- package/package/components/PasswordArgInput.svelte +2 -2
- package/package/components/PasswordArgInput.svelte.d.ts +1 -0
- package/package/components/Path.svelte +8 -10
- package/package/components/PathNameAutocomplete.svelte +308 -0
- package/package/components/PathNameAutocomplete.svelte.d.ts +27 -0
- package/package/components/PowerShellCommonParams.svelte +84 -0
- package/package/components/PowerShellCommonParams.svelte.d.ts +6 -0
- package/package/components/Range.svelte +8 -3
- package/package/components/ResourceEditor.svelte +6 -2
- package/package/components/RunForm.svelte +71 -7
- package/package/components/RunForm.svelte.d.ts +2 -1
- package/package/components/ScriptBuilder.svelte +7 -3
- package/package/components/ScriptEditor.svelte +221 -187
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ScriptSchema.svelte +1 -1
- package/package/components/StringTypeNarrowing.svelte +1 -1
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/SummaryPathDisplay.svelte +32 -10
- package/package/components/SummaryPathDisplay.svelte.d.ts +2 -1
- package/package/components/VariableEditor.svelte +9 -2
- package/package/components/WorkerGroup.svelte +47 -2
- package/package/components/apps/editor/DeploymentHistory.svelte +112 -13
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +135 -35
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +3 -1
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +11 -35
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.d.ts +10 -0
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.js +14 -0
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.test.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.test.js +34 -0
- package/package/components/assets/AssetButtons.svelte +21 -25
- package/package/components/assets/AssetsUsageDrawer.svelte +7 -9
- package/package/components/common/fileUpload/FileUpload.svelte +6 -2
- package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
- package/package/components/common/table/AppRow.svelte +18 -0
- package/package/components/common/table/FlowRow.svelte +18 -0
- package/package/components/common/table/ScriptRow.svelte +18 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +3 -3
- package/package/components/copilot/chat/flow/openFlow.json +1 -1
- package/package/components/copilot/chat/flow/openFlowZod.js +3 -3
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/details/DetailPageHeader.svelte +2 -2
- package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
- package/package/components/flows/agentToolUtils.d.ts +5 -0
- package/package/components/flows/agentToolUtils.js +49 -0
- package/package/components/flows/agentToolUtils.test.d.ts +1 -0
- package/package/components/flows/agentToolUtils.test.js +55 -0
- package/package/components/flows/content/FlowInput.svelte +2 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
- package/package/components/flows/content/FlowLoop.svelte +5 -12
- package/package/components/flows/content/FlowModuleScript.svelte +5 -3
- package/package/components/flows/content/FlowPathViewer.svelte +2 -2
- package/package/components/flows/content/FlowPathViewer.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowSettings.svelte +2 -0
- package/package/components/flows/content/FlowWhileLoop.svelte +5 -12
- package/package/components/flows/flowInfers.js +8 -3
- package/package/components/flows/flowStore.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +49 -9
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +5 -3
- package/package/components/flows/scheduleUtils.js +2 -1
- package/package/components/graph/FlowGraphV2.svelte +13 -1
- package/package/components/graph/WacDiagram.svelte +96 -0
- package/package/components/graph/WacDiagram.svelte.d.ts +7 -0
- package/package/components/graph/noteEditor.svelte.d.ts +1 -1
- package/package/components/graph/noteEditor.svelte.js +12 -1
- package/package/components/graph/noteUtils.svelte.d.ts +1 -1
- package/package/components/graph/noteUtils.svelte.js +9 -2
- package/package/components/graph/renderers/edges/WacEdge.svelte +41 -0
- package/package/components/graph/renderers/edges/WacEdge.svelte.d.ts +4 -0
- package/package/components/graph/renderers/nodes/WacControlNode.svelte +51 -0
- package/package/components/graph/renderers/nodes/WacControlNode.svelte.d.ts +9 -0
- package/package/components/graph/renderers/nodes/WacStepNode.svelte +35 -0
- package/package/components/graph/renderers/nodes/WacStepNode.svelte.d.ts +9 -0
- package/package/components/graph/wacDagLayout.d.ts +10 -0
- package/package/components/graph/wacDagLayout.js +120 -0
- package/package/components/graph/wacToFlow.js +1 -1
- package/package/components/home/ItemsList.svelte +28 -4
- package/package/components/icons/RIcon.svelte +32 -0
- package/package/components/icons/RIcon.svelte.d.ts +7 -0
- package/package/components/instanceSettings/DbHealth.svelte +723 -0
- package/package/components/instanceSettings/DbHealth.svelte.d.ts +3 -0
- package/package/components/instanceSettings/SecretBackendConfig.svelte +343 -304
- package/package/components/instanceSettings/SmtpSettings.svelte +8 -0
- package/package/components/instanceSettings.js +14 -5
- package/package/components/mcp/McpScopeSelector.svelte +82 -16
- package/package/components/moveRenameManager.d.ts +1 -0
- package/package/components/moveRenameManager.js +7 -4
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +14 -1
- package/package/components/raw_apps/rawAppPolicy.js +3 -2
- package/package/components/raw_apps/utils.test.d.ts +1 -0
- package/package/components/raw_apps/utils.test.js +38 -0
- package/package/components/resources/resourcesFilter.d.ts +15 -2
- package/package/components/resources/resourcesFilter.js +11 -2
- package/package/components/runs/JobDetailFieldConfig.js +5 -3
- package/package/components/runs/JobDetailHeader.svelte +5 -2
- package/package/components/runs/JobRunsPreview.svelte +1 -0
- package/package/components/runs/RunBadges.svelte +7 -4
- package/package/components/runs/RunRow.svelte +7 -7
- package/package/components/schedules/schedulesFilter.d.ts +15 -2
- package/package/components/schedules/schedulesFilter.js +11 -2
- package/package/components/schema/EditableSchemaWrapper.svelte +6 -8
- package/package/components/schema/PropertyEditor.svelte +22 -1
- package/package/components/schema/PropertyEditor.svelte.d.ts +1 -0
- package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
- package/package/components/secretArgUtils.d.ts +7 -0
- package/package/components/secretArgUtils.js +45 -0
- package/package/components/settings/WorkspaceUserSettings.svelte +359 -286
- package/package/components/sidebar/OperatorMenu.svelte +215 -197
- package/package/components/triggers/CaptureWrapper.svelte +1 -1
- package/package/components/triggers/TriggerFilters.svelte +17 -5
- package/package/components/triggers/TriggerFilters.svelte.d.ts +2 -1
- package/package/components/triggers/kafka/KafkaCapture.svelte +6 -2
- package/package/components/triggers/kafka/KafkaCapture.svelte.d.ts +1 -1
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +5 -1
- package/package/components/triggers/kafka/utils.js +1 -0
- package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte.d.ts +1 -1
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +6 -0
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +87 -1
- package/package/components/triggers/websocket/utils.js +2 -0
- package/package/components/variables/variablesFilter.d.ts +15 -2
- package/package/components/variables/variablesFilter.js +11 -2
- package/package/components/worker_group.js +1 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte +33 -41
- package/package/consts.d.ts +1 -0
- package/package/consts.js +1 -0
- package/package/editorLangUtils.d.ts +1 -1
- package/package/editorLangUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +346 -4
- package/package/gen/schemas.gen.js +347 -5
- package/package/gen/services.gen.d.ts +163 -1
- package/package/gen/services.gen.js +323 -17
- package/package/gen/types.gen.d.ts +671 -5
- package/package/hubPaths.json +6 -3
- package/package/infer.d.ts +55 -0
- package/package/infer.js +131 -0
- package/package/infer.svelte.js +2 -0
- package/package/mcpEndpointTools.js +213 -22
- package/package/script_helpers.d.ts +3 -0
- package/package/script_helpers.js +26 -0
- package/package/scripts.d.ts +2 -1
- package/package/scripts.js +15 -3
- package/package/stores.d.ts +2 -0
- package/package/system_prompts/prompts.d.ts +6 -5
- package/package/system_prompts/prompts.js +188 -29
- package/package/user.js +5 -1
- package/package/utils.js +21 -0
- package/package/utils_deployable.d.ts +11 -0
- package/package/utils_workspace_deploy.js +36 -8
- package/package.json +5 -4
|
@@ -4,6 +4,7 @@ import Drawer from '../../common/drawer/Drawer.svelte';
|
|
|
4
4
|
import DrawerContent from '../../common/drawer/DrawerContent.svelte';
|
|
5
5
|
import CronInput from '../../CronInput.svelte';
|
|
6
6
|
import Path from '../../Path.svelte';
|
|
7
|
+
import LabelsInput from '../../LabelsInput.svelte';
|
|
7
8
|
import Required from '../../Required.svelte';
|
|
8
9
|
import ScriptPicker from '../../ScriptPicker.svelte';
|
|
9
10
|
import ErrorOrRecoveryHandler from '../../ErrorOrRecoveryHandler.svelte';
|
|
@@ -74,6 +75,7 @@ let path = $state('');
|
|
|
74
75
|
let enabled = $state(false);
|
|
75
76
|
let pathError = $state('');
|
|
76
77
|
let summary = $state('');
|
|
78
|
+
let labels = $state(undefined);
|
|
77
79
|
let description = $state('');
|
|
78
80
|
let no_flow_overlap = $state(false);
|
|
79
81
|
let tag = $state(undefined);
|
|
@@ -262,6 +264,7 @@ export async function openNew(nis_flow, initial_script_path, defaultValues, sche
|
|
|
262
264
|
paused_until = s?.paused_until ?? undefined;
|
|
263
265
|
showPauseUntil = paused_until !== undefined;
|
|
264
266
|
summary = s?.summary ?? '';
|
|
267
|
+
labels = s?.labels ?? undefined;
|
|
265
268
|
description = s?.description ?? '';
|
|
266
269
|
script_path = s?.script_path ?? initialScriptPath;
|
|
267
270
|
args = s?.args ?? {};
|
|
@@ -416,6 +419,7 @@ async function loadScheduleCfg(cfg) {
|
|
|
416
419
|
paused_until = cfg.paused_until;
|
|
417
420
|
showPauseUntil = paused_until !== undefined;
|
|
418
421
|
summary = cfg.summary ?? '';
|
|
422
|
+
labels = cfg.labels ?? undefined;
|
|
419
423
|
description = cfg.description ?? '';
|
|
420
424
|
script_path = cfg.script_path ?? '';
|
|
421
425
|
await loadScript(script_path);
|
|
@@ -555,6 +559,7 @@ function getScheduleCfg() {
|
|
|
555
559
|
ws_error_handler_muted: wsErrorHandlerMuted,
|
|
556
560
|
retry: retry,
|
|
557
561
|
summary: summary != '' ? summary : undefined,
|
|
562
|
+
labels: labels,
|
|
558
563
|
description: description,
|
|
559
564
|
no_flow_overlap: no_flow_overlap,
|
|
560
565
|
tag: tag,
|
|
@@ -674,6 +679,7 @@ $effect(() => {
|
|
|
674
679
|
bind:value={summary}
|
|
675
680
|
/>
|
|
676
681
|
</label>
|
|
682
|
+
<LabelsInput bind:labels />
|
|
677
683
|
|
|
678
684
|
<div class="flex flex-col gap-1">
|
|
679
685
|
<label for="path" class="text-xs font-semibold text-emphasis">Path</label>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script lang="ts">import { Alert, Button } from '../../common';
|
|
2
|
+
import TextInput from '../../text_input/TextInput.svelte';
|
|
2
3
|
import Drawer from '../../common/drawer/Drawer.svelte';
|
|
3
4
|
import DrawerContent from '../../common/drawer/DrawerContent.svelte';
|
|
4
5
|
import Path from '../../Path.svelte';
|
|
@@ -42,10 +43,15 @@ let pathError = $state('');
|
|
|
42
43
|
let url = $state('');
|
|
43
44
|
let dirtyUrl = $state(false);
|
|
44
45
|
let filters = $state([]);
|
|
46
|
+
let filterLogic = $state('and');
|
|
45
47
|
let initial_messages = $state([]);
|
|
46
48
|
let url_runnable_args = $state({});
|
|
47
49
|
let can_return_message = $state(false);
|
|
48
50
|
let can_return_error_result = $state(false);
|
|
51
|
+
let heartbeat_enabled = $state(false);
|
|
52
|
+
let heartbeat_interval_secs = $state(41);
|
|
53
|
+
let heartbeat_message = $state('');
|
|
54
|
+
let heartbeat_state_field = $state('');
|
|
49
55
|
let dirtyPath = $state(false);
|
|
50
56
|
let can_write = $state(true);
|
|
51
57
|
let drawerLoading = $state(true);
|
|
@@ -135,6 +141,7 @@ export async function openNew(nis_flow, fixedScriptPath_, defaultValues) {
|
|
|
135
141
|
path = defaultValues?.path ?? '';
|
|
136
142
|
initialPath = '';
|
|
137
143
|
filters = [];
|
|
144
|
+
filterLogic = 'and';
|
|
138
145
|
initial_messages = [];
|
|
139
146
|
url_runnable_args = defaultValues?.url_runnable_args ?? {};
|
|
140
147
|
dirtyPath = false;
|
|
@@ -160,10 +167,16 @@ function loadTriggerConfig(cfg) {
|
|
|
160
167
|
path = cfg?.path;
|
|
161
168
|
url = cfg?.url;
|
|
162
169
|
filters = cfg?.filters;
|
|
170
|
+
filterLogic = cfg?.filter_logic ?? 'and';
|
|
163
171
|
initial_messages = cfg?.initial_messages ?? [];
|
|
164
172
|
url_runnable_args = cfg?.url_runnable_args;
|
|
165
173
|
can_return_message = cfg?.can_return_message;
|
|
166
174
|
can_return_error_result = cfg?.can_return_error_result;
|
|
175
|
+
const hb = cfg?.heartbeat;
|
|
176
|
+
heartbeat_enabled = !!hb;
|
|
177
|
+
heartbeat_interval_secs = hb?.interval_secs ?? 41;
|
|
178
|
+
heartbeat_message = hb?.message ?? '';
|
|
179
|
+
heartbeat_state_field = hb?.state_field ?? '';
|
|
167
180
|
can_write = canWrite(path, cfg?.extra_perms, $userStore);
|
|
168
181
|
error_handler_path = cfg?.error_handler_path;
|
|
169
182
|
error_handler_args = cfg?.error_handler_args ?? {};
|
|
@@ -181,10 +194,18 @@ function getSaveCfg() {
|
|
|
181
194
|
path,
|
|
182
195
|
url,
|
|
183
196
|
filters,
|
|
197
|
+
filter_logic: filterLogic,
|
|
184
198
|
initial_messages,
|
|
185
199
|
url_runnable_args,
|
|
186
200
|
can_return_message,
|
|
187
201
|
can_return_error_result,
|
|
202
|
+
heartbeat: heartbeat_enabled
|
|
203
|
+
? {
|
|
204
|
+
interval_secs: heartbeat_interval_secs,
|
|
205
|
+
message: heartbeat_message,
|
|
206
|
+
...(heartbeat_state_field ? { state_field: heartbeat_state_field } : {})
|
|
207
|
+
}
|
|
208
|
+
: undefined,
|
|
188
209
|
error_handler_path,
|
|
189
210
|
error_handler_args,
|
|
190
211
|
retry,
|
|
@@ -614,6 +635,71 @@ $effect(() => {
|
|
|
614
635
|
</div>
|
|
615
636
|
</Section>
|
|
616
637
|
|
|
638
|
+
<Section label="Heartbeat" collapsable collapsed={!heartbeat_enabled}>
|
|
639
|
+
{#snippet header()}
|
|
640
|
+
{#if heartbeat_enabled}
|
|
641
|
+
<span class="text-2xs text-tertiary ml-2">every {heartbeat_interval_secs}s</span>
|
|
642
|
+
{/if}
|
|
643
|
+
{/snippet}
|
|
644
|
+
|
|
645
|
+
<div class="flex flex-col gap-4">
|
|
646
|
+
<p class="text-xs text-tertiary">
|
|
647
|
+
Send periodic application-level heartbeat messages to keep the connection alive.
|
|
648
|
+
Required for protocols like Discord Gateway, STOMP, etc.
|
|
649
|
+
</p>
|
|
650
|
+
|
|
651
|
+
<Toggle
|
|
652
|
+
checked={heartbeat_enabled}
|
|
653
|
+
on:change={() => {
|
|
654
|
+
heartbeat_enabled = !heartbeat_enabled
|
|
655
|
+
}}
|
|
656
|
+
options={{
|
|
657
|
+
right: 'Enable heartbeat'
|
|
658
|
+
}}
|
|
659
|
+
disabled={!can_write}
|
|
660
|
+
/>
|
|
661
|
+
|
|
662
|
+
{#if heartbeat_enabled}
|
|
663
|
+
<Label label="Interval (seconds)">
|
|
664
|
+
<TextInput
|
|
665
|
+
bind:value={heartbeat_interval_secs}
|
|
666
|
+
inputProps={{ type: 'number', placeholder: '41', disabled: !can_write, min: 1 }}
|
|
667
|
+
/>
|
|
668
|
+
</Label>
|
|
669
|
+
|
|
670
|
+
<Label label="Message">
|
|
671
|
+
<svelte:boundary>
|
|
672
|
+
<textarea
|
|
673
|
+
class="textarea textarea-sm w-full font-mono text-xs"
|
|
674
|
+
rows={3}
|
|
675
|
+
bind:value={heartbeat_message}
|
|
676
|
+
placeholder={'{"op": 1, "d": {{state}}}'}
|
|
677
|
+
disabled={!can_write}
|
|
678
|
+
></textarea>
|
|
679
|
+
</svelte:boundary>
|
|
680
|
+
<p class="text-2xs text-tertiary mt-1">
|
|
681
|
+
Use <code>{'{{state}}'}</code> as a placeholder for a value extracted from incoming messages.
|
|
682
|
+
</p>
|
|
683
|
+
</Label>
|
|
684
|
+
|
|
685
|
+
<Label label="State field (optional)">
|
|
686
|
+
<TextInput
|
|
687
|
+
bind:value={heartbeat_state_field}
|
|
688
|
+
inputProps={{
|
|
689
|
+
placeholder: 'e.g. s (for Discord sequence number)',
|
|
690
|
+
disabled: !can_write
|
|
691
|
+
}}
|
|
692
|
+
/>
|
|
693
|
+
<p class="text-2xs text-tertiary mt-1">
|
|
694
|
+
Top-level JSON field to extract from incoming messages. Replaces <code
|
|
695
|
+
>{'{{state}}'}</code
|
|
696
|
+
> in the heartbeat message.
|
|
697
|
+
</p>
|
|
698
|
+
</Label>
|
|
699
|
+
{/if}
|
|
700
|
+
</div>
|
|
701
|
+
</Section>
|
|
702
|
+
|
|
617
703
|
<Section label="Advanced" collapsable>
|
|
618
704
|
{#snippet header()}
|
|
619
705
|
<TriggerAdvancedBadges
|
|
@@ -623,7 +709,7 @@ $effect(() => {
|
|
|
623
709
|
/>
|
|
624
710
|
{/snippet}
|
|
625
711
|
<div class="flex flex-col gap-6">
|
|
626
|
-
<TriggerFilters bind:filters disabled={!can_write} />
|
|
712
|
+
<TriggerFilters bind:filters bind:filterLogic disabled={!can_write} />
|
|
627
713
|
<div class="min-h-96">
|
|
628
714
|
<Tabs bind:selected={optionTabSelected}>
|
|
629
715
|
<Tab value="error_handler" label="Error Handler" />
|
|
@@ -17,10 +17,12 @@ export async function saveWebsocketTriggerFromCfg(initialPath, triggerCfg, edit,
|
|
|
17
17
|
is_flow: triggerCfg.is_flow,
|
|
18
18
|
url: triggerCfg.url,
|
|
19
19
|
filters: triggerCfg.filters,
|
|
20
|
+
filter_logic: triggerCfg.filter_logic ?? 'and',
|
|
20
21
|
initial_messages: triggerCfg.initial_messages,
|
|
21
22
|
url_runnable_args: triggerCfg.url_runnable_args,
|
|
22
23
|
can_return_message: triggerCfg.can_return_message,
|
|
23
24
|
can_return_error_result: triggerCfg.can_return_error_result,
|
|
25
|
+
heartbeat: triggerCfg.heartbeat,
|
|
24
26
|
...errorHandlerAndRetries,
|
|
25
27
|
permissioned_as: triggerCfg.permissioned_as,
|
|
26
28
|
preserve_permissioned_as: triggerCfg.preserve_permissioned_as
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { FileCode, FileText, FolderIcon, Key, Users } from 'lucide-svelte';
|
|
2
|
-
export declare function buildVariablesFilterSchema({ paths, owners, showUserFoldersFilter, userFoldersLabel }: {
|
|
1
|
+
import { FileCode, FileText, FolderIcon, Key, Tag, Users } from 'lucide-svelte';
|
|
2
|
+
export declare function buildVariablesFilterSchema({ paths, owners, labels, showUserFoldersFilter, userFoldersLabel }: {
|
|
3
3
|
paths: string[];
|
|
4
4
|
owners: string[];
|
|
5
|
+
labels?: string[];
|
|
5
6
|
showUserFoldersFilter?: boolean;
|
|
6
7
|
userFoldersLabel?: string;
|
|
7
8
|
}): {
|
|
@@ -57,4 +58,16 @@ export declare function buildVariablesFilterSchema({ paths, owners, showUserFold
|
|
|
57
58
|
icon: typeof Key;
|
|
58
59
|
description: string;
|
|
59
60
|
};
|
|
61
|
+
label: {
|
|
62
|
+
type: "oneof";
|
|
63
|
+
options: {
|
|
64
|
+
label: string;
|
|
65
|
+
value: string;
|
|
66
|
+
}[];
|
|
67
|
+
allowNegative: false;
|
|
68
|
+
allowMultiple: true;
|
|
69
|
+
label: string;
|
|
70
|
+
icon: typeof Tag;
|
|
71
|
+
description: string;
|
|
72
|
+
};
|
|
60
73
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FileCode, FileText, FolderIcon, Key, Users } from 'lucide-svelte';
|
|
2
|
-
export function buildVariablesFilterSchema({ paths, owners, showUserFoldersFilter, userFoldersLabel }) {
|
|
1
|
+
import { FileCode, FileText, FolderIcon, Key, Tag, Users } from 'lucide-svelte';
|
|
2
|
+
export function buildVariablesFilterSchema({ paths, owners, labels, showUserFoldersFilter, userFoldersLabel }) {
|
|
3
3
|
return {
|
|
4
4
|
_default_: {
|
|
5
5
|
type: 'string',
|
|
@@ -41,6 +41,15 @@ export function buildVariablesFilterSchema({ paths, owners, showUserFoldersFilte
|
|
|
41
41
|
icon: Key,
|
|
42
42
|
description: 'Search in non-secret variable values'
|
|
43
43
|
},
|
|
44
|
+
label: {
|
|
45
|
+
type: 'oneof',
|
|
46
|
+
options: (labels ?? []).map((s) => ({ label: s, value: s })),
|
|
47
|
+
allowNegative: false,
|
|
48
|
+
allowMultiple: true,
|
|
49
|
+
label: 'Label',
|
|
50
|
+
icon: Tag,
|
|
51
|
+
description: 'Filter by label (comma-separated for multiple)'
|
|
52
|
+
},
|
|
44
53
|
...(showUserFoldersFilter
|
|
45
54
|
? {
|
|
46
55
|
user_folders_only: {
|
|
@@ -172,7 +172,7 @@ let confirmationModal = createAsyncConfirmationModal();
|
|
|
172
172
|
{/if}
|
|
173
173
|
{#each ducklakeSettings.ducklakes as ducklake, ducklakeIndex}
|
|
174
174
|
<Row>
|
|
175
|
-
<Cell first class="w-
|
|
175
|
+
<Cell first class="w-44 relative">
|
|
176
176
|
{#if ducklake.name === 'main'}
|
|
177
177
|
<Tooltip wrapperClass="absolute mt-[0.6rem] right-4" placement="bottom-start">
|
|
178
178
|
The <i>main</i> ducklake can be accessed with the
|
|
@@ -187,7 +187,7 @@ let confirmationModal = createAsyncConfirmationModal();
|
|
|
187
187
|
/>
|
|
188
188
|
</Cell>
|
|
189
189
|
<Cell>
|
|
190
|
-
<div class="flex gap-
|
|
190
|
+
<div class="flex gap-1">
|
|
191
191
|
<div class="relative">
|
|
192
192
|
{#if ducklake.catalog.resource_type === 'instance'}
|
|
193
193
|
<Tooltip wrapperClass="absolute mt-[0.6rem] right-2 z-20" placement="bottom-start">
|
|
@@ -214,19 +214,19 @@ let confirmationModal = createAsyncConfirmationModal();
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
-
class="w-
|
|
217
|
+
class="w-24"
|
|
218
218
|
/>
|
|
219
219
|
</div>
|
|
220
220
|
<div class="flex flex-1">
|
|
221
221
|
{#if ducklake.catalog.resource_type !== 'instance'}
|
|
222
222
|
<ResourcePicker
|
|
223
|
-
class="flex-1"
|
|
223
|
+
class="flex-1 min-w-32"
|
|
224
224
|
bind:value={ducklake.catalog.resource_path}
|
|
225
225
|
resourceType={ducklake.catalog.resource_type}
|
|
226
226
|
/>
|
|
227
227
|
{:else}
|
|
228
228
|
<CustomInstanceDbSelect
|
|
229
|
-
class="flex-1"
|
|
229
|
+
class="flex-1 min-w-32"
|
|
230
230
|
bind:value={ducklake.catalog.resource_path}
|
|
231
231
|
{customInstanceDbs}
|
|
232
232
|
{confirmationModal}
|
|
@@ -243,7 +243,7 @@ let confirmationModal = createAsyncConfirmationModal();
|
|
|
243
243
|
</div>
|
|
244
244
|
</Cell>
|
|
245
245
|
<Cell>
|
|
246
|
-
<div class="flex gap-
|
|
246
|
+
<div class="flex gap-1">
|
|
247
247
|
<Select
|
|
248
248
|
placeholder="Default storage"
|
|
249
249
|
items={[
|
|
@@ -268,35 +268,31 @@ let confirmationModal = createAsyncConfirmationModal();
|
|
|
268
268
|
</div>
|
|
269
269
|
</Cell>
|
|
270
270
|
<Cell class="w-12">
|
|
271
|
-
<div class="flex gap-
|
|
271
|
+
<div class="flex gap-1">
|
|
272
272
|
<Popover contentClasses="p-4" enableFlyTransition closeOnOtherPopoverOpen>
|
|
273
273
|
{#snippet trigger()}
|
|
274
|
-
|
|
275
|
-
<
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
{/snippet}
|
|
274
|
+
<div class="relative">
|
|
275
|
+
<Button variant="default" iconOnly size="sm" endIcon={{ icon: SettingsIcon }} />
|
|
276
|
+
{#if ducklake.extra_args}
|
|
277
|
+
<div
|
|
278
|
+
class="absolute -top-0.5 -right-0.5 w-2 h-2 bg-accent rounded-full border border-surface"
|
|
279
|
+
></div>
|
|
280
|
+
{/if}
|
|
281
|
+
</div>
|
|
282
|
+
{/snippet}
|
|
285
283
|
{#snippet content()}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
{/snippet}
|
|
284
|
+
<Label
|
|
285
|
+
label="Extra args"
|
|
286
|
+
tooltip="Additional arguments to pass in the ATTACH command. The argument list is substituted as-is. Separate them with commas."
|
|
287
|
+
>
|
|
288
|
+
<TextInput
|
|
289
|
+
bind:value={ducklake.extra_args}
|
|
290
|
+
class="min-w-96"
|
|
291
|
+
underlyingInputEl="textarea"
|
|
292
|
+
inputProps={{ placeholder: "METADATA_SCHEMA 'schema', ENCRYPTED true" }}
|
|
293
|
+
/>
|
|
294
|
+
</Label>
|
|
295
|
+
{/snippet}
|
|
300
296
|
</Popover>
|
|
301
297
|
{#if ducklakeIsDirty[ducklake.name]}
|
|
302
298
|
<Popover
|
|
@@ -305,18 +301,14 @@ let confirmationModal = createAsyncConfirmationModal();
|
|
|
305
301
|
class="cursor-not-allowed"
|
|
306
302
|
>
|
|
307
303
|
{#snippet trigger()}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
{/snippet}
|
|
304
|
+
<ExploreAssetButton asset={{ kind: 'ducklake', path: '' }} disabled />
|
|
305
|
+
{/snippet}
|
|
312
306
|
{#snippet content()}
|
|
313
|
-
|
|
314
|
-
|
|
307
|
+
Please save settings first
|
|
308
|
+
{/snippet}
|
|
315
309
|
</Popover>
|
|
316
310
|
{:else}
|
|
317
|
-
<ExploreAssetButton
|
|
318
|
-
asset={{ kind: 'ducklake', path: ducklake.name }}
|
|
319
|
-
/>
|
|
311
|
+
<ExploreAssetButton asset={{ kind: 'ducklake', path: ducklake.name }} />
|
|
320
312
|
{/if}
|
|
321
313
|
</div>
|
|
322
314
|
</Cell>
|
package/package/consts.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare const WORKER_S3_BUCKET_SYNC_SETTING = "worker_s3_bucket_sync";
|
|
|
22
22
|
export declare const CUSTOM_TAGS_SETTING = "custom_tags";
|
|
23
23
|
export declare const DEFAULT_TAGS_PER_WORKSPACE_SETTING = "default_tags_per_workspace";
|
|
24
24
|
export declare const DEFAULT_TAGS_WORKSPACES_SETTING = "default_tags_workspaces";
|
|
25
|
+
export declare const PREVIEW_TAGS_OVERRIDE_SETTING = "preview_tags_override";
|
|
25
26
|
export declare const WORKSPACE_SLACK_BOT_TOKEN_PATH = "f/slack_bot/bot_token";
|
|
26
27
|
export declare const POSTGRES_TYPES: string[];
|
|
27
28
|
export declare const MYSQL_TYPES: string[];
|
package/package/consts.js
CHANGED
|
@@ -23,6 +23,7 @@ export const WORKER_S3_BUCKET_SYNC_SETTING = 'worker_s3_bucket_sync';
|
|
|
23
23
|
export const CUSTOM_TAGS_SETTING = 'custom_tags';
|
|
24
24
|
export const DEFAULT_TAGS_PER_WORKSPACE_SETTING = 'default_tags_per_workspace';
|
|
25
25
|
export const DEFAULT_TAGS_WORKSPACES_SETTING = 'default_tags_workspaces';
|
|
26
|
+
export const PREVIEW_TAGS_OVERRIDE_SETTING = 'preview_tags_override';
|
|
26
27
|
export const WORKSPACE_SLACK_BOT_TOKEN_PATH = 'f/slack_bot/bot_token';
|
|
27
28
|
export const POSTGRES_TYPES = [
|
|
28
29
|
'VARCHAR',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function langToExt(lang: string): string;
|
|
2
|
-
export declare function extToLang(ext: string): "javascript" | "go" | "bash" | "powershell" | "graphql" | "php" | "rust" | "ansible" | "csharp" | "nu" | "java" | "ruby" | "unknown" | "sql" | "yaml" | "json" | "typescript" | "python" | "css" | "svelte" | "vue";
|
|
2
|
+
export declare function extToLang(ext: string): "javascript" | "go" | "bash" | "powershell" | "graphql" | "php" | "rust" | "ansible" | "csharp" | "nu" | "java" | "ruby" | "r" | "unknown" | "sql" | "yaml" | "json" | "typescript" | "python" | "css" | "svelte" | "vue";
|
|
3
3
|
export declare function createHash(): string;
|
|
4
4
|
export declare function createLongHash(): string;
|