windmill-components 1.444.1 → 1.447.4
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/autosize.js +1 -1
- package/package/components/AppConnectInner.svelte +2 -1
- package/package/components/ArgInput.svelte +37 -24
- package/package/components/CapturesInputs.svelte +16 -0
- package/package/components/CapturesInputs.svelte.d.ts +21 -0
- package/package/components/Dev.svelte +7 -1
- package/package/components/EditableSchemaForm.svelte +369 -290
- package/package/components/EditableSchemaForm.svelte.d.ts +12 -2
- package/package/components/Editor.svelte +5 -7
- package/package/components/FirstStepInputs.svelte +111 -0
- package/package/components/FirstStepInputs.svelte.d.ts +17 -0
- package/package/components/FlowBuilder.svelte +28 -7
- package/package/components/FlowPreviewContent.svelte +72 -1
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -0
- package/package/components/GfmMarkdown.svelte +93 -2
- package/package/components/HighlightCode.svelte +2 -0
- package/package/components/HistoricInputs.svelte +193 -0
- package/package/components/HistoricInputs.svelte.d.ts +20 -0
- package/package/components/InfiniteList.svelte +161 -0
- package/package/components/InfiniteList.svelte.d.ts +40 -0
- package/package/components/LightweightArgInput.svelte +19 -15
- package/package/components/MoveDrawer.svelte +2 -1
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourcePicker.svelte +2 -1
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/SaveInputsButton.svelte +53 -0
- package/package/components/SaveInputsButton.svelte.d.ts +24 -0
- package/package/components/SavedInputs.svelte +33 -61
- package/package/components/SavedInputsPicker.svelte +264 -0
- package/package/components/SavedInputsPicker.svelte.d.ts +20 -0
- package/package/components/ScheduleEditorInner.svelte +0 -1
- package/package/components/SchemaForm.svelte +22 -3
- package/package/components/ScriptBuilder.svelte +595 -562
- package/package/components/ScriptEditor.svelte +10 -3
- package/package/components/ScriptEditor.svelte.d.ts +5 -2
- package/package/components/ScriptSchema.svelte +1 -2
- package/package/components/Section.svelte +6 -4
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SimpleEditor.svelte +39 -7
- package/package/components/SimpleEditor.svelte.d.ts +1 -4
- package/package/components/StringTypeNarrowing.svelte +3 -1
- package/package/components/TestConnection.svelte +5 -0
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/WorkerGroup.svelte +2 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
- package/package/components/apps/editor/component/components.d.ts +79 -79
- package/package/components/apps/editor/component/default-codes.d.ts +1 -1
- package/package/components/apps/editor/component/default-codes.js +10 -10
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +2 -1
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/common/button/Button.svelte +10 -52
- package/package/components/common/button/PulseButton.svelte +81 -0
- package/package/components/common/button/PulseButton.svelte.d.ts +34 -0
- package/package/components/common/button/RoundIconButton.svelte +11 -0
- package/package/components/common/button/RoundIconButton.svelte.d.ts +19 -0
- package/package/components/common/button/model.d.ts +1 -0
- package/package/components/common/button/model.js +47 -0
- package/package/components/common/fileUpload/FileUpload.svelte +3 -1
- package/package/components/common/fileUpload/FileUpload.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
- package/package/components/common/layout/List.svelte +10 -4
- package/package/components/common/layout/List.svelte.d.ts +1 -0
- package/package/components/common/tabs/Tab.svelte +14 -1
- package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
- package/package/components/copilot/ScriptGen.svelte +1 -1
- package/package/components/copilot/lib.js +1 -1
- package/package/components/copilot/prompts/edit.yaml +1 -1
- package/package/components/copilot/prompts/editPrompt.js +1 -1
- package/package/components/copilot/prompts/fix.yaml +1 -1
- package/package/components/copilot/prompts/fixPrompt.js +1 -1
- package/package/components/copilot/prompts/gen.yaml +1 -1
- package/package/components/copilot/prompts/genPrompt.js +1 -1
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/details/DetailPageDetailPanel.svelte +20 -19
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +4 -1
- package/package/components/details/DetailPageLayout.svelte +4 -1
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/DetailPageTriggerPanel.svelte +84 -63
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +3 -1
- package/package/components/details/EmailTriggerConfigSection.svelte +1 -1
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +2 -1
- package/package/components/details/EmailTriggerPanel.svelte +2 -0
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +2 -0
- package/package/components/flows/FlowEditor.svelte +8 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCard.svelte +12 -6
- package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +15 -9
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +449 -98
- package/package/components/flows/content/FlowInput.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowInputEditor.svelte +46 -0
- package/package/components/flows/content/FlowInputEditor.svelte.d.ts +25 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
- package/package/components/flows/content/FlowLoop.svelte +192 -194
- package/package/components/flows/content/FlowModuleComponent.svelte +372 -382
- package/package/components/flows/content/FlowModuleMock.svelte +6 -7
- package/package/components/flows/content/FlowPathViewer.svelte +2 -1
- package/package/components/flows/content/FlowSettings.svelte +25 -3
- package/package/components/flows/content/FlowWhileLoop.svelte +97 -99
- package/package/components/flows/flowStore.d.ts +13 -0
- package/package/components/flows/flowStore.js +41 -0
- package/package/components/flows/header/FlowPreviewButtons.svelte +10 -4
- package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +4 -2
- package/package/components/flows/header/FlowYamlEditor.svelte +3 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +8 -58
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +67 -0
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +24 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
- package/package/components/flows/pickers/FlowScriptPicker.svelte +1 -1
- package/package/components/flows/previousResults.d.ts +1 -1
- package/package/components/flows/previousResults.js +7 -2
- package/package/components/flows/types.d.ts +7 -0
- package/package/components/flows/utils.d.ts +1 -0
- package/package/components/flows/utils.js +3 -0
- package/package/components/graph/graphBuilder.js +1 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +22 -8
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
- package/package/components/icons/NatsIcon.svelte +19 -0
- package/package/components/icons/NatsIcon.svelte.d.ts +18 -0
- package/package/components/icons/OracleDBIcon.svelte +15 -0
- package/package/components/icons/OracleDBIcon.svelte.d.ts +25 -0
- package/package/components/icons/index.d.ts +7 -1
- package/package/components/icons/index.js +8 -2
- package/package/components/meltComponents/ButtonDropDown.svelte +32 -0
- package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +27 -0
- package/package/components/meltComponents/Popover.svelte +7 -4
- package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
- package/package/components/runs/RunsFilter.svelte +2 -2
- package/package/components/schema/AddPropertyFormV2.svelte +46 -0
- package/package/components/schema/AddPropertyFormV2.svelte.d.ts +18 -0
- package/package/components/schema/AddPropertyV2.svelte +151 -0
- package/package/components/schema/AddPropertyV2.svelte.d.ts +25 -0
- package/package/components/schema/EditableSchemaDrawer.svelte +17 -8
- package/package/components/schema/EditableSchemaWrapper.svelte +58 -14
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
- package/package/components/schema/FlowPropertyEditor.svelte +8 -3
- package/package/components/schema/JobSchemaPicker.svelte +32 -0
- package/package/components/schema/JobSchemaPicker.svelte.d.ts +19 -0
- package/package/components/schema/PropertyEditor.svelte +9 -1
- package/package/components/schema/RunningJobSchemaPicker.svelte +67 -0
- package/package/components/schema/RunningJobSchemaPicker.svelte.d.ts +21 -0
- package/package/components/schema/SchemaFormDND.svelte +1 -1
- package/package/components/schema/SchemaPicker.svelte +92 -0
- package/package/components/schema/SchemaPicker.svelte.d.ts +23 -0
- package/package/components/schema/SchemaPickerRow.svelte +95 -0
- package/package/components/schema/SchemaPickerRow.svelte.d.ts +22 -0
- package/package/components/scriptEditor/LogPanel.svelte +1 -1
- package/package/components/settings/ChangeWorkspaceColor.svelte +103 -0
- package/package/components/settings/ChangeWorkspaceColor.svelte.d.ts +16 -0
- package/package/components/settings/ChangeWorkspaceId.svelte +1 -0
- package/package/components/settings/ChangeWorkspaceName.svelte +4 -0
- package/package/components/sidebar/MenuButton.svelte +5 -2
- package/package/components/sidebar/MenuButton.svelte.d.ts +1 -0
- package/package/components/sidebar/SidebarContent.svelte +8 -0
- package/package/components/sidebar/WorkspaceMenu.svelte +40 -21
- package/package/components/table/DataTable.svelte +43 -3
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/table/Head.svelte +1 -1
- package/package/components/table/Row.svelte +11 -1
- package/package/components/table/Row.svelte.d.ts +3 -0
- package/package/components/table/index.d.ts +3 -0
- package/package/components/table/index.js +3 -0
- package/package/components/triggers/CaptureButton.svelte +38 -4
- package/package/components/triggers/CaptureButton.svelte.d.ts +3 -1
- package/package/components/triggers/CaptureIcon.svelte +7 -4
- package/package/components/triggers/CaptureIcon.svelte.d.ts +7 -13
- package/package/components/triggers/CaptureSection.svelte +50 -17
- package/package/components/triggers/CaptureSection.svelte.d.ts +5 -3
- package/package/components/triggers/CaptureTable.svelte +239 -186
- package/package/components/triggers/CaptureTable.svelte.d.ts +9 -11
- package/package/components/triggers/CaptureWrapper.svelte +126 -109
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +3 -1
- package/package/components/triggers/KafkaTriggerEditorInner.svelte +1 -0
- package/package/components/triggers/KafkaTriggersConfigSection.svelte +16 -4
- package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +3 -1
- package/package/components/triggers/KafkaTriggersPanel.svelte +2 -0
- package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +2 -0
- package/package/components/triggers/NatsTriggerEditor.svelte +19 -0
- package/package/components/triggers/NatsTriggerEditor.svelte.d.ts +21 -0
- package/package/components/triggers/NatsTriggerEditorInner.svelte +239 -0
- package/package/components/triggers/NatsTriggerEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/NatsTriggersConfigSection.svelte +276 -0
- package/package/components/triggers/NatsTriggersConfigSection.svelte.d.ts +37 -0
- package/package/components/triggers/NatsTriggersPanel.svelte +126 -0
- package/package/components/triggers/NatsTriggersPanel.svelte.d.ts +26 -0
- package/package/components/triggers/RouteEditorConfigSection.svelte +12 -2
- package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +5 -1
- package/package/components/triggers/RouteEditorInner.svelte +5 -0
- package/package/components/triggers/RoutesPanel.svelte +4 -0
- package/package/components/triggers/RoutesPanel.svelte.d.ts +3 -0
- package/package/components/triggers/TriggersEditor.svelte +146 -97
- package/package/components/triggers/TriggersEditor.svelte.d.ts +2 -0
- package/package/components/triggers/TriggersEditorSection.svelte +19 -13
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
- package/package/components/triggers/TriggersWrapper.svelte +7 -3
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +2 -1
- package/package/components/triggers/WebhooksConfigSection.svelte +7 -6
- package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/WebhooksPanel.svelte +2 -0
- package/package/components/triggers/WebhooksPanel.svelte.d.ts +2 -0
- package/package/components/triggers/WebsocketEditorConfigSection.svelte +3 -1
- package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/WebsocketTriggersPanel.svelte +2 -0
- package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +2 -0
- package/package/components/triggers.d.ts +2 -1
- package/package/components/triggers.js +2 -0
- package/package/components/vscode.js +12 -8
- package/package/consts.d.ts +1 -0
- package/package/consts.js +18 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +207 -13
- package/package/gen/schemas.gen.js +207 -13
- package/package/gen/services.gen.d.ts +118 -10
- package/package/gen/services.gen.js +237 -17
- package/package/gen/types.gen.d.ts +400 -40
- package/package/hubPaths.json +2 -1
- package/package/infer.js +11 -2
- package/package/monaco_workers/build_workers.js +39 -37
- package/package/monaco_workers/graphql.worker.bundle.js +18371 -36513
- package/package/script_helpers.d.ts +5 -2
- package/package/script_helpers.js +46 -8
- package/package/scripts.js +4 -0
- package/package/stores.d.ts +2 -1
- package/package/stores.js +2 -1
- package/package.json +14 -16
- package/package/monaco_workers/graphql.worker.bundle.d.ts +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
isFlow: boolean;
|
|
5
|
+
path: string;
|
|
6
|
+
newItem?: boolean | undefined;
|
|
7
|
+
isEditor?: boolean | undefined;
|
|
8
|
+
canHavePreprocessor?: boolean | undefined;
|
|
9
|
+
hasPreprocessor?: boolean | undefined;
|
|
10
|
+
loadTriggers?: (() => Promise<void>) | undefined;
|
|
11
|
+
};
|
|
12
|
+
events: {
|
|
13
|
+
applyArgs: any;
|
|
14
|
+
addPreprocessor: any;
|
|
15
|
+
} & {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
};
|
|
18
|
+
slots: {};
|
|
19
|
+
};
|
|
20
|
+
export type NatsTriggersPanelProps = typeof __propDef.props;
|
|
21
|
+
export type NatsTriggersPanelEvents = typeof __propDef.events;
|
|
22
|
+
export type NatsTriggersPanelSlots = typeof __propDef.slots;
|
|
23
|
+
export default class NatsTriggersPanel extends SvelteComponent<NatsTriggersPanelProps, NatsTriggersPanelEvents, NatsTriggersPanelSlots> {
|
|
24
|
+
get loadTriggers(): () => Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -14,6 +14,9 @@ import { base } from '../../base';
|
|
|
14
14
|
import CaptureSection from './CaptureSection.svelte';
|
|
15
15
|
import CaptureTable from './CaptureTable.svelte';
|
|
16
16
|
import ClipboardPanel from '../details/ClipboardPanel.svelte';
|
|
17
|
+
export let isFlow;
|
|
18
|
+
export let path;
|
|
19
|
+
export let args = { route_path: '', http_method: 'get' };
|
|
17
20
|
export let dirtyRoutePath = false;
|
|
18
21
|
export let route_path = '';
|
|
19
22
|
export let http_method = 'post';
|
|
@@ -53,12 +56,18 @@ async function routeExists(route_path, method) {
|
|
|
53
56
|
}
|
|
54
57
|
});
|
|
55
58
|
}
|
|
59
|
+
$: captureURL = `${location.origin}${base}/api/w/${$workspaceStore}/capture_u/http/${isFlow ? 'flow' : 'script'}/${path.replaceAll('/', '.')}/${route_path}`;
|
|
56
60
|
function getHttpRoute(route_path) {
|
|
57
61
|
return `${location.origin}${base}/api/r/${isCloudHosted() ? $workspaceStore + '/' : ''}${route_path}`;
|
|
58
62
|
}
|
|
59
63
|
$: validateRoute(route_path, http_method);
|
|
60
64
|
$: isValid = routeError === '';
|
|
61
65
|
$: fullRoute = getHttpRoute(route_path);
|
|
66
|
+
$: showCapture && (http_method = 'post');
|
|
67
|
+
function updateArgs(route_path, http_method) {
|
|
68
|
+
args && ((args.route_path = route_path), (args.http_method = http_method));
|
|
69
|
+
}
|
|
70
|
+
$: updateArgs(route_path, http_method);
|
|
62
71
|
</script>
|
|
63
72
|
|
|
64
73
|
<div>
|
|
@@ -71,17 +80,18 @@ $: fullRoute = getHttpRoute(route_path);
|
|
|
71
80
|
on:applyArgs
|
|
72
81
|
on:updateSchema
|
|
73
82
|
on:addPreprocessor
|
|
83
|
+
on:testWithArgs
|
|
74
84
|
bind:captureTable
|
|
75
85
|
>
|
|
76
86
|
<Label label="URL">
|
|
77
|
-
<ClipboardPanel content={
|
|
87
|
+
<ClipboardPanel content={captureURL} disabled={!captureInfo.active} />
|
|
78
88
|
</Label>
|
|
79
89
|
|
|
80
90
|
<Label label="Example cUrl">
|
|
81
91
|
<CopyableCodeBlock
|
|
82
92
|
disabled={!captureInfo.active}
|
|
83
93
|
code={`curl \\
|
|
84
|
-
-X POST ${
|
|
94
|
+
-X POST ${captureURL} \\
|
|
85
95
|
-H 'Content-Type: application/json' \\
|
|
86
96
|
-d '{"foo": 42}'`}
|
|
87
97
|
language={bash}
|
|
@@ -3,6 +3,9 @@ import type { CaptureInfo } from './CaptureSection.svelte';
|
|
|
3
3
|
import CaptureTable from './CaptureTable.svelte';
|
|
4
4
|
declare const __propDef: {
|
|
5
5
|
props: {
|
|
6
|
+
isFlow: boolean;
|
|
7
|
+
path: string;
|
|
8
|
+
args?: Record<string, any> | undefined;
|
|
6
9
|
dirtyRoutePath?: boolean | undefined;
|
|
7
10
|
route_path?: string | undefined;
|
|
8
11
|
http_method?: "get" | "post" | "put" | "delete" | "patch" | undefined;
|
|
@@ -26,10 +29,11 @@ declare const __propDef: {
|
|
|
26
29
|
args: Record<string, any> | undefined;
|
|
27
30
|
}>;
|
|
28
31
|
updateSchema: CustomEvent<{
|
|
29
|
-
|
|
32
|
+
payloadData: Record<string, any>;
|
|
30
33
|
redirect: boolean;
|
|
31
34
|
}>;
|
|
32
35
|
addPreprocessor: CustomEvent<null>;
|
|
36
|
+
testWithArgs: CustomEvent<any>;
|
|
33
37
|
} & {
|
|
34
38
|
[evt: string]: CustomEvent<any>;
|
|
35
39
|
};
|
|
@@ -149,6 +149,8 @@ async function triggerScript() {
|
|
|
149
149
|
}
|
|
150
150
|
let drawer;
|
|
151
151
|
let dirtyPath = false;
|
|
152
|
+
let args = { route_path: '' };
|
|
153
|
+
$: args && (route_path = args.route_path);
|
|
152
154
|
</script>
|
|
153
155
|
|
|
154
156
|
{#if static_asset_config}
|
|
@@ -203,7 +205,10 @@ let dirtyPath = false;
|
|
|
203
205
|
</div>
|
|
204
206
|
|
|
205
207
|
<RouteEditorConfigSection
|
|
208
|
+
isFlow={is_flow}
|
|
209
|
+
{path}
|
|
206
210
|
bind:route_path
|
|
211
|
+
bind:args
|
|
207
212
|
bind:isValid
|
|
208
213
|
bind:dirtyRoutePath
|
|
209
214
|
bind:http_method
|
|
@@ -13,6 +13,7 @@ export let path;
|
|
|
13
13
|
export let newItem = false;
|
|
14
14
|
export let isEditor = false;
|
|
15
15
|
export let canHavePreprocessor = false;
|
|
16
|
+
export let hasPreprocessor = false;
|
|
16
17
|
let routeEditor;
|
|
17
18
|
$: path && loadTriggers();
|
|
18
19
|
const { triggersCount, selectedTrigger, defaultValues } = getContext('TriggerContext');
|
|
@@ -60,12 +61,15 @@ export async function loadTriggers() {
|
|
|
60
61
|
}}
|
|
61
62
|
on:applyArgs
|
|
62
63
|
on:addPreprocessor
|
|
64
|
+
on:updateSchema
|
|
65
|
+
on:testWithArgs
|
|
63
66
|
cloudDisabled={false}
|
|
64
67
|
triggerType="http"
|
|
65
68
|
{isFlow}
|
|
66
69
|
{path}
|
|
67
70
|
{isEditor}
|
|
68
71
|
{canHavePreprocessor}
|
|
72
|
+
{hasPreprocessor}
|
|
69
73
|
{newItem}
|
|
70
74
|
/>
|
|
71
75
|
{#if !newItem}
|
|
@@ -6,11 +6,14 @@ declare const __propDef: {
|
|
|
6
6
|
newItem?: boolean | undefined;
|
|
7
7
|
isEditor?: boolean | undefined;
|
|
8
8
|
canHavePreprocessor?: boolean | undefined;
|
|
9
|
+
hasPreprocessor?: boolean | undefined;
|
|
9
10
|
loadTriggers?: (() => Promise<void>) | undefined;
|
|
10
11
|
};
|
|
11
12
|
events: {
|
|
12
13
|
applyArgs: any;
|
|
13
14
|
addPreprocessor: any;
|
|
15
|
+
updateSchema: any;
|
|
16
|
+
testWithArgs: any;
|
|
14
17
|
} & {
|
|
15
18
|
[evt: string]: CustomEvent<any>;
|
|
16
19
|
};
|
|
@@ -11,6 +11,10 @@ import { getContext, onDestroy, createEventDispatcher } from 'svelte';
|
|
|
11
11
|
import WebsocketTriggersPanel from './WebsocketTriggersPanel.svelte';
|
|
12
12
|
import ScheduledPollPanel from './ScheduledPollPanel.svelte';
|
|
13
13
|
import KafkaTriggersPanel from './KafkaTriggersPanel.svelte';
|
|
14
|
+
import NatsTriggersPanel from './NatsTriggersPanel.svelte';
|
|
15
|
+
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
16
|
+
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
17
|
+
import { KafkaIcon, NatsIcon } from '../icons';
|
|
14
18
|
export let noEditor;
|
|
15
19
|
export let newItem = false;
|
|
16
20
|
export let currentPath;
|
|
@@ -20,6 +24,12 @@ export let schema;
|
|
|
20
24
|
export let isFlow;
|
|
21
25
|
export let canHavePreprocessor = false;
|
|
22
26
|
export let hasPreprocessor = false;
|
|
27
|
+
let eventStreamType = 'kafka';
|
|
28
|
+
$: {
|
|
29
|
+
if ($selectedTrigger === 'kafka' || $selectedTrigger === 'nats') {
|
|
30
|
+
eventStreamType = $selectedTrigger;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
23
33
|
const { selectedTrigger, simplifiedPoll } = getContext('TriggerContext');
|
|
24
34
|
const dispatch = createEventDispatcher();
|
|
25
35
|
onDestroy(() => {
|
|
@@ -29,106 +39,145 @@ onDestroy(() => {
|
|
|
29
39
|
|
|
30
40
|
<FlowCard {noEditor} title="Triggers">
|
|
31
41
|
{#if !$simplifiedPoll}
|
|
32
|
-
<
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
<div class="h-full flex flex-col">
|
|
43
|
+
<Tabs bind:selected={$selectedTrigger} wrapperClass="overflow-hidden shrink-0">
|
|
44
|
+
<Tab value="webhooks" selectedClass="text-primary font-semibold">Webhooks</Tab>
|
|
45
|
+
<Tab value="schedules" selectedClass="text-primary text-sm font-semibold">Schedules</Tab>
|
|
46
|
+
<Tab value="routes" selectedClass="text-primary text-sm font-semibold">HTTP</Tab>
|
|
47
|
+
<Tab value="websockets" selectedClass="text-primary text-sm font-semibold">Websockets</Tab>
|
|
48
|
+
<Tab
|
|
49
|
+
value="kafka"
|
|
50
|
+
otherValues={['nats']}
|
|
51
|
+
selectedClass="text-primary text-sm font-semibold"
|
|
42
52
|
>
|
|
43
|
-
|
|
53
|
+
Event streams
|
|
54
|
+
</Tab>
|
|
55
|
+
<Tab value="emails" selectedClass="text-primary text-sm font-semibold">Email</Tab>
|
|
56
|
+
{#if isFlow}
|
|
57
|
+
<Tab value="scheduledPoll" selectedClass="text-primary text-sm font-semibold"
|
|
58
|
+
>Scheduled Poll</Tab
|
|
59
|
+
>
|
|
60
|
+
{/if}
|
|
44
61
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
62
|
+
<svelte:fragment slot="content">
|
|
63
|
+
<div class="min-h-0 grow overflow-y-auto">
|
|
64
|
+
{#if $selectedTrigger === 'webhooks'}
|
|
65
|
+
<div class="p-4">
|
|
66
|
+
<WebhooksPanel
|
|
67
|
+
on:applyArgs
|
|
68
|
+
on:addPreprocessor
|
|
69
|
+
on:updateSchema
|
|
70
|
+
on:testWithArgs
|
|
71
|
+
scopes={isFlow ? [`run:flow/${currentPath}`] : [`run:script/${currentPath}`]}
|
|
72
|
+
path={currentPath}
|
|
73
|
+
{hash}
|
|
74
|
+
{isFlow}
|
|
75
|
+
args={{}}
|
|
76
|
+
token=""
|
|
77
|
+
{newItem}
|
|
78
|
+
isEditor={true}
|
|
79
|
+
{canHavePreprocessor}
|
|
80
|
+
{hasPreprocessor}
|
|
81
|
+
/>
|
|
82
|
+
</div>
|
|
83
|
+
{:else if $selectedTrigger === 'emails'}
|
|
84
|
+
<div class="p-4">
|
|
85
|
+
<EmailTriggerPanel
|
|
86
|
+
on:applyArgs
|
|
87
|
+
on:addPreprocessor
|
|
88
|
+
on:updateSchema
|
|
89
|
+
on:testWithArgs
|
|
90
|
+
token=""
|
|
91
|
+
scopes={isFlow ? [`run:flow/${currentPath}`] : [`run:script/${currentPath}`]}
|
|
92
|
+
path={currentPath}
|
|
93
|
+
{isFlow}
|
|
94
|
+
isEditor={true}
|
|
95
|
+
{canHavePreprocessor}
|
|
96
|
+
{hasPreprocessor}
|
|
97
|
+
{newItem}
|
|
98
|
+
/>
|
|
99
|
+
</div>
|
|
100
|
+
{:else if $selectedTrigger === 'routes'}
|
|
101
|
+
<div class="p-4">
|
|
102
|
+
<RoutesPanel
|
|
103
|
+
on:applyArgs
|
|
104
|
+
on:addPreprocessor
|
|
105
|
+
on:updateSchema
|
|
106
|
+
on:testWithArgs
|
|
107
|
+
{newItem}
|
|
108
|
+
path={currentPath}
|
|
109
|
+
{isFlow}
|
|
110
|
+
isEditor={true}
|
|
111
|
+
{canHavePreprocessor}
|
|
112
|
+
{hasPreprocessor}
|
|
113
|
+
/>
|
|
114
|
+
</div>
|
|
115
|
+
{:else if $selectedTrigger === 'websockets'}
|
|
116
|
+
<div class="p-4">
|
|
117
|
+
<WebsocketTriggersPanel
|
|
118
|
+
on:applyArgs
|
|
119
|
+
on:addPreprocessor
|
|
120
|
+
on:updateSchema
|
|
121
|
+
on:testWithArgs
|
|
122
|
+
{newItem}
|
|
123
|
+
path={currentPath}
|
|
124
|
+
{isFlow}
|
|
125
|
+
isEditor={true}
|
|
126
|
+
{canHavePreprocessor}
|
|
127
|
+
{hasPreprocessor}
|
|
128
|
+
/>
|
|
129
|
+
</div>
|
|
130
|
+
{:else if $selectedTrigger === 'kafka' || $selectedTrigger === 'nats'}
|
|
131
|
+
<div class="p-4 flex flex-col gap-2">
|
|
132
|
+
<ToggleButtonGroup bind:selected={eventStreamType}>
|
|
133
|
+
<ToggleButton value="kafka" label="Kafka" icon={KafkaIcon} />
|
|
134
|
+
<ToggleButton value="nats" label="NATS" icon={NatsIcon} />
|
|
135
|
+
</ToggleButtonGroup>
|
|
136
|
+
{#if eventStreamType === 'kafka'}
|
|
137
|
+
<KafkaTriggersPanel
|
|
138
|
+
on:applyArgs
|
|
139
|
+
on:addPreprocessor
|
|
140
|
+
on:updateSchema
|
|
141
|
+
on:testWithArgs
|
|
142
|
+
{newItem}
|
|
143
|
+
path={currentPath}
|
|
144
|
+
{isFlow}
|
|
145
|
+
isEditor={true}
|
|
146
|
+
{canHavePreprocessor}
|
|
147
|
+
{hasPreprocessor}
|
|
148
|
+
/>
|
|
149
|
+
{:else if eventStreamType === 'nats'}
|
|
150
|
+
<NatsTriggersPanel
|
|
151
|
+
on:applyArgs
|
|
152
|
+
on:addPreprocessor
|
|
153
|
+
{newItem}
|
|
154
|
+
path={currentPath}
|
|
155
|
+
{isFlow}
|
|
156
|
+
isEditor={true}
|
|
157
|
+
{canHavePreprocessor}
|
|
158
|
+
{hasPreprocessor}
|
|
159
|
+
/>
|
|
160
|
+
{/if}
|
|
161
|
+
</div>
|
|
162
|
+
{:else if $selectedTrigger === 'schedules'}
|
|
163
|
+
<div class="p-4">
|
|
164
|
+
<RunPageSchedules
|
|
165
|
+
{schema}
|
|
166
|
+
{isFlow}
|
|
167
|
+
path={initialPath}
|
|
168
|
+
{newItem}
|
|
169
|
+
can_write={canWrite(currentPath, {}, $userStore)}
|
|
170
|
+
/>
|
|
171
|
+
</div>
|
|
172
|
+
{:else if $selectedTrigger === 'scheduledPoll'}
|
|
173
|
+
<div class="p-4">
|
|
174
|
+
<ScheduledPollPanel />
|
|
175
|
+
</div>
|
|
176
|
+
{/if}
|
|
114
177
|
</div>
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
{schema}
|
|
119
|
-
{isFlow}
|
|
120
|
-
path={initialPath}
|
|
121
|
-
{newItem}
|
|
122
|
-
can_write={canWrite(currentPath, {}, $userStore)}
|
|
123
|
-
/>
|
|
124
|
-
</div>
|
|
125
|
-
{:else if $selectedTrigger === 'scheduledPoll'}
|
|
126
|
-
<div class="p-4">
|
|
127
|
-
<ScheduledPollPanel />
|
|
128
|
-
</div>
|
|
129
|
-
{/if}
|
|
130
|
-
</svelte:fragment>
|
|
131
|
-
</Tabs>
|
|
178
|
+
</svelte:fragment>
|
|
179
|
+
</Tabs>
|
|
180
|
+
</div>
|
|
132
181
|
{:else}
|
|
133
182
|
<div class="px-4 pb-2">
|
|
134
183
|
<RunPageSchedules
|
|
@@ -23,12 +23,22 @@ const captureTypeLabels = {
|
|
|
23
23
|
websocket: 'New websocket trigger',
|
|
24
24
|
webhook: 'Webhook',
|
|
25
25
|
kafka: 'New kafka trigger',
|
|
26
|
-
email: 'Email trigger'
|
|
26
|
+
email: 'Email trigger',
|
|
27
|
+
nats: 'NATS trigger'
|
|
27
28
|
};
|
|
28
29
|
const { captureOn } = getContext('TriggerContext');
|
|
29
30
|
let args = {};
|
|
30
31
|
const dispatch = createEventDispatcher();
|
|
31
|
-
|
|
32
|
+
let showCapture = false;
|
|
33
|
+
let init = false;
|
|
34
|
+
$: updateShowCapture(!!$captureOn);
|
|
35
|
+
function updateShowCapture(show) {
|
|
36
|
+
if (show && !init) {
|
|
37
|
+
$captureOn = undefined;
|
|
38
|
+
showCapture = true;
|
|
39
|
+
init = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
32
42
|
</script>
|
|
33
43
|
|
|
34
44
|
<Section label={captureTypeLabels[triggerType]}>
|
|
@@ -38,16 +48,16 @@ const { flowStore, selectedId } = getContext('FlowEditorContext') || {};
|
|
|
38
48
|
<Button
|
|
39
49
|
size="xs2"
|
|
40
50
|
on:click={() => {
|
|
41
|
-
|
|
51
|
+
showCapture = !showCapture
|
|
42
52
|
}}
|
|
43
53
|
variant="border"
|
|
44
54
|
color="light"
|
|
45
55
|
endIcon={{
|
|
46
56
|
icon: ChevronDown,
|
|
47
|
-
classes: twMerge('transition',
|
|
57
|
+
classes: twMerge('transition', showCapture ? 'rotate-180' : '')
|
|
48
58
|
}}
|
|
49
59
|
>
|
|
50
|
-
|
|
60
|
+
Test trigger
|
|
51
61
|
</Button>
|
|
52
62
|
{/if}
|
|
53
63
|
|
|
@@ -59,6 +69,7 @@ const { flowStore, selectedId } = getContext('FlowEditorContext') || {};
|
|
|
59
69
|
{disabled}
|
|
60
70
|
startIcon={{ icon: Save }}
|
|
61
71
|
on:click={() => {
|
|
72
|
+
console.log('saveTrigger', args)
|
|
62
73
|
dispatch('saveTrigger', {
|
|
63
74
|
config: args
|
|
64
75
|
})
|
|
@@ -91,17 +102,12 @@ const { flowStore, selectedId } = getContext('FlowEditorContext') || {};
|
|
|
91
102
|
{canHavePreprocessor}
|
|
92
103
|
on:applyArgs
|
|
93
104
|
on:addPreprocessor
|
|
94
|
-
on:updateSchema
|
|
95
|
-
const { schema, redirect } = e.detail
|
|
96
|
-
$flowStore.schema = schema
|
|
97
|
-
if (redirect) {
|
|
98
|
-
$selectedId = 'Input'
|
|
99
|
-
}
|
|
100
|
-
}}
|
|
105
|
+
on:updateSchema
|
|
101
106
|
on:saveTrigger
|
|
107
|
+
on:testWithArgs
|
|
102
108
|
bind:args
|
|
103
109
|
{data}
|
|
104
|
-
showCapture
|
|
110
|
+
{showCapture}
|
|
105
111
|
/>
|
|
106
112
|
{:else}
|
|
107
113
|
<TriggersWrapper {path} {isFlow} {triggerType} {cloudDisabled} {args} {data} />
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type CaptureTriggerKind } from '../../gen';
|
|
2
3
|
declare const __propDef: {
|
|
3
4
|
props: {
|
|
4
5
|
cloudDisabled: boolean;
|
|
@@ -15,7 +16,9 @@ declare const __propDef: {
|
|
|
15
16
|
events: {
|
|
16
17
|
applyArgs: any;
|
|
17
18
|
addPreprocessor: any;
|
|
19
|
+
updateSchema: any;
|
|
18
20
|
saveTrigger: CustomEvent<any>;
|
|
21
|
+
testWithArgs: any;
|
|
19
22
|
} & {
|
|
20
23
|
[evt: string]: CustomEvent<any>;
|
|
21
24
|
};
|
|
@@ -6,6 +6,7 @@ import WebsocketEditorConfigSection from './WebsocketEditorConfigSection.svelte'
|
|
|
6
6
|
import WebhooksConfigSection from './WebhooksConfigSection.svelte';
|
|
7
7
|
import EmailTriggerConfigSection from '../details/EmailTriggerConfigSection.svelte';
|
|
8
8
|
import KafkaTriggersConfigSection from './KafkaTriggersConfigSection.svelte';
|
|
9
|
+
import NatsTriggersConfigSection from './NatsTriggersConfigSection.svelte';
|
|
9
10
|
export let triggerType = 'webhook';
|
|
10
11
|
export let cloudDisabled = false;
|
|
11
12
|
export let args;
|
|
@@ -41,9 +42,10 @@ export let data = {};
|
|
|
41
42
|
<RouteEditorConfigSection
|
|
42
43
|
showCapture={false}
|
|
43
44
|
can_write={true}
|
|
44
|
-
bind:
|
|
45
|
-
bind:http_method={args.http_method}
|
|
45
|
+
bind:args
|
|
46
46
|
headless
|
|
47
|
+
{isFlow}
|
|
48
|
+
{path}
|
|
47
49
|
/>
|
|
48
50
|
{:else if triggerType === 'email'}
|
|
49
51
|
<EmailTriggerConfigSection
|
|
@@ -55,6 +57,8 @@ export let data = {};
|
|
|
55
57
|
emailDomain={data?.emailDomain}
|
|
56
58
|
/>
|
|
57
59
|
{:else if triggerType === 'kafka'}
|
|
58
|
-
<KafkaTriggersConfigSection headless={true} bind:args staticInputDisabled={false} />
|
|
60
|
+
<KafkaTriggersConfigSection headless={true} bind:args staticInputDisabled={false} {path} />
|
|
61
|
+
{:else if triggerType === 'nats'}
|
|
62
|
+
<NatsTriggersConfigSection headless={true} bind:args staticInputDisabled={false} {path} />
|
|
59
63
|
{/if}
|
|
60
64
|
</div>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type CaptureTriggerKind } from '../../gen';
|
|
2
3
|
declare const __propDef: {
|
|
3
4
|
props: {
|
|
4
|
-
triggerType?:
|
|
5
|
+
triggerType?: CaptureTriggerKind | undefined;
|
|
5
6
|
cloudDisabled?: boolean | undefined;
|
|
6
7
|
args: any;
|
|
7
8
|
isFlow?: boolean | undefined;
|
|
@@ -10,7 +10,7 @@ import { Highlight } from 'svelte-highlight';
|
|
|
10
10
|
import { typescript } from 'svelte-highlight/languages';
|
|
11
11
|
import ClipboardPanel from '../details/ClipboardPanel.svelte';
|
|
12
12
|
import { copyToClipboard } from '../../utils';
|
|
13
|
-
import { page } from '$app/stores'
|
|
13
|
+
// import { page } from '$app/stores'
|
|
14
14
|
import { base } from '../../base';
|
|
15
15
|
import TriggerTokens from './TriggerTokens.svelte';
|
|
16
16
|
import { workspaceStore, userStore } from '../../stores';
|
|
@@ -35,7 +35,7 @@ let userSettings;
|
|
|
35
35
|
let url = '';
|
|
36
36
|
$: webhooks = isFlow ? computeFlowWebhooks(path) : computeScriptWebhooks(hash, path);
|
|
37
37
|
function computeScriptWebhooks(hash, path) {
|
|
38
|
-
let webhookBase = `${
|
|
38
|
+
let webhookBase = `${location.origin}${base}/api/w/${$workspaceStore}/jobs`;
|
|
39
39
|
return {
|
|
40
40
|
async: {
|
|
41
41
|
hash: `${webhookBase}/run/h/${hash}`,
|
|
@@ -49,7 +49,7 @@ function computeScriptWebhooks(hash, path) {
|
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
function computeFlowWebhooks(path) {
|
|
52
|
-
let webhooksBase = `${
|
|
52
|
+
let webhooksBase = `${location.origin}${base}/api/w/${$workspaceStore}/jobs`;
|
|
53
53
|
let urlAsync = `${webhooksBase}/run/f/${path}`;
|
|
54
54
|
let urlSync = `${webhooksBase}/run_wait_result/f/${path}`;
|
|
55
55
|
return {
|
|
@@ -124,7 +124,7 @@ async function triggerJob() {
|
|
|
124
124
|
function waitForJobCompletion(UUID) {
|
|
125
125
|
return new Promise(async (resolve, reject) => {
|
|
126
126
|
try {
|
|
127
|
-
const endpoint = \`${
|
|
127
|
+
const endpoint = \`${location.origin}/api/w/${$workspaceStore}/jobs_u/completed/get_result_maybe/\${UUID}\`;
|
|
128
128
|
const checkResponse = await fetch(endpoint, {
|
|
129
129
|
method: 'GET',
|
|
130
130
|
headers: ${JSON.stringify(headers(), null, 2).replaceAll('\n', '\n\t\t\t\t')}
|
|
@@ -149,7 +149,7 @@ function waitForJobCompletion(UUID) {
|
|
|
149
149
|
// Combine and return
|
|
150
150
|
return `${mainFunction}\n\n${triggerJobFunction}\n\n${waitForJobCompletionFunction}`;
|
|
151
151
|
}
|
|
152
|
-
let captureUrl = `${
|
|
152
|
+
let captureUrl = `${location.origin}/api/w/${$workspaceStore}/capture_u/webhook/${isFlow ? 'flow' : 'script'}/${path}`;
|
|
153
153
|
function captureCurlCode() {
|
|
154
154
|
return `curl \\
|
|
155
155
|
-X POST ${captureUrl} \\
|
|
@@ -165,7 +165,7 @@ ${webhookType === 'sync' ? 'RESULT' : 'UUID'}=$(curl -s ${requestType != 'get_pa
|
|
|
165
165
|
${webhookType === 'sync'
|
|
166
166
|
? 'echo -E $RESULT | jq'
|
|
167
167
|
: `
|
|
168
|
-
URL="${
|
|
168
|
+
URL="${location.origin}/api/w/${$workspaceStore}/jobs_u/completed/get_result_maybe/$UUID"
|
|
169
169
|
while true; do
|
|
170
170
|
curl -s -H "Authorization: Bearer $TOKEN" $URL -o res.json
|
|
171
171
|
COMPLETED=$(cat res.json | jq .completed)
|
|
@@ -210,6 +210,7 @@ $: url =
|
|
|
210
210
|
on:applyArgs
|
|
211
211
|
on:updateSchema
|
|
212
212
|
on:addPreprocessor
|
|
213
|
+
on:testWithArgs
|
|
213
214
|
>
|
|
214
215
|
<Label label="URL">
|
|
215
216
|
<ClipboardPanel content={captureUrl} disabled={!captureInfo.active} />
|
|
@@ -22,10 +22,11 @@ declare const __propDef: {
|
|
|
22
22
|
args: Record<string, any> | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
updateSchema: CustomEvent<{
|
|
25
|
-
|
|
25
|
+
payloadData: Record<string, any>;
|
|
26
26
|
redirect: boolean;
|
|
27
27
|
}>;
|
|
28
28
|
addPreprocessor: CustomEvent<null>;
|
|
29
|
+
testWithArgs: CustomEvent<any>;
|
|
29
30
|
} & {
|
|
30
31
|
[evt: string]: CustomEvent<any>;
|
|
31
32
|
};
|