windmill-components 1.306.13 → 1.309.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/autosize.js +6 -1
- package/package/common.d.ts +2 -2
- package/package/components/ApiConnectForm.svelte +2 -1
- package/package/components/AppConnect.svelte +1 -1
- package/package/components/DeployWorkspace.svelte +2 -2
- package/package/components/DeployWorkspace.svelte.d.ts +1 -1
- package/package/components/DeployWorkspaceDrawer.svelte.d.ts +2 -2
- package/package/components/Dev.svelte +2 -1
- package/package/components/DropdownV2.svelte +4 -1
- package/package/components/DropdownV2.svelte.d.ts +2 -2
- package/package/components/Editor.svelte +1 -1
- package/package/components/Editor.svelte.d.ts +2 -2
- package/package/components/EditorBar.svelte +25 -23
- package/package/components/EditorBar.svelte.d.ts +2 -3
- package/package/components/ErrorOrRecoveryHandler.svelte +2 -2
- package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -1
- package/package/components/FlowBuilder.svelte +5 -5
- package/package/components/FlowBuilder.svelte.d.ts +0 -1
- package/package/components/FlowLoopIterationPreview.svelte +1 -1
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPreviewContent.svelte +1 -1
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowStatusViewerInner.svelte +13 -15
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
- package/package/components/FlowStatusWaitingForEvents.svelte +3 -3
- package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +1 -1
- package/package/components/HighlightCode.svelte.d.ts +1 -1
- package/package/components/InstanceSettings.svelte +4 -2
- package/package/components/LogViewer.svelte +65 -20
- package/package/components/ModulePreview.svelte +2 -2
- package/package/components/ModulePreview.svelte.d.ts +2 -2
- package/package/components/ModuleStatus.svelte +6 -7
- package/package/components/ModuleStatus.svelte.d.ts +2 -2
- package/package/components/MoveDrawer.svelte.d.ts +2 -2
- package/package/components/ParqetTableRenderer.svelte +3 -3
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/SavedInputs.svelte +6 -5
- package/package/components/ScheduleEditorInner.svelte +6 -6
- package/package/components/ScriptBuilder.svelte +9 -9
- package/package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/package/components/ScriptEditor.svelte +1 -1
- package/package/components/ScriptEditor.svelte.d.ts +4 -4
- package/package/components/ScriptPicker.svelte +2 -2
- package/package/components/ScriptPicker.svelte.d.ts +2 -3
- package/package/components/ShareModal.svelte +1 -2
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SuperadminSettings.svelte +1 -1
- package/package/components/TestConnection.svelte +2 -2
- package/package/components/TestJobLoader.svelte +1 -1
- package/package/components/TestJobLoader.svelte.d.ts +4 -4
- package/package/components/WorkspaceGroup.svelte +2 -2
- package/package/components/apps/components/display/AppText.svelte +2 -2
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +4 -0
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte.d.ts +2 -0
- package/package/components/apps/components/display/dbtable/queries/count.js +1 -2
- package/package/components/apps/components/display/dbtable/queries/delete.js +20 -12
- package/package/components/apps/components/display/dbtable/queries/select.js +2 -1
- package/package/components/apps/components/display/dbtable/queries/update.js +20 -12
- package/package/components/apps/components/display/dbtable/utils.d.ts +2 -1
- package/package/components/apps/components/display/dbtable/utils.js +14 -13
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -1
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +10 -28
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +2 -2
- package/package/components/apps/components/display/table/utils.js +0 -1
- package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
- package/package/components/apps/editor/AppEditorHeader.svelte +60 -45
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -1
- package/package/components/apps/editor/AppEditorTutorial.svelte +10 -6
- package/package/components/apps/editor/AppInputs.svelte +1 -1
- package/package/components/apps/editor/AppReportsDrawer.svelte +6 -4
- package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
- package/package/components/apps/editor/PreviewToggle.svelte +10 -1
- package/package/components/apps/editor/SettingsPanel.svelte +6 -2
- package/package/components/apps/editor/appUtils.js +19 -7
- package/package/components/apps/editor/component/Component.svelte +1 -0
- package/package/components/apps/editor/component/ComponentCallbacks.svelte +4 -1
- package/package/components/apps/editor/component/components.d.ts +77 -70
- package/package/components/apps/editor/component/components.js +7 -1
- package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte +24 -21
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +6 -2
- package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +5 -4
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +2 -3
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +20 -18
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +2 -0
- package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +1 -1
- package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
- package/package/components/apps/types.d.ts +1 -1
- package/package/components/apps/utils.js +3 -1
- package/package/components/auditLogs/AuditLogDetails.svelte +6 -4
- package/package/components/auditLogs/AuditLogDetails.svelte.d.ts +1 -1
- package/package/components/auditLogs/AuditLogsFilters.svelte +1 -1
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +13 -12
- package/package/components/common/table/AppRow.svelte +1 -1
- package/package/components/common/table/Row.svelte.d.ts +1 -1
- package/package/components/copilot/FlowCopilotDrawer.svelte +6 -4
- package/package/components/copilot/ScriptGen.svelte +5 -5
- package/package/components/copilot/ScriptGen.svelte.d.ts +1 -1
- package/package/components/copilot/StepGen.svelte +1 -1
- package/package/components/copilot/flow.d.ts +3 -3
- package/package/components/copilot/flow.js +1 -1
- package/package/components/copilot/lib.d.ts +2 -2
- package/package/components/copilot/lib.js +1 -1
- package/package/components/details/WebhooksPanel.svelte +1 -1
- package/package/components/details/utils.d.ts +1 -1
- package/package/components/details/utils.js +1 -1
- package/package/components/flows/FlowProgressBar.svelte +3 -4
- package/package/components/flows/FlowProgressBar.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInputs.svelte +5 -8
- package/package/components/flows/content/FlowLoop.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowModuleWrapper.svelte +5 -5
- package/package/components/flows/content/FlowWhileLoop.svelte +10 -3
- package/package/components/flows/content/FlowWhileLoop.svelte.d.ts +1 -1
- package/package/components/flows/content/ScriptEditorDrawer.svelte +2 -1
- package/package/components/flows/content/SuspendDrawer.svelte +5 -6
- package/package/components/flows/dfs.d.ts +1 -1
- package/package/components/flows/flowStateUtils.d.ts +2 -2
- package/package/components/flows/flowStateUtils.js +1 -1
- package/package/components/graph/FlowGraph.svelte +3 -3
- package/package/components/graph/model.d.ts +1 -1
- package/package/components/graph/util.d.ts +2 -2
- package/package/components/graph/util.js +5 -6
- package/package/components/home/ItemsList.svelte +1 -1
- package/package/components/home/ItemsList.svelte.d.ts +1 -1
- package/package/components/icons/VismaIcon.svelte +10 -0
- package/package/components/icons/VismaIcon.svelte.d.ts +17 -0
- package/package/components/icons/index.d.ts +2 -0
- package/package/components/icons/index.js +3 -1
- package/package/components/jobs/JobPreview.svelte +2 -2
- package/package/components/runs/JobLoader.svelte +26 -8
- package/package/components/runs/JobLoader.svelte.d.ts +1 -1
- package/package/components/runs/JobPreview.svelte +3 -3
- package/package/components/runs/QueuePopover.svelte +1 -1
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/scriptEditor/LogPanel.svelte +2 -2
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -2
- package/package/components/tutorials/FlowErrorHandler.svelte +1 -2
- package/package/components/tutorials/utils.js +1 -1
- package/package/gen/core/ApiError.d.ts +1 -1
- package/package/gen/core/ApiRequestOptions.d.ts +5 -5
- package/package/gen/core/ApiResult.d.ts +3 -3
- package/package/gen/core/CancelablePromise.d.ts +10 -4
- package/package/gen/core/CancelablePromise.js +38 -39
- package/package/gen/core/OpenAPI.d.ts +17 -6
- package/package/gen/core/OpenAPI.js +25 -5
- package/package/gen/core/request.d.ts +6 -7
- package/package/gen/core/request.js +77 -57
- package/package/gen/enums.gen.d.ts +149 -0
- package/package/gen/enums.gen.js +150 -0
- package/package/gen/index.d.ts +5 -178
- package/package/gen/index.js +5 -52
- package/package/gen/models/AppWithLastVersionWDraft.d.ts +2 -2
- package/package/gen/models/Flow.d.ts +1 -1
- package/package/gen/models/FlowModuleValue.d.ts +1 -1
- package/package/gen/models/FlowStatus.d.ts +2 -2
- package/package/gen/models/InputTransform.d.ts +1 -1
- package/package/gen/models/Job.d.ts +2 -2
- package/package/gen/models/MainArgSignature.d.ts +4 -4
- package/package/gen/models/NewScriptWithDraft.d.ts +2 -2
- package/package/gen/models/OpenFlowWPath.d.ts +2 -2
- package/package/gen/models/ScheduleWJobs.d.ts +2 -2
- package/package/gen/schemas.gen.d.ts +3155 -0
- package/package/gen/schemas.gen.js +3217 -0
- package/package/gen/services/AdminService.d.ts +3 -3
- package/package/gen/services/AdminService.js +12 -12
- package/package/gen/services/AppService.d.ts +16 -16
- package/package/gen/services/AppService.js +69 -69
- package/package/gen/services/AuditService.d.ts +2 -2
- package/package/gen/services/AuditService.js +15 -15
- package/package/gen/services/CaptureService.d.ts +3 -3
- package/package/gen/services/CaptureService.js +13 -13
- package/package/gen/services/ConcurrencyGroupsService.d.ts +1 -1
- package/package/gen/services/ConcurrencyGroupsService.js +4 -4
- package/package/gen/services/ConfigService.d.ts +3 -3
- package/package/gen/services/ConfigService.js +10 -10
- package/package/gen/services/DraftService.d.ts +2 -2
- package/package/gen/services/DraftService.js +8 -8
- package/package/gen/services/FavoriteService.d.ts +2 -2
- package/package/gen/services/FavoriteService.js +6 -6
- package/package/gen/services/FlowService.d.ts +21 -21
- package/package/gen/services/FlowService.js +58 -58
- package/package/gen/services/FolderService.d.ts +9 -9
- package/package/gen/services/FolderService.js +36 -36
- package/package/gen/services/GranularAclService.d.ts +3 -3
- package/package/gen/services/GranularAclService.js +15 -15
- package/package/gen/services/GroupService.d.ts +14 -14
- package/package/gen/services/GroupService.js +50 -50
- package/package/gen/services/HelpersService.d.ts +14 -14
- package/package/gen/services/HelpersService.js +70 -70
- package/package/gen/services/InputService.d.ts +5 -5
- package/package/gen/services/InputService.js +26 -26
- package/package/gen/services/IntegrationService.d.ts +1 -1
- package/package/gen/services/IntegrationService.js +3 -3
- package/package/gen/services/JobService.d.ts +51 -42
- package/package/gen/services/JobService.js +326 -311
- package/package/gen/services/MetricsService.d.ts +1 -1
- package/package/gen/services/MetricsService.js +4 -4
- package/package/gen/services/OauthService.d.ts +6 -6
- package/package/gen/services/OauthService.js +22 -22
- package/package/gen/services/OidcService.d.ts +1 -1
- package/package/gen/services/OidcService.js +4 -4
- package/package/gen/services/RawAppService.d.ts +6 -6
- package/package/gen/services/RawAppService.js +30 -30
- package/package/gen/services/ResourceService.d.ts +19 -19
- package/package/gen/services/ResourceService.js +77 -77
- package/package/gen/services/ScheduleService.d.ts +10 -10
- package/package/gen/services/ScheduleService.js +41 -41
- package/package/gen/services/ScriptService.d.ts +23 -23
- package/package/gen/services/ScriptService.js +104 -104
- package/package/gen/services/SettingService.d.ts +6 -6
- package/package/gen/services/SettingService.js +16 -16
- package/package/gen/services/SettingsService.js +4 -4
- package/package/gen/services/UserService.d.ts +26 -26
- package/package/gen/services/UserService.js +85 -85
- package/package/gen/services/VariableService.d.ts +9 -9
- package/package/gen/services/VariableService.js +36 -36
- package/package/gen/services/WorkerService.d.ts +2 -2
- package/package/gen/services/WorkerService.js +11 -11
- package/package/gen/services/WorkspaceService.d.ts +39 -39
- package/package/gen/services/WorkspaceService.js +118 -118
- package/package/gen/services.gen.d.ts +1928 -0
- package/package/gen/services.gen.js +5309 -0
- package/package/gen/types.gen.d.ts +6898 -0
- package/package/gen/types.gen.js +2 -0
- package/package/hub.d.ts +1 -1
- package/package/infer.d.ts +1 -1
- package/package/infer.js +2 -2
- package/package/script_helpers.d.ts +3 -3
- package/package/script_helpers.js +2 -2
- package/package/scripts.d.ts +2 -2
- package/package/scripts.js +20 -16
- package/package/stores.d.ts +1 -2
- package/package/utils.d.ts +1 -1
- package/package/utils.js +1 -1
- package/package.json +6 -6
package/package/autosize.js
CHANGED
|
@@ -13,6 +13,11 @@ export const action = (node) => {
|
|
|
13
13
|
};
|
|
14
14
|
const setInitialHeight = () => {
|
|
15
15
|
let height = 0;
|
|
16
|
+
const style = window.getComputedStyle(node);
|
|
17
|
+
const visible = style?.getPropertyValue('visibility') === 'hidden';
|
|
18
|
+
if (visible === false) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
16
21
|
if (node.value) {
|
|
17
22
|
height = node.scrollHeight;
|
|
18
23
|
}
|
|
@@ -33,7 +38,7 @@ export const action = (node) => {
|
|
|
33
38
|
};
|
|
34
39
|
const setHeight = () => {
|
|
35
40
|
node.style.height = '0px';
|
|
36
|
-
node.style.height = Math.max(node.scrollHeight, 40) +
|
|
41
|
+
node.style.height = Math.max(node.scrollHeight ?? 0, 40) + 2 + 'px';
|
|
37
42
|
};
|
|
38
43
|
const addStyles = () => {
|
|
39
44
|
node.style.boxSizing = 'border-box';
|
package/package/common.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Script } from './gen';
|
|
2
2
|
export type OwnerKind = 'group' | 'user' | 'folder';
|
|
3
3
|
export type ActionKind = 'Create' | 'Update' | 'Delete' | 'Execute';
|
|
4
|
-
export type SupportedLanguage = Script
|
|
4
|
+
export type SupportedLanguage = Script['language'];
|
|
5
5
|
export interface PropertyDisplayInfo {
|
|
6
6
|
property: SchemaProperty;
|
|
7
7
|
name: string;
|
|
@@ -71,7 +71,7 @@ export type Schema = {
|
|
|
71
71
|
order?: string[];
|
|
72
72
|
required: string[];
|
|
73
73
|
};
|
|
74
|
-
export declare function mergeSchema(schema: Schema | Record<string, any>, enum_payload?: Record<string, any>): Record<string, any
|
|
74
|
+
export declare function mergeSchema(schema: Schema | Record<string, any>, enum_payload?: Record<string, any>): Schema | Record<string, any>;
|
|
75
75
|
export type Meta = {
|
|
76
76
|
ownerKind: OwnerKind;
|
|
77
77
|
owner: string;
|
|
@@ -18,7 +18,8 @@ let schema = emptySchema();
|
|
|
18
18
|
let notFound = false;
|
|
19
19
|
let supabaseWizard = false;
|
|
20
20
|
async function isSupabaseAvailable() {
|
|
21
|
-
supabaseWizard =
|
|
21
|
+
supabaseWizard =
|
|
22
|
+
((await OauthService.listOauthConnects()) ?? {})['supabase_wizard'] != undefined;
|
|
22
23
|
}
|
|
23
24
|
async function loadSchema() {
|
|
24
25
|
if (!resourceTypeInfo)
|
|
@@ -159,7 +159,7 @@ export function openFromOauth(rt) {
|
|
|
159
159
|
drawer.openDrawer?.();
|
|
160
160
|
}
|
|
161
161
|
async function loadConnects() {
|
|
162
|
-
const nconnects = await OauthService.
|
|
162
|
+
const nconnects = (await OauthService.listOauthConnects());
|
|
163
163
|
if (nconnects['supabase_wizard']) {
|
|
164
164
|
delete nconnects['supabase_wizard'];
|
|
165
165
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
|
-
kind: "
|
|
4
|
+
kind: "script" | "flow" | "resource" | "resource_type" | "schedule" | "app" | "folder" | "variable" | "raw_app";
|
|
5
5
|
initialPath?: string | undefined;
|
|
6
6
|
workspaceToDeployTo?: string | undefined;
|
|
7
7
|
hideButton?: boolean | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
|
-
openDrawer?: ((initialPath_l: string, kind_l: "
|
|
4
|
+
openDrawer?: ((initialPath_l: string, kind_l: "script" | "flow" | "resource" | "schedule" | "app" | "variable" | "raw_app") => Promise<void>) | undefined;
|
|
5
5
|
};
|
|
6
6
|
events: {
|
|
7
7
|
[evt: string]: CustomEvent<any>;
|
|
@@ -12,6 +12,6 @@ export type DeployWorkspaceDrawerProps = typeof __propDef.props;
|
|
|
12
12
|
export type DeployWorkspaceDrawerEvents = typeof __propDef.events;
|
|
13
13
|
export type DeployWorkspaceDrawerSlots = typeof __propDef.slots;
|
|
14
14
|
export default class DeployWorkspaceDrawer extends SvelteComponent<DeployWorkspaceDrawerProps, DeployWorkspaceDrawerEvents, DeployWorkspaceDrawerSlots> {
|
|
15
|
-
get openDrawer(): (initialPath_l: string, kind_l: "
|
|
15
|
+
get openDrawer(): (initialPath_l: string, kind_l: "script" | "flow" | "resource" | "schedule" | "app" | "variable" | "raw_app") => Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
export {};
|
|
@@ -3,7 +3,7 @@ import TestJobLoader from './TestJobLoader.svelte';
|
|
|
3
3
|
import { Button, Drawer } from './common';
|
|
4
4
|
import { WindmillIcon } from './icons';
|
|
5
5
|
import LogPanel from './scriptEditor/LogPanel.svelte';
|
|
6
|
-
import {
|
|
6
|
+
import { JobService, OpenAPI, WorkspaceService } from '../gen';
|
|
7
7
|
import { inferArgs } from '../infer';
|
|
8
8
|
import { copilotInfo, userStore, workspaceStore } from '../stores';
|
|
9
9
|
import { emptySchema, sendUserToast } from '../utils';
|
|
@@ -316,6 +316,7 @@ async function inferModuleArgs(selectedIdStore) {
|
|
|
316
316
|
if (selectedIdStore == '') {
|
|
317
317
|
return;
|
|
318
318
|
}
|
|
319
|
+
//@ts-ignore
|
|
319
320
|
dfs($flowStore.value.modules, async (mod) => {
|
|
320
321
|
if (mod.id == selectedIdStore) {
|
|
321
322
|
if (mod.value.type == 'rawscript' ||
|
|
@@ -35,7 +35,10 @@ function computeItems() {
|
|
|
35
35
|
class={twMerge(
|
|
36
36
|
'px-4 py-2 text-primary hover:bg-surface-hover hover:text-primary cursor-pointer text-xs transition-all',
|
|
37
37
|
'flex flex-row gap-2 items-center',
|
|
38
|
-
item?.
|
|
38
|
+
item?.disabled && 'text-gray-400 cursor-not-allowed',
|
|
39
|
+
item?.type === 'delete' &&
|
|
40
|
+
!item?.disabled &&
|
|
41
|
+
'text-red-500 hover:bg-red-100 hover:text-red-500'
|
|
39
42
|
)}
|
|
40
43
|
>
|
|
41
44
|
{#if item.icon}
|
|
@@ -7,7 +7,7 @@ declare const __propDef: {
|
|
|
7
7
|
icon?: any;
|
|
8
8
|
href?: string | undefined;
|
|
9
9
|
disabled?: boolean | undefined;
|
|
10
|
-
type?: "
|
|
10
|
+
type?: "delete" | "action" | undefined;
|
|
11
11
|
hide?: boolean | undefined;
|
|
12
12
|
}[] | (() => {
|
|
13
13
|
displayName: string;
|
|
@@ -15,7 +15,7 @@ declare const __propDef: {
|
|
|
15
15
|
icon?: any;
|
|
16
16
|
href?: string | undefined;
|
|
17
17
|
disabled?: boolean | undefined;
|
|
18
|
-
type?: "
|
|
18
|
+
type?: "delete" | "action" | undefined;
|
|
19
19
|
hide?: boolean | undefined;
|
|
20
20
|
}[]) | undefined;
|
|
21
21
|
justifyEnd?: boolean | undefined;
|
|
@@ -22,7 +22,7 @@ import { dbSchemas, copilotInfo, codeCompletionSessionEnabled, lspTokenStore, fo
|
|
|
22
22
|
import { createHash as randomHash, editorConfig, langToExt, updateOptions } from '../editorUtils';
|
|
23
23
|
import { buildWorkerDefinition } from './build_workers';
|
|
24
24
|
import { workspaceStore } from '../stores';
|
|
25
|
-
import {
|
|
25
|
+
import { UserService } from '../gen';
|
|
26
26
|
import { initializeMode } from 'monaco-graphql/esm/initializeMode.js';
|
|
27
27
|
import { sleep } from '../utils';
|
|
28
28
|
import { editorCodeCompletion } from './copilot/completion';
|
|
@@ -9,7 +9,7 @@ import 'monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution';
|
|
|
9
9
|
import 'monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution';
|
|
10
10
|
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution';
|
|
11
11
|
import 'monaco-editor/esm/vs/basic-languages/css/css.contribution';
|
|
12
|
-
import { Preview } from '../gen';
|
|
12
|
+
import { type Preview } from '../gen';
|
|
13
13
|
import type { Text } from 'yjs';
|
|
14
14
|
declare const __propDef: {
|
|
15
15
|
props: {
|
|
@@ -37,7 +37,7 @@ declare const __propDef: {
|
|
|
37
37
|
useWebsockets?: boolean | undefined;
|
|
38
38
|
listenEmptyChanges?: boolean | undefined;
|
|
39
39
|
small?: boolean | undefined;
|
|
40
|
-
scriptLang: Preview
|
|
40
|
+
scriptLang: Preview['language'];
|
|
41
41
|
disabled?: boolean | undefined;
|
|
42
42
|
getCode?: (() => string) | undefined;
|
|
43
43
|
insertAtCursor?: ((code: string) => void) | undefined;
|
|
@@ -36,7 +36,6 @@ export let kind = 'script';
|
|
|
36
36
|
export let template = 'script';
|
|
37
37
|
export let collabMode = false;
|
|
38
38
|
export let collabLive = false;
|
|
39
|
-
export let formatOnSave = false;
|
|
40
39
|
export let collabUsers = [];
|
|
41
40
|
export let scriptPath = undefined;
|
|
42
41
|
export let diffEditor = undefined;
|
|
@@ -53,9 +52,9 @@ let showContextVarPicker = false;
|
|
|
53
52
|
let showVarPicker = false;
|
|
54
53
|
let showResourcePicker = false;
|
|
55
54
|
let showResourceTypePicker = false;
|
|
56
|
-
$: showContextVarPicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang);
|
|
57
|
-
$: showVarPicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang);
|
|
58
|
-
$: showResourcePicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang);
|
|
55
|
+
$: showContextVarPicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang ?? '');
|
|
56
|
+
$: showVarPicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang ?? '');
|
|
57
|
+
$: showResourcePicker = ['python3', 'bash', 'powershell', 'go', 'deno', 'bun'].includes(lang ?? '');
|
|
59
58
|
$: showResourceTypePicker =
|
|
60
59
|
['typescript', 'javascript'].includes(scriptLangToEditorLang(lang)) || lang === 'python3';
|
|
61
60
|
let codeViewer;
|
|
@@ -120,6 +119,27 @@ function compile(schema) {
|
|
|
120
119
|
}
|
|
121
120
|
return rec(schema.properties, true);
|
|
122
121
|
}
|
|
122
|
+
async function resourceTypePickCallback(name) {
|
|
123
|
+
if (!editor)
|
|
124
|
+
return;
|
|
125
|
+
const resourceType = await ResourceService.getResourceType({
|
|
126
|
+
workspace: $workspaceStore ?? 'NO_W',
|
|
127
|
+
path: name
|
|
128
|
+
});
|
|
129
|
+
if (lang == 'python3') {
|
|
130
|
+
const pySchema = pythonCompile(resourceType.schema);
|
|
131
|
+
editor.insertAtCursor(`class ${name}(TypedDict):\n${pySchema}\n`);
|
|
132
|
+
const code = editor.getCode();
|
|
133
|
+
if (!code.includes('from typing import TypedDict')) {
|
|
134
|
+
editor.insertAtBeginning('from typing import TypedDict\n');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
const tsSchema = compile(resourceType.schema);
|
|
139
|
+
editor.insertAtCursor(`type ${toCamel(capitalize(name))} = ${tsSchema}\n`);
|
|
140
|
+
}
|
|
141
|
+
sendUserToast(`${name} inserted at cursor`);
|
|
142
|
+
}
|
|
123
143
|
function pythonCompile(schema) {
|
|
124
144
|
let res = '';
|
|
125
145
|
const entries = Object.entries(schema.properties);
|
|
@@ -348,25 +368,7 @@ let historyBrowserDrawerOpen = false;
|
|
|
348
368
|
<ItemPicker
|
|
349
369
|
bind:this={resourceTypePicker}
|
|
350
370
|
pickCallback={async (_, name) => {
|
|
351
|
-
|
|
352
|
-
const resourceType = await ResourceService.getResourceType({
|
|
353
|
-
workspace: $workspaceStore ?? 'NO_W',
|
|
354
|
-
path: name
|
|
355
|
-
})
|
|
356
|
-
|
|
357
|
-
if (lang == 'python3') {
|
|
358
|
-
const pySchema = pythonCompile(resourceType.schema)
|
|
359
|
-
|
|
360
|
-
editor.insertAtCursor(`class ${name}(TypedDict):\n${pySchema}\n`)
|
|
361
|
-
const code = editor.getCode()
|
|
362
|
-
if (!code.includes('from typing import TypedDict')) {
|
|
363
|
-
editor.insertAtBeginning('from typing import TypedDict\n')
|
|
364
|
-
}
|
|
365
|
-
} else {
|
|
366
|
-
const tsSchema = compile(resourceType.schema)
|
|
367
|
-
editor.insertAtCursor(`type ${toCamel(capitalize(name))} = ${tsSchema}\n`)
|
|
368
|
-
}
|
|
369
|
-
sendUserToast(`${name} inserted at cursor`)
|
|
371
|
+
resourceTypePickCallback(name)
|
|
370
372
|
}}
|
|
371
373
|
tooltip="Resources Types are the schemas associated with a Resource. They define the structure of the data that is returned from a Resource."
|
|
372
374
|
documentationLink="https://www.windmill.dev/docs/core_concepts/resources_and_types"
|
|
@@ -5,7 +5,7 @@ import type { SupportedLanguage } from '../common';
|
|
|
5
5
|
import type DiffEditor from './DiffEditor.svelte';
|
|
6
6
|
declare const __propDef: {
|
|
7
7
|
props: {
|
|
8
|
-
lang: SupportedLanguage;
|
|
8
|
+
lang: SupportedLanguage | undefined;
|
|
9
9
|
editor: Editor | undefined;
|
|
10
10
|
websocketAlive: {
|
|
11
11
|
pyright: boolean;
|
|
@@ -18,10 +18,9 @@ declare const __propDef: {
|
|
|
18
18
|
iconOnly?: boolean | undefined;
|
|
19
19
|
validCode?: boolean | undefined;
|
|
20
20
|
kind?: "script" | "trigger" | "approval" | undefined;
|
|
21
|
-
template?: "
|
|
21
|
+
template?: "powershell" | "mysql" | "script" | "pgsql" | "docker" | undefined;
|
|
22
22
|
collabMode?: boolean | undefined;
|
|
23
23
|
collabLive?: boolean | undefined;
|
|
24
|
-
formatOnSave?: boolean | undefined;
|
|
25
24
|
collabUsers?: {
|
|
26
25
|
name: string;
|
|
27
26
|
}[] | undefined;
|
|
@@ -4,7 +4,7 @@ import ScriptPicker from './ScriptPicker.svelte';
|
|
|
4
4
|
import Toggle from './Toggle.svelte';
|
|
5
5
|
import { enterpriseLicense, workspaceStore } from '../stores';
|
|
6
6
|
import { emptySchema, emptyString, sendUserToast, tryEvery } from '../utils';
|
|
7
|
-
import { FlowService, JobService,
|
|
7
|
+
import { FlowService, JobService, ScriptService, WorkspaceService } from '../gen';
|
|
8
8
|
import { inferArgs } from '../infer';
|
|
9
9
|
import { hubBaseUrlStore } from '../stores';
|
|
10
10
|
import { CheckCircle2, Loader2, RotateCw, XCircle } from 'lucide-svelte';
|
|
@@ -177,7 +177,7 @@ $: handlerPath &&
|
|
|
177
177
|
<ScriptPicker
|
|
178
178
|
disabled={!isEditable || !$enterpriseLicense}
|
|
179
179
|
initialPath={customInitialScriptPath}
|
|
180
|
-
kinds={[
|
|
180
|
+
kinds={['script', 'failure']}
|
|
181
181
|
allowFlow={true}
|
|
182
182
|
bind:scriptPath={handlerPath}
|
|
183
183
|
bind:itemKind={customHandlerKind}
|
|
@@ -10,7 +10,7 @@ declare const __propDef: {
|
|
|
10
10
|
handlerExtraArgs: Record<string, any>;
|
|
11
11
|
customInitialScriptPath: string | undefined;
|
|
12
12
|
customScriptTemplate: string;
|
|
13
|
-
customHandlerKind?: "
|
|
13
|
+
customHandlerKind?: "script" | "flow" | undefined;
|
|
14
14
|
};
|
|
15
15
|
events: {
|
|
16
16
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script>import { FlowService, ScheduleService, DraftService, ScriptService
|
|
1
|
+
<script>import { FlowService, ScheduleService, DraftService, ScriptService } from '../gen';
|
|
2
2
|
import { initHistory, push, redo, undo } from '../history';
|
|
3
3
|
import { copilotInfo, enterpriseLicense, tutorialsToDo, userStore, workspaceStore } from '../stores';
|
|
4
4
|
import { cleanValueProperties, encodeState, formatCron, orderedJsonStringify, sleep } from '../utils';
|
|
@@ -40,7 +40,6 @@ export let flowStore;
|
|
|
40
40
|
export let flowStateStore;
|
|
41
41
|
export let savedFlow = undefined;
|
|
42
42
|
export let diffDrawer = undefined;
|
|
43
|
-
export let gotoEdit = undefined;
|
|
44
43
|
const dispatch = createEventDispatcher();
|
|
45
44
|
async function createSchedule(path) {
|
|
46
45
|
const { cron, timezone, args, enabled, summary } = $scheduleStore;
|
|
@@ -553,7 +552,7 @@ async function genFlow(idx, flowModules, stepOnly = false) {
|
|
|
553
552
|
value: {
|
|
554
553
|
input_transforms: {},
|
|
555
554
|
content: '',
|
|
556
|
-
language:
|
|
555
|
+
language: module.lang ?? 'bun',
|
|
557
556
|
type: 'rawscript'
|
|
558
557
|
},
|
|
559
558
|
summary: module.description
|
|
@@ -639,7 +638,8 @@ async function genFlow(idx, flowModules, stepOnly = false) {
|
|
|
639
638
|
if (expr.includes('flow_input.') && !expr.includes('flow_input.iter.')) {
|
|
640
639
|
const flowInputKey = expr.match(/flow_input\.([A-Za-z0-9_]+)/)?.[1];
|
|
641
640
|
if (flowInputKey !== undefined &&
|
|
642
|
-
(!$flowStore.schema ||
|
|
641
|
+
(!$flowStore.schema ||
|
|
642
|
+
!(flowInputKey in ($flowStore.schema.properties ?? {}))) // prevent overriding flow inputs
|
|
643
643
|
) {
|
|
644
644
|
if (key in stepSchema.properties) {
|
|
645
645
|
copilotFlowInputs[flowInputKey] = stepSchema.properties[key];
|
|
@@ -689,7 +689,7 @@ async function genFlow(idx, flowModules, stepOnly = false) {
|
|
|
689
689
|
const schemaProperty = Object.entries(schema.properties).find((x) => x[0] === key)?.[1];
|
|
690
690
|
const snakeKey = snakeCase(key);
|
|
691
691
|
if (schemaProperty &&
|
|
692
|
-
(!$flowStore.schema || !(snakeKey in $flowStore.schema.properties)) // prevent overriding flow inputs
|
|
692
|
+
(!$flowStore.schema || !(snakeKey in $flowStore.schema.properties ?? {})) // prevent overriding flow inputs
|
|
693
693
|
) {
|
|
694
694
|
copilotFlowInputs[snakeKey] = schemaProperty;
|
|
695
695
|
if (schema.required.includes(snakeKey)) {
|
|
@@ -17,7 +17,6 @@ declare const __propDef: {
|
|
|
17
17
|
draft?: Flow | undefined;
|
|
18
18
|
}) | undefined;
|
|
19
19
|
diffDrawer?: DiffDrawer | undefined;
|
|
20
|
-
gotoEdit?: ((path: string, selected: string) => void) | undefined;
|
|
21
20
|
computeUnlockedSteps?: ((flow: Flow) => {
|
|
22
21
|
[k: string]: string;
|
|
23
22
|
}) | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { JobService } from '../gen';
|
|
2
2
|
import { workspaceStore } from '../stores';
|
|
3
3
|
import FlowJobResult from './FlowJobResult.svelte';
|
|
4
4
|
import FlowPreviewStatus from './preview/FlowPreviewStatus.svelte';
|
|
@@ -106,12 +106,11 @@ function updateStatus(status) {
|
|
|
106
106
|
function updateInnerModules() {
|
|
107
107
|
if ($localModuleStates) {
|
|
108
108
|
innerModules.forEach((mod, i) => {
|
|
109
|
-
if (mod.type ===
|
|
110
|
-
$localModuleStates?.[innerModules?.[i - 1]?.id ?? '']?.type ==
|
|
111
|
-
FlowStatusModule.type.SUCCESS) {
|
|
109
|
+
if (mod.type === 'WaitingForEvents' &&
|
|
110
|
+
$localModuleStates?.[innerModules?.[i - 1]?.id ?? '']?.type == 'Success') {
|
|
112
111
|
setModuleState(mod.id ?? '', { type: mod.type, args: job?.args });
|
|
113
112
|
}
|
|
114
|
-
else if (mod.type ===
|
|
113
|
+
else if (mod.type === 'WaitingForExecutor' &&
|
|
115
114
|
$localModuleStates[mod.id ?? '']?.scheduled_for == undefined) {
|
|
116
115
|
JobService.getJob({
|
|
117
116
|
workspace: workspaceId ?? $workspaceStore ?? '',
|
|
@@ -219,7 +218,7 @@ function onJobsLoaded(mod, job) {
|
|
|
219
218
|
let started_at = job.started_at ? new Date(job.started_at).getTime() : undefined;
|
|
220
219
|
if (job.type == 'QueuedJob') {
|
|
221
220
|
setModuleState(mod.id, {
|
|
222
|
-
type:
|
|
221
|
+
type: 'InProgress',
|
|
223
222
|
job_id: job.id,
|
|
224
223
|
logs: job.logs,
|
|
225
224
|
args: job.args,
|
|
@@ -234,7 +233,7 @@ function onJobsLoaded(mod, job) {
|
|
|
234
233
|
else {
|
|
235
234
|
setModuleState(mod.id, {
|
|
236
235
|
args: job.args,
|
|
237
|
-
type: job['success'] ?
|
|
236
|
+
type: job['success'] ? 'Success' : 'Failure',
|
|
238
237
|
logs: job.logs,
|
|
239
238
|
result: job['result'],
|
|
240
239
|
job_id: job.id,
|
|
@@ -285,7 +284,7 @@ function innerJobLoaded(jobLoaded, j) {
|
|
|
285
284
|
initializeByJob(modId);
|
|
286
285
|
if (jobLoaded.type == 'QueuedJob') {
|
|
287
286
|
setModuleState(modId, {
|
|
288
|
-
type:
|
|
287
|
+
type: 'InProgress',
|
|
289
288
|
started_at,
|
|
290
289
|
logs: jobLoaded.logs,
|
|
291
290
|
job_id,
|
|
@@ -303,7 +302,7 @@ function innerJobLoaded(jobLoaded, j) {
|
|
|
303
302
|
setModuleState(modId, {
|
|
304
303
|
started_at,
|
|
305
304
|
args: jobLoaded.args,
|
|
306
|
-
type: jobLoaded.success ?
|
|
305
|
+
type: jobLoaded.success ? 'Success' : 'Failure',
|
|
307
306
|
logs: 'All jobs completed',
|
|
308
307
|
result: jobResults,
|
|
309
308
|
job_id,
|
|
@@ -416,7 +415,7 @@ function loadPreviousIters(lenToAdd) {
|
|
|
416
415
|
logs={job.logs}
|
|
417
416
|
/>
|
|
418
417
|
</div>
|
|
419
|
-
{:else if job.flow_status?.modules?.[job?.flow_status?.step]?.type ===
|
|
418
|
+
{:else if job.flow_status?.modules?.[job?.flow_status?.step]?.type === 'WaitingForEvents'}
|
|
420
419
|
<FlowStatusWaitingForEvents {workspaceId} {job} {isOwner} />
|
|
421
420
|
{:else if $suspendStatus && Object.keys($suspendStatus).length > 0}
|
|
422
421
|
<div class="flex gap-2 flex-col">
|
|
@@ -438,7 +437,7 @@ function loadPreviousIters(lenToAdd) {
|
|
|
438
437
|
{:else if innerModules?.length > 0}
|
|
439
438
|
<div class="flex flex-col gap-1">
|
|
440
439
|
{#each innerModules as mod, i (mod.id)}
|
|
441
|
-
{#if mod.type ==
|
|
440
|
+
{#if mod.type == 'InProgress'}
|
|
442
441
|
{@const rawMod = job.raw_flow?.modules[i]}
|
|
443
442
|
|
|
444
443
|
<div
|
|
@@ -575,7 +574,7 @@ function loadPreviousIters(lenToAdd) {
|
|
|
575
574
|
<div class="line w-8 h-10" />
|
|
576
575
|
{/if}
|
|
577
576
|
<li class="w-full border p-6 space-y-2 bg-blue-50/50 dark:bg-frost-900/50">
|
|
578
|
-
{#if [
|
|
577
|
+
{#if ['InProgress', 'Success', 'Failure'].includes(mod.type)}
|
|
579
578
|
{#if job.raw_flow?.modules[i]?.value.type == 'flow'}
|
|
580
579
|
<svelte:self
|
|
581
580
|
globalModuleStates={[]}
|
|
@@ -735,9 +734,8 @@ function loadPreviousIters(lenToAdd) {
|
|
|
735
734
|
workspaceId={job?.workspace_id}
|
|
736
735
|
jobId={node.job_id}
|
|
737
736
|
noBorder
|
|
738
|
-
loading={node.type !=
|
|
739
|
-
|
|
740
|
-
refreshLog={node.type == FlowStatusModule.type.IN_PROGRESS}
|
|
737
|
+
loading={node.type != 'Success' && node.type != 'Failure'}
|
|
738
|
+
refreshLog={node.type == 'InProgress'}
|
|
741
739
|
col
|
|
742
740
|
result={node.result}
|
|
743
741
|
logs={node.logs}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
-
import { Job, type FlowModuleValue } from '../gen';
|
|
2
|
+
import { type Job, type FlowModuleValue } from '../gen';
|
|
3
3
|
import { type DurationStatus, type GraphModuleState } from './graph';
|
|
4
4
|
import { type Writable } from 'svelte/store';
|
|
5
5
|
declare const __propDef: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>import { mergeSchema } from '../common';
|
|
2
|
-
import {
|
|
2
|
+
import { JobService } from '../gen';
|
|
3
3
|
import { workspaceStore } from '../stores';
|
|
4
4
|
import { sendUserToast } from '../toast';
|
|
5
5
|
import { X } from 'lucide-svelte';
|
|
@@ -29,10 +29,10 @@ async function getDefaultArgs() {
|
|
|
29
29
|
return {};
|
|
30
30
|
}
|
|
31
31
|
lastJobId = jobId;
|
|
32
|
-
let job_result = await JobService.getCompletedJobResult({
|
|
32
|
+
let job_result = (await JobService.getCompletedJobResult({
|
|
33
33
|
workspace: workspaceId ?? $workspaceStore ?? '',
|
|
34
34
|
id: jobId
|
|
35
|
-
});
|
|
35
|
+
}));
|
|
36
36
|
const args = job_result?.default_args ?? {};
|
|
37
37
|
description = job_result?.description;
|
|
38
38
|
defaultValues = JSON.parse(JSON.stringify(args));
|
|
@@ -51,7 +51,8 @@ async function loadSettings() {
|
|
|
51
51
|
}
|
|
52
52
|
initialOauths = (await SettingService.getGlobal({ key: 'oauths' })) ?? {};
|
|
53
53
|
requirePreexistingUserForOauth =
|
|
54
|
-
(await SettingService.getGlobal({ key: 'require_preexisting_user_for_oauth' })) ??
|
|
54
|
+
(await SettingService.getGlobal({ key: 'require_preexisting_user_for_oauth' })) ??
|
|
55
|
+
false;
|
|
55
56
|
initialRequirePreexistingUserForOauth = requirePreexistingUserForOauth;
|
|
56
57
|
oauths = JSON.parse(JSON.stringify(initialOauths));
|
|
57
58
|
initialValues = Object.fromEntries((await Promise.all(Object.entries(settings).map(async ([_, y]) => await Promise.all(y.map(async (x) => [x.key, await getValue(x.key, x.storage)]))))).flat());
|
|
@@ -141,7 +142,8 @@ const windmillBuiltins = [
|
|
|
141
142
|
'gworkspace',
|
|
142
143
|
'basecamp',
|
|
143
144
|
'linkedin',
|
|
144
|
-
'quickbooks'
|
|
145
|
+
'quickbooks',
|
|
146
|
+
'visma'
|
|
145
147
|
];
|
|
146
148
|
let oauth_name = undefined;
|
|
147
149
|
async function sendStats() {
|