windmill-components 1.623.2 → 1.642.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
- package/dist/sharedUtils/base.d.ts +1 -0
- package/dist/sharedUtils/cloud.d.ts +1 -0
- package/dist/sharedUtils/common.d.ts +111 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
- package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
- package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
- package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
- package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
- package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
- package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
- package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
- package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
- package/dist/sharedUtils/components/apps/types.d.ts +274 -0
- package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
- package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
- package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
- package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
- package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
- package/dist/sharedUtils/components/common/index.d.ts +24 -0
- package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
- package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
- package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
- package/dist/sharedUtils/components/ducklake.d.ts +1 -0
- package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
- package/dist/sharedUtils/components/icons/index.d.ts +101 -0
- package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
- package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
- package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
- package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
- package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
- package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
- package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
- package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
- package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers.d.ts +20 -0
- package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
- package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
- package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
- package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
- package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
- package/dist/sharedUtils/gen/core/request.d.ts +29 -0
- package/dist/sharedUtils/gen/index.d.ts +6 -0
- package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
- package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
- package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
- package/dist/sharedUtils/history.svelte.d.ts +9 -0
- package/dist/sharedUtils/hub.d.ts +49 -0
- package/dist/sharedUtils/jsr.json +6 -0
- package/dist/sharedUtils/lib.d.ts +5 -0
- package/dist/sharedUtils/lib.es.js +1588 -0
- package/dist/sharedUtils/package.json +12 -0
- package/dist/sharedUtils/schema.d.ts +3 -0
- package/dist/sharedUtils/stores.d.ts +97 -0
- package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
- package/dist/sharedUtils/toast.d.ts +8 -0
- package/dist/sharedUtils/utils.d.ts +265 -0
- package/package/assets/app.css +32 -13
- package/package/components/AIAgentLogViewer.svelte +2 -2
- package/package/components/AIAgentLogViewer.svelte.d.ts +1 -0
- package/package/components/AIProviderPicker.svelte +20 -80
- package/package/components/AIProviderPicker.svelte.d.ts +2 -7
- package/package/components/AddUser.svelte +2 -2
- package/package/components/ApiConnectForm.svelte +7 -1
- package/package/components/AppConnectInner.svelte.d.ts +1 -1
- package/package/components/ArgInput.svelte +15 -5
- package/package/components/ArgInput.svelte.d.ts +3 -4
- package/package/components/Auth0Setting.svelte +6 -2
- package/package/components/AuthSettings.svelte +68 -39
- package/package/components/AuthSettings.svelte.d.ts +3 -1
- package/package/components/AutheliaSetting.svelte +3 -2
- package/package/components/AuthentikSetting.svelte +3 -2
- package/package/components/AutoscalingConfigEditor.svelte +2 -1
- package/package/components/AutoscalingConfigEditor.svelte.d.ts +1 -0
- package/package/components/CenteredModal.svelte +14 -4
- package/package/components/CenteredModal.svelte.d.ts +1 -0
- package/package/components/ChangeInstanceUsernameInner.svelte +1 -1
- package/package/components/CompareWorkspaces.svelte +29 -57
- package/package/components/ConcurrentJobsChart.svelte +1 -1
- package/package/components/ConnectionSection.svelte +69 -73
- package/package/components/CustomSso.svelte +7 -7
- package/package/components/DBManager.svelte +15 -4
- package/package/components/DBManager.svelte.d.ts +2 -0
- package/package/components/DBManagerContent.svelte +5 -0
- package/package/components/DBManagerContent.svelte.d.ts +1 -0
- package/package/components/DBManagerDrawer.svelte +2 -0
- package/package/components/DatatablePicker.svelte +29 -0
- package/package/components/DatatablePicker.svelte.d.ts +13 -0
- package/package/components/DateTimeInput.svelte +3 -3
- package/package/components/DedicatedWorkersSelector.svelte +39 -42
- package/package/components/DeployToSetting.svelte +183 -123
- package/package/components/DeployToSetting.svelte.d.ts +19 -28
- package/package/components/DeployWorkspace.svelte +6 -44
- package/package/components/DeployWorkspace.svelte.d.ts +2 -1
- package/package/components/DeployWorkspaceDrawer.svelte +18 -7
- package/package/components/DeployWorkspaceDrawer.svelte.d.ts +3 -20
- package/package/components/Description.svelte +3 -1
- package/package/components/Dev.svelte +1 -0
- package/package/components/DiffEditor.svelte +7 -6
- package/package/components/DiffEditor.svelte.d.ts +2 -6
- package/package/components/DisplayResult.svelte +2 -2
- package/package/components/DropdownMenu.svelte +39 -0
- package/package/components/DropdownMenu.svelte.d.ts +14 -0
- package/package/components/DropdownSubmenuItem.svelte +68 -0
- package/package/components/DropdownSubmenuItem.svelte.d.ts +10 -0
- package/package/components/DropdownV2.svelte +3 -3
- package/package/components/DropdownV2Inner.svelte +42 -34
- package/package/components/DropdownV2Inner.svelte.d.ts +2 -1
- package/package/components/DucklakePicker.svelte +2 -5
- package/package/components/EEOnly.svelte +4 -14
- package/package/components/EEOnly.svelte.d.ts +0 -1
- package/package/components/Editor.svelte +2 -2
- package/package/components/Editor.svelte.d.ts +1 -0
- package/package/components/EditorBar.svelte +2 -4
- package/package/components/ErrorOrRecoveryHandler.svelte +62 -53
- package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -0
- package/package/components/ExploreAssetButton.svelte +1 -2
- package/package/components/FileExplorer.svelte +249 -0
- package/package/components/FileExplorer.svelte.d.ts +21 -0
- package/package/components/FilesetEditor.svelte +103 -0
- package/package/components/FilesetEditor.svelte.d.ts +6 -0
- package/package/components/FilterSearchbar.svelte +628 -0
- package/package/components/FilterSearchbar.svelte.d.ts +86 -0
- package/package/components/FlowBuilder.svelte +123 -79
- package/package/components/FlowGraphViewerStep.svelte +49 -33
- package/package/components/FlowHistoryJobPicker.svelte +2 -1
- package/package/components/FlowJobResult.svelte +31 -23
- package/package/components/FlowJobResult.svelte.d.ts +0 -1
- package/package/components/FlowLogRow.svelte +1 -1
- package/package/components/FlowLogViewer.svelte +8 -3
- package/package/components/FlowPreviewContent.svelte +65 -49
- package/package/components/FlowPreviewContent.svelte.d.ts +4 -0
- package/package/components/FlowRestartButton.svelte +47 -47
- package/package/components/FlowRestartButton.svelte.d.ts +2 -0
- package/package/components/FlowStatusViewer.svelte +2 -3
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +380 -297
- package/package/components/FlowStatusViewerInner.svelte.d.ts +2 -2
- package/package/components/FlowStatusWaitingForEvents.svelte +11 -10
- package/package/components/FolderPicker.svelte +195 -65
- package/package/components/FolderPicker.svelte.d.ts +2 -0
- package/package/components/HistoricInputs.svelte +3 -4
- package/package/components/IconedResourceType.svelte +8 -2
- package/package/components/IconedResourceType.svelte.d.ts +2 -0
- package/package/components/InputError.svelte +9 -0
- package/package/components/InputError.svelte.d.ts +6 -0
- package/package/components/InputTransformForm.svelte +46 -39
- package/package/components/InputTransformForm.svelte.d.ts +1 -0
- package/package/components/InputTransformSchemaForm.svelte +2 -1
- package/package/components/InputTransformSchemaForm.svelte.d.ts +1 -0
- package/package/components/InputTransformsViewer.svelte +37 -20
- package/package/components/InstanceNameEditor.svelte +3 -1
- package/package/components/InstanceSetting.svelte +150 -374
- package/package/components/InstanceSetting.svelte.d.ts +1 -0
- package/package/components/InstanceSettings.svelte +804 -193
- package/package/components/InstanceSettings.svelte.d.ts +17 -2
- package/package/components/IntegerInput.svelte +58 -0
- package/package/components/IntegerInput.svelte.d.ts +14 -0
- package/package/components/InviteGlobalUser.svelte +25 -25
- package/package/components/InviteGlobalUser.svelte.d.ts +4 -2
- package/package/components/JobArgs.svelte +14 -10
- package/package/components/JobLoader.svelte +6 -4
- package/package/components/JobLoader.svelte.d.ts +2 -2
- package/package/components/JobStatus.svelte +29 -26
- package/package/components/JobStatus.svelte.d.ts +1 -0
- package/package/components/KanidmSetting.svelte +3 -2
- package/package/components/KeycloakSetting.svelte +3 -2
- package/package/components/Login.svelte +9 -3
- package/package/components/ModuleStatus.svelte +5 -5
- package/package/components/ModuleTest.svelte +3 -3
- package/package/components/MoveDrawer.svelte +47 -76
- package/package/components/MoveDrawer.svelte.d.ts +4 -6
- package/package/components/NextcloudSetting.svelte +3 -2
- package/package/components/NoDirectDeployAlert.svelte +31 -0
- package/package/components/NoDirectDeployAlert.svelte.d.ts +6 -0
- package/package/components/NumberTypeNarrowing.svelte +65 -67
- package/package/components/NumberTypeNarrowing.svelte.d.ts +2 -1
- package/package/components/OAuthSetting.svelte +6 -14
- package/package/components/ObjectStoreConfigSettings.svelte +150 -55
- package/package/components/ObjectStoreConfigSettings.svelte.d.ts +34 -44
- package/package/components/OktaSetting.svelte +3 -2
- package/package/components/PageHeader.svelte +1 -1
- package/package/components/ParentWorkspaceProtectionAlert.svelte +48 -0
- package/package/components/ParentWorkspaceProtectionAlert.svelte.d.ts +7 -0
- package/package/components/Path.svelte +40 -28
- package/package/components/Path.svelte.d.ts +3 -0
- package/package/components/PocketIdSetting.svelte +3 -2
- package/package/components/ResourceEditor.svelte +9 -3
- package/package/components/ResourcePicker.svelte +2 -5
- package/package/components/RightClickPopover.svelte +37 -0
- package/package/components/RightClickPopover.svelte.d.ts +11 -0
- package/package/components/RunChart.svelte +2 -21
- package/package/components/RunChart.svelte.d.ts +0 -3
- package/package/components/RunsPage.svelte +458 -560
- package/package/components/SaveButton.svelte +78 -0
- package/package/components/SaveButton.svelte.d.ts +12 -0
- package/package/components/SaveInputsButton.svelte +1 -1
- package/package/components/SavedInputsV2.svelte +1 -3
- package/package/components/SchemaFormWithArgPicker.svelte +34 -30
- package/package/components/SchemaFormWithArgPicker.svelte.d.ts +12 -21
- package/package/components/SchemaViewer.svelte +56 -53
- package/package/components/ScriptBuilder.svelte +12 -12
- package/package/components/ScriptEditor.svelte +30 -28
- package/package/components/Section.svelte +2 -2
- package/package/components/ServiceLogsInner.svelte +21 -82
- package/package/components/Star.svelte +8 -22
- package/package/components/Star.svelte.d.ts +4 -4
- package/package/components/StringTypeNarrowing.svelte +1 -0
- package/package/components/SummaryPathDisplay.svelte +177 -0
- package/package/components/SummaryPathDisplay.svelte.d.ts +10 -0
- package/package/components/SuperadminSettings.svelte +185 -4
- package/package/components/SuperadminSettings.svelte.d.ts +4 -1
- package/package/components/SuperadminSettingsInner.svelte +307 -192
- package/package/components/SuperadminSettingsInner.svelte.d.ts +12 -1
- package/package/components/TaggedTextInput.svelte +449 -0
- package/package/components/TaggedTextInput.svelte.d.ts +28 -0
- package/package/components/Toast.svelte +69 -51
- package/package/components/Toast.svelte.d.ts +2 -2
- package/package/components/Tooltip.svelte +2 -2
- package/package/components/Tooltip.svelte.d.ts +2 -0
- package/package/components/TooltipInner.svelte +6 -1
- package/package/components/TooltipInner.svelte.d.ts +1 -0
- package/package/components/Uptodate.svelte +3 -2
- package/package/components/UserSettings.svelte +2 -2
- package/package/components/UserSettings.svelte.d.ts +1 -0
- package/package/components/WorkerGroup.svelte +320 -192
- package/package/components/WorkerGroup.svelte.d.ts +2 -0
- package/package/components/WorkspaceDependenciesEditor.svelte +33 -17
- package/package/components/ZitadelSetting.svelte +3 -2
- package/package/components/aiProviderStorage.d.ts +5 -0
- package/package/components/aiProviderStorage.js +50 -0
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +24 -13
- package/package/components/apps/components/display/dbtable/metadata.d.ts +1 -0
- package/package/components/apps/components/display/dbtable/metadata.js +1 -0
- package/package/components/apps/components/display/dbtable/queries/count.js +3 -1
- package/package/components/apps/components/display/dbtable/queries/delete.js +3 -1
- package/package/components/apps/components/display/dbtable/queries/insert.js +3 -1
- package/package/components/apps/components/display/dbtable/queries/select.js +15 -1
- package/package/components/apps/components/display/dbtable/queries/update.js +3 -1
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridTable.svelte +7 -0
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -3
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/theme/windmill-theme.css +8 -7
- package/package/components/apps/components/helpers/eval.js +5 -2
- package/package/components/apps/components/layout/AppModal.svelte +2 -1
- package/package/components/apps/components/layout/AppModal.svelte.d.ts +1 -0
- package/package/components/apps/editor/appPolicy.js +5 -4
- package/package/components/apps/editor/appUtils.d.ts +1 -1
- package/package/components/apps/editor/component/components.d.ts +11 -0
- package/package/components/apps/editor/component/components.js +19 -2
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +3 -1
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/StylePanel.svelte +66 -29
- package/package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +2 -17
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +10 -0
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/assets/AssetButtons.svelte +3 -7
- package/package/components/assets/AssetButtons.svelte.d.ts +2 -4
- package/package/components/assets/AssetColumnBadges.svelte +35 -0
- package/package/components/assets/AssetColumnBadges.svelte.d.ts +10 -0
- package/package/components/assets/AssetsDropdownButton.svelte +8 -6
- package/package/components/assets/AssetsUsageDrawer.svelte +16 -14
- package/package/components/assets/JobAssetsViewer.svelte +4 -6
- package/package/components/assets/assetsFilter.d.ts +50 -0
- package/package/components/assets/assetsFilter.js +43 -0
- package/package/components/assets/lib.d.ts +3 -2
- package/package/components/assets/lib.js +8 -1
- package/package/components/auditLogs/AuditLogsFilters.svelte +30 -1
- package/package/components/common/InlineCalendarInput.svelte +580 -0
- package/package/components/common/InlineCalendarInput.svelte.d.ts +31 -0
- package/package/components/common/alert/Alert.svelte +2 -8
- package/package/components/common/alert/model.d.ts +1 -0
- package/package/components/common/alert/model.js +7 -0
- package/package/components/common/badge/Badge.svelte +7 -3
- package/package/components/common/badge/Badge.svelte.d.ts +1 -0
- package/package/components/common/breadcrumb/Breadcrumb.svelte +10 -14
- package/package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +8 -23
- package/package/components/common/drawer/DrawerContent.svelte +1 -1
- package/package/components/common/seconds/SecondsInput.svelte +158 -67
- package/package/components/common/seconds/SecondsInput.svelte.d.ts +9 -21
- package/package/components/common/sidebar/SidebarNavigation.svelte +50 -0
- package/package/components/common/sidebar/SidebarNavigation.svelte.d.ts +25 -0
- package/package/components/common/table/AppRow.svelte +7 -10
- package/package/components/common/table/AppRow.svelte.d.ts +2 -2
- package/package/components/common/table/FlowRow.svelte +12 -15
- package/package/components/common/table/FlowRow.svelte.d.ts +2 -2
- package/package/components/common/table/RawAppRow.svelte +5 -82
- package/package/components/common/table/RawAppRow.svelte.d.ts +2 -23
- package/package/components/common/table/Row.svelte +2 -2
- package/package/components/common/table/Row.svelte.d.ts +0 -2
- package/package/components/common/table/ScriptRow.svelte +8 -11
- package/package/components/common/table/ScriptRow.svelte.d.ts +2 -2
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -1
- package/package/components/copilot/TestAIKey.svelte +1 -1
- package/package/components/copilot/chat/AIChatInput.svelte +22 -11
- package/package/components/copilot/chat/AIChatManager.svelte.js +15 -17
- package/package/components/copilot/chat/AvailableContextList.svelte +215 -12
- package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +1 -0
- package/package/components/copilot/chat/ContextTextarea.svelte +15 -2
- package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +1 -1
- package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +4 -2
- package/package/components/copilot/chat/app/core.js +7 -86
- package/package/components/copilot/chat/context.js +4 -1
- package/package/components/copilot/chat/flow/core.js +193 -61
- package/package/components/copilot/chat/flow/openFlow.json +1 -1
- package/package/components/copilot/chat/flow/openFlowZod.d.ts +2 -2
- package/package/components/copilot/chat/flow/openFlowZod.js +6 -8
- package/package/components/copilot/chat/navigator/core.d.ts +2 -2
- package/package/components/copilot/chat/navigator/core.js +11 -2
- package/package/components/copilot/chat/script/core.js +4 -1
- package/package/components/copilot/chat/shared.d.ts +53 -1
- package/package/components/copilot/chat/shared.js +227 -1
- package/package/components/copilot/lib.js +42 -0
- package/package/components/dedicated_worker.d.ts +7 -0
- package/package/components/dedicated_worker.js +36 -0
- package/package/components/details/DetailPageHeader.svelte +8 -23
- package/package/components/details/DetailPageHeader.svelte.d.ts +1 -0
- package/package/components/details/DetailPageLayout.svelte +1 -1
- package/package/components/details/createAppFromScript.d.ts +136 -16
- package/package/components/details/createAppFromScript.js +13 -12
- package/package/components/diffEditorTypes.d.ts +6 -0
- package/package/components/diffEditorTypes.js +1 -0
- package/package/components/flows/CreateActionsApp.svelte +32 -82
- package/package/components/flows/CreateActionsFlow.svelte +28 -28
- package/package/components/flows/FlowAssetsHandler.svelte +1 -4
- package/package/components/flows/FlowProgressBar.svelte +37 -1
- package/package/components/flows/FlowProgressBar.svelte.d.ts +3 -0
- package/package/components/flows/agentToolUtils.d.ts +18 -0
- package/package/components/flows/agentToolUtils.js +47 -0
- package/package/components/flows/common/FlowCardHeader.svelte +8 -9
- package/package/components/flows/content/FlowEnvironmentVariables.svelte +3 -2
- package/package/components/flows/content/FlowLoop.svelte +3 -4
- package/package/components/flows/content/FlowModuleCache.svelte +1 -3
- package/package/components/flows/content/FlowModuleComponent.svelte +22 -6
- package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
- package/package/components/flows/content/FlowResult.svelte +77 -25
- package/package/components/flows/content/FlowRetries.svelte +1 -1
- package/package/components/flows/content/FlowSettings.svelte +4 -7
- package/package/components/flows/flowState.js +6 -0
- package/package/components/flows/flowStateUtils.svelte.js +4 -1
- package/package/components/flows/flowStore.svelte.d.ts +1 -1
- package/package/components/flows/flowStore.svelte.js +4 -2
- package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
- package/package/components/flows/header/FlowYamlEditor.svelte +2 -2
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +12 -6
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -2
- package/package/components/flows/map/InsertModuleInner.svelte +7 -0
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
- package/package/components/flows/missingInputWarnings.js +7 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +4 -4
- package/package/components/flows/propPicker/OutputPicker.svelte +1 -1
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +6 -9
- package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +3 -3
- package/package/components/flows/scheduleUtils.js +2 -2
- package/package/components/flows/types.d.ts +1 -3
- package/package/components/flows/utils.svelte.js +5 -1
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +23 -21
- package/package/components/git_sync/GitSyncSection.svelte +24 -27
- package/package/components/graph/FlowGraphV2.svelte +1 -1
- package/package/components/graph/graphBuilder.svelte.d.ts +3 -1
- package/package/components/graph/model.d.ts +1 -1
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +3 -1
- package/package/components/graph/renderers/nodes/AssetNode.svelte +25 -13
- package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +8 -0
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +5 -2
- package/package/components/home/Item.svelte +9 -15
- package/package/components/home/Item.svelte.d.ts +8 -7
- package/package/components/home/ItemsList.svelte +4 -10
- package/package/components/home/ItemsList.svelte.d.ts +1 -0
- package/package/components/icons/GoogleCalendarIcon.svelte +41 -0
- package/package/components/icons/GoogleCalendarIcon.svelte.d.ts +7 -0
- package/package/components/icons/GoogleDriveIcon.svelte +30 -0
- package/package/components/icons/GoogleDriveIcon.svelte.d.ts +7 -0
- package/package/components/icons/GoogleIcon.svelte +15 -6
- package/package/components/icons/GoogleIcon.svelte.d.ts +5 -2
- package/package/components/icons/MSSqlServerIcon.svelte +111 -47
- package/package/components/instanceSettings/IndexerJobIndexSettings.svelte +94 -0
- package/package/components/instanceSettings/IndexerJobIndexSettings.svelte.d.ts +9 -0
- package/package/components/instanceSettings/IndexerLogIndexSettings.svelte +67 -0
- package/package/components/instanceSettings/IndexerLogIndexSettings.svelte.d.ts +9 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte +109 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte.d.ts +9 -0
- package/package/components/instanceSettings/SecretBackendConfig.svelte +15 -16
- package/package/components/instanceSettings/SettingCard.svelte +47 -0
- package/package/components/instanceSettings/SettingCard.svelte.d.ts +19 -0
- package/package/components/instanceSettings/SettingsSearchInput.svelte +66 -0
- package/package/components/instanceSettings/SettingsSearchInput.svelte.d.ts +9 -0
- package/package/components/instanceSettings.d.ts +52 -0
- package/package/components/instanceSettings.js +413 -69
- package/package/components/meltComponents/MenuItem.svelte +1 -0
- package/package/components/meltComponents/Popover.svelte +10 -1
- package/package/components/meltComponents/Popover.svelte.d.ts +2 -0
- package/package/components/meltComponents/Tooltip.svelte +2 -1
- package/package/components/meltComponents/Tooltip.svelte.d.ts +1 -0
- package/package/components/moveRenameManager.d.ts +21 -0
- package/package/components/moveRenameManager.js +61 -0
- package/package/components/progressBar/ProgressBar.svelte +69 -27
- package/package/components/progressBar/ProgressBar.svelte.d.ts +7 -0
- package/package/components/prop_picker.d.ts +0 -3
- package/package/components/propertyPicker/PropPicker.svelte +34 -49
- package/package/components/propertyPicker/PropPicker.svelte.d.ts +12 -11
- package/package/components/raw_apps/FileTreeNode.svelte +1 -0
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +3 -2
- package/package/components/raw_apps/RawAppEditor.svelte +20 -16
- package/package/components/raw_apps/RawAppEditor.svelte.d.ts +4 -4
- package/package/components/raw_apps/RawAppEditorHeader.svelte +73 -7
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -1
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +1 -2
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +41 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +0 -1
- package/package/components/raw_apps/RawAppSidebar.svelte +32 -284
- package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -1
- package/package/components/raw_apps/RunnableRow.svelte +88 -34
- package/package/components/raw_apps/RunnableRow.svelte.d.ts +4 -0
- package/package/components/resources/resourcesFilter.d.ts +70 -0
- package/package/components/resources/resourcesFilter.js +61 -0
- package/package/components/runs/BatchReRunOptionsPane.svelte +130 -121
- package/package/components/runs/BatchReRunOptionsPane.svelte.d.ts +3 -2
- package/package/components/runs/FlowExecutionStatus.svelte +30 -0
- package/package/components/runs/FlowExecutionStatus.svelte.d.ts +15 -0
- package/package/components/runs/JobDetailFieldConfig.d.ts +47 -0
- package/package/components/runs/JobDetailFieldConfig.js +433 -0
- package/package/components/runs/JobDetailHeader.svelte +551 -0
- package/package/components/runs/JobDetailHeader.svelte.d.ts +17 -0
- package/package/components/runs/JobRunsPreview.svelte +174 -218
- package/package/components/runs/JobRunsPreview.svelte.d.ts +0 -1
- package/package/components/runs/JobStatusIcon.svelte +47 -0
- package/package/components/runs/JobStatusIcon.svelte.d.ts +9 -0
- package/package/components/runs/RunBadges.svelte +39 -34
- package/package/components/runs/RunBadges.svelte.d.ts +2 -1
- package/package/components/runs/RunRow.svelte +24 -64
- package/package/components/runs/RunRow.svelte.d.ts +1 -2
- package/package/components/runs/RunsTable.svelte +312 -131
- package/package/components/runs/RunsTable.svelte.d.ts +4 -3
- package/package/components/runs/TimeframeSelect.svelte +189 -0
- package/package/components/runs/TimeframeSelect.svelte.d.ts +44 -0
- package/package/components/runs/runsFilter.d.ts +201 -0
- package/package/components/runs/runsFilter.js +182 -0
- package/package/components/runs/useJobsLoader.svelte.d.ts +5 -7
- package/package/components/runs/useJobsLoader.svelte.js +27 -30
- package/package/components/schedules/schedulesFilter.d.ts +65 -0
- package/package/components/schedules/schedulesFilter.js +60 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +43 -22
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -1
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +1 -0
- package/package/components/schema/RunningJobSchemaPicker.svelte +1 -1
- package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
- package/package/components/scripts/CreateActionsScript.svelte +0 -1
- package/package/components/search/GlobalSearchModal.svelte +1 -8
- package/package/components/select/GenericDropdown.svelte +113 -0
- package/package/components/select/GenericDropdown.svelte.d.ts +37 -0
- package/package/components/select/Select.svelte +17 -4
- package/package/components/select/Select.svelte.d.ts +2 -1
- package/package/components/select/SelectDropdown.svelte +76 -155
- package/package/components/select/SelectDropdown.svelte.d.ts +4 -1
- package/package/components/settings/ChangeWorkspaceColor.svelte +7 -8
- package/package/components/settings/ChangeWorkspaceId.svelte +4 -6
- package/package/components/settings/ChangeWorkspaceName.svelte +6 -8
- package/package/components/settings/PremiumInfo.svelte +268 -128
- package/package/components/settings/SettingsPageHeader.svelte +22 -0
- package/package/components/settings/SettingsPageHeader.svelte.d.ts +10 -0
- package/package/components/settings/WorkspaceUserSettings.svelte +13 -23
- package/package/components/sidebar/CriticalAlertModalInner.svelte +28 -22
- package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +5 -20
- package/package/components/sidebar/DarkModeToggle.svelte +2 -2
- package/package/components/sidebar/FavoriteMenu.svelte +101 -20
- package/package/components/sidebar/FavoriteMenu.svelte.d.ts +29 -1
- package/package/components/sidebar/MenuButton.svelte +10 -7
- package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
- package/package/components/sidebar/MenuLink.svelte +4 -3
- package/package/components/sidebar/OperatorMenu.svelte +3 -1
- package/package/components/sidebar/OperatorMenu.svelte.d.ts +6 -1
- package/package/components/sidebar/SidebarContent.svelte +3 -3
- package/package/components/sidebar/WorkspaceMenu.svelte +3 -2
- package/package/components/table/AutoDataTable.svelte +2 -2
- package/package/components/toast.js +1 -2
- package/package/components/triggers/AddTriggersButton.svelte +11 -0
- package/package/components/triggers/TriggerFilters.svelte +71 -0
- package/package/components/triggers/TriggerFilters.svelte.d.ts +10 -0
- package/package/components/triggers/TriggersEditor.svelte +31 -11
- package/package/components/triggers/TriggersWrapper.svelte +10 -0
- package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +7 -0
- package/package/components/triggers/kafka/utils.js +1 -0
- package/package/components/triggers/native/NativeTriggerEditor.svelte +22 -17
- package/package/components/triggers/native/NativeTriggerTable.svelte +16 -0
- package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte +112 -0
- package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte.d.ts +8 -0
- package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte +323 -0
- package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte.d.ts +8 -0
- package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte +116 -0
- package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte.d.ts +12 -0
- package/package/components/triggers/native/utils.d.ts +0 -1
- package/package/components/triggers/native/utils.js +15 -1
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +3 -3
- package/package/components/triggers/triggers.svelte.d.ts +1 -1
- package/package/components/triggers/triggers.svelte.js +11 -3
- package/package/components/triggers/utils.js +33 -6
- package/package/components/triggers/websocket/WebsocketEditorConfigSection.svelte +1 -1
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +3 -81
- package/package/components/triggers.d.ts +1 -1
- package/package/components/variables/variablesFilter.d.ts +56 -0
- package/package/components/variables/variablesFilter.js +51 -0
- package/package/components/waitJob.d.ts +1 -1
- package/package/components/waitJob.js +3 -2
- package/package/components/worker_group.d.ts +2 -0
- package/package/components/worker_group.js +15 -0
- package/package/components/workspaceSettings/AISettings.svelte +36 -42
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte +4 -4
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte.d.ts +1 -2
- package/package/components/workspaceSettings/DataTableSettings.svelte +27 -16
- package/package/components/workspaceSettings/DataTableSettings.svelte.d.ts +1 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte +21 -15
- package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +24 -66
- package/package/components/workspaceSettings/ModelTokenLimits.svelte +6 -10
- package/package/components/workspaceSettings/OAuthClientConfig.svelte +46 -75
- package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +8 -1
- package/package/components/workspaceSettings/RulesetEditor.svelte +280 -0
- package/package/components/workspaceSettings/RulesetEditor.svelte.d.ts +9 -0
- package/package/components/workspaceSettings/SettingsFooter.svelte +35 -0
- package/package/components/workspaceSettings/SettingsFooter.svelte.d.ts +12 -0
- package/package/components/workspaceSettings/StorageSettings.svelte +48 -34
- package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
- package/package/components/workspaceSettings/WorkspaceDependenciesSettings.svelte +66 -27
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +237 -73
- package/package/components/workspaceSettings/WorkspaceRulesets.svelte +183 -0
- package/package/components/workspaceSettings/WorkspaceRulesets.svelte.d.ts +3 -0
- package/package/editorLangUtils.d.ts +1 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +996 -70
- package/package/gen/schemas.gen.js +1352 -378
- package/package/gen/services.gen.d.ts +156 -41
- package/package/gen/services.gen.js +319 -83
- package/package/gen/types.gen.d.ts +1896 -317
- package/package/hub.d.ts +1 -0
- package/package/hub.js +7 -0
- package/package/hubPaths.json +2 -1
- package/package/infer.d.ts +2 -0
- package/package/mcpEndpointTools.d.ts +3 -0
- package/package/mcpEndpointTools.js +574 -147
- package/package/rawAppWmillTs.js +12 -11
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +1 -1
- package/package/storeUtils.js +8 -0
- package/package/stores.d.ts +1 -1
- package/package/stores.js +4 -2
- package/package/svelte5Utils.svelte.d.ts +40 -0
- package/package/svelte5Utils.svelte.js +158 -0
- package/package/svelte5UtilsKit.svelte.d.ts +13 -3
- package/package/svelte5UtilsKit.svelte.js +96 -20
- package/package/system_prompts/prompts.d.ts +5 -5
- package/package/system_prompts/prompts.js +94 -21
- package/package/toast.d.ts +5 -1
- package/package/toast.js +14 -5
- package/package/utils.js +214 -7
- package/package/utils_deployable.d.ts +25 -25
- package/package/utils_deployable.js +2 -1
- package/package/validators/workspaceSettings.d.ts +12 -0
- package/package/validators/workspaceSettings.js +72 -0
- package/package/workspaceProtectionRules.svelte.d.ts +73 -0
- package/package/workspaceProtectionRules.svelte.js +176 -0
- package/package.json +8 -5
- package/package/components/DropdownSelect.svelte +0 -26
- package/package/components/DropdownSelect.svelte.d.ts +0 -11
- package/package/components/FlowPreviewResult.svelte +0 -84
- package/package/components/FlowPreviewResult.svelte.d.ts +0 -20
- package/package/components/copilot/chat/context.d.ts +0 -119
- package/package/components/flows/propPicker/FlowPropPicker.svelte +0 -72
- package/package/components/flows/propPicker/FlowPropPicker.svelte.d.ts +0 -23
- package/package/components/runs/ManuelDatePicker.svelte +0 -96
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +0 -35
- package/package/components/runs/RunsBatchActionsDropdown.svelte +0 -82
- package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +0 -15
- package/package/components/runs/RunsFilter.svelte +0 -966
- package/package/components/runs/RunsFilter.svelte.d.ts +0 -80
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
<script lang="ts">import FlowModuleIcon from '../../flows/FlowModuleIcon.svelte';
|
|
2
2
|
import BarsStaggered from '../../icons/BarsStaggered.svelte';
|
|
3
|
+
import { workspaceStore } from '../../../stores';
|
|
4
|
+
import { workspaceRunnablesSearch, MAX_RUNNABLE_CONTENT_LENGTH } from './shared';
|
|
3
5
|
import { ContextIconMap } from './context';
|
|
4
|
-
import { ArrowLeft, Diff, Database, ChevronRight } from 'lucide-svelte';
|
|
5
|
-
const { availableContext, selectedContext, onSelect, setShowing, showAllAvailable = false, stringSearch = '', onViewChange } = $props();
|
|
6
|
+
import { ArrowLeft, Diff, Database, ChevronRight, Code2, Loader2 } from 'lucide-svelte';
|
|
7
|
+
const { availableContext, selectedContext, onSelect, onSelectWorkspaceItem, setShowing, showAllAvailable = false, stringSearch = '', onViewChange } = $props();
|
|
6
8
|
// Current view state: 'categories' or specific category type
|
|
7
9
|
let currentView = $state('categories');
|
|
8
10
|
// Selected index for keyboard navigation
|
|
9
11
|
let itemSelectedIndex = $state(0);
|
|
10
12
|
let categorySelectedIndex = $state(0);
|
|
13
|
+
// Workspace search state
|
|
14
|
+
let workspaceSearchQuery = $state('');
|
|
15
|
+
let workspaceSearchResults = $state([]);
|
|
16
|
+
let workspaceSearchLoading = $state(false);
|
|
17
|
+
let searchInputElement = $state(undefined);
|
|
18
|
+
let searchDebounceTimer = undefined;
|
|
11
19
|
// Category definitions
|
|
12
20
|
const categories = [
|
|
13
|
-
{ id: 'diffs', label: 'Diffs', icon: Diff },
|
|
14
|
-
{ id: 'modules', label: 'Modules', icon: BarsStaggered },
|
|
15
|
-
{ id: 'databases', label: 'Databases', icon: Database }
|
|
21
|
+
{ id: 'diffs', label: 'Diffs', icon: Diff, searchable: false },
|
|
22
|
+
{ id: 'modules', label: 'Modules', icon: BarsStaggered, searchable: false },
|
|
23
|
+
{ id: 'databases', label: 'Databases', icon: Database, searchable: false },
|
|
24
|
+
{ id: 'scripts', label: 'Scripts', icon: Code2, searchable: true },
|
|
25
|
+
{ id: 'flows', label: 'Flows', icon: BarsStaggered, searchable: true }
|
|
16
26
|
];
|
|
27
|
+
const isSearchableView = $derived(currentView === 'scripts' || currentView === 'flows');
|
|
17
28
|
const filteredAvailableContext = $derived(availableContext.filter((context) => {
|
|
18
29
|
const filtered = (showAllAvailable ||
|
|
19
30
|
!selectedContext.some((sc) => sc.type === context.type && sc.title === context.title)) &&
|
|
@@ -37,15 +48,18 @@ const contextByCategory = $derived.by(() => {
|
|
|
37
48
|
});
|
|
38
49
|
return grouped;
|
|
39
50
|
});
|
|
40
|
-
const currentCategoryItems = $derived(currentView !== 'categories' ? contextByCategory[currentView] : []);
|
|
41
|
-
// Filter to only show categories with items
|
|
42
|
-
const availableCategories = $derived(categories.filter((cat) => contextByCategory[cat.id]
|
|
51
|
+
const currentCategoryItems = $derived(currentView !== 'categories' && !isSearchableView ? contextByCategory[currentView] : []);
|
|
52
|
+
// Filter to only show categories with items (non-searchable) or always show (searchable)
|
|
53
|
+
const availableCategories = $derived(categories.filter((cat) => cat.searchable || contextByCategory[cat.id]?.length > 0));
|
|
43
54
|
// Report view changes
|
|
44
55
|
$effect(() => {
|
|
45
56
|
if (onViewChange) {
|
|
46
57
|
if (currentView === 'categories') {
|
|
47
58
|
onViewChange(availableCategories.length);
|
|
48
59
|
}
|
|
60
|
+
else if (isSearchableView) {
|
|
61
|
+
onViewChange(workspaceSearchResults.length + 2); // +2 for back button and search input
|
|
62
|
+
}
|
|
49
63
|
else {
|
|
50
64
|
onViewChange(currentCategoryItems.length + 1);
|
|
51
65
|
}
|
|
@@ -53,13 +67,134 @@ $effect(() => {
|
|
|
53
67
|
});
|
|
54
68
|
function handleCategoryClick(categoryId) {
|
|
55
69
|
currentView = categoryId;
|
|
70
|
+
itemSelectedIndex = 0;
|
|
71
|
+
if (categoryId === 'scripts' || categoryId === 'flows') {
|
|
72
|
+
workspaceSearchQuery = '';
|
|
73
|
+
workspaceSearchResults = [];
|
|
74
|
+
searchWorkspaceItems('');
|
|
75
|
+
setTimeout(() => searchInputElement?.focus(), 0);
|
|
76
|
+
}
|
|
56
77
|
}
|
|
57
78
|
function handleBackClick() {
|
|
58
79
|
currentView = 'categories';
|
|
59
80
|
itemSelectedIndex = 0;
|
|
81
|
+
workspaceSearchQuery = '';
|
|
82
|
+
workspaceSearchResults = [];
|
|
83
|
+
}
|
|
84
|
+
async function searchWorkspaceItems(query) {
|
|
85
|
+
const workspace = $workspaceStore;
|
|
86
|
+
if (!workspace)
|
|
87
|
+
return;
|
|
88
|
+
workspaceSearchLoading = true;
|
|
89
|
+
try {
|
|
90
|
+
const type = currentView === 'scripts' ? 'scripts' : 'flows';
|
|
91
|
+
const results = await workspaceRunnablesSearch.search(query, workspace, type);
|
|
92
|
+
workspaceSearchResults = results.map((r) => ({
|
|
93
|
+
path: r.path,
|
|
94
|
+
summary: r.summary
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
console.error('Error searching workspace items', err);
|
|
99
|
+
workspaceSearchResults = [];
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
workspaceSearchLoading = false;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function handleSearchInput() {
|
|
106
|
+
if (searchDebounceTimer)
|
|
107
|
+
clearTimeout(searchDebounceTimer);
|
|
108
|
+
searchDebounceTimer = setTimeout(() => {
|
|
109
|
+
searchWorkspaceItems(workspaceSearchQuery);
|
|
110
|
+
}, 300);
|
|
111
|
+
}
|
|
112
|
+
async function handleWorkspaceItemSelect(path) {
|
|
113
|
+
const workspace = $workspaceStore;
|
|
114
|
+
if (!workspace || !onSelectWorkspaceItem)
|
|
115
|
+
return;
|
|
116
|
+
try {
|
|
117
|
+
if (currentView === 'scripts') {
|
|
118
|
+
const script = await workspaceRunnablesSearch.getScript(path, workspace);
|
|
119
|
+
const content = script.content ?? '';
|
|
120
|
+
const truncatedContent = content.length > MAX_RUNNABLE_CONTENT_LENGTH
|
|
121
|
+
? content.slice(0, MAX_RUNNABLE_CONTENT_LENGTH) + '\n... (truncated)'
|
|
122
|
+
: content;
|
|
123
|
+
const element = {
|
|
124
|
+
type: 'workspace_script',
|
|
125
|
+
path: script.path,
|
|
126
|
+
title: script.path,
|
|
127
|
+
summary: script.summary,
|
|
128
|
+
language: script.language,
|
|
129
|
+
content: truncatedContent,
|
|
130
|
+
schema: script.schema,
|
|
131
|
+
deletable: true
|
|
132
|
+
};
|
|
133
|
+
onSelectWorkspaceItem(element);
|
|
134
|
+
}
|
|
135
|
+
else if (currentView === 'flows') {
|
|
136
|
+
const flow = await workspaceRunnablesSearch.getFlow(path, workspace);
|
|
137
|
+
const flowValue = JSON.stringify(flow.value, null, 2);
|
|
138
|
+
const truncatedValue = flowValue.length > MAX_RUNNABLE_CONTENT_LENGTH
|
|
139
|
+
? flowValue.slice(0, MAX_RUNNABLE_CONTENT_LENGTH) + '\n... (truncated)'
|
|
140
|
+
: flowValue;
|
|
141
|
+
const element = {
|
|
142
|
+
type: 'workspace_flow',
|
|
143
|
+
path: flow.path,
|
|
144
|
+
title: flow.path,
|
|
145
|
+
summary: flow.summary,
|
|
146
|
+
description: flow.description || '',
|
|
147
|
+
value: truncatedValue,
|
|
148
|
+
schema: flow.schema,
|
|
149
|
+
deletable: true
|
|
150
|
+
};
|
|
151
|
+
onSelectWorkspaceItem(element);
|
|
152
|
+
}
|
|
153
|
+
currentView = 'categories';
|
|
154
|
+
workspaceSearchQuery = '';
|
|
155
|
+
workspaceSearchResults = [];
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
console.error('Error fetching workspace item', err);
|
|
159
|
+
}
|
|
60
160
|
}
|
|
61
161
|
function handleKeyDown(e) {
|
|
62
|
-
if (
|
|
162
|
+
if (isSearchableView) {
|
|
163
|
+
// Navigation in workspace search view
|
|
164
|
+
if (e.key === 'ArrowDown') {
|
|
165
|
+
e.preventDefault();
|
|
166
|
+
e.stopPropagation();
|
|
167
|
+
if (workspaceSearchResults.length > 0) {
|
|
168
|
+
itemSelectedIndex = (itemSelectedIndex + 1) % workspaceSearchResults.length;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
else if (e.key === 'ArrowUp') {
|
|
172
|
+
e.preventDefault();
|
|
173
|
+
e.stopPropagation();
|
|
174
|
+
if (workspaceSearchResults.length > 0) {
|
|
175
|
+
itemSelectedIndex =
|
|
176
|
+
(itemSelectedIndex - 1 + workspaceSearchResults.length) %
|
|
177
|
+
workspaceSearchResults.length;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else if (e.key === 'Enter') {
|
|
181
|
+
// Only select if not typing in the search input, or if results exist
|
|
182
|
+
if (workspaceSearchResults.length > 0) {
|
|
183
|
+
e.preventDefault();
|
|
184
|
+
e.stopPropagation();
|
|
185
|
+
const selectedItem = workspaceSearchResults[itemSelectedIndex];
|
|
186
|
+
if (selectedItem) {
|
|
187
|
+
handleWorkspaceItemSelect(selectedItem.path);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
else if (e.key === 'Escape') {
|
|
192
|
+
e.preventDefault();
|
|
193
|
+
e.stopPropagation();
|
|
194
|
+
handleBackClick();
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else if (stringSearch.length > 0) {
|
|
63
198
|
// Navigation in search view (flat list)
|
|
64
199
|
if (e.key === 'ArrowDown') {
|
|
65
200
|
e.preventDefault();
|
|
@@ -148,11 +283,13 @@ function handleKeyDown(e) {
|
|
|
148
283
|
}
|
|
149
284
|
}
|
|
150
285
|
}
|
|
151
|
-
// Listen for keyboard events
|
|
286
|
+
// Listen for keyboard events + clean up debounce timer
|
|
152
287
|
$effect(() => {
|
|
153
288
|
document.addEventListener('keydown', handleKeyDown);
|
|
154
289
|
return () => {
|
|
155
290
|
document.removeEventListener('keydown', handleKeyDown);
|
|
291
|
+
if (searchDebounceTimer)
|
|
292
|
+
clearTimeout(searchDebounceTimer);
|
|
156
293
|
};
|
|
157
294
|
});
|
|
158
295
|
$effect(() => {
|
|
@@ -164,9 +301,13 @@ $effect(() => {
|
|
|
164
301
|
|
|
165
302
|
<div
|
|
166
303
|
class="flex flex-col gap-1 text-primary text-xs p-1 pr-0 min-w-24 max-h-48 overflow-y-scroll"
|
|
167
|
-
onmousedown={(e) =>
|
|
304
|
+
onmousedown={(e) => {
|
|
168
305
|
// avoids triggering onblur on the textinput and closing the tooltip
|
|
169
|
-
|
|
306
|
+
// but allow input elements to receive focus for the search input
|
|
307
|
+
if (!(e.target instanceof HTMLInputElement)) {
|
|
308
|
+
e.preventDefault()
|
|
309
|
+
}
|
|
310
|
+
}}
|
|
170
311
|
role="listbox"
|
|
171
312
|
tabindex={0}
|
|
172
313
|
>
|
|
@@ -217,6 +358,68 @@ $effect(() => {
|
|
|
217
358
|
{#if availableCategories.length === 0}
|
|
218
359
|
<div class="text-center text-primary text-xs py-2">No available context</div>
|
|
219
360
|
{/if}
|
|
361
|
+
{:else if isSearchableView}
|
|
362
|
+
<!-- Workspace search view (scripts/flows) -->
|
|
363
|
+
<button
|
|
364
|
+
class="hover:bg-surface-hover rounded-md text-left flex flex-row gap-1 items-center font-normal transition-colors mb-1"
|
|
365
|
+
onclick={handleBackClick}
|
|
366
|
+
>
|
|
367
|
+
<ArrowLeft size={12} />
|
|
368
|
+
<span class="text-xs">Go back</span>
|
|
369
|
+
</button>
|
|
370
|
+
|
|
371
|
+
<input
|
|
372
|
+
bind:this={searchInputElement}
|
|
373
|
+
bind:value={workspaceSearchQuery}
|
|
374
|
+
oninput={handleSearchInput}
|
|
375
|
+
type="text"
|
|
376
|
+
placeholder="Search {currentView}..."
|
|
377
|
+
class="w-full text-xs px-2 py-1 rounded-md border border-gray-200 dark:border-gray-700 bg-surface mb-1 outline-none focus:border-blue-500"
|
|
378
|
+
/>
|
|
379
|
+
|
|
380
|
+
{#if workspaceSearchLoading}
|
|
381
|
+
<div class="flex items-center justify-center py-2 gap-1">
|
|
382
|
+
<Loader2 size={14} class="animate-spin" />
|
|
383
|
+
<span class="text-xs text-secondary">Searching...</span>
|
|
384
|
+
</div>
|
|
385
|
+
{:else if workspaceSearchResults.length === 0}
|
|
386
|
+
<div class="text-center text-secondary text-xs py-2">
|
|
387
|
+
No results found
|
|
388
|
+
</div>
|
|
389
|
+
{:else}
|
|
390
|
+
{#each workspaceSearchResults as item, i}
|
|
391
|
+
{@const isAlreadySelected = selectedContext.some(
|
|
392
|
+
(c) =>
|
|
393
|
+
((c.type === 'workspace_script' && currentView === 'scripts') ||
|
|
394
|
+
(c.type === 'workspace_flow' && currentView === 'flows')) &&
|
|
395
|
+
c.title === item.path
|
|
396
|
+
)}
|
|
397
|
+
<button
|
|
398
|
+
class="hover:bg-surface-hover rounded-md p-1 text-left flex flex-col font-normal transition-colors {i ===
|
|
399
|
+
itemSelectedIndex
|
|
400
|
+
? 'bg-surface-hover'
|
|
401
|
+
: ''} {isAlreadySelected ? 'opacity-50' : ''}"
|
|
402
|
+
onclick={() => {
|
|
403
|
+
if (!isAlreadySelected) {
|
|
404
|
+
handleWorkspaceItemSelect(item.path)
|
|
405
|
+
}
|
|
406
|
+
}}
|
|
407
|
+
disabled={isAlreadySelected}
|
|
408
|
+
>
|
|
409
|
+
<div class="flex flex-row gap-1 items-center">
|
|
410
|
+
{#if currentView === 'scripts'}
|
|
411
|
+
<Code2 size={14} class="shrink-0" />
|
|
412
|
+
{:else}
|
|
413
|
+
<BarsStaggered size={14} class="shrink-0" />
|
|
414
|
+
{/if}
|
|
415
|
+
<span class="truncate">{item.path}</span>
|
|
416
|
+
</div>
|
|
417
|
+
{#if item.summary}
|
|
418
|
+
<span class="truncate text-secondary pl-5">{item.summary}</span>
|
|
419
|
+
{/if}
|
|
420
|
+
</button>
|
|
421
|
+
{/each}
|
|
422
|
+
{/if}
|
|
220
423
|
{:else}
|
|
221
424
|
<!-- Category items view -->
|
|
222
425
|
<button
|
|
@@ -3,6 +3,7 @@ interface Props {
|
|
|
3
3
|
availableContext: ContextElement[];
|
|
4
4
|
selectedContext: ContextElement[];
|
|
5
5
|
onSelect: (element: ContextElement) => void;
|
|
6
|
+
onSelectWorkspaceItem?: (element: ContextElement) => void;
|
|
6
7
|
setShowing?: (showing: boolean) => void;
|
|
7
8
|
showAllAvailable?: boolean;
|
|
8
9
|
stringSearch?: string;
|
|
@@ -120,8 +120,10 @@ function getCaretCoordinates(element, position) {
|
|
|
120
120
|
}
|
|
121
121
|
function getHighlightedText(text) {
|
|
122
122
|
return text.replace(/@[\w/.\-\[\]]+/g, (match) => {
|
|
123
|
-
const
|
|
124
|
-
|
|
123
|
+
const title = match.slice(1);
|
|
124
|
+
const inContext = availableContext.find((c) => c.title === title) ||
|
|
125
|
+
selectedContext.find((c) => c.title === title);
|
|
126
|
+
if (inContext) {
|
|
125
127
|
return `<span class="bg-black dark:bg-white text-white dark:text-black z-10">${match}</span>`;
|
|
126
128
|
}
|
|
127
129
|
return match;
|
|
@@ -259,6 +261,10 @@ export function focus() {
|
|
|
259
261
|
oninput={handleInput}
|
|
260
262
|
onblur={() => {
|
|
261
263
|
setTimeout(() => {
|
|
264
|
+
// Don't close if focus moved to inside the tooltip (e.g., search input)
|
|
265
|
+
if (tooltipElement?.contains(document.activeElement)) {
|
|
266
|
+
return
|
|
267
|
+
}
|
|
262
268
|
showContextTooltip = false
|
|
263
269
|
}, 200)
|
|
264
270
|
}}
|
|
@@ -285,6 +291,13 @@ export function focus() {
|
|
|
285
291
|
onSelect={(element) => {
|
|
286
292
|
handleContextSelection(element)
|
|
287
293
|
}}
|
|
294
|
+
onSelectWorkspaceItem={(element) => {
|
|
295
|
+
onAddContext(element)
|
|
296
|
+
updateInstructionsWithContext(element)
|
|
297
|
+
showContextTooltip = false
|
|
298
|
+
// Refocus the textarea since focus may have been on the search input
|
|
299
|
+
setTimeout(() => textarea?.focus(), 0)
|
|
300
|
+
}}
|
|
288
301
|
showAllAvailable={true}
|
|
289
302
|
stringSearch={contextTooltipWord.slice(1)}
|
|
290
303
|
onViewChange={(newNumber) => {
|
|
@@ -50,7 +50,7 @@ For inline scripts, the code must have a \`main\` function as its entrypoint.
|
|
|
50
50
|
- \`lint()\`: Lint all files. Returns errors/warnings grouped by frontend/backend.
|
|
51
51
|
|
|
52
52
|
### Discovery
|
|
53
|
-
- \`
|
|
53
|
+
- \`search_workspace(query, type)\`: Search workspace scripts and flows
|
|
54
54
|
- \`search_hub_scripts(query)\`: Search hub scripts
|
|
55
55
|
|
|
56
56
|
## Backend Runnable Configuration
|
|
@@ -72,7 +72,8 @@ const MINIMAL_SINGLE_TOOL_SYSTEM_PROMPT = `You are a helpful assistant that crea
|
|
|
72
72
|
|
|
73
73
|
**Code & Scripts:**
|
|
74
74
|
- **Get language-specific coding instructions** → \`get_instructions_for_code_generation\` (call BEFORE writing code)
|
|
75
|
-
- **Find workspace scripts** → \`
|
|
75
|
+
- **Find workspace scripts and flows** → \`search_workspace\`
|
|
76
|
+
- **Get details of a specific script or flow** → \`get_runnable_details\`
|
|
76
77
|
- **Find Windmill Hub scripts** → \`search_hub_scripts\`
|
|
77
78
|
|
|
78
79
|
**Testing:**
|
|
@@ -298,7 +299,8 @@ Example: Before writing TypeScript/Bun code, call \`get_instructions_for_code_ge
|
|
|
298
299
|
### Creating Flows
|
|
299
300
|
|
|
300
301
|
1. **Search for existing scripts first** (unless user explicitly asks to write from scratch):
|
|
301
|
-
- First: \`
|
|
302
|
+
- First: \`search_workspace\` to find workspace scripts and flows
|
|
303
|
+
- Use \`get_runnable_details\` to inspect a specific script or flow (inputs, description, code)
|
|
302
304
|
- Then: \`search_hub_scripts\` (only consider highly relevant results)
|
|
303
305
|
- Only create raw scripts if no suitable script is found
|
|
304
306
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createSearchHubScriptsTool, createToolDef } from '../shared';
|
|
3
|
-
import { FlowService, ScriptService } from '../../../../gen';
|
|
4
|
-
import uFuzzy from '@leeoniya/ufuzzy';
|
|
5
|
-
import { emptyString } from '../../../../utils';
|
|
2
|
+
import { createSearchHubScriptsTool, createToolDef, createSearchWorkspaceTool, createGetRunnableDetailsTool } from '../shared';
|
|
6
3
|
import { aiChatManager } from '../AIChatManager.svelte';
|
|
7
4
|
// ============= Utility =============
|
|
8
5
|
/** Maximum characters per file in get_files tool */
|
|
@@ -94,70 +91,6 @@ const getExecDatatableSqlToolDef = memo(() => createToolDef(getExecDatatableSqlS
|
|
|
94
91
|
// ============= Selected Context Tool =============
|
|
95
92
|
const getGetSelectedContextSchema = memo(() => z.object({}));
|
|
96
93
|
const getGetSelectedContextToolDef = memo(() => createToolDef(getGetSelectedContextSchema(), 'get_selected_context', 'Get information about what is currently selected in the app editor. Returns the type of selection (frontend file or backend runnable) and the path/key of the selected item.'));
|
|
97
|
-
// ============= Workspace Runnables Search =============
|
|
98
|
-
const getListWorkspaceRunnablesSchema = memo(() => z.object({
|
|
99
|
-
query: z.string().describe('The search query to find workspace scripts and flows'),
|
|
100
|
-
type: z
|
|
101
|
-
.enum(['all', 'scripts', 'flows'])
|
|
102
|
-
.describe('Filter by type: "scripts" for scripts only, "flows" for flows only, "all" for both. Defaults to "all".')
|
|
103
|
-
}));
|
|
104
|
-
const getListWorkspaceRunnablesToolDef = memo(() => createToolDef(getListWorkspaceRunnablesSchema(), 'list_workspace_runnables', 'Search for workspace scripts and flows by query. Returns fully qualified paths that can be used in backend runnables.'));
|
|
105
|
-
class WorkspaceRunnablesSearch {
|
|
106
|
-
uf;
|
|
107
|
-
workspace = undefined;
|
|
108
|
-
scripts = undefined;
|
|
109
|
-
flows = undefined;
|
|
110
|
-
constructor() {
|
|
111
|
-
this.uf = new uFuzzy();
|
|
112
|
-
}
|
|
113
|
-
async initScripts(workspace) {
|
|
114
|
-
if (this.scripts === undefined || this.workspace !== workspace) {
|
|
115
|
-
this.scripts = await ScriptService.listScripts({ workspace });
|
|
116
|
-
this.workspace = workspace;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
async initFlows(workspace) {
|
|
120
|
-
if (this.flows === undefined || this.workspace !== workspace) {
|
|
121
|
-
this.flows = await FlowService.listFlows({ workspace });
|
|
122
|
-
this.workspace = workspace;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
async searchScripts(query, workspace) {
|
|
126
|
-
await this.initScripts(workspace);
|
|
127
|
-
const scripts = this.scripts;
|
|
128
|
-
if (!scripts)
|
|
129
|
-
return [];
|
|
130
|
-
const results = this.uf.search(scripts.map((s) => (emptyString(s.summary) ? s.path : s.summary + ' (' + s.path + ')')), query.trim());
|
|
131
|
-
return (results[2]?.map((id) => ({
|
|
132
|
-
type: 'script',
|
|
133
|
-
path: scripts[id].path,
|
|
134
|
-
summary: scripts[id].summary
|
|
135
|
-
})) ?? []);
|
|
136
|
-
}
|
|
137
|
-
async searchFlows(query, workspace) {
|
|
138
|
-
await this.initFlows(workspace);
|
|
139
|
-
const flows = this.flows;
|
|
140
|
-
if (!flows)
|
|
141
|
-
return [];
|
|
142
|
-
const results = this.uf.search(flows.map((f) => (emptyString(f.summary) ? f.path : f.summary + ' (' + f.path + ')')), query.trim());
|
|
143
|
-
return (results[2]?.map((id) => ({
|
|
144
|
-
type: 'flow',
|
|
145
|
-
path: flows[id].path,
|
|
146
|
-
summary: flows[id].summary
|
|
147
|
-
})) ?? []);
|
|
148
|
-
}
|
|
149
|
-
async search(query, workspace, type = 'all') {
|
|
150
|
-
const results = [];
|
|
151
|
-
if (type === 'all' || type === 'scripts') {
|
|
152
|
-
results.push(...(await this.searchScripts(query, workspace)));
|
|
153
|
-
}
|
|
154
|
-
if (type === 'all' || type === 'flows') {
|
|
155
|
-
results.push(...(await this.searchFlows(query, workspace)));
|
|
156
|
-
}
|
|
157
|
-
return results;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
const workspaceRunnablesSearch = new WorkspaceRunnablesSearch();
|
|
161
94
|
// ============= Lint Result Formatting =============
|
|
162
95
|
function formatLintMessages(messages) {
|
|
163
96
|
let result = '';
|
|
@@ -369,7 +302,7 @@ export const getAppTools = memo(() => [
|
|
|
369
302
|
});
|
|
370
303
|
const lintResult = await helpers.setBackendRunnable(parsedArgs.key, runnable);
|
|
371
304
|
toolCallbacks.setToolStatus(toolId, {
|
|
372
|
-
content: `Backend runnable '${parsedArgs.key}'
|
|
305
|
+
content: `Backend runnable '${parsedArgs.key}' set successfully.`,
|
|
373
306
|
result: 'Success'
|
|
374
307
|
});
|
|
375
308
|
return formatLintResultResponse(`Backend runnable '${parsedArgs.key}' has been set successfully.`, lintResult);
|
|
@@ -411,21 +344,8 @@ export const getAppTools = memo(() => [
|
|
|
411
344
|
}
|
|
412
345
|
},
|
|
413
346
|
// Search tools
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
fn: async ({ args, workspace, toolId, toolCallbacks }) => {
|
|
417
|
-
const parsedArgs = getListWorkspaceRunnablesSchema().parse(args);
|
|
418
|
-
const type = parsedArgs.type ?? 'all';
|
|
419
|
-
toolCallbacks.setToolStatus(toolId, {
|
|
420
|
-
content: `Searching workspace ${type} for "${parsedArgs.query}"...`
|
|
421
|
-
});
|
|
422
|
-
const results = await workspaceRunnablesSearch.search(parsedArgs.query, workspace, type);
|
|
423
|
-
toolCallbacks.setToolStatus(toolId, {
|
|
424
|
-
content: `Found ${results.length} workspace runnables matching "${parsedArgs.query}"`
|
|
425
|
-
});
|
|
426
|
-
return JSON.stringify(results, null, 2);
|
|
427
|
-
}
|
|
428
|
-
},
|
|
347
|
+
createSearchWorkspaceTool(),
|
|
348
|
+
createGetRunnableDetailsTool(),
|
|
429
349
|
// Hub scripts search (reuse from shared)
|
|
430
350
|
createSearchHubScriptsTool(false),
|
|
431
351
|
// Data table tools
|
|
@@ -562,7 +482,8 @@ For inline scripts, the code must have a \`main\` function as its entrypoint.
|
|
|
562
482
|
- \`lint()\`: Lint all files. Returns errors/warnings grouped by frontend/backend. Use this to check for issues after making changes.
|
|
563
483
|
|
|
564
484
|
### Discovery
|
|
565
|
-
- \`
|
|
485
|
+
- \`search_workspace(query, type)\`: Search workspace scripts and flows
|
|
486
|
+
- \`get_runnable_details(path, type)\`: Get details (summary, description, schema, content) of a specific script or flow
|
|
566
487
|
- \`search_hub_scripts(query)\`: Search hub scripts
|
|
567
488
|
|
|
568
489
|
### Data Tables
|
|
@@ -709,7 +630,7 @@ When you are using the windmill-client, do not forget that as id for variables o
|
|
|
709
630
|
3. Make changes using \`set_frontend_file\` and \`set_backend_runnable\`. These return lint diagnostics.
|
|
710
631
|
4. Use \`lint()\` at the end to check for and fix any remaining errors
|
|
711
632
|
|
|
712
|
-
When creating a new app, use \`
|
|
633
|
+
When creating a new app, use \`search_workspace\` or \`search_hub_scripts\` to find existing scripts/flows to reuse.
|
|
713
634
|
|
|
714
635
|
`;
|
|
715
636
|
// Add datatable creation policy context
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Code, Database, TriangleAlert, Diff, FileCode, Code2, TextSelect, Table2 } from 'lucide-svelte';
|
|
2
|
+
import BarsStaggered from '../../icons/BarsStaggered.svelte';
|
|
2
3
|
import {} from '../../../stores';
|
|
3
4
|
import {} from 'diff';
|
|
4
5
|
export const ContextIconMap = {
|
|
@@ -10,6 +11,8 @@ export const ContextIconMap = {
|
|
|
10
11
|
app_frontend_file: FileCode,
|
|
11
12
|
app_backend_runnable: Code2,
|
|
12
13
|
app_code_selection: TextSelect,
|
|
13
|
-
app_datatable: Table2
|
|
14
|
+
app_datatable: Table2,
|
|
15
|
+
workspace_script: Code2,
|
|
16
|
+
workspace_flow: BarsStaggered
|
|
14
17
|
// flow_module type is handled with FlowModuleIcon
|
|
15
18
|
};
|