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.
Files changed (253) hide show
  1. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  2. package/dist/sharedUtils/base.d.ts +1 -0
  3. package/dist/sharedUtils/cloud.d.ts +1 -0
  4. package/dist/sharedUtils/common.d.ts +111 -0
  5. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
  11. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  12. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
  14. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  15. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
  16. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  17. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  19. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  20. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  21. package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
  22. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  23. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
  24. package/dist/sharedUtils/components/apps/types.d.ts +274 -0
  25. package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
  26. package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
  27. package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
  28. package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
  29. package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
  30. package/dist/sharedUtils/components/common/index.d.ts +24 -0
  31. package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
  32. package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
  33. package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
  34. package/dist/sharedUtils/components/ducklake.d.ts +1 -0
  35. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
  36. package/dist/sharedUtils/components/icons/index.d.ts +101 -0
  37. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
  38. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  39. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  40. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  41. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  42. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  43. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  46. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  47. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  48. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  49. package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
  50. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  51. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  52. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  53. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  54. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  55. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  56. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  57. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  58. package/dist/sharedUtils/gen/index.d.ts +6 -0
  59. package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
  60. package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
  61. package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
  62. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  63. package/dist/sharedUtils/hub.d.ts +49 -0
  64. package/dist/sharedUtils/jsr.json +6 -0
  65. package/dist/sharedUtils/lib.d.ts +5 -0
  66. package/dist/sharedUtils/lib.es.js +1588 -0
  67. package/dist/sharedUtils/package.json +12 -0
  68. package/dist/sharedUtils/schema.d.ts +3 -0
  69. package/dist/sharedUtils/stores.d.ts +97 -0
  70. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
  71. package/dist/sharedUtils/toast.d.ts +8 -0
  72. package/dist/sharedUtils/utils.d.ts +265 -0
  73. package/package/components/AddUser.svelte +67 -34
  74. package/package/components/AppConnectInner.svelte +9 -1
  75. package/package/components/ArgInfo.svelte +9 -1
  76. package/package/components/ArgInput.svelte +21 -1
  77. package/package/components/CompareWorkspaces.svelte +11 -2
  78. package/package/components/DedicatedWorkersSelector.svelte +262 -247
  79. package/package/components/DefaultTagsInner.svelte +40 -2
  80. package/package/components/DeployWorkspace.svelte +13 -0
  81. package/package/components/DiffEditor.svelte +44 -1
  82. package/package/components/EditableSchemaForm.svelte +5 -2
  83. package/package/components/EditableSchemaForm.svelte.d.ts +1 -0
  84. package/package/components/Editor.svelte +5 -1
  85. package/package/components/EditorBar.svelte +12 -3
  86. package/package/components/FilterSearchbar.svelte +26 -2
  87. package/package/components/FlowBuilder.svelte +6 -3
  88. package/package/components/FlowGraphDiffViewer.svelte +16 -17
  89. package/package/components/FlowGraphViewer.svelte +20 -6
  90. package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
  91. package/package/components/FlowGraphViewerStep.svelte +14 -32
  92. package/package/components/FlowMetadata.svelte +4 -1
  93. package/package/components/FlowPreviewContent.svelte +2 -0
  94. package/package/components/FlowStatusWaitingForEvents.svelte +25 -4
  95. package/package/components/HighlightCode.svelte +3 -0
  96. package/package/components/InstanceSetting.svelte +9 -25
  97. package/package/components/InstanceSettings.svelte +16 -0
  98. package/package/components/LabelsInput.svelte +149 -0
  99. package/package/components/LabelsInput.svelte.d.ts +8 -0
  100. package/package/components/Login.svelte +6 -1
  101. package/package/components/ObjectStoreConfigSettings.svelte +273 -1
  102. package/package/components/OktaSetting.svelte +6 -5
  103. package/package/components/Password.svelte +74 -20
  104. package/package/components/Password.svelte.d.ts +1 -0
  105. package/package/components/PasswordArgInput.svelte +2 -2
  106. package/package/components/PasswordArgInput.svelte.d.ts +1 -0
  107. package/package/components/Path.svelte +8 -10
  108. package/package/components/PathNameAutocomplete.svelte +308 -0
  109. package/package/components/PathNameAutocomplete.svelte.d.ts +27 -0
  110. package/package/components/PowerShellCommonParams.svelte +84 -0
  111. package/package/components/PowerShellCommonParams.svelte.d.ts +6 -0
  112. package/package/components/Range.svelte +8 -3
  113. package/package/components/ResourceEditor.svelte +6 -2
  114. package/package/components/RunForm.svelte +71 -7
  115. package/package/components/RunForm.svelte.d.ts +2 -1
  116. package/package/components/ScriptBuilder.svelte +7 -3
  117. package/package/components/ScriptEditor.svelte +221 -187
  118. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  119. package/package/components/ScriptSchema.svelte +1 -1
  120. package/package/components/StringTypeNarrowing.svelte +1 -1
  121. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  122. package/package/components/SummaryPathDisplay.svelte +32 -10
  123. package/package/components/SummaryPathDisplay.svelte.d.ts +2 -1
  124. package/package/components/VariableEditor.svelte +9 -2
  125. package/package/components/WorkerGroup.svelte +47 -2
  126. package/package/components/apps/editor/DeploymentHistory.svelte +112 -13
  127. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +135 -35
  128. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +3 -1
  129. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +11 -35
  130. package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.d.ts +10 -0
  131. package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.js +14 -0
  132. package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.test.d.ts +1 -0
  133. package/package/components/apps/editor/settingsPanel/mainInput/runnableSelectorUtils.test.js +34 -0
  134. package/package/components/assets/AssetButtons.svelte +21 -25
  135. package/package/components/assets/AssetsUsageDrawer.svelte +7 -9
  136. package/package/components/common/fileUpload/FileUpload.svelte +6 -2
  137. package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
  138. package/package/components/common/table/AppRow.svelte +18 -0
  139. package/package/components/common/table/FlowRow.svelte +18 -0
  140. package/package/components/common/table/ScriptRow.svelte +18 -0
  141. package/package/components/copilot/chat/AIChatManager.svelte.js +3 -3
  142. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  143. package/package/components/copilot/chat/flow/openFlowZod.js +3 -3
  144. package/package/components/custom_ui.d.ts +2 -0
  145. package/package/components/details/DetailPageHeader.svelte +2 -2
  146. package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
  147. package/package/components/flows/agentToolUtils.d.ts +5 -0
  148. package/package/components/flows/agentToolUtils.js +49 -0
  149. package/package/components/flows/agentToolUtils.test.d.ts +1 -0
  150. package/package/components/flows/agentToolUtils.test.js +55 -0
  151. package/package/components/flows/content/FlowInput.svelte +2 -0
  152. package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
  153. package/package/components/flows/content/FlowLoop.svelte +5 -12
  154. package/package/components/flows/content/FlowModuleScript.svelte +5 -3
  155. package/package/components/flows/content/FlowPathViewer.svelte +2 -2
  156. package/package/components/flows/content/FlowPathViewer.svelte.d.ts +1 -0
  157. package/package/components/flows/content/FlowSettings.svelte +2 -0
  158. package/package/components/flows/content/FlowWhileLoop.svelte +5 -12
  159. package/package/components/flows/flowInfers.js +8 -3
  160. package/package/components/flows/flowStore.svelte.d.ts +1 -1
  161. package/package/components/flows/map/FlowModuleSchemaMap.svelte +49 -9
  162. package/package/components/flows/pickers/PickHubScriptQuick.svelte +5 -3
  163. package/package/components/flows/scheduleUtils.js +2 -1
  164. package/package/components/graph/FlowGraphV2.svelte +13 -1
  165. package/package/components/graph/WacDiagram.svelte +96 -0
  166. package/package/components/graph/WacDiagram.svelte.d.ts +7 -0
  167. package/package/components/graph/noteEditor.svelte.d.ts +1 -1
  168. package/package/components/graph/noteEditor.svelte.js +12 -1
  169. package/package/components/graph/noteUtils.svelte.d.ts +1 -1
  170. package/package/components/graph/noteUtils.svelte.js +9 -2
  171. package/package/components/graph/renderers/edges/WacEdge.svelte +41 -0
  172. package/package/components/graph/renderers/edges/WacEdge.svelte.d.ts +4 -0
  173. package/package/components/graph/renderers/nodes/WacControlNode.svelte +51 -0
  174. package/package/components/graph/renderers/nodes/WacControlNode.svelte.d.ts +9 -0
  175. package/package/components/graph/renderers/nodes/WacStepNode.svelte +35 -0
  176. package/package/components/graph/renderers/nodes/WacStepNode.svelte.d.ts +9 -0
  177. package/package/components/graph/wacDagLayout.d.ts +10 -0
  178. package/package/components/graph/wacDagLayout.js +120 -0
  179. package/package/components/graph/wacToFlow.js +1 -1
  180. package/package/components/home/ItemsList.svelte +28 -4
  181. package/package/components/icons/RIcon.svelte +32 -0
  182. package/package/components/icons/RIcon.svelte.d.ts +7 -0
  183. package/package/components/instanceSettings/DbHealth.svelte +723 -0
  184. package/package/components/instanceSettings/DbHealth.svelte.d.ts +3 -0
  185. package/package/components/instanceSettings/SecretBackendConfig.svelte +343 -304
  186. package/package/components/instanceSettings/SmtpSettings.svelte +8 -0
  187. package/package/components/instanceSettings.js +14 -5
  188. package/package/components/mcp/McpScopeSelector.svelte +82 -16
  189. package/package/components/moveRenameManager.d.ts +1 -0
  190. package/package/components/moveRenameManager.js +7 -4
  191. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +14 -1
  192. package/package/components/raw_apps/rawAppPolicy.js +3 -2
  193. package/package/components/raw_apps/utils.test.d.ts +1 -0
  194. package/package/components/raw_apps/utils.test.js +38 -0
  195. package/package/components/resources/resourcesFilter.d.ts +15 -2
  196. package/package/components/resources/resourcesFilter.js +11 -2
  197. package/package/components/runs/JobDetailFieldConfig.js +5 -3
  198. package/package/components/runs/JobDetailHeader.svelte +5 -2
  199. package/package/components/runs/JobRunsPreview.svelte +1 -0
  200. package/package/components/runs/RunBadges.svelte +7 -4
  201. package/package/components/runs/RunRow.svelte +7 -7
  202. package/package/components/schedules/schedulesFilter.d.ts +15 -2
  203. package/package/components/schedules/schedulesFilter.js +11 -2
  204. package/package/components/schema/EditableSchemaWrapper.svelte +6 -8
  205. package/package/components/schema/PropertyEditor.svelte +22 -1
  206. package/package/components/schema/PropertyEditor.svelte.d.ts +1 -0
  207. package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
  208. package/package/components/secretArgUtils.d.ts +7 -0
  209. package/package/components/secretArgUtils.js +45 -0
  210. package/package/components/settings/WorkspaceUserSettings.svelte +359 -286
  211. package/package/components/sidebar/OperatorMenu.svelte +215 -197
  212. package/package/components/triggers/CaptureWrapper.svelte +1 -1
  213. package/package/components/triggers/TriggerFilters.svelte +17 -5
  214. package/package/components/triggers/TriggerFilters.svelte.d.ts +2 -1
  215. package/package/components/triggers/kafka/KafkaCapture.svelte +6 -2
  216. package/package/components/triggers/kafka/KafkaCapture.svelte.d.ts +1 -1
  217. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +5 -1
  218. package/package/components/triggers/kafka/utils.js +1 -0
  219. package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte.d.ts +1 -1
  220. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +6 -0
  221. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +87 -1
  222. package/package/components/triggers/websocket/utils.js +2 -0
  223. package/package/components/variables/variablesFilter.d.ts +15 -2
  224. package/package/components/variables/variablesFilter.js +11 -2
  225. package/package/components/worker_group.js +1 -0
  226. package/package/components/workspaceSettings/DucklakeSettings.svelte +33 -41
  227. package/package/consts.d.ts +1 -0
  228. package/package/consts.js +1 -0
  229. package/package/editorLangUtils.d.ts +1 -1
  230. package/package/editorLangUtils.js +2 -0
  231. package/package/gen/core/OpenAPI.js +1 -1
  232. package/package/gen/schemas.gen.d.ts +346 -4
  233. package/package/gen/schemas.gen.js +347 -5
  234. package/package/gen/services.gen.d.ts +163 -1
  235. package/package/gen/services.gen.js +323 -17
  236. package/package/gen/types.gen.d.ts +671 -5
  237. package/package/hubPaths.json +6 -3
  238. package/package/infer.d.ts +55 -0
  239. package/package/infer.js +131 -0
  240. package/package/infer.svelte.js +2 -0
  241. package/package/mcpEndpointTools.js +213 -22
  242. package/package/script_helpers.d.ts +3 -0
  243. package/package/script_helpers.js +26 -0
  244. package/package/scripts.d.ts +2 -1
  245. package/package/scripts.js +15 -3
  246. package/package/stores.d.ts +2 -0
  247. package/package/system_prompts/prompts.d.ts +6 -5
  248. package/package/system_prompts/prompts.js +188 -29
  249. package/package/user.js +5 -1
  250. package/package/utils.js +21 -0
  251. package/package/utils_deployable.d.ts +11 -0
  252. package/package/utils_workspace_deploy.js +36 -8
  253. package/package.json +5 -4
@@ -4,6 +4,7 @@ import { canWrite, emptyString, isOwner, urlize } from '../utils';
4
4
  import { createEventDispatcher, untrack } from 'svelte';
5
5
  import { Alert, Skeleton } from './common';
6
6
  import Path from './Path.svelte';
7
+ import LabelsInput from './LabelsInput.svelte';
7
8
  import Required from './Required.svelte';
8
9
  import { userStore, workspaceStore } from '../stores';
9
10
  import SchemaForm from './SchemaForm.svelte';
@@ -30,6 +31,7 @@ let can_write = $state(true);
30
31
  let initialPath = path;
31
32
  let resourceToEdit = $state(undefined);
32
33
  let description = $state('');
34
+ let labels = $state(undefined);
33
35
  let DESCRIPTION_PLACEHOLDER = `Describe what this resource is for`;
34
36
  let resourceSchema = $state(undefined);
35
37
  let args = $state({});
@@ -44,6 +46,7 @@ let rawCode = $state(undefined);
44
46
  async function initEdit() {
45
47
  resourceToEdit = await ResourceService.getResource({ workspace: effectiveWorkspace, path });
46
48
  description = resourceToEdit.description ?? '';
49
+ labels = resourceToEdit.labels ?? undefined;
47
50
  resource_type = resourceToEdit.resource_type;
48
51
  args = resourceToEdit?.value ?? {};
49
52
  loadResourceType();
@@ -68,7 +71,7 @@ export async function editResource() {
68
71
  await ResourceService.updateResource({
69
72
  workspace: effectiveWorkspace,
70
73
  path: resourceToEdit.path,
71
- requestBody: { path, value: args, description }
74
+ requestBody: { path, value: args, description, labels }
72
75
  });
73
76
  if (resourceToEdit.resource_type === 'json_schema') {
74
77
  clearJsonSchemaResourceCache(resourceToEdit.path, effectiveWorkspace);
@@ -83,7 +86,7 @@ export async function editResource() {
83
86
  export async function createResource() {
84
87
  await ResourceService.createResource({
85
88
  workspace: effectiveWorkspace,
86
- requestBody: { path, value: args, description, resource_type: resource_type }
89
+ requestBody: { path, value: args, description, resource_type: resource_type, labels }
87
90
  });
88
91
  sendUserToast(`Updated resource at ${path}`);
89
92
  dispatch('refresh', path);
@@ -190,6 +193,7 @@ run(() => {
190
193
  />
191
194
  </div>
192
195
  {/if}
196
+ <LabelsInput bind:labels class="-mt-4" />
193
197
 
194
198
  {#if !emptyString(resourceTypeInfo?.description)}
195
199
  <div class="flex flex-col gap-1">
@@ -1,4 +1,4 @@
1
- <script lang="ts">import { computeSharableHash as computeSharableHash, defaultIfEmptyString, emptyString, truncateHash } from '../utils';
1
+ <script lang="ts">import { computeSharableHash as computeSharableHash, defaultIfEmptyString, emptyString, truncateHash, sendUserToast } from '../utils';
2
2
  import { Badge, Button } from './common';
3
3
  import SchemaForm from './SchemaForm.svelte';
4
4
  import SharedBadge from './SharedBadge.svelte';
@@ -12,23 +12,63 @@ import JsonInputs from './JsonInputs.svelte';
12
12
  import { triggerableByAI } from '../actions/triggerableByAI.svelte';
13
13
  import InputSelectedBadge from './schema/InputSelectedBadge.svelte';
14
14
  import { untrack } from 'svelte';
15
+ import { processSecretArgs } from './secretArgUtils';
16
+ import PowerShellCommonParams from './PowerShellCommonParams.svelte';
15
17
  let reloadArgs = $state(0);
16
18
  let jsonEditor = $state(undefined);
17
19
  let schemaHeight = $state(0);
18
20
  let showInputSelectedBadge = $state(false);
19
21
  let savedPreviousArgs = $state(undefined);
22
+ let psCommonParams = $state({});
23
+ function extractPsCommonParams(allArgs) {
24
+ const scriptArgs = {};
25
+ const commonParams = {};
26
+ for (const [k, v] of Object.entries(allArgs)) {
27
+ if (k.startsWith('_wm_ps_')) {
28
+ commonParams[k] = v;
29
+ }
30
+ else {
31
+ scriptArgs[k] = v;
32
+ }
33
+ }
34
+ return { scriptArgs, commonParams };
35
+ }
20
36
  export async function setArgs(nargs) {
21
- args = nargs;
37
+ const { scriptArgs, commonParams } = extractPsCommonParams(nargs);
38
+ args = scriptArgs;
39
+ psCommonParams = commonParams;
22
40
  reloadArgs++;
23
41
  }
24
- export function run() {
25
- runAction(scheduledForStr, args ?? {}, invisible_to_owner, overrideTag);
42
+ export async function run(overrideScheduledForStr) {
43
+ let processedArgs;
44
+ try {
45
+ processedArgs = await processSecretArgs(enforceDisabledDefaults(args ?? {}, true), runnable?.schema);
46
+ }
47
+ catch (e) {
48
+ sendUserToast('Failed to process sensitive args: ' + e, true);
49
+ return;
50
+ }
51
+ if (showPsCommonParams) {
52
+ for (const [k, v] of Object.entries(psCommonParams)) {
53
+ if (v !== undefined && v !== false && v !== '') {
54
+ processedArgs[k] = v;
55
+ }
56
+ }
57
+ }
58
+ runAction(overrideScheduledForStr === null ? undefined : (overrideScheduledForStr ?? scheduledForStr), processedArgs, invisible_to_owner, overrideTag);
26
59
  }
27
60
  let { runnable, runAction, buttonText = 'Run', schedulable = true, detailed = true, autofocus = false, loading = false, noVariablePicker = false, viewKeybinding = false, scheduledForStr = $bindable(), invisible_to_owner = $bindable(), overrideTag = $bindable(), args = $bindable(), jsonView = false, isValid = $bindable(true) } = $props();
61
+ let showPsCommonParams = $derived(runnable?.language === 'powershell' && runnable?.schema?.['x-windmill-ps-cmd-binding'] === true);
28
62
  $effect.pre(() => {
29
63
  if (args == undefined) {
30
64
  args = {};
31
65
  }
66
+ // Extract _wm_ps_* keys from args on initial load (e.g. "Run again" via URL hash)
67
+ if (args && Object.keys(args).some((k) => k.startsWith('_wm_ps_'))) {
68
+ const { scriptArgs, commonParams } = extractPsCommonParams(args);
69
+ args = scriptArgs;
70
+ psCommonParams = commonParams;
71
+ }
32
72
  });
33
73
  let debounced = undefined;
34
74
  function onArgsChange(args) {
@@ -49,6 +89,25 @@ function onArgsChange(args) {
49
89
  console.error('Impossible to set hash in args', e);
50
90
  }
51
91
  }
92
+ function enforceDisabledDefaults(args, notify = false) {
93
+ const schema = runnable?.schema;
94
+ if (!schema?.properties)
95
+ return args;
96
+ const result = { ...args };
97
+ const resetKeys = [];
98
+ for (const [key, prop] of Object.entries(schema.properties)) {
99
+ if (prop?.disabled && 'default' in prop) {
100
+ if (notify && result[key] !== prop.default) {
101
+ resetKeys.push(key);
102
+ }
103
+ result[key] = prop.default;
104
+ }
105
+ }
106
+ if (resetKeys.length > 0) {
107
+ sendUserToast(`Disabled field${resetKeys.length > 1 ? 's' : ''} ${resetKeys.map((k) => `'${k}'`).join(', ')} reset to default value${resetKeys.length > 1 ? 's' : ''}`);
108
+ }
109
+ return result;
110
+ }
52
111
  export function setCode(code) {
53
112
  jsonEditor?.setCode(code);
54
113
  }
@@ -166,7 +225,7 @@ $effect(() => {
166
225
  bind:this={jsonEditor}
167
226
  on:select={(e) => {
168
227
  if (e.detail) {
169
- args = e.detail
228
+ args = enforceDisabledDefaults(e.detail)
170
229
  }
171
230
  }}
172
231
  updateOnBlur={false}
@@ -197,6 +256,11 @@ $effect(() => {
197
256
  {:else}
198
257
  <div class="text-xs text-primary">No arguments</div>
199
258
  {/if}
259
+ {#if showPsCommonParams}
260
+ <div class="mt-4">
261
+ <PowerShellCommonParams bind:args={psCommonParams} />
262
+ </div>
263
+ {/if}
200
264
  {#if schedulable}
201
265
  <div class="flex gap-2 items-start flex-wrap justify-between mt-2 md:mt-6">
202
266
  <div class="flex-row-reverse flex-wrap flex w-full gap-4">
@@ -207,7 +271,7 @@ $effect(() => {
207
271
  unifiedSize="md"
208
272
  btnClasses="!inline-flex"
209
273
  disabled={!isValid && !jsonView}
210
- on:click={() => runAction(scheduledForStr, args ?? {}, invisible_to_owner, overrideTag)}
274
+ on:click={() => run()}
211
275
  shortCut={{ Icon: CornerDownLeft, hide: !viewKeybinding }}
212
276
  >
213
277
  {scheduledForStr ? 'Schedule to run later' : buttonText}
@@ -246,7 +310,7 @@ $effect(() => {
246
310
  btnClasses="!px-6 !py-1 w-full"
247
311
  variant="accent"
248
312
  disabled={!isValid && !jsonView}
249
- on:click={() => runAction(undefined, args ?? {}, invisible_to_owner, overrideTag)}
313
+ on:click={() => run(null)}
250
314
  shortCut={{ Icon: CornerDownLeft, hide: !viewKeybinding }}
251
315
  >
252
316
  {buttonText}
@@ -8,6 +8,7 @@ interface Props {
8
8
  is_template?: boolean;
9
9
  hash?: string;
10
10
  kind?: string;
11
+ language?: string;
11
12
  can_write?: boolean;
12
13
  created_at?: string;
13
14
  created_by?: string;
@@ -30,7 +31,7 @@ interface Props {
30
31
  }
31
32
  declare const RunForm: import("svelte").Component<Props, {
32
33
  setArgs: (nargs: Record<string, any>) => Promise<void>;
33
- run: () => void;
34
+ run: (overrideScheduledForStr?: string | undefined | null) => Promise<void>;
34
35
  setCode: (code: string) => void;
35
36
  }, "args" | "invisible_to_owner" | "isValid" | "scheduledForStr" | "overrideTag">;
36
37
  type RunForm = ReturnType<typeof RunForm>;
@@ -33,6 +33,7 @@ import { defaultScriptLanguages, processLangs } from '../scripts';
33
33
  import DefaultScripts from './DefaultScripts.svelte';
34
34
  import { onMount, setContext, untrack } from 'svelte';
35
35
  import Summary from './Summary.svelte';
36
+ import LabelsInput from './LabelsInput.svelte';
36
37
  import DeployOverrideConfirmationModal from './common/confirmationModal/DeployOverrideConfirmationModal.svelte';
37
38
  import TriggersEditor from './triggers/TriggersEditor.svelte';
38
39
  import CaptureTable from './triggers/CaptureTable.svelte';
@@ -424,7 +425,8 @@ async function editScript(stay, parentHash, deploymentMsg, triggersToDeploy) {
424
425
  on_behalf_of_email: script.on_behalf_of_email,
425
426
  preserve_on_behalf_of: preserveOnBehalfOf || undefined,
426
427
  assets: script.assets,
427
- modules: script.modules
428
+ modules: script.modules,
429
+ labels: script.labels
428
430
  }
429
431
  });
430
432
  if (!initialPath) {
@@ -565,7 +567,8 @@ async function saveDraft(forceSave = false) {
565
567
  has_preprocessor: script.has_preprocessor,
566
568
  on_behalf_of_email: script.on_behalf_of_email,
567
569
  assets: script.assets,
568
- modules: script.modules
570
+ modules: script.modules,
571
+ labels: script.labels
569
572
  }
570
573
  });
571
574
  }
@@ -954,6 +957,7 @@ async function loadWorkerTags() {
954
957
  }}
955
958
  />
956
959
  </Label>
960
+ <LabelsInput bind:labels={script.labels} class="-mt-4" />
957
961
  <Label label="Path">
958
962
  {#snippet header()}
959
963
  <Tooltip
@@ -1027,7 +1031,7 @@ async function loadWorkerTags() {
1027
1031
  } as ButtonType.Icon}
1028
1032
  >
1029
1033
  <span class="truncate">{label}</span>
1030
- {#if lang === 'ruby'}
1034
+ {#if lang === 'rlang'}
1031
1035
  <span class="text-primary !text-xs"> BETA </span>
1032
1036
  {/if}
1033
1037
  </Button>