windmill-components 1.550.0 → 1.555.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/package/aiStore.d.ts +13 -0
- package/package/aiStore.js +70 -0
- package/package/common.d.ts +2 -1
- package/package/components/AIProviderPicker.svelte +25 -8
- package/package/components/ArgEnum.svelte +3 -2
- package/package/components/ArgEnum.svelte.d.ts +1 -0
- package/package/components/ArgInput.svelte +235 -174
- package/package/components/ArgInput.svelte.d.ts +4 -1
- package/package/components/ArrayTypeNarrowing.svelte +38 -32
- package/package/components/AutoscalingEvents.svelte +21 -5
- package/package/components/AutoscalingEvents.svelte.d.ts +4 -18
- package/package/components/DateTimeInput.svelte +8 -6
- package/package/components/DeployButton.svelte +1 -1
- package/package/components/Dev.svelte +6 -4
- package/package/components/EditableSchemaForm.svelte +7 -6
- package/package/components/Editor.svelte +2 -1
- package/package/components/EditorSettings.svelte +5 -5
- package/package/components/EditorSettings.svelte.d.ts +4 -18
- package/package/components/FakeMonacoPlaceHolder.svelte +4 -2
- package/package/components/FakeMonacoPlaceHolder.svelte.d.ts +1 -0
- package/package/components/FieldHeader.svelte +5 -7
- package/package/components/FirstStepInputs.svelte +1 -1
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPlugConnect.svelte +8 -2
- package/package/components/FlowPlugConnect.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +113 -92
- package/package/components/FlowPreviewContent.svelte.d.ts +3 -3
- package/package/components/FlowStatusViewer.svelte +3 -2
- package/package/components/FlowStatusViewerInner.svelte +1 -1
- package/package/components/FolderEditor.svelte +6 -7
- package/package/components/GroupEditor.svelte +148 -141
- package/package/components/GroupEditor.svelte.d.ts +5 -4
- package/package/components/InputTransformForm.svelte +88 -82
- package/package/components/InputTransformSchemaForm.svelte +5 -4
- package/package/components/InstanceSetting.svelte +17 -9
- package/package/components/JsonEditor.svelte +18 -9
- package/package/components/JsonEditor.svelte.d.ts +1 -1
- package/package/components/JsonInputs.svelte +1 -1
- package/package/components/ModulePreviewForm.svelte +23 -19
- package/package/components/NumberTypeNarrowing.svelte +32 -16
- package/package/components/ObjectStoreConfigSettings.svelte +27 -19
- package/package/components/Path.svelte +2 -8
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourceEditor.svelte +3 -10
- package/package/components/ResourcePicker.svelte +85 -72
- package/package/components/ResourcePicker.svelte.d.ts +2 -0
- package/package/components/RunChart.svelte +1 -1
- package/package/components/RunForm.svelte +11 -7
- package/package/components/S3ArrayHelperButton.svelte +12 -6
- package/package/components/S3ArrayHelperButton.svelte.d.ts +1 -0
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte +18 -10
- package/package/components/SchemaForm.svelte.d.ts +7 -1
- package/package/components/SchemaFormWithArgPicker.svelte +1 -1
- package/package/components/ScriptBuilder.svelte +2 -2
- package/package/components/ScriptEditor.svelte +4 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ShareModal.svelte +4 -4
- package/package/components/SimpleEditor.svelte +6 -2
- package/package/components/SimpleEditor.svelte.d.ts +3 -0
- package/package/components/StringTypeNarrowing.svelte +5 -1
- package/package/components/SuperadminSettingsInner.svelte +3 -3
- package/package/components/TemplateEditor.svelte +18 -9
- package/package/components/Toast.svelte +2 -7
- package/package/components/Toast.svelte.d.ts +4 -18
- package/package/components/Toggle.svelte +17 -7
- package/package/components/ToggleHubWorkspaceQuick.svelte +3 -3
- package/package/components/WorkerGroup.svelte +2 -14
- package/package/components/apps/components/buttons/AppButton.svelte +57 -39
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +32 -2
- package/package/components/apps/components/display/dbtable/queries/insert.js +2 -1
- package/package/components/apps/components/display/dbtable/utils.d.ts +8 -8
- package/package/components/apps/components/display/table/utils.js +13 -3
- package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -3
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -1
- package/package/components/apps/editor/AppEditorHeader.svelte +33 -271
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +233 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +18 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +47 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +8 -0
- package/package/components/apps/editor/GridEditor.svelte +7 -2
- package/package/components/apps/editor/appDeploy.svelte.d.ts +1 -0
- package/package/components/apps/editor/appDeploy.svelte.js +6 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +30 -1
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -1
- package/package/components/apps/editor/component/components.d.ts +3 -3
- package/package/components/apps/editor/component/components.js +1 -1
- package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -4
- 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/InputsSpecEditor.svelte +58 -8
- package/package/components/auditLogs/AuditLogsFilters.svelte +1 -1
- package/package/components/common/ResizeTransitionWrapper.svelte +39 -0
- package/package/components/common/ResizeTransitionWrapper.svelte.d.ts +12 -0
- package/package/components/common/badge/CountBadge.svelte +29 -0
- package/package/components/common/badge/CountBadge.svelte.d.ts +8 -0
- package/package/components/common/button/Button.svelte +1 -0
- package/package/components/common/button/ConnectionButton.svelte +6 -1
- package/package/components/common/button/ConnectionButton.svelte.d.ts +2 -0
- package/package/components/common/button/RefreshButton.svelte +8 -4
- package/package/components/common/button/RefreshButton.svelte.d.ts +3 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte +1 -1
- package/package/components/common/fileInput/FileInput.svelte +7 -6
- package/package/components/common/fileUpload/S3ArgInput.svelte +11 -9
- package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +1 -0
- package/package/components/common/popup/PopupV2.svelte +6 -0
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +17 -26
- package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +16 -30
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +3 -3
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/CodeCompletionStatus.svelte +2 -1
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +2 -2
- package/package/components/copilot/IteratorGen.svelte +30 -25
- package/package/components/copilot/IteratorGen.svelte.d.ts +8 -7
- package/package/components/copilot/MetadataGen.svelte +4 -3
- package/package/components/copilot/PredicateGen.svelte +15 -12
- package/package/components/copilot/PredicateGen.svelte.d.ts +5 -4
- package/package/components/copilot/RegexGen.svelte +1 -1
- package/package/components/copilot/ScriptFix.svelte +1 -1
- package/package/components/copilot/ScriptGen.svelte +2 -1
- package/package/components/copilot/StepGenQuick.svelte +15 -16
- package/package/components/copilot/StepGenQuick.svelte.d.ts +14 -13
- package/package/components/copilot/StepInputGen.svelte +50 -36
- package/package/components/copilot/StepInputGen.svelte.d.ts +13 -10
- package/package/components/copilot/StepInputsGen.svelte +18 -19
- package/package/components/copilot/StepInputsGen.svelte.d.ts +4 -18
- package/package/components/copilot/autocomplete/Autocompletor.js +1 -1
- package/package/components/copilot/autocomplete/request.js +1 -1
- package/package/components/copilot/chat/AIChat.svelte +2 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +2 -1
- package/package/components/copilot/chat/AiChatLayout.svelte +2 -1
- package/package/components/copilot/chat/ProviderModelSelector.svelte +10 -9
- package/package/components/copilot/chat/ProviderModelSelector.svelte.d.ts +2 -17
- package/package/components/copilot/chat/flow/FlowAIButton.svelte +1 -1
- package/package/components/copilot/chat/script/core.js +2 -1
- package/package/components/copilot/chat/shared.js +2 -1
- package/package/components/copilot/lib.js +2 -1
- package/package/components/details/DetailPageLayout.svelte +3 -2
- package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
- package/package/components/flows/CreateActionsFlow.svelte +1 -1
- package/package/components/flows/FlowChatInterface.svelte +404 -0
- package/package/components/flows/FlowChatInterface.svelte.d.ts +19 -0
- package/package/components/flows/FlowChatMessage.svelte +41 -0
- package/package/components/flows/FlowChatMessage.svelte.d.ts +9 -0
- package/package/components/flows/FlowConversationsSidebar.svelte +213 -0
- package/package/components/flows/FlowConversationsSidebar.svelte.d.ts +15 -0
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -1
- package/package/components/flows/FlowModuleIcon.svelte +10 -10
- package/package/components/flows/common/FlowCard.svelte +10 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +2 -1
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInput.svelte +381 -259
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +55 -34
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +5 -10
- package/package/components/flows/flowInfers.d.ts +60 -0
- package/package/components/flows/flowInfers.js +72 -66
- package/package/components/flows/{flowStore.d.ts → flowStore.svelte.d.ts} +1 -0
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -1
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +4 -2
- package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -2
- package/package/components/flows/map/FlowStickyNode.svelte +2 -2
- package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
- package/package/components/flows/map/InsertModuleButton.svelte +5 -2
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -3
- package/package/components/flows/map/InsertModuleInner.svelte +3 -1
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +2 -2
- package/package/components/flows/map/VirtualItem.svelte +1 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +8 -3
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +15 -12
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -15
- package/package/components/graph/FlowGraphV2.svelte +2 -1
- package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
- package/package/components/graph/graphBuilder.svelte.d.ts +2 -0
- package/package/components/graph/graphBuilder.svelte.js +1 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +1 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +13 -2
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +2 -27
- package/package/components/instanceSettings.js +17 -0
- package/package/components/progressBar/ProgressBar.svelte +1 -1
- package/package/components/raw_apps/FileEditorIcon.svelte +1 -1
- package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +2 -8
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppEditor.svelte +6 -7
- package/package/components/raw_apps/RawAppEditorHeader.svelte +48 -301
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +18 -19
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +10 -16
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +13 -13
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +8 -11
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -2
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +7 -13
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +8 -8
- package/package/components/raw_apps/RawAppPreview.svelte +3 -7
- package/package/components/raw_apps/RawAppPreview.svelte.d.ts +5 -19
- package/package/components/raw_apps/utils.d.ts +1 -1
- package/package/components/raw_apps/utils.js +3 -3
- package/package/components/runs/RunOption.svelte +2 -2
- package/package/components/runs/RunsFilter.svelte +15 -12
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/schema/EditableSchemaDrawer.svelte +19 -18
- package/package/components/schema/FlowPropertyEditor.svelte +9 -2
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +22 -26
- package/package/components/schema/SchemaFormDND.svelte +3 -2
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/select/DraggableTags.svelte +2 -2
- package/package/components/select/MultiSelect.svelte +14 -8
- package/package/components/select/Select.svelte +12 -5
- package/package/components/select/Select.svelte.d.ts +11 -0
- package/package/components/select/SelectDropdown.svelte +98 -46
- package/package/components/select/SelectDropdown.svelte.d.ts +10 -0
- package/package/components/select/utils.svelte.js +2 -0
- package/package/components/settings/CreateToken.svelte +76 -49
- package/package/components/settings/WorkspaceUserSettings.svelte +20 -17
- package/package/components/sidebar/CriticalAlertTable.svelte +2 -1
- package/package/components/sidebar/Linkify.svelte +14 -0
- package/package/components/sidebar/Linkify.svelte.d.ts +5 -0
- package/package/components/sidebar/WorkspaceMenu.svelte +8 -3
- package/package/components/table/tableUtils.js +1 -1
- package/package/components/text_input/TextInput.svelte +30 -0
- package/package/components/text_input/TextInput.svelte.d.ts +17 -0
- package/package/components/triggers/TriggersEditor.svelte +11 -1
- package/package/components/triggers/triggers.svelte.d.ts +1 -1
- package/package/components/triggers/triggers.svelte.js +8 -4
- package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +2 -2
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +3 -0
- package/package/components/tutorials/FlowBuilderTutorialSimpleFlow.svelte +49 -17
- package/package/components/tutorials/Tutorial.svelte +9 -0
- package/package/components/tutorials/Tutorial.svelte.d.ts +1 -0
- package/package/components/tutorials/app/AppTutorial.svelte +41 -57
- package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +3 -5
- package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -2
- package/package/components/tutorials/utils.js +2 -154
- package/package/components/vscode.js +16 -8
- package/package/components/workspaceSettings/AISettings.svelte +4 -3
- package/package/components/workspaceSettings/CreateWorkspace.svelte +2 -2
- package/package/components/workspaceSettings/DucklakeSettings.svelte +64 -7
- package/package/components/workspaceSettings/StorageSettings.svelte +24 -26
- package/package/editorUtils.d.ts +1 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +82 -1
- package/package/gen/schemas.gen.js +82 -1
- package/package/gen/services.gen.d.ts +175 -1
- package/package/gen/services.gen.js +345 -2
- package/package/gen/types.gen.d.ts +1324 -549
- package/package/script_helpers.js +5 -5
- package/package/services/JobManager.js +4 -2
- package/package/stores.d.ts +4 -13
- package/package/stores.js +5 -68
- package/package/toast.js +2 -1
- package/package/utils.d.ts +1 -0
- package/package/utils.js +3 -0
- package/package.json +5 -5
- /package/package/components/flows/{flowStore.js → flowStore.svelte.js} +0 -0
|
@@ -1,33 +1,38 @@
|
|
|
1
|
-
<script lang="ts">
|
|
1
|
+
<script lang="ts" module>export function stepInputGenButtonClasses(selected) {
|
|
2
|
+
return twMerge('text-violet-500 dark:text-violet-400 border', selected
|
|
3
|
+
? 'bg-green-50 hover:bg-green-50 dark:bg-green-400/15 dark:hover:bg-green-400/15 text-green-800 border-green-200 dark:border-green-300/60 dark:text-green-400 '
|
|
4
|
+
: 'hover:bg-violet-50 border-violet-100 dark:hover:bg-violet-400/15 dark:border-violet-400/20');
|
|
5
|
+
}
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">import { run } from 'svelte/legacy';
|
|
9
|
+
import { Check, Loader2, Wand2 } from 'lucide-svelte';
|
|
2
10
|
import Button from '../common/button/Button.svelte';
|
|
3
11
|
import { getNonStreamingCompletion } from './lib';
|
|
4
12
|
import { sendUserToast } from '../../toast';
|
|
5
13
|
import ManualPopover from '../ManualPopover.svelte';
|
|
6
|
-
import { createEventDispatcher, getContext } from 'svelte';
|
|
14
|
+
import { createEventDispatcher, getContext, untrack } from 'svelte';
|
|
7
15
|
import YAML from 'yaml';
|
|
8
16
|
import { sliceModules } from '../flows/flowStateUtils.svelte';
|
|
9
17
|
import { dfs } from '../flows/dfs';
|
|
10
18
|
import { yamlStringifyExceptKeys } from './utils';
|
|
11
|
-
import {
|
|
19
|
+
import { stepInputCompletionEnabled } from '../../stores';
|
|
12
20
|
import FlowCopilotInputsModal from './FlowCopilotInputsModal.svelte';
|
|
13
21
|
import { twMerge } from 'tailwind-merge';
|
|
14
|
-
import {
|
|
15
|
-
let generatedContent = '';
|
|
16
|
-
let loading = false;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
(arg.type === 'static' && !arg.value) ||
|
|
27
|
-
(arg.type === 'javascript' && !arg.expr);
|
|
28
|
-
let btnFocused = false;
|
|
22
|
+
import { copilotInfo } from '../../aiStore';
|
|
23
|
+
let generatedContent = $state('');
|
|
24
|
+
let loading = $state(false);
|
|
25
|
+
let { focused = false, arg, schemaProperty, pickableProperties = undefined, argName, showPopup, btnClass = '' } = $props();
|
|
26
|
+
let empty = $state(false);
|
|
27
|
+
run(() => {
|
|
28
|
+
empty =
|
|
29
|
+
Object.keys(arg ?? {}).length === 0 ||
|
|
30
|
+
(arg.type === 'static' && !arg.value) ||
|
|
31
|
+
(arg.type === 'javascript' && !arg.expr);
|
|
32
|
+
});
|
|
33
|
+
let btnFocused = $state(false);
|
|
29
34
|
let abortController = new AbortController();
|
|
30
|
-
let newFlowInput = '';
|
|
35
|
+
let newFlowInput = $state('');
|
|
31
36
|
const { flowStore, selectedId } = getContext('FlowEditorContext');
|
|
32
37
|
const { stepInputsLoading, generatedExprs } = getContext('FlowCopilotContext') || {};
|
|
33
38
|
function createFlowInput() {
|
|
@@ -132,7 +137,6 @@ export function onKeyUp(event) {
|
|
|
132
137
|
}
|
|
133
138
|
}
|
|
134
139
|
const dispatch = createEventDispatcher();
|
|
135
|
-
const dispatchIfMounted = createDispatcherIfMounted(dispatch);
|
|
136
140
|
function cancel() {
|
|
137
141
|
abortController.abort();
|
|
138
142
|
generatedContent = '';
|
|
@@ -150,16 +154,28 @@ function cancelOnOutOfFocus() {
|
|
|
150
154
|
}
|
|
151
155
|
}, 150);
|
|
152
156
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
157
|
+
$effect(() => {
|
|
158
|
+
if (!focused) {
|
|
159
|
+
untrack(() => {
|
|
160
|
+
cancelOnOutOfFocus();
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
$effect(() => {
|
|
165
|
+
if ($copilotInfo.enabled && $stepInputCompletionEnabled && focused) {
|
|
166
|
+
untrack(() => {
|
|
167
|
+
automaticGeneration();
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
$effect(() => {
|
|
172
|
+
dispatch('showExpr', generatedContent);
|
|
173
|
+
});
|
|
174
|
+
$effect(() => {
|
|
175
|
+
dispatch('showExpr', $generatedExprs?.[argName] || '');
|
|
176
|
+
});
|
|
177
|
+
let out = $state(true); // hack to prevent regenerating answer when accepting the answer due to mouseenter on new icon
|
|
178
|
+
let openInputsModal = $state(false);
|
|
163
179
|
</script>
|
|
164
180
|
|
|
165
181
|
{#if $copilotInfo.enabled && $stepInputCompletionEnabled}
|
|
@@ -179,10 +195,8 @@ let openInputsModal = false;
|
|
|
179
195
|
size="xs"
|
|
180
196
|
color="light"
|
|
181
197
|
btnClasses={twMerge(
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
? 'bg-green-100 text-green-800 hover:bg-green-100 dark:text-green-400 dark:bg-green-700 dark:hover:bg-green-700'
|
|
185
|
-
: ''
|
|
198
|
+
stepInputGenButtonClasses(!loading && generatedContent.length > 0),
|
|
199
|
+
btnClass
|
|
186
200
|
)}
|
|
187
201
|
on:click={() => {
|
|
188
202
|
if (!loading && generatedContent.length > 0) {
|
|
@@ -227,10 +241,10 @@ let openInputsModal = false;
|
|
|
227
241
|
{/if}
|
|
228
242
|
{/if}
|
|
229
243
|
</Button>
|
|
230
|
-
|
|
244
|
+
{#snippet content()}
|
|
231
245
|
<div class="text-sm text-tertiary">
|
|
232
246
|
{generatedContent || $generatedExprs?.[argName]}
|
|
233
247
|
</div>
|
|
234
|
-
|
|
248
|
+
{/snippet}
|
|
235
249
|
</ManualPopover>
|
|
236
250
|
{/if}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
+
export declare function stepInputGenButtonClasses(selected: boolean): string;
|
|
1
2
|
import type { InputTransform } from '../../gen';
|
|
2
3
|
import type { PickableProperties } from '../flows/previousResults';
|
|
3
4
|
import type { SchemaProperty } from '../../common';
|
|
5
|
+
interface Props {
|
|
6
|
+
focused?: boolean;
|
|
7
|
+
arg: InputTransform | any;
|
|
8
|
+
schemaProperty: SchemaProperty;
|
|
9
|
+
pickableProperties?: PickableProperties | undefined;
|
|
10
|
+
argName: string;
|
|
11
|
+
showPopup: boolean;
|
|
12
|
+
btnClass?: string;
|
|
13
|
+
}
|
|
4
14
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
5
15
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
6
16
|
$$bindings?: Bindings;
|
|
@@ -14,20 +24,13 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
14
24
|
};
|
|
15
25
|
z_$$bindings?: Bindings;
|
|
16
26
|
}
|
|
17
|
-
declare const StepInputGen: $$__sveltets_2_IsomorphicComponent<{
|
|
18
|
-
focused?: boolean;
|
|
19
|
-
arg: InputTransform | any;
|
|
20
|
-
schemaProperty: SchemaProperty;
|
|
21
|
-
pickableProperties?: PickableProperties | undefined;
|
|
22
|
-
argName: string;
|
|
23
|
-
showPopup: boolean;
|
|
24
|
-
onKeyUp?: (event: KeyboardEvent) => void;
|
|
25
|
-
}, {
|
|
27
|
+
declare const StepInputGen: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
26
28
|
setExpr: CustomEvent<any>;
|
|
29
|
+
showExpr: CustomEvent<any>;
|
|
27
30
|
} & {
|
|
28
31
|
[evt: string]: CustomEvent<any>;
|
|
29
32
|
}, {}, {
|
|
30
33
|
onKeyUp: (event: KeyboardEvent) => void;
|
|
31
|
-
},
|
|
34
|
+
}, "">;
|
|
32
35
|
type StepInputGen = InstanceType<typeof StepInputGen>;
|
|
33
36
|
export default StepInputGen;
|
|
@@ -8,20 +8,20 @@ import { getNonStreamingCompletion } from './lib';
|
|
|
8
8
|
import { sendUserToast } from '../../toast';
|
|
9
9
|
import Button from '../common/button/Button.svelte';
|
|
10
10
|
import { Check, ExternalLink, Loader2, Wand2 } from 'lucide-svelte';
|
|
11
|
-
import {
|
|
11
|
+
import { stepInputCompletionEnabled } from '../../stores';
|
|
12
|
+
import { copilotInfo } from '../../aiStore';
|
|
12
13
|
import Popover from '../meltComponents/Popover.svelte';
|
|
13
14
|
import FlowCopilotInputsModal from './FlowCopilotInputsModal.svelte';
|
|
14
15
|
import { twMerge } from 'tailwind-merge';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export let schema = undefined;
|
|
16
|
+
import { stepInputGenButtonClasses } from './StepInputGen.svelte';
|
|
17
|
+
let loading = $state(false);
|
|
18
|
+
let { pickableProperties = undefined, argNames = [], schema = undefined } = $props();
|
|
19
19
|
const { flowStore, selectedId } = getContext('FlowEditorContext');
|
|
20
20
|
const { exprsToSet, stepInputsLoading, generatedExprs } = getContext('FlowCopilotContext') || {};
|
|
21
21
|
let generatedContent = '';
|
|
22
22
|
let parsedInputs = [];
|
|
23
|
-
let newFlowInputs = [];
|
|
24
|
-
let abortController = new AbortController();
|
|
23
|
+
let newFlowInputs = $state([]);
|
|
24
|
+
let abortController = $state(new AbortController());
|
|
25
25
|
async function generateStepInputs() {
|
|
26
26
|
if (Object.keys($generatedExprs || {}).length > 0 || loading) {
|
|
27
27
|
return;
|
|
@@ -135,8 +135,8 @@ function applyExprs() {
|
|
|
135
135
|
openInputsModal = true;
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
let out = true; // hack to prevent regenerating answer when accepting the answer due to mouseenter on new icon
|
|
139
|
-
let openInputsModal = false;
|
|
138
|
+
let out = $state(true); // hack to prevent regenerating answer when accepting the answer due to mouseenter on new icon
|
|
139
|
+
let openInputsModal = $state(false);
|
|
140
140
|
</script>
|
|
141
141
|
|
|
142
142
|
<div class="flex flex-row justify-end">
|
|
@@ -151,11 +151,9 @@ let openInputsModal = false;
|
|
|
151
151
|
<Button
|
|
152
152
|
size="xs"
|
|
153
153
|
color="light"
|
|
154
|
+
wrapperClasses="flex-1"
|
|
154
155
|
btnClasses={twMerge(
|
|
155
|
-
|
|
156
|
-
!loading && Object.keys($generatedExprs || {}).length > 0
|
|
157
|
-
? 'bg-green-100 text-green-800 hover:bg-green-100 dark:text-green-400 dark:bg-green-700 dark:hover:bg-green-700'
|
|
158
|
-
: ''
|
|
156
|
+
stepInputGenButtonClasses(!loading && Object.keys($generatedExprs || {}).length > 0)
|
|
159
157
|
)}
|
|
160
158
|
on:mouseenter={(ev) => {
|
|
161
159
|
if (out) {
|
|
@@ -192,12 +190,13 @@ let openInputsModal = false;
|
|
|
192
190
|
floatingConfig={{
|
|
193
191
|
placement: 'top-end'
|
|
194
192
|
}}
|
|
193
|
+
class="w-full"
|
|
195
194
|
>
|
|
196
|
-
|
|
195
|
+
{#snippet trigger()}
|
|
197
196
|
<Button
|
|
198
197
|
size="xs"
|
|
199
198
|
color="light"
|
|
200
|
-
btnClasses="text-violet-800 dark:text-violet-400"
|
|
199
|
+
btnClasses="text-violet-800 dark:text-violet-400 border border-violet-200 hover:bg-violet-50"
|
|
201
200
|
nonCaptureEvent
|
|
202
201
|
startIcon={{
|
|
203
202
|
icon: Wand2
|
|
@@ -205,8 +204,8 @@ let openInputsModal = false;
|
|
|
205
204
|
>
|
|
206
205
|
Fill inputs
|
|
207
206
|
</Button>
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
{/snippet}
|
|
208
|
+
{#snippet content({ close })}
|
|
210
209
|
<div class="p-4">
|
|
211
210
|
<p class="text-sm">
|
|
212
211
|
{#if !$copilotInfo.enabled}
|
|
@@ -223,7 +222,7 @@ let openInputsModal = false;
|
|
|
223
222
|
<a
|
|
224
223
|
href="#user-settings"
|
|
225
224
|
class="inline-flex flex-row items-center gap-1"
|
|
226
|
-
|
|
225
|
+
onclick={() => {
|
|
227
226
|
close()
|
|
228
227
|
}}
|
|
229
228
|
>
|
|
@@ -232,7 +231,7 @@ let openInputsModal = false;
|
|
|
232
231
|
{/if}
|
|
233
232
|
</p>
|
|
234
233
|
</div>
|
|
235
|
-
|
|
234
|
+
{/snippet}
|
|
236
235
|
</Popover>
|
|
237
236
|
{/if}
|
|
238
237
|
</div>
|
|
@@ -1,26 +1,12 @@
|
|
|
1
1
|
import type { PickableProperties } from '../flows/previousResults';
|
|
2
2
|
import type { Schema } from '../../common';
|
|
3
|
-
interface
|
|
4
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
5
|
-
$$bindings?: Bindings;
|
|
6
|
-
} & Exports;
|
|
7
|
-
(internal: unknown, props: Props & {
|
|
8
|
-
$$events?: Events;
|
|
9
|
-
$$slots?: Slots;
|
|
10
|
-
}): Exports & {
|
|
11
|
-
$set?: any;
|
|
12
|
-
$on?: any;
|
|
13
|
-
};
|
|
14
|
-
z_$$bindings?: Bindings;
|
|
15
|
-
}
|
|
16
|
-
declare const StepInputsGen: $$__sveltets_2_IsomorphicComponent<{
|
|
3
|
+
interface Props {
|
|
17
4
|
pickableProperties?: PickableProperties | undefined;
|
|
18
5
|
argNames?: string[];
|
|
19
6
|
schema?: Schema | {
|
|
20
7
|
properties?: Record<string, any>;
|
|
21
8
|
} | undefined;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
type StepInputsGen = InstanceType<typeof StepInputsGen>;
|
|
9
|
+
}
|
|
10
|
+
declare const StepInputsGen: import("svelte").Component<Props, {}, "">;
|
|
11
|
+
type StepInputsGen = ReturnType<typeof StepInputsGen>;
|
|
26
12
|
export default StepInputsGen;
|
|
@@ -5,7 +5,7 @@ import { autocompleteRequest } from './request';
|
|
|
5
5
|
import { FIM_MAX_TOKENS, getModelContextWindow } from '../lib';
|
|
6
6
|
import { setGlobalCSS } from '../shared';
|
|
7
7
|
import { get } from 'svelte/store';
|
|
8
|
-
import { copilotInfo } from '../../../
|
|
8
|
+
import { copilotInfo } from '../../../aiStore';
|
|
9
9
|
// max ratio of completions to context window
|
|
10
10
|
const COMPLETIONS_MAX_RATIO = 0.1;
|
|
11
11
|
// hard limit to max number of completions to fetch details for, to avoid performance overhead
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { copilotInfo } from '../../../stores';
|
|
2
1
|
import { get } from 'svelte/store';
|
|
3
2
|
import { getFimCompletion } from '../lib';
|
|
4
3
|
import { getLangContext } from '../chat/script/core';
|
|
5
4
|
import {} from '../../../gen/types.gen';
|
|
6
5
|
import { getCommentSymbol } from '../utils';
|
|
6
|
+
import { copilotInfo } from '../../../aiStore';
|
|
7
7
|
function comment(commentSymbol, text) {
|
|
8
8
|
return text
|
|
9
9
|
.split('\n')
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script lang="ts">import AIChatDisplay from './AIChatDisplay.svelte';
|
|
2
2
|
import { onDestroy, untrack } from 'svelte';
|
|
3
3
|
import {} from '../../../gen';
|
|
4
|
-
import {
|
|
4
|
+
import { dbSchemas, userStore, workspaceStore } from '../../../stores';
|
|
5
5
|
import { aiChatManager, AIMode } from './AIChatManager.svelte';
|
|
6
6
|
import { base } from '../../../base';
|
|
7
7
|
import HideButton from '../../apps/editor/settingsPanel/HideButton.svelte';
|
|
8
8
|
import { SUPPORTED_CHAT_SCRIPT_LANGUAGES } from './script/core';
|
|
9
|
+
import { copilotInfo, copilotSessionModel } from '../../../aiStore';
|
|
9
10
|
const isAdmin = $derived($userStore?.is_admin || $userStore?.is_super_admin);
|
|
10
11
|
const hasCopilot = $derived($copilotInfo.enabled);
|
|
11
12
|
const disabled = $derived(!hasCopilot ||
|
|
@@ -13,11 +13,12 @@ import { dfs } from '../../flows/previousResults';
|
|
|
13
13
|
import { getStringError } from './utils';
|
|
14
14
|
import { untrack } from 'svelte';
|
|
15
15
|
import { get } from 'svelte/store';
|
|
16
|
-
import {
|
|
16
|
+
import {} from '../../../stores';
|
|
17
17
|
import { askTools, prepareAskSystemMessage, prepareAskUserMessage } from './ask/core';
|
|
18
18
|
import { chatState, DEFAULT_SIZE, triggerablesByAi } from './sharedChatState.svelte';
|
|
19
19
|
import { prepareApiSystemMessage, prepareApiUserMessage } from './api/core';
|
|
20
20
|
import { getAnthropicCompletion, parseAnthropicCompletion } from './anthropic';
|
|
21
|
+
import { copilotInfo, getCurrentModel } from '../../../aiStore';
|
|
21
22
|
// If the estimated token usage is greater than the model context window - the threshold, we delete the oldest message
|
|
22
23
|
const MAX_TOKENS_THRESHOLD_PERCENTAGE = 0.05;
|
|
23
24
|
const MAX_TOKENS_HARD_LIMIT = 5000;
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
3
3
|
import AiChat from './AIChat.svelte';
|
|
4
4
|
import { zIndexes } from '../../../zIndexes';
|
|
5
|
-
import {
|
|
5
|
+
import { userStore, workspaceStore } from '../../../stores';
|
|
6
6
|
import { chatState } from './sharedChatState.svelte';
|
|
7
|
+
import { loadCopilot } from '../../../aiStore';
|
|
7
8
|
let { noPadding: noBorder = false, isCollapsed = false, children, onMenuOpen, disableAi } = $props();
|
|
8
9
|
$effect(() => {
|
|
9
10
|
if (disableAi) {
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
<script lang="ts">import { ChevronDown } from 'lucide-svelte';
|
|
2
2
|
import Popover from '../../meltComponents/Popover.svelte';
|
|
3
|
-
import { COPILOT_SESSION_MODEL_SETTING_NAME, COPILOT_SESSION_PROVIDER_SETTING_NAME
|
|
3
|
+
import { COPILOT_SESSION_MODEL_SETTING_NAME, COPILOT_SESSION_PROVIDER_SETTING_NAME } from '../../../stores';
|
|
4
4
|
import { storeLocalSetting } from '../../../utils';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
|
-
|
|
6
|
+
import { copilotInfo, copilotSessionModel } from '../../../aiStore';
|
|
7
|
+
let providerModel = $derived($copilotSessionModel ??
|
|
7
8
|
$copilotInfo.defaultModel ??
|
|
8
9
|
$copilotInfo.aiModels[0] ?? {
|
|
9
10
|
model: 'No model',
|
|
10
11
|
provider: 'No provider'
|
|
11
|
-
};
|
|
12
|
-
|
|
12
|
+
});
|
|
13
|
+
let multipleModels = $derived($copilotInfo.aiModels.length > 1);
|
|
13
14
|
</script>
|
|
14
15
|
|
|
15
16
|
<div class="min-w-0">
|
|
16
17
|
<Popover disablePopup={!multipleModels} class="max-w-full">
|
|
17
|
-
|
|
18
|
+
{#snippet trigger()}
|
|
18
19
|
<div class="text-tertiary text-xs flex flex-row items-center font-normal gap-0.5">
|
|
19
20
|
<span class={`truncate ${multipleModels ? '' : 'pr-2'}`}>{providerModel.model}</span>
|
|
20
21
|
{#if multipleModels}
|
|
@@ -23,8 +24,8 @@ $: multipleModels = $copilotInfo.aiModels.length > 1;
|
|
|
23
24
|
</div>
|
|
24
25
|
{/if}
|
|
25
26
|
</div>
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
{/snippet}
|
|
28
|
+
{#snippet content({ close })}
|
|
28
29
|
<div class="flex flex-col gap-1 p-1 min-w-24">
|
|
29
30
|
{#each $copilotInfo.aiModels as providerModel}
|
|
30
31
|
<button
|
|
@@ -32,7 +33,7 @@ $: multipleModels = $copilotInfo.aiModels.length > 1;
|
|
|
32
33
|
'text-left text-xs hover:bg-surface-hover rounded-md p-1 font-normal',
|
|
33
34
|
providerModel.model === $copilotSessionModel?.model && 'bg-surface-hover'
|
|
34
35
|
)}
|
|
35
|
-
|
|
36
|
+
onclick={() => {
|
|
36
37
|
$copilotSessionModel = providerModel
|
|
37
38
|
storeLocalSetting(COPILOT_SESSION_MODEL_SETTING_NAME, providerModel.model)
|
|
38
39
|
storeLocalSetting(COPILOT_SESSION_PROVIDER_SETTING_NAME, providerModel.provider)
|
|
@@ -43,6 +44,6 @@ $: multipleModels = $copilotInfo.aiModels.length > 1;
|
|
|
43
44
|
</button>
|
|
44
45
|
{/each}
|
|
45
46
|
</div>
|
|
46
|
-
|
|
47
|
+
{/snippet}
|
|
47
48
|
</Popover>
|
|
48
49
|
</div>
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const ProviderModelSelector: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type ProviderModelSelector = InstanceType<typeof ProviderModelSelector>;
|
|
1
|
+
declare const ProviderModelSelector: import("svelte").Component<Record<string, never>, {}, "">;
|
|
2
|
+
type ProviderModelSelector = ReturnType<typeof ProviderModelSelector>;
|
|
18
3
|
export default ProviderModelSelector;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">import { base } from '../../../../base';
|
|
2
|
-
import { copilotInfo } from '../../../../
|
|
2
|
+
import { copilotInfo } from '../../../../aiStore';
|
|
3
3
|
import Popover from '../../../meltComponents/Popover.svelte';
|
|
4
4
|
import DarkPopover from '../../../Popover.svelte';
|
|
5
5
|
import { ExternalLink } from 'lucide-svelte';
|
|
@@ -2,12 +2,13 @@ import { ResourceService, JobService } from '../../../../gen/services.gen';
|
|
|
2
2
|
import { capitalize, isObject, toCamel } from '../../../../utils';
|
|
3
3
|
import { get } from 'svelte/store';
|
|
4
4
|
import { compile, phpCompile, pythonCompile } from '../../utils';
|
|
5
|
-
import { dbSchemas
|
|
5
|
+
import { dbSchemas } from '../../../../stores';
|
|
6
6
|
import { getDbSchemas } from '../../../apps/components/display/dbtable/utils';
|
|
7
7
|
import { PYTHON_PREPROCESSOR_MODULE_CODE, TS_PREPROCESSOR_MODULE_CODE } from '../../../../script_helpers';
|
|
8
8
|
import { createSearchHubScriptsTool, executeTestRun, buildTestRunArgs, buildContextString } from '../shared';
|
|
9
9
|
import { setupTypeAcquisition } from '../../../../ata';
|
|
10
10
|
import { getModelContextWindow } from '../../lib';
|
|
11
|
+
import { getCurrentModel } from '../../../../aiStore';
|
|
11
12
|
// Score threshold for npm packages search filtering
|
|
12
13
|
const SCORE_THRESHOLD = 1000;
|
|
13
14
|
// percentage of the context window for documentation of npm packages
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { get } from 'svelte/store';
|
|
2
|
-
import { workspaceStore
|
|
2
|
+
import { workspaceStore } from '../../../stores';
|
|
3
3
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { ScriptService, JobService } from '../../../gen';
|
|
6
6
|
import { scriptLangToEditorLang } from '../../../scripts';
|
|
7
7
|
import YAML from 'yaml';
|
|
8
|
+
import { getCurrentModel } from '../../../aiStore';
|
|
8
9
|
export const extractAllModules = (modules) => {
|
|
9
10
|
return modules.flatMap((m) => {
|
|
10
11
|
if (m.value.type === 'forloopflow' || m.value.type === 'whileloopflow') {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { workspaceStore } from '../../stores';
|
|
2
2
|
import { buildClientSchema, printSchema } from 'graphql';
|
|
3
3
|
import OpenAI from 'openai';
|
|
4
4
|
import Anthropic from '@anthropic-ai/sdk';
|
|
@@ -9,6 +9,7 @@ import { formatResourceTypes } from './utils';
|
|
|
9
9
|
import { z } from 'zod';
|
|
10
10
|
import { processToolCall } from './chat/shared';
|
|
11
11
|
import { generateRandomString } from '../../utils';
|
|
12
|
+
import { copilotInfo, getCurrentModel } from '../../aiStore';
|
|
12
13
|
export const SUPPORTED_LANGUAGES = new Set(Object.keys(GEN_CONFIG.prompts));
|
|
13
14
|
const OPENAI_MODELS = [
|
|
14
15
|
'gpt-5',
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
<script lang="ts">import { Tabs, Tab, TabContent } from '../common';
|
|
2
2
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
3
3
|
import DetailPageDetailPanel from './DetailPageDetailPanel.svelte';
|
|
4
|
-
let { isOperator = false, flow_json = undefined, selected = $bindable(), header, form, scriptRender: script, save_inputs, flow_step, triggers } = $props();
|
|
4
|
+
let { isOperator = false, flow_json = undefined, selected = $bindable(), forceSmallScreen = false, header, form, scriptRender: script, save_inputs, flow_step, triggers } = $props();
|
|
5
5
|
let mobileTab = $state('form');
|
|
6
6
|
let clientWidth = $state(window.innerWidth);
|
|
7
7
|
const script_render = $derived(script);
|
|
8
8
|
const save_inputs_render = $derived(save_inputs);
|
|
9
9
|
const flow_step_render = $derived(flow_step);
|
|
10
10
|
const triggers_render = $derived(triggers);
|
|
11
|
+
const useDesktopLayout = $derived(clientWidth >= 768 && !forceSmallScreen);
|
|
11
12
|
</script>
|
|
12
13
|
|
|
13
14
|
<main class="h-screen w-full" bind:clientWidth>
|
|
14
|
-
{#if
|
|
15
|
+
{#if useDesktopLayout}
|
|
15
16
|
<div class="h-full w-full flex flex-col">
|
|
16
17
|
{@render header?.()}
|
|
17
18
|
<div class="grow min-h-0 w-full">
|
|
@@ -4,7 +4,7 @@ import BarsStaggered from '../icons/BarsStaggered.svelte';
|
|
|
4
4
|
import { Button } from '../common';
|
|
5
5
|
import Drawer from '../common/drawer/Drawer.svelte';
|
|
6
6
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
7
|
-
import { importFlowStore } from './flowStore';
|
|
7
|
+
import { importFlowStore } from './flowStore.svelte';
|
|
8
8
|
import { Loader2, Plus } from 'lucide-svelte';
|
|
9
9
|
import YAML from 'yaml';
|
|
10
10
|
let drawer = $state(undefined);
|