windmill-components 1.447.7 → 1.448.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 (82) hide show
  1. package/package/autosize.js +3 -8
  2. package/package/components/AppConnectInner.svelte +7 -1
  3. package/package/components/ArgInput.svelte +673 -596
  4. package/package/components/ArgInput.svelte.d.ts +11 -0
  5. package/package/components/AssignableTags.svelte +2 -1
  6. package/package/components/AssignableTags.svelte.d.ts +1 -0
  7. package/package/components/AssignableTagsInner.svelte +5 -1
  8. package/package/components/AssignableTagsInner.svelte.d.ts +3 -1
  9. package/package/components/AuthSettings.svelte +1 -1
  10. package/package/components/AuthSettings.svelte.d.ts +1 -0
  11. package/package/components/EditableSchemaForm.svelte +61 -29
  12. package/package/components/EditableSchemaForm.svelte.d.ts +9 -0
  13. package/package/components/FirstStepInputs.svelte +3 -1
  14. package/package/components/FlowPreviewContent.svelte +46 -45
  15. package/package/components/HistoricInputs.svelte +2 -0
  16. package/package/components/InstanceSettings.svelte +5 -1
  17. package/package/components/Range.svelte +5 -4
  18. package/package/components/Range.svelte.d.ts +2 -0
  19. package/package/components/RunFormAdvancedPopup.svelte +2 -2
  20. package/package/components/SavedInputsPicker.svelte +6 -0
  21. package/package/components/SchemaForm.svelte +70 -4
  22. package/package/components/SchemaForm.svelte.d.ts +11 -0
  23. package/package/components/ScriptBuilder.svelte +9 -1
  24. package/package/components/ScriptEditor.svelte.d.ts +2 -2
  25. package/package/components/ScriptPicker.svelte.d.ts +1 -1
  26. package/package/components/SimpleEditor.svelte +3 -1
  27. package/package/components/TestConnection.svelte +1 -1
  28. package/package/components/WorkerGroup.svelte +21 -0
  29. package/package/components/WorkerTagPicker.svelte +2 -2
  30. package/package/components/WorkerTagSelect.svelte +2 -2
  31. package/package/components/apps/components/display/table/AppAggridTable.svelte +3 -1
  32. package/package/components/apps/editor/component/components.d.ts +79 -79
  33. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +1 -1
  34. package/package/components/flows/content/FlowEditorPanel.svelte +2 -2
  35. package/package/components/flows/content/FlowInput.svelte +193 -130
  36. package/package/components/flows/content/FlowInputEditor.svelte +12 -36
  37. package/package/components/flows/content/FlowInputEditor.svelte.d.ts +1 -5
  38. package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +1 -1
  39. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +2 -2
  40. package/package/components/flows/flowStateUtils.d.ts +1 -2
  41. package/package/components/flows/flowStateUtils.js +1 -1
  42. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +1 -1
  43. package/package/components/meltComponents/SideBarTab.svelte +60 -0
  44. package/package/components/meltComponents/SideBarTab.svelte.d.ts +24 -0
  45. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  46. package/package/components/schema/AddProperty.svelte +3 -1
  47. package/package/components/schema/AddPropertyV2.svelte +5 -8
  48. package/package/components/schema/AddPropertyV2.svelte.d.ts +3 -0
  49. package/package/components/schema/EditableSchemaDrawer.svelte +12 -3
  50. package/package/components/schema/EditableSchemaWrapper.svelte +5 -0
  51. package/package/components/schema/SchemaFormDND.svelte +25 -9
  52. package/package/components/schema/SchemaFormDND.svelte.d.ts +12 -0
  53. package/package/components/schema/schemaUtils.d.ts +26 -0
  54. package/package/components/schema/schemaUtils.js +185 -0
  55. package/package/components/settings/PremiumInfo.svelte +212 -30
  56. package/package/components/triggers/CaptureSection.svelte.d.ts +1 -1
  57. package/package/components/triggers/CaptureTable.svelte +10 -2
  58. package/package/components/triggers/CaptureWrapper.svelte +2 -1
  59. package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +1 -1
  60. package/package/components/triggers/NatsTriggersConfigSection.svelte.d.ts +1 -1
  61. package/package/components/triggers/RouteEditorConfigSection.svelte +3 -2
  62. package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +2 -1
  63. package/package/components/triggers/RoutesPanel.svelte +2 -0
  64. package/package/components/triggers/RoutesPanel.svelte.d.ts +1 -0
  65. package/package/components/triggers/TriggersEditor.svelte +3 -1
  66. package/package/components/triggers/TriggersEditor.svelte.d.ts +1 -0
  67. package/package/components/triggers/TriggersEditorSection.svelte +0 -1
  68. package/package/components/triggers/TriggersWrapper.svelte +1 -1
  69. package/package/components/triggers/WebhooksConfigSection.svelte +9 -9
  70. package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +2 -2
  71. package/package/components/triggers/WebhooksPanel.svelte +2 -2
  72. package/package/components/triggers/WebhooksPanel.svelte.d.ts +1 -1
  73. package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +1 -1
  74. package/package/gen/core/OpenAPI.js +1 -1
  75. package/package/gen/schemas.gen.d.ts +2 -2
  76. package/package/gen/schemas.gen.js +2 -2
  77. package/package/gen/services.gen.d.ts +22 -2
  78. package/package/gen/services.gen.js +44 -2
  79. package/package/gen/types.gen.d.ts +62 -2
  80. package/package/script_helpers.d.ts +1 -1
  81. package/package/script_helpers.js +7 -7
  82. package/package.json +11 -3
@@ -12,7 +12,7 @@ import DrawerContent from './common/drawer/DrawerContent.svelte';
12
12
  import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
13
13
  import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
14
14
  import ErrorHandlerToggleButton from './details/ErrorHandlerToggleButton.svelte';
15
- import { Bug, Calendar, CheckCircle, Code, CornerDownLeft, DiffIcon, Pen, Plus, Rocket, Save, Settings, X } from 'lucide-svelte';
15
+ import { Bug, Calendar, CheckCircle, Code, CornerDownLeft, DiffIcon, Pen, Plus, Rocket, Save, Settings, Shuffle, X } from 'lucide-svelte';
16
16
  import { sendUserToast } from '../toast';
17
17
  import { isCloudHosted } from '../cloud';
18
18
  import Awareness from './Awareness.svelte';
@@ -136,6 +136,13 @@ const scriptKindOptions = [
136
136
  desc: 'Handle errors in flows after all retry attempts have been exhausted.',
137
137
  documentationLink: 'https://www.windmill.dev/docs/flows/flow_error_handler',
138
138
  Icon: Bug
139
+ },
140
+ {
141
+ value: 'preprocessor',
142
+ title: 'Preprocessor',
143
+ desc: 'Transform incoming requests before they are passed to the flow.',
144
+ documentationLink: 'https://www.windmill.dev/docs/core_concepts/preprocessors',
145
+ Icon: Shuffle
139
146
  }
140
147
  ];
141
148
  let pathError = '';
@@ -1175,6 +1182,7 @@ function addPreprocessor() {
1175
1182
  on:exitTriggers={() => {
1176
1183
  captureTable?.loadCaptures(true)
1177
1184
  }}
1185
+ {args}
1178
1186
  {initialPath}
1179
1187
  schema={script.schema}
1180
1188
  noEditor={true}
@@ -26,7 +26,7 @@ declare const __propDef: {
26
26
  watchChanges?: boolean | undefined;
27
27
  customUi?: ScriptEditorWhitelabelCustomUi | undefined;
28
28
  args?: Record<string, any> | undefined;
29
- selectedTab?: "main" | "preprocessor" | undefined;
29
+ selectedTab?: "preprocessor" | "main" | undefined;
30
30
  hasPreprocessor?: boolean | undefined;
31
31
  captureTable?: CaptureTable | undefined;
32
32
  inferSchema?: ((code: string, nlang?: SupportedLanguage, resetArgs?: boolean) => Promise<void>) | undefined;
@@ -39,7 +39,7 @@ declare const __propDef: {
39
39
  saveDraft: CustomEvent<any>;
40
40
  openTriggers: CustomEvent<any>;
41
41
  applyArgs: CustomEvent<{
42
- kind: "main" | "preprocessor";
42
+ kind: "preprocessor" | "main";
43
43
  args: Record<string, any> | undefined;
44
44
  }>;
45
45
  updateSchema: CustomEvent<{
@@ -5,7 +5,7 @@ declare const __propDef: {
5
5
  scriptPath?: string | undefined;
6
6
  allowFlow?: boolean | undefined;
7
7
  itemKind?: "script" | "flow" | "app" | undefined;
8
- kinds?: ("script" | "failure" | "trigger" | "command" | "approval")[] | undefined;
8
+ kinds?: ("script" | "failure" | "trigger" | "command" | "approval" | "preprocessor")[] | undefined;
9
9
  disabled?: boolean | undefined;
10
10
  allowRefresh?: boolean | undefined;
11
11
  allowEdit?: boolean | undefined;
@@ -93,8 +93,10 @@ export function setCode(ncode) {
93
93
  }
94
94
  let placeholderVisible = false;
95
95
  function updatePlaceholderVisibility(value) {
96
- if (!value)
96
+ if (!value) {
97
+ placeholderVisible = true;
97
98
  return;
99
+ }
98
100
  placeholderVisible = value.trim() === '';
99
101
  }
100
102
  export function format() {
@@ -40,7 +40,7 @@ const scripts = {
40
40
  argName: 'database'
41
41
  },
42
42
  oracledb: {
43
- code: `SELECT 1`,
43
+ code: `SELECT 1 FROM DUAL`,
44
44
  lang: 'oracledb',
45
45
  argName: 'database'
46
46
  },
@@ -625,6 +625,9 @@ let createdTags = [];
625
625
  type="text"
626
626
  placeholder="ENV_VAR_NAME"
627
627
  bind:value={envvar.key}
628
+ on:keypress={(e) => {
629
+ dirty = true
630
+ }}
628
631
  />
629
632
  <ToggleButtonGroup
630
633
  disabled={!$superadmin}
@@ -816,6 +819,23 @@ let createdTags = [];
816
819
  sendUserToast('Minimum alive workers alert threshold must be at least 1', true)
817
820
  return
818
821
  }
822
+ // Remove duplicate env vars by keeping only the last occurrence of each key
823
+ const seenKeys = new Set()
824
+ customEnvVars = customEnvVars
825
+ .reverse()
826
+ .filter((envVar) => {
827
+ if (envVar.key == '') {
828
+ return false
829
+ }
830
+ if (seenKeys.has(envVar.key)) {
831
+ return false
832
+ }
833
+ seenKeys.add(envVar.key)
834
+ return true
835
+ })
836
+ .reverse()
837
+ nconfig.env_vars_static = new Map()
838
+ nconfig.env_vars_allowlist = []
819
839
  customEnvVars.forEach((envvar) => {
820
840
  if (
821
841
  nconfig.env_vars_static !== undefined &&
@@ -829,6 +849,7 @@ let createdTags = [];
829
849
  }
830
850
  }
831
851
  })
852
+
832
853
  await ConfigService.updateConfig({ name: 'worker__' + name, requestBody: nconfig })
833
854
  sendUserToast('Configuration set')
834
855
  dispatch('reload')
@@ -1,6 +1,6 @@
1
1
  <script>import { Button } from './common';
2
2
  import { ExternalLink, RotateCw, Loader2 } from 'lucide-svelte';
3
- import { workerTags } from '../stores';
3
+ import { workerTags, workspaceStore } from '../stores';
4
4
  import AssignableTags from './AssignableTags.svelte';
5
5
  import { WorkerService } from '../gen';
6
6
  import WorkerTagSelect from './WorkerTagSelect.svelte';
@@ -10,7 +10,7 @@ export let disabled = false;
10
10
  loadWorkerGroups();
11
11
  async function loadWorkerGroups() {
12
12
  if (!$workerTags) {
13
- $workerTags = await WorkerService.getCustomTags();
13
+ $workerTags = await WorkerService.getCustomTags({ workspace: $workspaceStore });
14
14
  }
15
15
  }
16
16
  </script>
@@ -1,4 +1,4 @@
1
- <script>import { workerTags } from '../stores';
1
+ <script>import { workerTags, workspaceStore } from '../stores';
2
2
  import { WorkerService } from '../gen';
3
3
  export let tag;
4
4
  export let noLabel = false;
@@ -7,7 +7,7 @@ export let disabled = false;
7
7
  loadWorkerGroups();
8
8
  async function loadWorkerGroups() {
9
9
  if (!$workerTags) {
10
- $workerTags = await WorkerService.getCustomTags();
10
+ $workerTags = await WorkerService.getCustomTags({ workspace: $workspaceStore });
11
11
  }
12
12
  }
13
13
  </script>
@@ -31,6 +31,7 @@ export let actionsOrder = undefined;
31
31
  const context = getContext('AppViewerContext');
32
32
  const contextPanel = getContext('ContextPanel');
33
33
  const iterContext = getContext('ListWrapperContext');
34
+ const editorContext = getContext('AppEditorContext');
34
35
  const listInputs = getContext('ListInputs');
35
36
  const { app, worldStore, selectedComponent, componentControl, darkMode, mode } = context;
36
37
  const rowHeights = {
@@ -170,7 +171,8 @@ const tableActionsFactory = cellRendererFactory((c, p) => {
170
171
  const row = p.data;
171
172
  const componentContext = new Map([
172
173
  ['AppViewerContext', context],
173
- ['ContextPanel', contextPanel]
174
+ ['ContextPanel', contextPanel],
175
+ ['AppEditorContext', editorContext]
174
176
  ]);
175
177
  const sortedActions = computedOrder
176
178
  ? computedOrder