windmill-components 1.665.1 → 1.677.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/components/AddUser.svelte +67 -34
- package/package/components/AppConnectInner.svelte +9 -1
- package/package/components/ArgInfo.svelte +9 -1
- package/package/components/ArgInput.svelte +21 -1
- package/package/components/CompareWorkspaces.svelte +11 -2
- package/package/components/DedicatedWorkersSelector.svelte +262 -247
- package/package/components/DefaultTagsInner.svelte +40 -2
- package/package/components/DeployWorkspace.svelte +13 -0
- package/package/components/DiffEditor.svelte +44 -1
- package/package/components/EditableSchemaForm.svelte +5 -2
- package/package/components/EditableSchemaForm.svelte.d.ts +1 -0
- package/package/components/Editor.svelte +5 -1
- package/package/components/EditorBar.svelte +12 -3
- package/package/components/FilterSearchbar.svelte +26 -2
- package/package/components/FlowBuilder.svelte +6 -3
- package/package/components/FlowGraphDiffViewer.svelte +16 -17
- package/package/components/FlowGraphViewer.svelte +20 -6
- package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
- package/package/components/FlowGraphViewerStep.svelte +14 -32
- package/package/components/FlowMetadata.svelte +4 -1
- package/package/components/FlowPreviewContent.svelte +2 -0
- package/package/components/FlowStatusWaitingForEvents.svelte +25 -4
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InstanceSetting.svelte +9 -25
- package/package/components/InstanceSettings.svelte +16 -0
- package/package/components/LabelsInput.svelte +149 -0
- package/package/components/LabelsInput.svelte.d.ts +8 -0
- package/package/components/Login.svelte +6 -1
- package/package/components/ObjectStoreConfigSettings.svelte +273 -1
- package/package/components/OktaSetting.svelte +6 -5
- package/package/components/Password.svelte +74 -20
- package/package/components/Password.svelte.d.ts +1 -0
- package/package/components/PasswordArgInput.svelte +2 -2
- package/package/components/PasswordArgInput.svelte.d.ts +1 -0
- package/package/components/Path.svelte +8 -10
- package/package/components/PathNameAutocomplete.svelte +308 -0
- package/package/components/PathNameAutocomplete.svelte.d.ts +27 -0
- package/package/components/PowerShellCommonParams.svelte +84 -0
- package/package/components/PowerShellCommonParams.svelte.d.ts +6 -0
- package/package/components/Range.svelte +8 -3
- package/package/components/ResourceEditor.svelte +6 -2
- package/package/components/RunForm.svelte +71 -7
- package/package/components/RunForm.svelte.d.ts +2 -1
- package/package/components/ScriptBuilder.svelte +7 -3
- package/package/components/ScriptEditor.svelte +221 -187
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ScriptSchema.svelte +1 -1
- package/package/components/StringTypeNarrowing.svelte +1 -1
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
- package/package/components/SummaryPathDisplay.svelte +32 -10
- package/package/components/SummaryPathDisplay.svelte.d.ts +2 -1
- package/package/components/VariableEditor.svelte +9 -2
- package/package/components/WorkerGroup.svelte +47 -2
- package/package/components/apps/editor/DeploymentHistory.svelte +112 -13
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +135 -35
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +3 -1
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +11 -35
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.d.ts +10 -0
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.js +14 -0
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.test.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.test.js +34 -0
- package/package/components/assets/AssetButtons.svelte +21 -25
- package/package/components/assets/AssetsUsageDrawer.svelte +7 -9
- package/package/components/common/fileUpload/FileUpload.svelte +6 -2
- package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
- package/package/components/common/table/AppRow.svelte +18 -0
- package/package/components/common/table/FlowRow.svelte +18 -0
- package/package/components/common/table/ScriptRow.svelte +18 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +3 -3
- package/package/components/copilot/chat/flow/openFlow.json +1 -1
- package/package/components/copilot/chat/flow/openFlowZod.js +3 -3
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/details/DetailPageHeader.svelte +2 -2
- package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
- package/package/components/flows/agentToolUtils.d.ts +5 -0
- package/package/components/flows/agentToolUtils.js +49 -0
- package/package/components/flows/agentToolUtils.test.d.ts +1 -0
- package/package/components/flows/agentToolUtils.test.js +55 -0
- package/package/components/flows/content/FlowInput.svelte +2 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
- package/package/components/flows/content/FlowLoop.svelte +5 -12
- package/package/components/flows/content/FlowModuleScript.svelte +5 -3
- package/package/components/flows/content/FlowPathViewer.svelte +2 -2
- package/package/components/flows/content/FlowPathViewer.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowSettings.svelte +2 -0
- package/package/components/flows/content/FlowWhileLoop.svelte +5 -12
- package/package/components/flows/flowInfers.js +8 -3
- package/package/components/flows/flowStore.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +49 -9
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +5 -3
- package/package/components/flows/scheduleUtils.js +2 -1
- package/package/components/graph/FlowGraphV2.svelte +13 -1
- package/package/components/graph/WacDiagram.svelte +96 -0
- package/package/components/graph/WacDiagram.svelte.d.ts +7 -0
- package/package/components/graph/noteEditor.svelte.d.ts +1 -1
- package/package/components/graph/noteEditor.svelte.js +12 -1
- package/package/components/graph/noteUtils.svelte.d.ts +1 -1
- package/package/components/graph/noteUtils.svelte.js +9 -2
- package/package/components/graph/renderers/edges/WacEdge.svelte +41 -0
- package/package/components/graph/renderers/edges/WacEdge.svelte.d.ts +4 -0
- package/package/components/graph/renderers/nodes/WacControlNode.svelte +51 -0
- package/package/components/graph/renderers/nodes/WacControlNode.svelte.d.ts +9 -0
- package/package/components/graph/renderers/nodes/WacStepNode.svelte +35 -0
- package/package/components/graph/renderers/nodes/WacStepNode.svelte.d.ts +9 -0
- package/package/components/graph/wacDagLayout.d.ts +10 -0
- package/package/components/graph/wacDagLayout.js +120 -0
- package/package/components/graph/wacToFlow.js +1 -1
- package/package/components/home/ItemsList.svelte +28 -4
- package/package/components/icons/RIcon.svelte +32 -0
- package/package/components/icons/RIcon.svelte.d.ts +7 -0
- package/package/components/instanceSettings/DbHealth.svelte +723 -0
- package/package/components/instanceSettings/DbHealth.svelte.d.ts +3 -0
- package/package/components/instanceSettings/SecretBackendConfig.svelte +343 -304
- package/package/components/instanceSettings/SmtpSettings.svelte +8 -0
- package/package/components/instanceSettings.js +14 -5
- package/package/components/mcp/McpScopeSelector.svelte +82 -16
- package/package/components/moveRenameManager.d.ts +1 -0
- package/package/components/moveRenameManager.js +7 -4
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +14 -1
- package/package/components/raw_apps/rawAppPolicy.js +3 -2
- package/package/components/raw_apps/utils.test.d.ts +1 -0
- package/package/components/raw_apps/utils.test.js +38 -0
- package/package/components/resources/resourcesFilter.d.ts +15 -2
- package/package/components/resources/resourcesFilter.js +11 -2
- package/package/components/runs/JobDetailFieldConfig.js +5 -3
- package/package/components/runs/JobDetailHeader.svelte +5 -2
- package/package/components/runs/JobRunsPreview.svelte +1 -0
- package/package/components/runs/RunBadges.svelte +7 -4
- package/package/components/runs/RunRow.svelte +7 -7
- package/package/components/schedules/schedulesFilter.d.ts +15 -2
- package/package/components/schedules/schedulesFilter.js +11 -2
- package/package/components/schema/EditableSchemaWrapper.svelte +6 -8
- package/package/components/schema/PropertyEditor.svelte +22 -1
- package/package/components/schema/PropertyEditor.svelte.d.ts +1 -0
- package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
- package/package/components/secretArgUtils.d.ts +7 -0
- package/package/components/secretArgUtils.js +45 -0
- package/package/components/settings/WorkspaceUserSettings.svelte +359 -286
- package/package/components/sidebar/OperatorMenu.svelte +215 -197
- package/package/components/triggers/CaptureWrapper.svelte +1 -1
- package/package/components/triggers/TriggerFilters.svelte +17 -5
- package/package/components/triggers/TriggerFilters.svelte.d.ts +2 -1
- package/package/components/triggers/kafka/KafkaCapture.svelte +6 -2
- package/package/components/triggers/kafka/KafkaCapture.svelte.d.ts +1 -1
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +5 -1
- package/package/components/triggers/kafka/utils.js +1 -0
- package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte.d.ts +1 -1
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +6 -0
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +87 -1
- package/package/components/triggers/websocket/utils.js +2 -0
- package/package/components/variables/variablesFilter.d.ts +15 -2
- package/package/components/variables/variablesFilter.js +11 -2
- package/package/components/worker_group.js +1 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte +33 -41
- package/package/consts.d.ts +1 -0
- package/package/consts.js +1 -0
- package/package/editorLangUtils.d.ts +1 -1
- package/package/editorLangUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +346 -4
- package/package/gen/schemas.gen.js +347 -5
- package/package/gen/services.gen.d.ts +163 -1
- package/package/gen/services.gen.js +323 -17
- package/package/gen/types.gen.d.ts +671 -5
- package/package/hubPaths.json +6 -3
- package/package/infer.d.ts +55 -0
- package/package/infer.js +131 -0
- package/package/infer.svelte.js +2 -0
- package/package/mcpEndpointTools.js +213 -22
- package/package/script_helpers.d.ts +3 -0
- package/package/script_helpers.js +26 -0
- package/package/scripts.d.ts +2 -1
- package/package/scripts.js +15 -3
- package/package/stores.d.ts +2 -0
- package/package/system_prompts/prompts.d.ts +6 -5
- package/package/system_prompts/prompts.js +188 -29
- package/package/user.js +5 -1
- package/package/utils.js +21 -0
- package/package/utils_deployable.d.ts +11 -0
- package/package/utils_workspace_deploy.js +36 -8
- package/package.json +5 -4
package/package/hubPaths.json
CHANGED
|
@@ -25,10 +25,12 @@
|
|
|
25
25
|
"deprecated_gitSync_23": "hub/28160/sync-script-to-git-repo-windmill",
|
|
26
26
|
"deprecated_gitSync_24": "hub/28176/sync-script-to-git-repo-windmill",
|
|
27
27
|
"deprecated_gitSync_latest": "hub/28180/sync-script-to-git-repo-windmill",
|
|
28
|
-
"
|
|
28
|
+
"deprecated_gitSync_25": "hub/28183/sync-script-to-git-repo-windmill",
|
|
29
|
+
"gitSyncTest": "hub/28184/git-repo-test-read-write-windmill",
|
|
29
30
|
"gitInitRepo_0": "hub/28134/git-sync%3A-init-repository-windmill",
|
|
30
31
|
"gitInitRepo_1": "hub/28158/git-sync%3A-init-repository-windmill",
|
|
31
|
-
"
|
|
32
|
+
"gitInitRepo_2": "hub/28174/git-sync%3A-init-repository-windmill",
|
|
33
|
+
"gitInitRepo": "hub/28181/git-sync%3A-init-repository-windmill",
|
|
32
34
|
"slackErrorHandler": "hub/19741/workspace-or-schedule-error-handler-slack",
|
|
33
35
|
"slackErrorHandler_0": "hub/9079/workspace-or-schedule-error-handler-slack",
|
|
34
36
|
"slackErrorHandler_1": "hub/9206/workspace-or-schedule-error-handler-slack",
|
|
@@ -45,5 +47,6 @@
|
|
|
45
47
|
"appReport": "hub/28076/app-report",
|
|
46
48
|
"cloneRepoToS3forGitRepoViewer_0": "hub/19825/clone_repo_and_upload_to_instance_storage",
|
|
47
49
|
"cloneRepoToS3forGitRepoViewer_1": "hub/19827/clone_repo_and_upload_to_instance_storage",
|
|
48
|
-
"
|
|
50
|
+
"cloneRepoToS3forGitRepoViewer_2": "hub/28175/clone_repo_and_upload_to_instance_storage",
|
|
51
|
+
"cloneRepoToS3forGitRepoViewer": "hub/28182/clone_repo_and_upload_to_instance_storage"
|
|
49
52
|
}
|
package/package/infer.d.ts
CHANGED
|
@@ -2,6 +2,60 @@ import { type AssetUsageAccessType } from './gen';
|
|
|
2
2
|
import type { Schema, SupportedLanguage } from './common.js';
|
|
3
3
|
import { type AssetWithAccessType } from './components/assets/lib.js';
|
|
4
4
|
export declare function initWasmTs(): Promise<void>;
|
|
5
|
+
export type WacDagNode = {
|
|
6
|
+
id: string;
|
|
7
|
+
node_type: {
|
|
8
|
+
type: 'Step';
|
|
9
|
+
name: string;
|
|
10
|
+
script: string;
|
|
11
|
+
} | {
|
|
12
|
+
type: 'InlineStep';
|
|
13
|
+
name: string;
|
|
14
|
+
} | {
|
|
15
|
+
type: 'Sleep';
|
|
16
|
+
seconds: string;
|
|
17
|
+
} | {
|
|
18
|
+
type: 'WaitForApproval';
|
|
19
|
+
} | {
|
|
20
|
+
type: 'Branch';
|
|
21
|
+
condition_source: string;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'ParallelStart';
|
|
24
|
+
} | {
|
|
25
|
+
type: 'ParallelEnd';
|
|
26
|
+
} | {
|
|
27
|
+
type: 'LoopStart';
|
|
28
|
+
iter_source: string;
|
|
29
|
+
} | {
|
|
30
|
+
type: 'LoopEnd';
|
|
31
|
+
} | {
|
|
32
|
+
type: 'Merge';
|
|
33
|
+
} | {
|
|
34
|
+
type: 'Return';
|
|
35
|
+
};
|
|
36
|
+
label: string;
|
|
37
|
+
line: number;
|
|
38
|
+
};
|
|
39
|
+
export type WacDagEdge = {
|
|
40
|
+
from: string;
|
|
41
|
+
to: string;
|
|
42
|
+
label?: string;
|
|
43
|
+
};
|
|
44
|
+
export type WacWorkflowDag = {
|
|
45
|
+
nodes: WacDagNode[];
|
|
46
|
+
edges: WacDagEdge[];
|
|
47
|
+
params: {
|
|
48
|
+
name: string;
|
|
49
|
+
typ?: string;
|
|
50
|
+
}[];
|
|
51
|
+
source_hash: string;
|
|
52
|
+
};
|
|
53
|
+
export declare function parseWacDag(code: string, language: string): Promise<WacWorkflowDag | {
|
|
54
|
+
errors: {
|
|
55
|
+
message: string;
|
|
56
|
+
line: number;
|
|
57
|
+
}[];
|
|
58
|
+
} | null>;
|
|
5
59
|
type InferAssetsResult = {
|
|
6
60
|
status: 'ok';
|
|
7
61
|
assets: AssetWithAccessType[];
|
|
@@ -19,6 +73,7 @@ export type InferAssetsSqlQueryDetails = {
|
|
|
19
73
|
source_kind: 'datatable' | 'ducklake';
|
|
20
74
|
source_name: string;
|
|
21
75
|
source_schema?: string;
|
|
76
|
+
has_raw_interpolation?: boolean;
|
|
22
77
|
prepared?: PreparedAssetsSqlQuery;
|
|
23
78
|
};
|
|
24
79
|
export type PreparedAssetsSqlQuery = {
|
package/package/infer.js
CHANGED
|
@@ -14,6 +14,7 @@ import initCSharpParser, { parse_csharp } from 'windmill-parser-wasm-csharp';
|
|
|
14
14
|
import initNuParser, { parse_nu } from 'windmill-parser-wasm-nu';
|
|
15
15
|
import initJavaParser, { parse_java } from 'windmill-parser-wasm-java';
|
|
16
16
|
import initRubyParser, { parse_ruby } from 'windmill-parser-wasm-ruby';
|
|
17
|
+
import initRParser, { parse_r } from 'windmill-parser-wasm-r';
|
|
17
18
|
import wasmUrlTs from 'windmill-parser-wasm-ts/windmill_parser_wasm_bg.wasm?url';
|
|
18
19
|
import wasmUrlRegex from 'windmill-parser-wasm-regex/windmill_parser_wasm_bg.wasm?url';
|
|
19
20
|
import wasmUrlPy from 'windmill-parser-wasm-py/windmill_parser_wasm_bg.wasm?url';
|
|
@@ -25,7 +26,10 @@ import wasmUrlCSharp from 'windmill-parser-wasm-csharp/windmill_parser_wasm_bg.w
|
|
|
25
26
|
import wasmUrlNu from 'windmill-parser-wasm-nu/windmill_parser_wasm_bg.wasm?url';
|
|
26
27
|
import wasmUrlJava from 'windmill-parser-wasm-java/windmill_parser_wasm_bg.wasm?url';
|
|
27
28
|
import wasmUrlRuby from 'windmill-parser-wasm-ruby/windmill_parser_wasm_bg.wasm?url';
|
|
29
|
+
import wasmUrlR from 'windmill-parser-wasm-r/windmill_parser_wasm_bg.wasm?url';
|
|
28
30
|
import wasmUrlAsset from 'windmill-parser-wasm-asset/windmill_parser_wasm_bg.wasm?url';
|
|
31
|
+
import initWacParser, { parse_workflow_as_code } from 'windmill-parser-wasm-wac';
|
|
32
|
+
import wasmUrlWac from 'windmill-parser-wasm-wac/windmill_parser_wasm_bg.wasm?url';
|
|
29
33
|
import { workspaceStore } from './stores.js';
|
|
30
34
|
import { argSigToJsonSchemaType } from 'windmill-utils-internal';
|
|
31
35
|
import {} from './components/assets/lib.js';
|
|
@@ -67,9 +71,36 @@ async function initWasmJava() {
|
|
|
67
71
|
async function initWasmRuby() {
|
|
68
72
|
await initRubyParser(wasmUrlRuby);
|
|
69
73
|
}
|
|
74
|
+
async function initWasmR() {
|
|
75
|
+
await initRParser(wasmUrlR);
|
|
76
|
+
}
|
|
70
77
|
async function initWasmAsset() {
|
|
71
78
|
await initAssetParser(wasmUrlAsset);
|
|
72
79
|
}
|
|
80
|
+
let initializeWacPromise = undefined;
|
|
81
|
+
async function initWasmWac() {
|
|
82
|
+
if (initializeWacPromise == undefined) {
|
|
83
|
+
initializeWacPromise = initWacParser(wasmUrlWac);
|
|
84
|
+
}
|
|
85
|
+
await initializeWacPromise;
|
|
86
|
+
}
|
|
87
|
+
export async function parseWacDag(code, language) {
|
|
88
|
+
try {
|
|
89
|
+
await initWasmWac();
|
|
90
|
+
const raw = parse_workflow_as_code(code, language);
|
|
91
|
+
const result = JSON.parse(raw);
|
|
92
|
+
if (result.type === 'success') {
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
else if (result.type === 'error') {
|
|
96
|
+
return { errors: result.errors };
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
73
104
|
function parseVolumeAnnotations(code, commentPrefix) {
|
|
74
105
|
const volumes = [];
|
|
75
106
|
for (const line of code.split('\n')) {
|
|
@@ -93,6 +124,7 @@ function getCommentPrefix(language) {
|
|
|
93
124
|
case 'powershell':
|
|
94
125
|
case 'ansible':
|
|
95
126
|
case 'ruby':
|
|
127
|
+
case 'rlang':
|
|
96
128
|
return '#';
|
|
97
129
|
case 'deno':
|
|
98
130
|
case 'bun':
|
|
@@ -301,6 +333,15 @@ export async function inferArgs(language, code, schema, mainOverride) {
|
|
|
301
333
|
else if (language == 'ruby') {
|
|
302
334
|
await initWasmRuby();
|
|
303
335
|
inferedSchema = JSON.parse(parse_ruby(code));
|
|
336
|
+
}
|
|
337
|
+
else if (language == 'rlang') {
|
|
338
|
+
try {
|
|
339
|
+
await initWasmR();
|
|
340
|
+
inferedSchema = JSON.parse(parse_r(code));
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
inferedSchema = parseRSignatureFallback(code);
|
|
344
|
+
}
|
|
304
345
|
// for related places search: ADD_NEW_LANG
|
|
305
346
|
}
|
|
306
347
|
else {
|
|
@@ -334,6 +375,18 @@ export async function inferArgs(language, code, schema, mainOverride) {
|
|
|
334
375
|
schema.required.push(arg.name);
|
|
335
376
|
}
|
|
336
377
|
}
|
|
378
|
+
// Store PowerShell CmdletBinding metadata as schema extensions
|
|
379
|
+
const psSchema = inferedSchema;
|
|
380
|
+
if (language === 'powershell' && psSchema.has_cmd_binding) {
|
|
381
|
+
;
|
|
382
|
+
schema['x-windmill-ps-cmd-binding'] = true;
|
|
383
|
+
schema['x-windmill-ps-supports-should-process'] =
|
|
384
|
+
psSchema.supports_should_process ?? false;
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
delete schema['x-windmill-ps-cmd-binding'];
|
|
388
|
+
delete schema['x-windmill-ps-supports-should-process'];
|
|
389
|
+
}
|
|
337
390
|
await tick();
|
|
338
391
|
return {
|
|
339
392
|
auto_kind: inferedSchema.auto_kind,
|
|
@@ -417,3 +470,81 @@ export async function parseOutputs(code, ignoreError) {
|
|
|
417
470
|
}
|
|
418
471
|
return outputs.error ? [] : outputs.outputs;
|
|
419
472
|
}
|
|
473
|
+
/** JS fallback parser for R main() signatures when WASM parser is unavailable. */
|
|
474
|
+
function parseRSignatureFallback(code) {
|
|
475
|
+
const result = {
|
|
476
|
+
type: 'Valid',
|
|
477
|
+
error: '',
|
|
478
|
+
star_args: false,
|
|
479
|
+
star_kwargs: false,
|
|
480
|
+
args: [],
|
|
481
|
+
has_preprocessor: null,
|
|
482
|
+
auto_kind: null
|
|
483
|
+
};
|
|
484
|
+
const mainMatch = code.match(/\bmain\s*(?:<-|=)\s*function\s*\(([^)]*)\)/);
|
|
485
|
+
if (!mainMatch) {
|
|
486
|
+
return result;
|
|
487
|
+
}
|
|
488
|
+
const paramsStr = mainMatch[1].trim();
|
|
489
|
+
if (!paramsStr)
|
|
490
|
+
return result;
|
|
491
|
+
// Split params respecting nested parens
|
|
492
|
+
const params = [];
|
|
493
|
+
let depth = 0;
|
|
494
|
+
let current = '';
|
|
495
|
+
for (const ch of paramsStr) {
|
|
496
|
+
if ('([{'.includes(ch)) {
|
|
497
|
+
depth++;
|
|
498
|
+
current += ch;
|
|
499
|
+
}
|
|
500
|
+
else if (')]}'.includes(ch)) {
|
|
501
|
+
depth--;
|
|
502
|
+
current += ch;
|
|
503
|
+
}
|
|
504
|
+
else if (ch === ',' && depth === 0) {
|
|
505
|
+
params.push(current);
|
|
506
|
+
current = '';
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
current += ch;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
if (current.trim())
|
|
513
|
+
params.push(current);
|
|
514
|
+
for (const param of params) {
|
|
515
|
+
const trimmed = param.trim();
|
|
516
|
+
if (!trimmed)
|
|
517
|
+
continue;
|
|
518
|
+
const eqIndex = trimmed.indexOf('=');
|
|
519
|
+
if (eqIndex === -1) {
|
|
520
|
+
result.args.push({ name: trimmed, typ: 'unknown', has_default: false, default: undefined });
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
const name = trimmed.slice(0, eqIndex).trim();
|
|
524
|
+
const raw = trimmed.slice(eqIndex + 1).trim();
|
|
525
|
+
const parsed = parseRDefault(raw);
|
|
526
|
+
result.args.push({ name, typ: parsed.typ, has_default: true, default: parsed.value });
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
return result;
|
|
530
|
+
}
|
|
531
|
+
function parseRDefault(raw) {
|
|
532
|
+
if (raw === 'TRUE' || raw === 'true')
|
|
533
|
+
return { value: true, typ: 'bool' };
|
|
534
|
+
if (raw === 'FALSE' || raw === 'false')
|
|
535
|
+
return { value: false, typ: 'bool' };
|
|
536
|
+
if (raw === 'NULL')
|
|
537
|
+
return { value: null, typ: 'unknown' };
|
|
538
|
+
if (/^-?\d+(\.\d+)?$/.test(raw)) {
|
|
539
|
+
const num = Number(raw);
|
|
540
|
+
if (Number.isInteger(num) && !raw.includes('.'))
|
|
541
|
+
return { value: num, typ: 'int' };
|
|
542
|
+
return { value: num, typ: 'float' };
|
|
543
|
+
}
|
|
544
|
+
const strMatch = raw.match(/^"((?:[^"\\]|\\.)*)"$/) || raw.match(/^'((?:[^'\\]|\\.)*)'$/);
|
|
545
|
+
if (strMatch)
|
|
546
|
+
return { value: strMatch[1], typ: { str: null } };
|
|
547
|
+
if (raw.startsWith('list(') || raw.startsWith('c('))
|
|
548
|
+
return { value: null, typ: { list: null } };
|
|
549
|
+
return { value: null, typ: 'unknown' };
|
|
550
|
+
}
|
package/package/infer.svelte.js
CHANGED
|
@@ -16,6 +16,8 @@ export function usePreparedAssetSqlQueries(_getQueries, getWorkspace) {
|
|
|
16
16
|
let map = new MapResource(() => Object.fromEntries(getQueries.value?.map((q) => [computeQueryKey(q, getWorkspace() ?? ''), q]) || []), async (toFetch) => {
|
|
17
17
|
let queries = Object.entries(clone(toFetch));
|
|
18
18
|
queries = queries.filter(([_, q]) => q.source_kind === 'datatable' || q.source_kind === 'ducklake');
|
|
19
|
+
// Skip queries with raw interpolations — they can't be prepared
|
|
20
|
+
queries = queries.filter(([_, q]) => !q.has_raw_interpolation);
|
|
19
21
|
// We only support preparing single-statement queries for now.
|
|
20
22
|
queries = queries.filter(([_, q]) => getQueryStmtCountHeuristic(q.query_string) === 1);
|
|
21
23
|
if (!queries?.length)
|