windmill-components 1.444.2 → 1.447.4

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 (229) hide show
  1. package/package/autosize.js +1 -1
  2. package/package/components/AppConnectInner.svelte +2 -1
  3. package/package/components/ArgInput.svelte +37 -24
  4. package/package/components/CapturesInputs.svelte +16 -0
  5. package/package/components/CapturesInputs.svelte.d.ts +21 -0
  6. package/package/components/Dev.svelte +7 -1
  7. package/package/components/EditableSchemaForm.svelte +369 -290
  8. package/package/components/EditableSchemaForm.svelte.d.ts +12 -2
  9. package/package/components/Editor.svelte +5 -7
  10. package/package/components/FirstStepInputs.svelte +111 -0
  11. package/package/components/FirstStepInputs.svelte.d.ts +17 -0
  12. package/package/components/FlowBuilder.svelte +28 -7
  13. package/package/components/FlowPreviewContent.svelte +72 -1
  14. package/package/components/FlowPreviewContent.svelte.d.ts +1 -0
  15. package/package/components/GfmMarkdown.svelte +93 -2
  16. package/package/components/HighlightCode.svelte +2 -0
  17. package/package/components/HistoricInputs.svelte +193 -0
  18. package/package/components/HistoricInputs.svelte.d.ts +20 -0
  19. package/package/components/InfiniteList.svelte +161 -0
  20. package/package/components/InfiniteList.svelte.d.ts +40 -0
  21. package/package/components/LightweightArgInput.svelte +19 -15
  22. package/package/components/MoveDrawer.svelte +2 -1
  23. package/package/components/Path.svelte +7 -1
  24. package/package/components/Path.svelte.d.ts +1 -1
  25. package/package/components/ResourcePicker.svelte +2 -1
  26. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  27. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  28. package/package/components/SaveInputsButton.svelte +53 -0
  29. package/package/components/SaveInputsButton.svelte.d.ts +24 -0
  30. package/package/components/SavedInputs.svelte +33 -61
  31. package/package/components/SavedInputsPicker.svelte +264 -0
  32. package/package/components/SavedInputsPicker.svelte.d.ts +20 -0
  33. package/package/components/ScheduleEditorInner.svelte +0 -1
  34. package/package/components/SchemaForm.svelte +22 -3
  35. package/package/components/ScriptBuilder.svelte +595 -562
  36. package/package/components/ScriptEditor.svelte +10 -3
  37. package/package/components/ScriptEditor.svelte.d.ts +5 -2
  38. package/package/components/ScriptSchema.svelte +1 -2
  39. package/package/components/Section.svelte +6 -4
  40. package/package/components/ShareModal.svelte.d.ts +2 -2
  41. package/package/components/SimpleEditor.svelte +39 -7
  42. package/package/components/SimpleEditor.svelte.d.ts +1 -4
  43. package/package/components/StringTypeNarrowing.svelte +3 -1
  44. package/package/components/TestConnection.svelte +5 -0
  45. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  46. package/package/components/WorkerGroup.svelte +2 -1
  47. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
  48. package/package/components/apps/editor/component/components.d.ts +79 -79
  49. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  50. package/package/components/apps/editor/component/default-codes.js +10 -10
  51. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +2 -1
  52. package/package/components/apps/inputType.d.ts +2 -2
  53. package/package/components/common/button/Button.svelte +10 -52
  54. package/package/components/common/button/PulseButton.svelte +81 -0
  55. package/package/components/common/button/PulseButton.svelte.d.ts +34 -0
  56. package/package/components/common/button/RoundIconButton.svelte +11 -0
  57. package/package/components/common/button/RoundIconButton.svelte.d.ts +19 -0
  58. package/package/components/common/button/model.d.ts +1 -0
  59. package/package/components/common/button/model.js +47 -0
  60. package/package/components/common/fileUpload/FileUpload.svelte +3 -1
  61. package/package/components/common/fileUpload/FileUpload.svelte.d.ts +1 -0
  62. package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
  63. package/package/components/common/layout/List.svelte +10 -4
  64. package/package/components/common/layout/List.svelte.d.ts +1 -0
  65. package/package/components/common/tabs/Tab.svelte +14 -1
  66. package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
  67. package/package/components/copilot/ScriptGen.svelte +1 -1
  68. package/package/components/copilot/lib.js +1 -1
  69. package/package/components/copilot/prompts/edit.yaml +1 -1
  70. package/package/components/copilot/prompts/editPrompt.js +1 -1
  71. package/package/components/copilot/prompts/fix.yaml +1 -1
  72. package/package/components/copilot/prompts/fixPrompt.js +1 -1
  73. package/package/components/copilot/prompts/gen.yaml +1 -1
  74. package/package/components/copilot/prompts/genPrompt.js +1 -1
  75. package/package/components/custom_ui.d.ts +1 -0
  76. package/package/components/details/DetailPageDetailPanel.svelte +20 -19
  77. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +4 -1
  78. package/package/components/details/DetailPageLayout.svelte +4 -1
  79. package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
  80. package/package/components/details/DetailPageTriggerPanel.svelte +84 -63
  81. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +3 -1
  82. package/package/components/details/EmailTriggerConfigSection.svelte +1 -1
  83. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +2 -1
  84. package/package/components/details/EmailTriggerPanel.svelte +2 -0
  85. package/package/components/details/EmailTriggerPanel.svelte.d.ts +2 -0
  86. package/package/components/flows/FlowEditor.svelte +8 -2
  87. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  88. package/package/components/flows/common/FlowCard.svelte +12 -6
  89. package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -0
  90. package/package/components/flows/content/FlowEditorPanel.svelte +15 -9
  91. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
  92. package/package/components/flows/content/FlowInput.svelte +449 -98
  93. package/package/components/flows/content/FlowInput.svelte.d.ts +2 -0
  94. package/package/components/flows/content/FlowInputEditor.svelte +46 -0
  95. package/package/components/flows/content/FlowInputEditor.svelte.d.ts +25 -0
  96. package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
  97. package/package/components/flows/content/FlowLoop.svelte +192 -194
  98. package/package/components/flows/content/FlowModuleComponent.svelte +372 -382
  99. package/package/components/flows/content/FlowModuleMock.svelte +6 -7
  100. package/package/components/flows/content/FlowPathViewer.svelte +2 -1
  101. package/package/components/flows/content/FlowSettings.svelte +25 -3
  102. package/package/components/flows/content/FlowWhileLoop.svelte +97 -99
  103. package/package/components/flows/flowStore.d.ts +13 -0
  104. package/package/components/flows/flowStore.js +41 -0
  105. package/package/components/flows/header/FlowPreviewButtons.svelte +10 -4
  106. package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +4 -2
  107. package/package/components/flows/header/FlowYamlEditor.svelte +3 -0
  108. package/package/components/flows/map/FlowModuleSchemaItem.svelte +8 -58
  109. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +67 -0
  110. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +24 -0
  111. package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
  112. package/package/components/flows/pickers/FlowScriptPicker.svelte +1 -1
  113. package/package/components/flows/previousResults.d.ts +1 -1
  114. package/package/components/flows/previousResults.js +7 -2
  115. package/package/components/flows/types.d.ts +7 -0
  116. package/package/components/flows/utils.d.ts +1 -0
  117. package/package/components/flows/utils.js +3 -0
  118. package/package/components/graph/graphBuilder.js +1 -1
  119. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +22 -8
  120. package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
  121. package/package/components/icons/NatsIcon.svelte +19 -0
  122. package/package/components/icons/NatsIcon.svelte.d.ts +18 -0
  123. package/package/components/icons/OracleDBIcon.svelte +15 -0
  124. package/package/components/icons/OracleDBIcon.svelte.d.ts +25 -0
  125. package/package/components/icons/index.d.ts +7 -1
  126. package/package/components/icons/index.js +8 -2
  127. package/package/components/meltComponents/ButtonDropDown.svelte +32 -0
  128. package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +27 -0
  129. package/package/components/meltComponents/Popover.svelte +7 -4
  130. package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
  131. package/package/components/runs/RunsFilter.svelte +2 -2
  132. package/package/components/schema/AddPropertyFormV2.svelte +46 -0
  133. package/package/components/schema/AddPropertyFormV2.svelte.d.ts +18 -0
  134. package/package/components/schema/AddPropertyV2.svelte +151 -0
  135. package/package/components/schema/AddPropertyV2.svelte.d.ts +25 -0
  136. package/package/components/schema/EditableSchemaDrawer.svelte +17 -8
  137. package/package/components/schema/EditableSchemaWrapper.svelte +58 -14
  138. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
  139. package/package/components/schema/FlowPropertyEditor.svelte +8 -3
  140. package/package/components/schema/JobSchemaPicker.svelte +32 -0
  141. package/package/components/schema/JobSchemaPicker.svelte.d.ts +19 -0
  142. package/package/components/schema/PropertyEditor.svelte +9 -1
  143. package/package/components/schema/RunningJobSchemaPicker.svelte +67 -0
  144. package/package/components/schema/RunningJobSchemaPicker.svelte.d.ts +21 -0
  145. package/package/components/schema/SchemaFormDND.svelte +1 -1
  146. package/package/components/schema/SchemaPicker.svelte +92 -0
  147. package/package/components/schema/SchemaPicker.svelte.d.ts +23 -0
  148. package/package/components/schema/SchemaPickerRow.svelte +95 -0
  149. package/package/components/schema/SchemaPickerRow.svelte.d.ts +22 -0
  150. package/package/components/scriptEditor/LogPanel.svelte +1 -1
  151. package/package/components/settings/ChangeWorkspaceColor.svelte +103 -0
  152. package/package/components/settings/ChangeWorkspaceColor.svelte.d.ts +16 -0
  153. package/package/components/settings/ChangeWorkspaceId.svelte +1 -0
  154. package/package/components/settings/ChangeWorkspaceName.svelte +4 -0
  155. package/package/components/sidebar/MenuButton.svelte +5 -2
  156. package/package/components/sidebar/MenuButton.svelte.d.ts +1 -0
  157. package/package/components/sidebar/SidebarContent.svelte +8 -0
  158. package/package/components/sidebar/WorkspaceMenu.svelte +40 -21
  159. package/package/components/table/DataTable.svelte +43 -3
  160. package/package/components/table/DataTable.svelte.d.ts +2 -0
  161. package/package/components/table/Head.svelte +1 -1
  162. package/package/components/table/Row.svelte +11 -1
  163. package/package/components/table/Row.svelte.d.ts +3 -0
  164. package/package/components/table/index.d.ts +3 -0
  165. package/package/components/table/index.js +3 -0
  166. package/package/components/triggers/CaptureButton.svelte +38 -4
  167. package/package/components/triggers/CaptureButton.svelte.d.ts +3 -1
  168. package/package/components/triggers/CaptureIcon.svelte +7 -4
  169. package/package/components/triggers/CaptureIcon.svelte.d.ts +7 -13
  170. package/package/components/triggers/CaptureSection.svelte +50 -17
  171. package/package/components/triggers/CaptureSection.svelte.d.ts +5 -3
  172. package/package/components/triggers/CaptureTable.svelte +239 -186
  173. package/package/components/triggers/CaptureTable.svelte.d.ts +9 -11
  174. package/package/components/triggers/CaptureWrapper.svelte +126 -109
  175. package/package/components/triggers/CaptureWrapper.svelte.d.ts +3 -1
  176. package/package/components/triggers/KafkaTriggerEditorInner.svelte +1 -0
  177. package/package/components/triggers/KafkaTriggersConfigSection.svelte +16 -4
  178. package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +3 -1
  179. package/package/components/triggers/KafkaTriggersPanel.svelte +2 -0
  180. package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +2 -0
  181. package/package/components/triggers/NatsTriggerEditor.svelte +19 -0
  182. package/package/components/triggers/NatsTriggerEditor.svelte.d.ts +21 -0
  183. package/package/components/triggers/NatsTriggerEditorInner.svelte +239 -0
  184. package/package/components/triggers/NatsTriggerEditorInner.svelte.d.ts +21 -0
  185. package/package/components/triggers/NatsTriggersConfigSection.svelte +276 -0
  186. package/package/components/triggers/NatsTriggersConfigSection.svelte.d.ts +37 -0
  187. package/package/components/triggers/NatsTriggersPanel.svelte +126 -0
  188. package/package/components/triggers/NatsTriggersPanel.svelte.d.ts +26 -0
  189. package/package/components/triggers/RouteEditorConfigSection.svelte +12 -2
  190. package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +5 -1
  191. package/package/components/triggers/RouteEditorInner.svelte +5 -0
  192. package/package/components/triggers/RoutesPanel.svelte +4 -0
  193. package/package/components/triggers/RoutesPanel.svelte.d.ts +3 -0
  194. package/package/components/triggers/TriggersEditor.svelte +146 -97
  195. package/package/components/triggers/TriggersEditor.svelte.d.ts +2 -0
  196. package/package/components/triggers/TriggersEditorSection.svelte +19 -13
  197. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
  198. package/package/components/triggers/TriggersWrapper.svelte +7 -3
  199. package/package/components/triggers/TriggersWrapper.svelte.d.ts +2 -1
  200. package/package/components/triggers/WebhooksConfigSection.svelte +1 -0
  201. package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +2 -1
  202. package/package/components/triggers/WebhooksPanel.svelte +2 -0
  203. package/package/components/triggers/WebhooksPanel.svelte.d.ts +2 -0
  204. package/package/components/triggers/WebsocketEditorConfigSection.svelte +3 -1
  205. package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +2 -1
  206. package/package/components/triggers/WebsocketTriggersPanel.svelte +2 -0
  207. package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +2 -0
  208. package/package/components/triggers.d.ts +2 -1
  209. package/package/components/triggers.js +2 -0
  210. package/package/components/vscode.js +12 -8
  211. package/package/consts.d.ts +1 -0
  212. package/package/consts.js +18 -0
  213. package/package/gen/core/OpenAPI.js +1 -1
  214. package/package/gen/schemas.gen.d.ts +207 -13
  215. package/package/gen/schemas.gen.js +207 -13
  216. package/package/gen/services.gen.d.ts +118 -10
  217. package/package/gen/services.gen.js +237 -17
  218. package/package/gen/types.gen.d.ts +400 -40
  219. package/package/hubPaths.json +2 -1
  220. package/package/infer.js +11 -2
  221. package/package/monaco_workers/build_workers.js +39 -37
  222. package/package/monaco_workers/graphql.worker.bundle.js +18371 -36513
  223. package/package/script_helpers.d.ts +5 -2
  224. package/package/script_helpers.js +46 -8
  225. package/package/scripts.js +4 -0
  226. package/package/stores.d.ts +2 -1
  227. package/package/stores.js +2 -1
  228. package/package.json +14 -16
  229. package/package/monaco_workers/graphql.worker.bundle.d.ts +0 -0
@@ -11,25 +11,35 @@ declare const __propDef: {
11
11
  uiOnly?: boolean | undefined;
12
12
  isFlowInput?: boolean | undefined;
13
13
  noPreview?: boolean | undefined;
14
- offset?: number | undefined;
15
14
  jsonEnabled?: boolean | undefined;
16
15
  isAppInput?: boolean | undefined;
17
16
  lightweightMode?: boolean | undefined;
18
17
  displayWebhookWarning?: boolean | undefined;
19
18
  dndType?: string | undefined;
19
+ editTab: 'inputEditor' | 'history' | 'savedInputs' | 'json' | 'captures' | 'firstStepInputs' | undefined;
20
+ previewSchema?: Record<string, any> | undefined;
21
+ editPanelInitialSize?: number | undefined;
22
+ editPanelSize?: number | undefined;
20
23
  class?: string | undefined;
21
24
  setDefaults?: (() => void) | undefined;
22
25
  openField?: ((key: string) => void) | undefined;
23
26
  deleteField?: ((key: string) => void) | undefined;
27
+ pannelExtraButtonWidth?: number | undefined;
24
28
  };
25
29
  events: {
26
30
  click: MouseEvent;
27
31
  change: CustomEvent<any>;
28
32
  delete: CustomEvent<any>;
33
+ editPanelSizeChanged: CustomEvent<any>;
29
34
  } & {
30
35
  [evt: string]: CustomEvent<any>;
31
36
  };
32
- slots: {};
37
+ slots: {
38
+ openEditTab: {};
39
+ addProperty: {};
40
+ runButton: {};
41
+ extraTab: {};
42
+ };
33
43
  };
34
44
  export type EditableSchemaFormProps = typeof __propDef.props;
35
45
  export type EditableSchemaFormEvents = typeof __propDef.events;
@@ -123,7 +123,7 @@ import { sleep } from '../utils';
123
123
  import { editorCodeCompletion } from './copilot/completion';
124
124
  import { editor as meditor, languages, KeyCode, KeyMod, Uri as mUri } from 'monaco-editor';
125
125
  import EditorTheme from './EditorTheme.svelte';
126
- import { BIGQUERY_TYPES, MSSQL_TYPES, MYSQL_TYPES, POSTGRES_TYPES, SNOWFLAKE_TYPES } from '../consts';
126
+ import { BIGQUERY_TYPES, MSSQL_TYPES, MYSQL_TYPES, ORACLEDB_TYPES, POSTGRES_TYPES, SNOWFLAKE_TYPES } from '../consts';
127
127
  import { setupTypeAcquisition } from '../ata/index';
128
128
  import { initWasmTs } from '../infer';
129
129
  import { initVim } from './monaco_keybindings';
@@ -371,7 +371,9 @@ function addSqlTypeCompletions() {
371
371
  ? BIGQUERY_TYPES
372
372
  : scriptLang === 'mssql'
373
373
  ? MSSQL_TYPES
374
- : []).map((t) => ({
374
+ : scriptLang === 'oracledb'
375
+ ? ORACLEDB_TYPES
376
+ : []).map((t) => ({
375
377
  label: t,
376
378
  kind: languages.CompletionItemKind.Function,
377
379
  insertText: t,
@@ -567,6 +569,7 @@ export async function reloadWebsocket() {
567
569
  function createLanguageClient(transports, name, initializationOptions, middlewareOptions) {
568
570
  const client = new MonacoLanguageClient({
569
571
  name: name,
572
+ messageTransports: transports,
570
573
  clientOptions: {
571
574
  outputChannel,
572
575
  documentSelector: [lang],
@@ -595,11 +598,6 @@ export async function reloadWebsocket() {
595
598
  })
596
599
  }
597
600
  }
598
- },
599
- connectionProvider: {
600
- get: () => {
601
- return Promise.resolve(transports);
602
- }
603
601
  }
604
602
  });
605
603
  return client;
@@ -0,0 +1,111 @@
1
+ <script>import { createEventDispatcher, onDestroy, getContext } from 'svelte';
2
+ import { getFirstStepSchema } from './flows/flowStore';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import { clickOutside } from '../utils';
5
+ import { Alert } from './common';
6
+ import FlowModuleSchemaItemViewer from './flows/map/FlowModuleSchemaItemViewer.svelte';
7
+ import LanguageIcon from './common/languageIcons/LanguageIcon.svelte';
8
+ import { prettyLanguage } from '../common';
9
+ import IconedResourceType from './IconedResourceType.svelte';
10
+ import { Building } from 'lucide-svelte';
11
+ const { flowStore, flowStateStore } = getContext('FlowEditorContext');
12
+ const dispatch = createEventDispatcher();
13
+ let schema = undefined;
14
+ let error = undefined;
15
+ let mod = undefined;
16
+ async function loadSchema() {
17
+ try {
18
+ const res = await getFirstStepSchema($flowStateStore, flowStore);
19
+ schema = res.schema;
20
+ mod = res.mod;
21
+ dispatch('connectFirstNode', { connectFirstNode: res.connectFirstNode });
22
+ }
23
+ catch (e) {
24
+ error = e;
25
+ }
26
+ }
27
+ loadSchema();
28
+ function handleClick() {
29
+ selected = !selected;
30
+ dispatch('select', selected ? schema : undefined);
31
+ }
32
+ onDestroy(() => {
33
+ selected = false;
34
+ dispatch('select', undefined);
35
+ });
36
+ let selected = false;
37
+ async function getPropPickerElements() {
38
+ return Array.from(document.querySelectorAll('[data-schema-picker], [data-schema-picker] *'));
39
+ }
40
+ function handleKeydown(event) {
41
+ if (event.key === 'Escape' && selected) {
42
+ selected = false;
43
+ dispatch('select', undefined);
44
+ }
45
+ }
46
+ let firstUpdate = true;
47
+ $: if (schema && !selected && firstUpdate) {
48
+ firstUpdate = false;
49
+ setTimeout(() => {
50
+ selected = true;
51
+ dispatch('select', schema);
52
+ }, 200);
53
+ }
54
+ </script>
55
+
56
+ <svelte:window on:keydown={handleKeydown} />
57
+
58
+ <div class="h-full">
59
+ {#if schema && mod}
60
+ <button
61
+ class={twMerge(
62
+ 'w-full shadow-md rounded-sm',
63
+ selected ? 'bg-surface-selected' : 'hover:bg-surface-hover'
64
+ )}
65
+ disabled={!schema}
66
+ on:click={handleClick}
67
+ use:clickOutside={{ capture: false, exclude: getPropPickerElements }}
68
+ on:click_outside={() => {
69
+ if (selected) {
70
+ selected = false
71
+ dispatch('select', undefined)
72
+ }
73
+ }}
74
+ >
75
+ <FlowModuleSchemaItemViewer
76
+ on:click={handleClick}
77
+ deletable={false}
78
+ id={mod.id}
79
+ label={mod.summary ||
80
+ (`path` in mod.value ? mod.value.path : undefined) ||
81
+ (mod.value.type === 'rawscript'
82
+ ? `Inline ${prettyLanguage(mod.value.language)}`
83
+ : 'To be defined')}
84
+ path={`path` in mod.value && mod.summary ? mod.value.path : ''}
85
+ >
86
+ <div slot="icon">
87
+ {#if mod.value.type === 'rawscript'}
88
+ <LanguageIcon lang={mod.value.language} width={16} height={16} />
89
+ {:else if mod.value.type === 'script'}
90
+ {#if mod.value.path.startsWith('hub/')}
91
+ <div>
92
+ <IconedResourceType
93
+ width="20px"
94
+ height="20px"
95
+ name={mod.value.path.split('/')[2]}
96
+ silent={true}
97
+ />
98
+ </div>
99
+ {:else}
100
+ <Building size={14} />
101
+ {/if}
102
+ {/if}
103
+ </div>
104
+ </FlowModuleSchemaItemViewer>
105
+ </button>
106
+ {:else}
107
+ <Alert type="warning" title="Cannot load first step's inputs" size="xs">
108
+ {error}
109
+ </Alert>
110
+ {/if}
111
+ </div>
@@ -0,0 +1,17 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ select: CustomEvent<any>;
6
+ connectFirstNode: CustomEvent<any>;
7
+ } & {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type FirstStepInputsProps = typeof __propDef.props;
13
+ export type FirstStepInputsEvents = typeof __propDef.events;
14
+ export type FirstStepInputsSlots = typeof __propDef.slots;
15
+ export default class FirstStepInputs extends SvelteComponent<FirstStepInputsProps, FirstStepInputsEvents, FirstStepInputsSlots> {
16
+ }
17
+ export {};
@@ -166,7 +166,8 @@ export async function saveDraft(forceSave = false) {
166
166
  tag: flow.tag,
167
167
  draft_only: true,
168
168
  ws_error_handler_muted: flow.ws_error_handler_muted,
169
- visible_to_runner_only: flow.visible_to_runner_only
169
+ visible_to_runner_only: flow.visible_to_runner_only,
170
+ on_behalf_of_email: flow.on_behalf_of_email
170
171
  }
171
172
  });
172
173
  }
@@ -288,6 +289,7 @@ async function saveFlow(deploymentMsg) {
288
289
  tag: flow.tag,
289
290
  dedicated_worker: flow.dedicated_worker,
290
291
  visible_to_runner_only: flow.visible_to_runner_only,
292
+ on_behalf_of_email: flow.on_behalf_of_email,
291
293
  deployment_message: deploymentMsg || undefined
292
294
  }
293
295
  });
@@ -359,6 +361,7 @@ async function saveFlow(deploymentMsg) {
359
361
  dedicated_worker: flow.dedicated_worker,
360
362
  ws_error_handler_muted: flow.ws_error_handler_muted,
361
363
  visible_to_runner_only: flow.visible_to_runner_only,
364
+ on_behalf_of_email: flow.on_behalf_of_email,
362
365
  deployment_message: deploymentMsg || undefined
363
366
  }
364
367
  });
@@ -408,6 +411,13 @@ const scriptEditorDrawer = writable(undefined);
408
411
  const moving = writable(undefined);
409
412
  const history = initHistory($flowStore);
410
413
  const pathStore = writable(pathStoreInit ?? initialPath);
414
+ const captureOn = writable(false);
415
+ const showCaptureHint = writable(undefined);
416
+ const flowInputEditorStateStore = writable({
417
+ selectedTab: undefined,
418
+ editPanelSize: 0,
419
+ payloadData: undefined
420
+ });
411
421
  $: initialPath && ($pathStore = initialPath);
412
422
  const testStepStore = writable({});
413
423
  function select(selectedId) {
@@ -432,7 +442,8 @@ setContext('FlowEditorContext', {
432
442
  flowInputsStore: writable({}),
433
443
  customUi,
434
444
  insertButtonOpen,
435
- executionCount: writable(0)
445
+ executionCount: writable(0),
446
+ flowInputEditorState: flowInputEditorStateStore
436
447
  });
437
448
  setContext('TriggerContext', {
438
449
  selectedTrigger: selectedTriggerStore,
@@ -440,7 +451,8 @@ setContext('TriggerContext', {
440
451
  triggersCount,
441
452
  simplifiedPoll,
442
453
  defaultValues: writable(undefined),
443
- captureOn: writable(undefined)
454
+ captureOn,
455
+ showCaptureHint
444
456
  });
445
457
  async function loadTriggers() {
446
458
  $triggersCount = await FlowService.getTriggersCountOfFlow({
@@ -1201,7 +1213,15 @@ let flowPreviewButtons;
1201
1213
  {abortController}
1202
1214
  />
1203
1215
  {/if}
1204
- <FlowPreviewButtons bind:this={flowPreviewButtons} />
1216
+ <FlowPreviewButtons
1217
+ on:openTriggers={(e) => {
1218
+ select('triggers')
1219
+ selectTrigger(e.detail.kind)
1220
+ captureOn.set(true)
1221
+ showCaptureHint.set(true)
1222
+ }}
1223
+ bind:this={flowPreviewButtons}
1224
+ />
1205
1225
  <Button
1206
1226
  loading={loadingDraft}
1207
1227
  size="xs"
@@ -1270,11 +1290,12 @@ let flowPreviewButtons;
1270
1290
  if (ev.detail.kind === 'preprocessor') {
1271
1291
  $testStepStore['preprocessor'] = ev.detail.args ?? {}
1272
1292
  $selectedIdStore = 'preprocessor'
1273
- } else {
1274
- $previewArgsStore = ev.detail.args ?? {}
1275
- flowPreviewButtons?.openPreview()
1276
1293
  }
1277
1294
  }}
1295
+ on:testWithArgs={(e) => {
1296
+ $previewArgsStore = JSON.parse(JSON.stringify(e.detail))
1297
+ flowPreviewButtons?.openPreview(true)
1298
+ }}
1278
1299
  />
1279
1300
  {:else}
1280
1301
  <CenteredPage>Loading...</CenteredPage>
@@ -6,12 +6,14 @@ import { runFlowPreview } from './flows/utils';
6
6
  import SchemaForm from './SchemaForm.svelte';
7
7
  import FlowStatusViewer from '../components/FlowStatusViewer.svelte';
8
8
  import FlowProgressBar from './flows/FlowProgressBar.svelte';
9
- import { AlertTriangle, ArrowRight, CornerDownLeft, Play, RefreshCw, X } from 'lucide-svelte';
9
+ import { AlertTriangle, ArrowRight, CornerDownLeft, Play, RefreshCw, X, ArrowLeftIcon } from 'lucide-svelte';
10
10
  import { emptyString, sendUserToast } from '../utils';
11
11
  import DrawerContent from './common/drawer/DrawerContent.svelte';
12
12
  import SavedInputs from './SavedInputs.svelte';
13
13
  import { dfs } from './flows/dfs';
14
14
  import { sliceModules } from './flows/flowStateUtils';
15
+ import CapturesInputs from './CapturesInputs.svelte';
16
+ import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
15
17
  export let previewMode;
16
18
  export let open;
17
19
  export let jobId = undefined;
@@ -96,7 +98,9 @@ $: if (job?.type === 'CompletedJob') {
96
98
  }
97
99
  $: selectedJobStep !== undefined && onSelectedJobStepChange();
98
100
  let inputLibraryDrawer;
101
+ let captureLibraryDrawer;
99
102
  let renderCount = 0;
103
+ let selectedCapture = undefined;
100
104
  </script>
101
105
 
102
106
  <svelte:window on:keydown={onKeyDown} />
@@ -116,6 +120,65 @@ let renderCount = 0;
116
120
  </DrawerContent>
117
121
  </Drawer>
118
122
 
123
+ <Drawer bind:this={captureLibraryDrawer}>
124
+ <DrawerContent
125
+ title="Trigger captures library {initialPath}"
126
+ on:close={captureLibraryDrawer?.toggleDrawer}
127
+ >
128
+ <div class="h-full flex flex-col gap-2">
129
+ <CapturesInputs
130
+ flowPath={$pathStore}
131
+ headless={false}
132
+ addButton={true}
133
+ on:select={(e) => {
134
+ selectedCapture = e.detail
135
+ }}
136
+ on:openTriggers={(e) => {
137
+ dispatch('openTriggers', e.detail)
138
+ captureLibraryDrawer?.closeDrawer()
139
+ }}
140
+ />
141
+
142
+ <div class="h-full overflow-hidden min-h-0 flex flex-col justify-between">
143
+ <div class="w-full flex flex-col min-h-0 gap-2 px-2 py-2 grow">
144
+ <div class="w-full flex flex-col">
145
+ <Button
146
+ color="blue"
147
+ btnClasses="w-full"
148
+ size="sm"
149
+ spacingSize="xl"
150
+ on:click={async () => {
151
+ $previewArgs = JSON.parse(JSON.stringify(selectedCapture))
152
+ captureLibraryDrawer?.closeDrawer()
153
+ renderCount++
154
+ }}
155
+ disabled={!selectedCapture}
156
+ >
157
+ <ArrowLeftIcon class="w-4 h-4 mr-2" />
158
+ Use input
159
+ </Button>
160
+ </div>
161
+ <div class="w-full min-h-0 grow overflow-auto">
162
+ {#if typeof selectedCapture == 'string' && selectedCapture == 'WINDMILL_TOO_BIG'}
163
+ <div class="text-secondary mt-2">
164
+ Payload too big to preview but can still be loaded</div
165
+ >
166
+ {:else if Object.keys(selectedCapture || {}).length > 0}
167
+ <div class=" overflow-auto h-full p-2">
168
+ <ObjectViewer json={selectedCapture} />
169
+ </div>
170
+ {:else}
171
+ <div class="text-center text-tertiary">
172
+ Select an Input to preview scripts arguments
173
+ </div>
174
+ {/if}
175
+ </div>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </DrawerContent>
180
+ </Drawer>
181
+
119
182
  <div class="flex flex-col space-y-2 h-screen bg-surface px-6 py-2 w-full" id="flow-preview-content">
120
183
  <div class="flex flex-row justify-between w-full items-center gap-x-2">
121
184
  <div class="w-8">
@@ -256,6 +319,14 @@ let renderCount = 0;
256
319
  </div>
257
320
  {/if}
258
321
  <div class="flex gap-2">
322
+ <Button
323
+ btnClasses="h-full truncate"
324
+ size="sm"
325
+ variant="border"
326
+ on:click={() => {
327
+ captureLibraryDrawer?.openDrawer()
328
+ }}>Trigger captures library</Button
329
+ >
259
330
  {#if initialPath != ''}
260
331
  <Button
261
332
  btnClasses="h-full truncate"
@@ -10,6 +10,7 @@ declare const __propDef: {
10
10
  runPreview?: ((args: Record<string, any>, restartedFrom: RestartedFrom | undefined) => Promise<void>) | undefined;
11
11
  };
12
12
  events: {
13
+ openTriggers: CustomEvent<any>;
13
14
  close: CustomEvent<any>;
14
15
  } & {
15
16
  [evt: string]: CustomEvent<any>;
@@ -1,14 +1,105 @@
1
- <script>import Markdown from 'svelte-exmarkdown';
1
+ <script>import { Markdown } from 'svelte-exmarkdown';
2
2
  import { gfmPlugin } from 'svelte-exmarkdown/gfm';
3
+ import rehypeRaw from 'rehype-raw';
4
+ import { rehypeGithubAlerts } from 'rehype-github-alerts';
3
5
  export let md;
6
+ const plugins = [
7
+ gfmPlugin(),
8
+ { rehypePlugin: [rehypeRaw] },
9
+ { rehypePlugin: [rehypeGithubAlerts] }
10
+ ];
4
11
  </script>
5
12
 
6
13
  <div class="!prose-xs pgap">
7
- <Markdown {md} plugins={[gfmPlugin()]} />
14
+ <Markdown {md} {plugins} />
8
15
  </div>
9
16
 
10
17
  <style global>
11
18
  :global(.pgap) > :global(p) {
12
19
  margin-top: 0.5rem;
13
20
  margin-bottom: 0.5rem;
21
+ }
22
+
23
+ :global(:root) {
24
+ --github-alert-default-color: rgb(208, 215, 222);
25
+ --github-alert-note-color: rgb(9, 105, 218);
26
+ --github-alert-tip-color: rgb(26, 127, 55);
27
+ --github-alert-important-color: rgb(130, 80, 223);
28
+ --github-alert-warning-color: rgb(191, 135, 0);
29
+ --github-alert-caution-color: rgb(207, 34, 46);
30
+ }
31
+
32
+ @media (prefers-color-scheme: dark) {
33
+ :global(:root) {
34
+ --github-alert-default-color: rgb(48, 54, 61);
35
+ --github-alert-note-color: rgb(31, 111, 235);
36
+ --github-alert-tip-color: rgb(35, 134, 54);
37
+ --github-alert-important-color: rgb(137, 87, 229);
38
+ --github-alert-warning-color: rgb(158, 106, 3);
39
+ --github-alert-caution-color: rgb(248, 81, 73);
40
+ }
41
+ }
42
+
43
+ :global(.markdown-alert) {
44
+ padding: 0.5rem 1rem;
45
+ margin-bottom: 16px;
46
+ border-left: 0.25em solid var(--github-alert-default-color);
47
+ }
48
+
49
+ :global(.markdown-alert) > :global(:first-child) {
50
+ margin-top: 0;
51
+ }
52
+
53
+ :global(.markdown-alert) > :global(:last-child) {
54
+ margin-bottom: 0;
55
+ }
56
+
57
+ :global(.markdown-alert-note) {
58
+ border-left-color: var(--github-alert-note-color);
59
+ }
60
+
61
+ :global(.markdown-alert-tip) {
62
+ border-left-color: var(--github-alert-tip-color);
63
+ }
64
+
65
+ :global(.markdown-alert-important) {
66
+ border-left-color: var(--github-alert-important-color);
67
+ }
68
+
69
+ :global(.markdown-alert-warning) {
70
+ border-left-color: var(--github-alert-warning-color);
71
+ }
72
+
73
+ :global(.markdown-alert-caution) {
74
+ border-left-color: var(--github-alert-caution-color);
75
+ }
76
+
77
+ :global(.markdown-alert-title) {
78
+ display: flex;
79
+ margin-bottom: 4px;
80
+ align-items: center;
81
+ }
82
+
83
+ :global(.markdown-alert-title) > :global(svg) {
84
+ margin-right: 8px;
85
+ }
86
+
87
+ :global(.markdown-alert-note) :global(.markdown-alert-title) {
88
+ color: var(--github-alert-note-color);
89
+ }
90
+
91
+ :global(.markdown-alert-tip) :global(.markdown-alert-title) {
92
+ color: var(--github-alert-tip-color);
93
+ }
94
+
95
+ :global(.markdown-alert-important) :global(.markdown-alert-title) {
96
+ color: var(--github-alert-important-color);
97
+ }
98
+
99
+ :global(.markdown-alert-warning) :global(.markdown-alert-title) {
100
+ color: var(--github-alert-warning-color);
101
+ }
102
+
103
+ :global(.markdown-alert-caution) :global(.markdown-alert-title) {
104
+ color: var(--github-alert-caution-color);
14
105
  }</style>
@@ -46,6 +46,8 @@ function getLang(lang) {
46
46
  return sql;
47
47
  case 'bigquery':
48
48
  return sql;
49
+ case 'oracledb':
50
+ return sql;
49
51
  case 'powershell':
50
52
  return powershell;
51
53
  case 'php':