windmill-components 1.596.1 → 1.613.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/tokens/tokens.json +11 -1
- package/package/ata/apis.js +78 -5
- package/package/components/AddUser.svelte +1 -1
- package/package/components/CenteredModal.svelte +32 -24
- package/package/components/CenteredModal.svelte.d.ts +7 -27
- package/package/components/CenteredPage.svelte +5 -2
- package/package/components/CenteredPage.svelte.d.ts +2 -0
- package/package/components/ConcurrentJobsChart.svelte +3 -2
- package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
- package/package/components/CustomPopover.svelte +20 -23
- package/package/components/CustomPopover.svelte.d.ts +14 -39
- package/package/components/DBManager.svelte +105 -17
- package/package/components/DBManager.svelte.d.ts +2 -1
- package/package/components/DBManagerContent.svelte +4 -3
- package/package/components/DBManagerContent.svelte.d.ts +1 -1
- package/package/components/DBTableEditor.svelte +210 -171
- package/package/components/DBTableEditor.svelte.d.ts +22 -3
- package/package/components/Description.svelte +3 -2
- package/package/components/Dev.svelte +36 -2
- package/package/components/DiffDrawer.svelte +8 -29
- package/package/components/DiffEditor.svelte +32 -2
- package/package/components/DisplayResult.svelte +32 -24
- package/package/components/Editor.svelte +70 -16
- package/package/components/Editor.svelte.d.ts +3 -0
- package/package/components/EditorBar.svelte +1 -1
- package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
- package/package/components/FlowBuilder.svelte +17 -11
- package/package/components/FlowDiffViewer.svelte +37 -0
- package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
- package/package/components/FlowPreviewContent.svelte +3 -2
- package/package/components/FlowPreviewResult.svelte +0 -4
- package/package/components/FlowStatusViewerInner.svelte +50 -33
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
- package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
- package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
- package/package/components/FlowViewer.svelte +103 -2
- package/package/components/FlowViewer.svelte.d.ts +9 -3
- package/package/components/ForkWorkspaceBanner.svelte +16 -13
- package/package/components/GraphqlSchemaViewer.svelte +8 -1
- package/package/components/HistoricInputs.svelte +25 -27
- package/package/components/HistoricInputs.svelte.d.ts +2 -2
- package/package/components/InstanceSetting.svelte +38 -0
- package/package/components/InviteUser.svelte +16 -42
- package/package/components/InviteUser.svelte.d.ts +4 -18
- package/package/components/JobOtelTraces.svelte +287 -0
- package/package/components/JobOtelTraces.svelte.d.ts +6 -0
- package/package/components/JsonInputs.svelte +6 -8
- package/package/components/JsonInputs.svelte.d.ts +7 -8
- package/package/components/LogViewer.svelte +91 -33
- package/package/components/Login.svelte +21 -0
- package/package/components/ManualPopover.svelte +5 -6
- package/package/components/ManualPopover.svelte.d.ts +9 -35
- package/package/components/MemoryFootprintViewer.svelte +2 -6
- package/package/components/ModulePreview.svelte +23 -21
- package/package/components/ModulePreview.svelte.d.ts +1 -0
- package/package/components/Path.svelte +2 -2
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourcePicker.svelte +3 -0
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/RunButton.svelte +5 -15
- package/package/components/RunButton.svelte.d.ts +7 -19
- package/package/components/RunChart.svelte +8 -4
- package/package/components/RunChart.svelte.d.ts +2 -2
- package/package/components/RunFormAdvancedPopup.svelte +1 -1
- package/package/components/RunsPage.svelte +169 -539
- package/package/components/RunsPage.svelte.d.ts +5 -5
- package/package/components/S3FilePicker.svelte +7 -11
- package/package/components/S3FilePickerInner.svelte +2 -3
- package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
- package/package/components/SchemaForm.svelte +26 -19
- package/package/components/SchemaFormWithArgPicker.svelte +4 -3
- package/package/components/ScriptBuilder.svelte +1 -1
- package/package/components/ScriptEditor.svelte +575 -101
- package/package/components/Section.svelte +3 -1
- package/package/components/ServiceLogsInner.svelte +4 -4
- package/package/components/SimpleEditor.svelte +46 -2
- package/package/components/SuperadminSettingsInner.svelte +1 -1
- package/package/components/TemplateEditor.svelte +54 -29
- package/package/components/TemplateEditor.svelte.d.ts +13 -102
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerTagPicker.svelte +1 -1
- package/package/components/WorkerTagSelect.svelte +5 -2
- package/package/components/WorkspaceTutorials.svelte +5 -0
- package/package/components/apps/components/buttons/AppButton.svelte +21 -6
- package/package/components/apps/components/buttons/AppForm.svelte +2 -1
- package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +0 -4
- package/package/components/apps/components/display/dbtable/metadata.js +69 -30
- package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.js +314 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
- package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
- package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
- package/package/components/apps/components/display/dbtable/queries/createTable.js +11 -25
- package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
- package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +47 -0
- package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +402 -0
- package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
- package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
- package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
- package/package/components/apps/components/display/dbtable/tableEditor.js +49 -0
- package/package/components/apps/components/display/dbtable/utils.d.ts +10 -1
- package/package/components/apps/components/display/dbtable/utils.js +52 -20
- package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
- package/package/components/apps/components/helpers/InputValue.svelte +1 -1
- package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
- package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
- package/package/components/apps/editor/PublicApp.svelte +49 -30
- package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
- package/package/components/apps/inputType.d.ts +6 -1
- package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/button/model.js +1 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
- package/package/components/common/languageIcons/TypeScript.svelte +5 -3
- package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal.svelte +3 -3
- package/package/components/copilot/autocomplete/Autocompletor.js +3 -2
- package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
- package/package/components/copilot/chat/AIButtonStyle.js +2 -1
- package/package/components/copilot/chat/AIChat.svelte +3 -1
- package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
- package/package/components/copilot/chat/AIChatInput.svelte +275 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
- package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
- package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
- package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
- package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
- package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
- package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
- package/package/components/copilot/chat/app/core.d.ts +56 -15
- package/package/components/copilot/chat/app/core.js +141 -22
- package/package/components/copilot/chat/context.d.ts +59 -2
- package/package/components/copilot/chat/context.js +6 -2
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
- package/package/components/copilot/chat/flow/core.d.ts +3 -1
- package/package/components/copilot/chat/flow/core.js +29 -2
- package/package/components/copilot/chat/flow/openFlow.json +1 -1
- package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
- package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
- package/package/components/copilot/chat/script/core.d.ts +4 -1
- package/package/components/copilot/chat/script/core.js +38 -2
- package/package/components/copilot/chat/shared.d.ts +10 -0
- package/package/components/copilot/chat/shared.js +24 -0
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/dbOps.d.ts +18 -4
- package/package/components/dbOps.js +25 -3
- package/package/components/debug/DebugConsole.svelte +277 -0
- package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
- package/package/components/debug/DebugPanel.svelte +97 -0
- package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
- package/package/components/debug/DebugToolbar.svelte +148 -0
- package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
- package/package/components/debug/DebugVariableViewer.svelte +115 -0
- package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
- package/package/components/debug/MonacoDebugger.svelte +384 -0
- package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
- package/package/components/debug/dapClient.d.ts +192 -0
- package/package/components/debug/dapClient.js +426 -0
- package/package/components/debug/debugUtils.d.ts +30 -0
- package/package/components/debug/debugUtils.js +131 -0
- package/package/components/debug/index.d.ts +75 -0
- package/package/components/debug/index.js +82 -0
- package/package/components/flows/CreateActionsApp.svelte +6 -4
- package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
- package/package/components/flows/FlowHistoryInner.svelte +15 -4
- package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
- package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
- package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
- package/package/components/flows/content/FlowInput.svelte +211 -37
- package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
- package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
- package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
- package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
- package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
- package/package/components/flows/content/McpToolEditor.svelte +50 -37
- package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
- package/package/components/flows/conversations/FlowChat.svelte +16 -2
- package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
- package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
- package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
- package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
- package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
- package/package/components/flows/types.d.ts +2 -0
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
- package/package/components/home/ItemsList.svelte +5 -5
- package/package/components/home/TutorialBanner.svelte +34 -18
- package/package/components/icons/CssIcon.svelte +20 -0
- package/package/components/icons/CssIcon.svelte.d.ts +7 -25
- package/package/components/icons/HtmlIcon.svelte +20 -0
- package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
- package/package/components/icons/JavaScriptIcon.svelte +10 -2
- package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
- package/package/components/icons/JsonIcon.svelte +8 -2
- package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
- package/package/components/icons/LessIcon.svelte +16 -0
- package/package/components/icons/LessIcon.svelte.d.ts +8 -0
- package/package/components/icons/MarkdownIcon.svelte +20 -0
- package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
- package/package/components/icons/ReactIcon.svelte +10 -2
- package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
- package/package/components/icons/SassIcon.svelte +28 -0
- package/package/components/icons/SassIcon.svelte.d.ts +8 -0
- package/package/components/icons/SvelteIcon.svelte +10 -2
- package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
- package/package/components/icons/VueIcon.svelte +10 -2
- package/package/components/icons/VueIcon.svelte.d.ts +1 -0
- package/package/components/icons/YamlIcon.svelte +20 -0
- package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
- package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
- package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
- package/package/components/instanceSettings.d.ts +2 -1
- package/package/components/instanceSettings.js +32 -1
- package/package/components/jobs/JobPreview.svelte +46 -39
- package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
- package/package/components/monacoLanguagesOptions.js +16 -15
- package/package/components/propertyPicker/PropPicker.svelte +16 -2
- package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
- package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
- package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
- package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
- package/package/components/raw_apps/FileTreeNode.svelte +119 -83
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
- package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
- package/package/components/raw_apps/RawAppEditor.svelte +218 -68
- package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
- package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
- package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
- package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
- package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
- package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
- package/package/components/raw_apps/RawAppModules.svelte +13 -7
- package/package/components/raw_apps/RawAppPreview.svelte +48 -6
- package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
- package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
- package/package/components/raw_apps/RunnableRow.svelte +41 -0
- package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
- package/package/components/raw_apps/utils.d.ts +1 -1
- package/package/components/raw_apps/utils.js +76 -18
- package/package/components/runs/ManuelDatePicker.svelte +3 -3
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
- package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
- package/package/components/runs/RunsFilter.svelte +75 -63
- package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
- package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
- package/package/components/runs/RunsTable.svelte +1 -1
- package/package/components/runs/RunsTable.svelte.d.ts +1 -1
- package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
- package/package/components/runs/useJobsLoader.svelte.js +507 -0
- package/package/components/scriptEditor/LogPanel.svelte +17 -2
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/select/SelectDropdown.svelte +2 -2
- package/package/components/settings/AIPromptsModal.svelte +88 -0
- package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
- package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
- package/package/components/settings/ChangeWorkspaceId.svelte +14 -10
- package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
- package/package/components/settings/CreateToken.svelte +1 -1
- package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
- package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
- package/package/components/settings/WorkspaceUserSettings.svelte +531 -406
- package/package/components/sidebar/MenuButton.svelte +46 -24
- package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
- package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
- package/package/components/sidebar/OperatorMenu.svelte +62 -87
- package/package/components/sidebar/SidebarContent.svelte +7 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
- package/package/components/sqlTypeService.js +4 -3
- package/package/components/table/DataTable.svelte +3 -2
- package/package/components/table/DataTable.svelte.d.ts +1 -0
- package/package/components/text_input/TextInput.svelte +3 -0
- package/package/components/text_input/TextInput.svelte.d.ts +2 -0
- package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
- package/package/components/tutorials/RunsTutorial.svelte +399 -0
- package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
- package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
- package/package/components/tutorials/utils.d.ts +16 -0
- package/package/components/tutorials/utils.js +96 -0
- package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
- package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
- package/package/components/vscode.js +6 -6
- package/package/components/workspace/WorkspaceCard.svelte +184 -0
- package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
- package/package/components/workspace/WorkspaceIcon.svelte +21 -0
- package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
- package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
- package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
- package/package/components/workspaceSettings/AISettings.svelte +146 -108
- package/package/components/workspaceSettings/CreateWorkspace.svelte +25 -11
- package/package/components/workspaceSettings/DucklakeSettings.svelte +46 -23
- package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
- package/package/components/workspaceSettings/StorageSettings.svelte +280 -241
- package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
- package/package/consts.js +4 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +126 -0
- package/package/gen/schemas.gen.js +126 -0
- package/package/gen/services.gen.d.ts +151 -2
- package/package/gen/services.gen.js +301 -4
- package/package/gen/types.gen.d.ts +584 -2
- package/package/hubPaths.json +3 -2
- package/package/infer.js +2 -0
- package/package/monaco_workers/graphql.worker.bundle.js +121 -121
- package/package/rawAppWmillTs.d.ts +11 -0
- package/package/rawAppWmillTs.js +38 -1
- package/package/svelte5Utils.svelte.d.ts +9 -0
- package/package/svelte5Utils.svelte.js +51 -1
- package/package/tutorialUtils.js +0 -4
- package/package/tutorials/config.js +31 -3
- package/package/tutorials/roleUtils.d.ts +1 -1
- package/package/tutorials/roleUtils.js +6 -2
- package/package/utils.js +159 -1
- package/package.json +16 -17
- package/package/components/SavedInputs.svelte +0 -416
- package/package/components/runs/JobsLoader.svelte +0 -468
- package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
- package/package/components/schema/SchemaPicker.svelte +0 -92
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
<script lang="ts">import { onMount, onDestroy } from 'svelte';
|
|
2
|
+
import { SvelteSet } from 'svelte/reactivity';
|
|
3
|
+
import { debugState, getDAPClient, resetDAPClient } from './dapClient';
|
|
4
|
+
import DebugToolbar from './DebugToolbar.svelte';
|
|
5
|
+
import DebugPanel from './DebugPanel.svelte';
|
|
6
|
+
import { getDebugServerUrl, getDebugFileExtension } from './index';
|
|
7
|
+
import { VariableService } from '../../gen';
|
|
8
|
+
let { editor, code, language = 'bun', filePath, dapServerUrl, workspace } = $props();
|
|
9
|
+
// Derive the server URL from language if not explicitly provided
|
|
10
|
+
const effectiveServerUrl = $derived(dapServerUrl ?? getDebugServerUrl(language));
|
|
11
|
+
// Derive file path from language if not explicitly provided
|
|
12
|
+
const effectiveFilePath = $derived(filePath ?? `/tmp/script${getDebugFileExtension(language)}`);
|
|
13
|
+
let client = $state(null);
|
|
14
|
+
let breakpointDecorations = $state([]);
|
|
15
|
+
let currentLineDecoration = $state([]);
|
|
16
|
+
let disposables = [];
|
|
17
|
+
// Breakpoint glyph margin decoration
|
|
18
|
+
const breakpointDecorationType = {
|
|
19
|
+
glyphMarginClassName: 'debug-breakpoint-glyph',
|
|
20
|
+
glyphMarginHoverMessage: { value: 'Breakpoint' },
|
|
21
|
+
stickiness: 1 // NeverGrowsWhenTypingAtEdges
|
|
22
|
+
};
|
|
23
|
+
// Current line decoration (yellow background when stopped)
|
|
24
|
+
const currentLineDecorationType = {
|
|
25
|
+
isWholeLine: true,
|
|
26
|
+
className: 'debug-current-line',
|
|
27
|
+
glyphMarginClassName: 'debug-current-line-glyph'
|
|
28
|
+
};
|
|
29
|
+
// Track breakpoints by line number
|
|
30
|
+
let breakpoints = new SvelteSet();
|
|
31
|
+
// Track the last used server URL to detect changes
|
|
32
|
+
let lastServerUrl = undefined;
|
|
33
|
+
// React to language/server URL changes - fully exit debug mode and reset client
|
|
34
|
+
$effect(() => {
|
|
35
|
+
const newUrl = effectiveServerUrl;
|
|
36
|
+
if (lastServerUrl !== undefined && lastServerUrl !== newUrl) {
|
|
37
|
+
// Server URL changed (language switched), fully exit debug mode
|
|
38
|
+
console.log('[DAP] Language changed, switching from', lastServerUrl, 'to', newUrl);
|
|
39
|
+
// Terminate and disconnect if we have an active session
|
|
40
|
+
if (client) {
|
|
41
|
+
if (client.isConnected()) {
|
|
42
|
+
// Try to terminate gracefully, then disconnect
|
|
43
|
+
client
|
|
44
|
+
.terminate()
|
|
45
|
+
.catch(() => { })
|
|
46
|
+
.finally(() => {
|
|
47
|
+
client?.disconnect();
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Reset the singleton and clear local client reference
|
|
52
|
+
resetDAPClient();
|
|
53
|
+
client = null;
|
|
54
|
+
// Clear current line decoration since we're exiting debug mode
|
|
55
|
+
if (editor) {
|
|
56
|
+
currentLineDecoration = editor.deltaDecorations(currentLineDecoration, []);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
lastServerUrl = newUrl;
|
|
60
|
+
});
|
|
61
|
+
// Export function to refresh breakpoint positions - called by parent when code changes
|
|
62
|
+
export function refreshBreakpoints() {
|
|
63
|
+
updateBreakpointPositionsFromDecorations();
|
|
64
|
+
}
|
|
65
|
+
onMount(() => {
|
|
66
|
+
if (!editor)
|
|
67
|
+
return;
|
|
68
|
+
client = getDAPClient(effectiveServerUrl);
|
|
69
|
+
lastServerUrl = effectiveServerUrl;
|
|
70
|
+
// Add click handler for glyph margin (breakpoint toggle)
|
|
71
|
+
const mouseDownDisposable = editor.onMouseDown((e) => {
|
|
72
|
+
if (e.target.type === 2) {
|
|
73
|
+
// MouseTargetType.GUTTER_GLYPH_MARGIN
|
|
74
|
+
const line = e.target.position?.lineNumber;
|
|
75
|
+
if (line) {
|
|
76
|
+
toggleBreakpoint(line);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
disposables.push(mouseDownDisposable);
|
|
81
|
+
// Add keyboard shortcut F9 for toggling breakpoint
|
|
82
|
+
editor.addCommand(120, // KeyCode.F9
|
|
83
|
+
() => {
|
|
84
|
+
const position = editor?.getPosition();
|
|
85
|
+
if (position) {
|
|
86
|
+
toggleBreakpoint(position.lineNumber);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
// Update decorations when state changes
|
|
90
|
+
const unsubscribe = debugState.subscribe((state) => {
|
|
91
|
+
updateCurrentLineDecoration(state.currentLine);
|
|
92
|
+
});
|
|
93
|
+
return () => {
|
|
94
|
+
unsubscribe();
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
onDestroy(() => {
|
|
98
|
+
disposables.forEach((d) => d.dispose());
|
|
99
|
+
disposables = [];
|
|
100
|
+
});
|
|
101
|
+
function toggleBreakpoint(line) {
|
|
102
|
+
if (breakpoints.has(line)) {
|
|
103
|
+
breakpoints.delete(line);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
breakpoints.add(line);
|
|
107
|
+
}
|
|
108
|
+
// SvelteSet is reactive, no need to reassign
|
|
109
|
+
updateBreakpointDecorations();
|
|
110
|
+
syncBreakpointsWithServer();
|
|
111
|
+
}
|
|
112
|
+
function updateBreakpointDecorations() {
|
|
113
|
+
if (!editor)
|
|
114
|
+
return;
|
|
115
|
+
const model = editor.getModel();
|
|
116
|
+
if (!model)
|
|
117
|
+
return;
|
|
118
|
+
const decorations = Array.from(breakpoints).map((line) => ({
|
|
119
|
+
range: { startLineNumber: line, startColumn: 1, endLineNumber: line, endColumn: 1 },
|
|
120
|
+
options: breakpointDecorationType
|
|
121
|
+
}));
|
|
122
|
+
breakpointDecorations = editor.deltaDecorations(breakpointDecorations, decorations);
|
|
123
|
+
}
|
|
124
|
+
// Update breakpoint line numbers from decoration positions after code edits
|
|
125
|
+
function updateBreakpointPositionsFromDecorations() {
|
|
126
|
+
console.log('[DAP] updateBreakpointPositionsFromDecorations called, decorations:', breakpointDecorations.length);
|
|
127
|
+
if (!editor || breakpointDecorations.length === 0)
|
|
128
|
+
return;
|
|
129
|
+
const model = editor.getModel();
|
|
130
|
+
if (!model)
|
|
131
|
+
return;
|
|
132
|
+
// Get current line numbers from decorations (using plain Set as this is not reactive state)
|
|
133
|
+
const newLines = new Set();
|
|
134
|
+
for (const decorationId of breakpointDecorations) {
|
|
135
|
+
const range = model.getDecorationRange(decorationId);
|
|
136
|
+
if (range) {
|
|
137
|
+
newLines.add(range.startLineNumber);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Check if positions changed
|
|
141
|
+
const oldLines = Array.from(breakpoints).sort((a, b) => a - b);
|
|
142
|
+
const updatedLines = Array.from(newLines).sort((a, b) => a - b);
|
|
143
|
+
console.log('[DAP] Old breakpoint lines:', oldLines, 'New lines from decorations:', updatedLines);
|
|
144
|
+
const positionsChanged = oldLines.length !== updatedLines.length ||
|
|
145
|
+
oldLines.some((line, i) => line !== updatedLines[i]);
|
|
146
|
+
if (positionsChanged) {
|
|
147
|
+
console.log('[DAP] Breakpoint positions changed, syncing with server');
|
|
148
|
+
// Update breakpoints set with new positions
|
|
149
|
+
breakpoints.clear();
|
|
150
|
+
for (const line of newLines) {
|
|
151
|
+
breakpoints.add(line);
|
|
152
|
+
}
|
|
153
|
+
// Sync updated positions with server
|
|
154
|
+
syncBreakpointsWithServer();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function updateCurrentLineDecoration(line) {
|
|
158
|
+
if (!editor)
|
|
159
|
+
return;
|
|
160
|
+
if (!line) {
|
|
161
|
+
currentLineDecoration = editor.deltaDecorations(currentLineDecoration, []);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const decorations = [
|
|
165
|
+
{
|
|
166
|
+
range: { startLineNumber: line, startColumn: 1, endLineNumber: line, endColumn: 1 },
|
|
167
|
+
options: currentLineDecorationType
|
|
168
|
+
}
|
|
169
|
+
];
|
|
170
|
+
currentLineDecoration = editor.deltaDecorations(currentLineDecoration, decorations);
|
|
171
|
+
// Scroll to the current line
|
|
172
|
+
editor.revealLineInCenter(line);
|
|
173
|
+
}
|
|
174
|
+
async function syncBreakpointsWithServer() {
|
|
175
|
+
console.log('[DAP] syncBreakpointsWithServer called, connected:', client?.isConnected(), 'breakpoints:', Array.from(breakpoints));
|
|
176
|
+
if (!client || !client.isConnected()) {
|
|
177
|
+
console.log('[DAP] Not syncing - client not connected');
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
try {
|
|
181
|
+
console.log('[DAP] Sending setBreakpoints to server:', effectiveFilePath, Array.from(breakpoints));
|
|
182
|
+
await client.setBreakpoints(effectiveFilePath, Array.from(breakpoints));
|
|
183
|
+
console.log('[DAP] setBreakpoints completed');
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
console.error('Failed to sync breakpoints:', error);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Fetch contextual variables from the backend to pass to the debugger
|
|
191
|
+
*/
|
|
192
|
+
async function fetchContextualVariables() {
|
|
193
|
+
console.log('[DAP] fetchContextualVariables called, workspace:', workspace);
|
|
194
|
+
if (!workspace) {
|
|
195
|
+
console.log('[DAP] No workspace provided, skipping contextual variables');
|
|
196
|
+
return {};
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
console.log('[DAP] Fetching contextual variables for workspace:', workspace);
|
|
200
|
+
const variables = await VariableService.listContextualVariables({ workspace });
|
|
201
|
+
console.log('[DAP] Got contextual variables:', variables);
|
|
202
|
+
const envVars = {};
|
|
203
|
+
for (const v of variables) {
|
|
204
|
+
envVars[v.name] = v.value;
|
|
205
|
+
}
|
|
206
|
+
console.log('[DAP] Parsed env vars:', Object.keys(envVars));
|
|
207
|
+
return envVars;
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
console.error('Failed to fetch contextual variables:', error);
|
|
211
|
+
return {};
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
async function signDebugRequest(codeToSign, lang) {
|
|
215
|
+
if (!workspace) {
|
|
216
|
+
throw new Error('No workspace selected');
|
|
217
|
+
}
|
|
218
|
+
const response = await fetch(`/api/w/${workspace}/debug/sign`, {
|
|
219
|
+
method: 'POST',
|
|
220
|
+
headers: { 'Content-Type': 'application/json' },
|
|
221
|
+
body: JSON.stringify({ code: codeToSign, language: lang })
|
|
222
|
+
});
|
|
223
|
+
if (!response.ok) {
|
|
224
|
+
const errorText = await response.text();
|
|
225
|
+
// Parse specific error cases for better user messages
|
|
226
|
+
if (errorText.includes('not initialized')) {
|
|
227
|
+
throw new Error('Debug signing is not configured on the server. Please contact your administrator.');
|
|
228
|
+
}
|
|
229
|
+
throw new Error(errorText || 'Failed to authorize debug session');
|
|
230
|
+
}
|
|
231
|
+
return await response.json();
|
|
232
|
+
}
|
|
233
|
+
function getDebugErrorMessage(error) {
|
|
234
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
235
|
+
// Handle token verification errors from debugger
|
|
236
|
+
if (message.includes('Token verification failed') || message.includes('Debug token required')) {
|
|
237
|
+
if (message.includes('expired')) {
|
|
238
|
+
return 'Debug session expired. Please try again.';
|
|
239
|
+
}
|
|
240
|
+
if (message.includes('Invalid JWT signature')) {
|
|
241
|
+
return 'Debug authorization failed. The signing key may be misconfigured.';
|
|
242
|
+
}
|
|
243
|
+
if (message.includes('Code hash mismatch')) {
|
|
244
|
+
return 'Code was modified after signing. Please try again.';
|
|
245
|
+
}
|
|
246
|
+
if (message.includes('Public key not available')) {
|
|
247
|
+
return 'Debug server cannot verify tokens. Please check WINDMILL_BASE_URL configuration.';
|
|
248
|
+
}
|
|
249
|
+
if (message.includes('Debug token required')) {
|
|
250
|
+
return 'Debug authorization required. The debug session must be signed by the backend.';
|
|
251
|
+
}
|
|
252
|
+
return 'Debug authorization failed. Please try again.';
|
|
253
|
+
}
|
|
254
|
+
// Handle connection errors
|
|
255
|
+
if (message.includes('WebSocket') || message.includes('connection failed')) {
|
|
256
|
+
return 'Could not connect to debug server. Make sure the DAP server is running.';
|
|
257
|
+
}
|
|
258
|
+
// Handle signing errors
|
|
259
|
+
if (message.includes('not configured on the server')) {
|
|
260
|
+
return message;
|
|
261
|
+
}
|
|
262
|
+
return message || 'An unexpected error occurred while starting the debugger.';
|
|
263
|
+
}
|
|
264
|
+
async function startDebugging() {
|
|
265
|
+
// Always reset and create a fresh client with the current server URL
|
|
266
|
+
// This ensures we connect to the correct endpoint for the current language
|
|
267
|
+
resetDAPClient();
|
|
268
|
+
client = getDAPClient(effectiveServerUrl);
|
|
269
|
+
try {
|
|
270
|
+
// Fetch contextual variables (WM_WORKSPACE, WM_TOKEN, etc.) from backend
|
|
271
|
+
const env = await fetchContextualVariables();
|
|
272
|
+
console.log('[DAP] Starting debug with env vars:', Object.keys(env), env);
|
|
273
|
+
// Sign the debug request (creates audit log entry)
|
|
274
|
+
let signedPayload;
|
|
275
|
+
try {
|
|
276
|
+
signedPayload = await signDebugRequest(code ?? '', language);
|
|
277
|
+
console.log('[DAP] Got signed payload from backend');
|
|
278
|
+
}
|
|
279
|
+
catch (signError) {
|
|
280
|
+
console.error('[DAP] Signing failed:', getDebugErrorMessage(signError));
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
await client.connect();
|
|
284
|
+
await client.initialize();
|
|
285
|
+
await client.setBreakpoints(effectiveFilePath, Array.from(breakpoints));
|
|
286
|
+
await client.configurationDone();
|
|
287
|
+
await client.launch({
|
|
288
|
+
code,
|
|
289
|
+
cwd: '/tmp',
|
|
290
|
+
env,
|
|
291
|
+
// JWT token for verification by the debugger
|
|
292
|
+
token: signedPayload.token
|
|
293
|
+
});
|
|
294
|
+
console.log('[DAP] Launch completed with env');
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
console.error('[DAP] Failed to start debugging:', getDebugErrorMessage(error));
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
async function stopDebugging() {
|
|
301
|
+
if (!client)
|
|
302
|
+
return;
|
|
303
|
+
try {
|
|
304
|
+
await client.terminate();
|
|
305
|
+
client.disconnect();
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
console.error('Failed to stop debugging:', error);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
async function continueExecution() {
|
|
312
|
+
if (!client)
|
|
313
|
+
return;
|
|
314
|
+
await client.continue_();
|
|
315
|
+
}
|
|
316
|
+
async function stepOver() {
|
|
317
|
+
if (!client)
|
|
318
|
+
return;
|
|
319
|
+
await client.stepOver();
|
|
320
|
+
}
|
|
321
|
+
async function stepIn() {
|
|
322
|
+
if (!client)
|
|
323
|
+
return;
|
|
324
|
+
await client.stepIn();
|
|
325
|
+
}
|
|
326
|
+
async function stepOut() {
|
|
327
|
+
if (!client)
|
|
328
|
+
return;
|
|
329
|
+
await client.stepOut();
|
|
330
|
+
}
|
|
331
|
+
function clearAllBreakpoints() {
|
|
332
|
+
breakpoints.clear();
|
|
333
|
+
updateBreakpointDecorations();
|
|
334
|
+
syncBreakpointsWithServer();
|
|
335
|
+
}
|
|
336
|
+
</script>
|
|
337
|
+
|
|
338
|
+
<div class="flex flex-col h-full">
|
|
339
|
+
<DebugToolbar
|
|
340
|
+
connected={$debugState.connected}
|
|
341
|
+
running={$debugState.running}
|
|
342
|
+
stopped={$debugState.stopped}
|
|
343
|
+
breakpointCount={breakpoints.size}
|
|
344
|
+
onStart={startDebugging}
|
|
345
|
+
onStop={stopDebugging}
|
|
346
|
+
onContinue={continueExecution}
|
|
347
|
+
onStepOver={stepOver}
|
|
348
|
+
onStepIn={stepIn}
|
|
349
|
+
onStepOut={stepOut}
|
|
350
|
+
onClearBreakpoints={clearAllBreakpoints}
|
|
351
|
+
/>
|
|
352
|
+
|
|
353
|
+
{#if $debugState.connected}
|
|
354
|
+
<DebugPanel
|
|
355
|
+
stackFrames={$debugState.stackFrames}
|
|
356
|
+
scopes={$debugState.scopes}
|
|
357
|
+
variables={$debugState.variables}
|
|
358
|
+
{client}
|
|
359
|
+
/>
|
|
360
|
+
{/if}
|
|
361
|
+
</div>
|
|
362
|
+
|
|
363
|
+
<style>
|
|
364
|
+
:global(.debug-breakpoint-glyph) {
|
|
365
|
+
background-color: #e51400;
|
|
366
|
+
border-radius: 50%;
|
|
367
|
+
width: 10px !important;
|
|
368
|
+
height: 10px !important;
|
|
369
|
+
margin-left: 5px;
|
|
370
|
+
margin-top: 4px;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
:global(.debug-current-line) {
|
|
374
|
+
background-color: rgba(255, 238, 0, 0.2);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
:global(.debug-current-line-glyph) {
|
|
378
|
+
background-color: #ffcc00;
|
|
379
|
+
clip-path: polygon(0 0, 100% 50%, 0 100%);
|
|
380
|
+
width: 10px !important;
|
|
381
|
+
height: 14px !important;
|
|
382
|
+
margin-left: 5px;
|
|
383
|
+
margin-top: 2px;
|
|
384
|
+
}</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { editor as meditor } from 'monaco-editor';
|
|
2
|
+
import { type DebugLanguage } from './index';
|
|
3
|
+
interface Props {
|
|
4
|
+
editor: meditor.IStandaloneCodeEditor | null;
|
|
5
|
+
code: string;
|
|
6
|
+
language?: DebugLanguage;
|
|
7
|
+
filePath?: string;
|
|
8
|
+
dapServerUrl?: string;
|
|
9
|
+
workspace?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const MonacoDebugger: import("svelte").Component<Props, {
|
|
12
|
+
refreshBreakpoints: () => void;
|
|
13
|
+
}, "">;
|
|
14
|
+
type MonacoDebugger = ReturnType<typeof MonacoDebugger>;
|
|
15
|
+
export default MonacoDebugger;
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DAP (Debug Adapter Protocol) WebSocket Client for Monaco integration.
|
|
3
|
+
*
|
|
4
|
+
* This client implements the DAP protocol over WebSocket to communicate
|
|
5
|
+
* with a Python debugpy-based debug server.
|
|
6
|
+
*/
|
|
7
|
+
export interface DAPMessage {
|
|
8
|
+
seq: number;
|
|
9
|
+
type: 'request' | 'response' | 'event';
|
|
10
|
+
command?: string;
|
|
11
|
+
event?: string;
|
|
12
|
+
request_seq?: number;
|
|
13
|
+
success?: boolean;
|
|
14
|
+
message?: string;
|
|
15
|
+
body?: Record<string, unknown>;
|
|
16
|
+
arguments?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
export interface Breakpoint {
|
|
19
|
+
id: number;
|
|
20
|
+
verified: boolean;
|
|
21
|
+
line: number;
|
|
22
|
+
source?: {
|
|
23
|
+
path: string;
|
|
24
|
+
name?: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface StackFrame {
|
|
28
|
+
id: number;
|
|
29
|
+
name: string;
|
|
30
|
+
source?: {
|
|
31
|
+
path: string;
|
|
32
|
+
name?: string;
|
|
33
|
+
};
|
|
34
|
+
line: number;
|
|
35
|
+
column: number;
|
|
36
|
+
}
|
|
37
|
+
export interface Variable {
|
|
38
|
+
name: string;
|
|
39
|
+
value: string;
|
|
40
|
+
type?: string;
|
|
41
|
+
variablesReference: number;
|
|
42
|
+
}
|
|
43
|
+
export interface Scope {
|
|
44
|
+
name: string;
|
|
45
|
+
variablesReference: number;
|
|
46
|
+
expensive: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface DebugState {
|
|
49
|
+
connected: boolean;
|
|
50
|
+
initialized: boolean;
|
|
51
|
+
running: boolean;
|
|
52
|
+
stopped: boolean;
|
|
53
|
+
stoppedReason?: string;
|
|
54
|
+
currentLine?: number;
|
|
55
|
+
currentFile?: string;
|
|
56
|
+
stackFrames: StackFrame[];
|
|
57
|
+
scopes: Scope[];
|
|
58
|
+
variables: Map<number, Variable[]>;
|
|
59
|
+
breakpoints: Map<string, Breakpoint[]>;
|
|
60
|
+
output: string[];
|
|
61
|
+
logs: string;
|
|
62
|
+
result?: unknown;
|
|
63
|
+
error?: string;
|
|
64
|
+
}
|
|
65
|
+
export declare const debugState: import("svelte/store").Writable<DebugState>;
|
|
66
|
+
export declare class DAPClient {
|
|
67
|
+
private ws;
|
|
68
|
+
private seq;
|
|
69
|
+
private pendingRequests;
|
|
70
|
+
private url;
|
|
71
|
+
constructor(url?: string);
|
|
72
|
+
/**
|
|
73
|
+
* Connect to the DAP server.
|
|
74
|
+
*/
|
|
75
|
+
connect(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Disconnect from the DAP server.
|
|
78
|
+
*/
|
|
79
|
+
disconnect(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Send a request to the DAP server and wait for a response.
|
|
82
|
+
*/
|
|
83
|
+
private sendRequest;
|
|
84
|
+
/**
|
|
85
|
+
* Handle incoming messages from the DAP server.
|
|
86
|
+
*/
|
|
87
|
+
private handleMessage;
|
|
88
|
+
/**
|
|
89
|
+
* Handle DAP events.
|
|
90
|
+
*/
|
|
91
|
+
private handleEvent;
|
|
92
|
+
/**
|
|
93
|
+
* Initialize the debug session.
|
|
94
|
+
*/
|
|
95
|
+
initialize(): Promise<DAPMessage>;
|
|
96
|
+
/**
|
|
97
|
+
* Set breakpoints in a source file.
|
|
98
|
+
*/
|
|
99
|
+
setBreakpoints(path: string, lines: number[]): Promise<Breakpoint[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Notify the server that configuration is done.
|
|
102
|
+
*/
|
|
103
|
+
configurationDone(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Launch a script for debugging.
|
|
106
|
+
*/
|
|
107
|
+
launch(options: {
|
|
108
|
+
program?: string;
|
|
109
|
+
code?: string;
|
|
110
|
+
args?: string[] | Record<string, unknown>;
|
|
111
|
+
cwd?: string;
|
|
112
|
+
callMain?: boolean;
|
|
113
|
+
env?: Record<string, string>;
|
|
114
|
+
token?: string;
|
|
115
|
+
}): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Continue execution.
|
|
118
|
+
*/
|
|
119
|
+
continue_(): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Step over (next).
|
|
122
|
+
*/
|
|
123
|
+
stepOver(): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Step into.
|
|
126
|
+
*/
|
|
127
|
+
stepIn(): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Step out.
|
|
130
|
+
*/
|
|
131
|
+
stepOut(): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Pause execution.
|
|
134
|
+
*/
|
|
135
|
+
pause(): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Terminate the debug session.
|
|
138
|
+
*/
|
|
139
|
+
terminate(): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* Get threads.
|
|
142
|
+
*/
|
|
143
|
+
getThreads(): Promise<{
|
|
144
|
+
id: number;
|
|
145
|
+
name: string;
|
|
146
|
+
}[]>;
|
|
147
|
+
/**
|
|
148
|
+
* Get stack trace.
|
|
149
|
+
*/
|
|
150
|
+
getStackTrace(threadId?: number): Promise<StackFrame[]>;
|
|
151
|
+
/**
|
|
152
|
+
* Get scopes for a stack frame.
|
|
153
|
+
*/
|
|
154
|
+
getScopes(frameId: number): Promise<Scope[]>;
|
|
155
|
+
/**
|
|
156
|
+
* Get variables for a scope.
|
|
157
|
+
*/
|
|
158
|
+
getVariables(variablesReference: number): Promise<Variable[]>;
|
|
159
|
+
/**
|
|
160
|
+
* Evaluate an expression.
|
|
161
|
+
* @param expression The expression to evaluate
|
|
162
|
+
* @param frameId Optional frame ID to evaluate in
|
|
163
|
+
* @param context The evaluation context
|
|
164
|
+
* @param token Optional JWT token for signed expression (audit logging)
|
|
165
|
+
*/
|
|
166
|
+
evaluate(expression: string, frameId?: number, context?: 'watch' | 'repl' | 'hover', token?: string): Promise<{
|
|
167
|
+
result: string;
|
|
168
|
+
variablesReference: number;
|
|
169
|
+
}>;
|
|
170
|
+
/**
|
|
171
|
+
* Fetch stack trace (called automatically when stopped).
|
|
172
|
+
*/
|
|
173
|
+
private fetchStackTrace;
|
|
174
|
+
/**
|
|
175
|
+
* Clear output.
|
|
176
|
+
*/
|
|
177
|
+
clearOutput(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Check if connected.
|
|
180
|
+
*/
|
|
181
|
+
isConnected(): boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Check if running.
|
|
184
|
+
*/
|
|
185
|
+
isRunning(): boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Check if stopped at a breakpoint.
|
|
188
|
+
*/
|
|
189
|
+
isStopped(): boolean;
|
|
190
|
+
}
|
|
191
|
+
export declare function getDAPClient(url?: string): DAPClient;
|
|
192
|
+
export declare function resetDAPClient(): void;
|