windmill-components 1.504.5 → 1.510.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 (202) hide show
  1. package/package/ata/index.js +1 -1
  2. package/package/components/AppConnectInner.svelte +161 -29
  3. package/package/components/ArgInput.svelte +33 -103
  4. package/package/components/AuthSettings.svelte +45 -1
  5. package/package/components/Dev.svelte +31 -24
  6. package/package/components/DisplayResult.svelte +53 -26
  7. package/package/components/DisplayResult.svelte.d.ts +1 -1
  8. package/package/components/DynSelect.svelte +3 -3
  9. package/package/components/Editor.svelte +7 -4
  10. package/package/components/EditorBar.svelte +2 -2
  11. package/package/components/ErrorOrRecoveryHandler.svelte +73 -67
  12. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +8 -24
  13. package/package/components/FlowBuilder.svelte +11 -2
  14. package/package/components/FlowJobResult.svelte +12 -17
  15. package/package/components/FlowJobResult.svelte.d.ts +5 -18
  16. package/package/components/FlowPreviewContent.svelte +13 -10
  17. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  18. package/package/components/FlowPreviewResult.svelte +14 -6
  19. package/package/components/FlowStatusViewer.svelte +11 -24
  20. package/package/components/FlowStatusViewer.svelte.d.ts +19 -18
  21. package/package/components/FlowStatusViewerInner.svelte +110 -131
  22. package/package/components/FlowStatusViewerInner.svelte.d.ts +20 -18
  23. package/package/components/GitDiffPreview.svelte +55 -0
  24. package/package/components/GitDiffPreview.svelte.d.ts +13 -0
  25. package/package/components/HistoricInputs.svelte +2 -2
  26. package/package/components/InitGitRepoPopover.svelte +410 -0
  27. package/package/components/InitGitRepoPopover.svelte.d.ts +13 -0
  28. package/package/components/InstanceSetting.svelte +21 -9
  29. package/package/components/InstanceSettings.svelte +16 -3
  30. package/package/components/JobLoader.svelte +567 -0
  31. package/package/components/JobLoader.svelte.d.ts +53 -0
  32. package/package/components/JobLogs.svelte +6 -4
  33. package/package/components/JobLogs.svelte.d.ts +5 -18
  34. package/package/components/LightweightResourcePicker.svelte +18 -39
  35. package/package/components/LightweightResourcePicker.svelte.d.ts +6 -22
  36. package/package/components/LogViewer.svelte +35 -41
  37. package/package/components/LogViewer.svelte.d.ts +6 -20
  38. package/package/components/ModulePreviewResultViewer.svelte +3 -1
  39. package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -0
  40. package/package/components/ModuleTest.svelte +16 -11
  41. package/package/components/PullGitRepoPopover.svelte +355 -0
  42. package/package/components/PullGitRepoPopover.svelte.d.ts +18 -0
  43. package/package/components/S3FilePicker.svelte +5 -3
  44. package/package/components/SavedInputs.svelte +2 -2
  45. package/package/components/ScriptBuilder.svelte +4 -3
  46. package/package/components/ScriptEditor.svelte +34 -31
  47. package/package/components/ScriptEditor.svelte.d.ts +3 -3
  48. package/package/components/ServiceLogsInner.svelte +2 -1
  49. package/package/components/ServiceLogsInner.svelte.d.ts +1 -0
  50. package/package/components/UserSettings.svelte +1 -1
  51. package/package/components/WorkerTagSelect.svelte +32 -3
  52. package/package/components/apps/components/buttons/AppButton.svelte +7 -1
  53. package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  54. package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
  55. package/package/components/apps/components/display/AppDisplayComponentByJobId.svelte +16 -11
  56. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +13 -10
  57. package/package/components/apps/components/display/AppMenu.svelte +5 -0
  58. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +3 -3
  59. package/package/components/apps/components/display/dbtable/DeleteRow.svelte +3 -3
  60. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +3 -3
  61. package/package/components/apps/components/display/dbtable/UpdateCell.svelte +3 -3
  62. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +3 -3
  63. package/package/components/apps/components/helpers/RunnableComponent.svelte +65 -54
  64. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -5
  65. package/package/components/apps/components/inputs/AppUserResource.svelte +26 -8
  66. package/package/components/apps/editor/AppEditorHeader.svelte +11 -5
  67. package/package/components/apps/editor/AppJobsDrawer.svelte +5 -5
  68. package/package/components/apps/editor/RunnableJobPanel.svelte +4 -4
  69. package/package/components/apps/editor/component/components.d.ts +12 -0
  70. package/package/components/apps/editor/component/components.js +19 -7
  71. package/package/components/assets/AssetButtons.svelte +38 -0
  72. package/package/components/assets/AssetButtons.svelte.d.ts +15 -0
  73. package/package/components/assets/AssetsDropdownButton.svelte +60 -72
  74. package/package/components/assets/AssetsDropdownButton.svelte.d.ts +3 -4
  75. package/package/components/assets/AssetsUsageDrawer.svelte +10 -10
  76. package/package/components/assets/JobAssetsViewer.svelte +79 -0
  77. package/package/components/assets/JobAssetsViewer.svelte.d.ts +7 -0
  78. package/package/components/assets/README_DEV.md +0 -0
  79. package/package/components/assets/lib.d.ts +9 -1
  80. package/package/components/assets/lib.js +48 -7
  81. package/package/components/common/fileUpload/FileUpload.svelte +126 -84
  82. package/package/components/common/fileUpload/FileUpload.svelte.d.ts +13 -3
  83. package/package/components/common/fileUpload/S3ArgInput.svelte +111 -0
  84. package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +21 -0
  85. package/package/components/common/table/ScriptRow.svelte +3 -1
  86. package/package/components/copilot/autocomplete/Autocompletor.js +23 -5
  87. package/package/components/copilot/chat/AIChatDisplay.svelte +8 -0
  88. package/package/components/copilot/chat/AIChatManager.svelte.js +13 -8
  89. package/package/components/copilot/chat/flow/ModuleAcceptReject.svelte +5 -5
  90. package/package/components/copilot/chat/flow/core.d.ts +1 -1
  91. package/package/components/copilot/chat/flow/core.js +2 -38
  92. package/package/components/copilot/chat/navigator/apiTools.d.ts +8 -0
  93. package/package/components/copilot/chat/navigator/apiTools.js +95 -15
  94. package/package/components/copilot/chat/navigator/core.d.ts +1 -1
  95. package/package/components/copilot/chat/navigator/core.js +2 -1
  96. package/package/components/copilot/chat/script/core.d.ts +11 -2
  97. package/package/components/copilot/chat/script/core.js +135 -1
  98. package/package/components/copilot/chat/shared.d.ts +10 -0
  99. package/package/components/copilot/chat/shared.js +56 -0
  100. package/package/components/copilot/lib.d.ts +1 -0
  101. package/package/components/copilot/lib.js +27 -9
  102. package/package/components/custom_ui.d.ts +1 -0
  103. package/package/components/flows/FlowAssetsHandler.svelte +133 -0
  104. package/package/components/flows/FlowAssetsHandler.svelte.d.ts +14 -0
  105. package/package/components/flows/content/FlowModuleComponent.svelte +16 -18
  106. package/package/components/flows/flowStore.d.ts +1 -1
  107. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -0
  108. package/package/components/flows/propPicker/OutputPicker.svelte +9 -4
  109. package/package/components/flows/scheduleUtils.js +1 -1
  110. package/package/components/flows/types.d.ts +2 -1
  111. package/package/components/graph/FlowGraphV2.svelte +8 -104
  112. package/package/components/graph/FlowGraphV2.svelte.d.ts +0 -2
  113. package/package/components/graph/graphBuilder.svelte.d.ts +6 -3
  114. package/package/components/graph/graphBuilder.svelte.js +35 -9
  115. package/package/components/graph/renderers/edges/BaseEdge.svelte +2 -5
  116. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +1 -0
  117. package/package/components/graph/renderers/nodes/AssetNode.svelte +23 -20
  118. package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +5 -10
  119. package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +1 -1
  120. package/package/components/graph/util.js +1 -1
  121. package/package/components/home/ItemsList.svelte +2 -0
  122. package/package/components/icons/AssetGenericIcon.svelte +0 -3
  123. package/package/components/jobs/JobPreview.svelte +10 -6
  124. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +13 -12
  125. package/package/components/runs/BatchReRunOptionsPane.svelte +5 -1
  126. package/package/components/runs/JobPreview.svelte +26 -16
  127. package/package/components/runs/{JobLoader.svelte.d.ts → JobsLoader.svelte.d.ts} +3 -3
  128. package/package/components/runs/NoWorkerWithTagWarning.svelte +2 -2
  129. package/package/components/runs/NoWorkerWithTagWarning.svelte.d.ts +1 -0
  130. package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
  131. package/package/components/schema/AddPropertyFormV2.svelte +42 -33
  132. package/package/components/schema/AddPropertyFormV2.svelte.d.ts +1 -0
  133. package/package/components/schema/AddPropertyV2.svelte +2 -1
  134. package/package/components/schema/AddPropertyV2.svelte.d.ts +1 -0
  135. package/package/components/schema/EditableSchemaWrapper.svelte +3 -1
  136. package/package/components/schema/editable_schema_wrapper.d.ts +3 -0
  137. package/package/components/scriptEditor/LogPanel.svelte +3 -2
  138. package/package/components/script_builder.d.ts +2 -2
  139. package/package/components/settings/CreateToken.svelte +76 -41
  140. package/package/components/settings/CreateToken.svelte.d.ts +1 -1
  141. package/package/components/settings/ScopeSelector.svelte +613 -0
  142. package/package/components/settings/ScopeSelector.svelte.d.ts +8 -0
  143. package/package/components/settings/TokenDisplay.svelte +103 -0
  144. package/package/components/settings/TokenDisplay.svelte.d.ts +10 -0
  145. package/package/components/settings/TokensTable.svelte +70 -349
  146. package/package/components/sidebar/CriticalAlertModal.svelte +3 -0
  147. package/package/components/triggers/DeleteTriggerButton.svelte +1 -1
  148. package/package/components/triggers/TriggerEditorToolbar.svelte +3 -3
  149. package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte +55 -0
  150. package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte.d.ts +13 -0
  151. package/package/components/triggers/TriggersEditor.svelte +45 -3
  152. package/package/components/triggers/TriggersWrapper.svelte +2 -2
  153. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +43 -2
  154. package/package/components/triggers/gcp/utils.js +9 -1
  155. package/package/components/triggers/http/OpenAPISpecGenerator.svelte +1 -0
  156. package/package/components/triggers/http/RouteEditorInner.svelte +208 -164
  157. package/package/components/triggers/http/RouteEditorInner.svelte.d.ts +6 -2
  158. package/package/components/triggers/http/utils.js +9 -3
  159. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +43 -2
  160. package/package/components/triggers/kafka/utils.js +9 -1
  161. package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte +4 -132
  162. package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte.d.ts +2 -5
  163. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +178 -9
  164. package/package/components/triggers/mqtt/utils.js +9 -1
  165. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +43 -2
  166. package/package/components/triggers/nats/utils.js +9 -1
  167. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +41 -2
  168. package/package/components/triggers/postgres/utils.js +9 -1
  169. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +34 -88
  170. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +43 -2
  171. package/package/components/triggers/sqs/utils.js +9 -1
  172. package/package/components/triggers/utils.js +12 -0
  173. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +43 -2
  174. package/package/components/triggers/websocket/utils.js +11 -1
  175. package/package/components/workspaceSettings/AISettings.svelte +0 -2
  176. package/package/components/workspaceSettings/FilterList.svelte +56 -0
  177. package/package/components/workspaceSettings/FilterList.svelte.d.ts +8 -0
  178. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +785 -0
  179. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte.d.ts +18 -0
  180. package/package/gen/core/OpenAPI.js +1 -1
  181. package/package/gen/schemas.gen.d.ts +305 -23
  182. package/package/gen/schemas.gen.js +305 -23
  183. package/package/gen/services.gen.d.ts +33 -1
  184. package/package/gen/services.gen.js +66 -2
  185. package/package/gen/types.gen.d.ts +216 -11
  186. package/package/history.svelte.js +0 -2
  187. package/package/hub.d.ts +1 -0
  188. package/package/hubPaths.json +5 -2
  189. package/package/infer.js +16 -10
  190. package/package/svelte5Utils.svelte.d.ts +1 -0
  191. package/package/svelte5Utils.svelte.js +25 -18
  192. package/package/toast.js +10 -0
  193. package/package/utils.d.ts +3 -2
  194. package/package/utils.js +20 -5
  195. package/package.json +11 -11
  196. package/package/components/ResultJobLoader.svelte +0 -219
  197. package/package/components/ResultJobLoader.svelte.d.ts +0 -52
  198. package/package/components/TestJobLoader.svelte +0 -274
  199. package/package/components/TestJobLoader.svelte.d.ts +0 -43
  200. package/package/components/icons/AssetVarIcon.svelte +0 -31
  201. package/package/components/icons/AssetVarIcon.svelte.d.ts +0 -9
  202. /package/package/components/runs/{JobLoader.svelte → JobsLoader.svelte} +0 -0
@@ -13,6 +13,8 @@ import Button from '../common/button/Button.svelte';
13
13
  import TriggersWrapperV2 from './TriggersWrapper.svelte';
14
14
  import { triggerTypeToCaptureKind, CLOUD_DISABLED_TRIGGER_TYPES } from './utils';
15
15
  import { isCloudHosted } from '../../cloud';
16
+ import { ScheduleService, WebsocketTriggerService, PostgresTriggerService, KafkaTriggerService, NatsTriggerService, MqttTriggerService, HttpTriggerService, GcpTriggerService, SqsTriggerService } from '../../gen';
17
+ import { sendUserToast } from '../../toast';
16
18
  let { noEditor, newItem = false, currentPath, fakeInitialPath = '', hash = undefined, args = {}, initialPath, isFlow, canHavePreprocessor = false, hasPreprocessor = false, isDeployed = false, schema = undefined, noCapture = false, isEditor = true, onDeployTrigger } = $props();
17
19
  let config = $state({});
18
20
  let width = $state(0);
@@ -30,10 +32,50 @@ onDestroy(() => {
30
32
  function onSelect(triggerIndex) {
31
33
  triggersState.selectedTriggerIndex = triggerIndex;
32
34
  }
33
- function deleteDraftTrigger(triggerIndex) {
35
+ let deletingTrigger = $state(undefined);
36
+ async function deleteDeployedTrigger(triggerIndex) {
37
+ const { type: triggerType, path: triggerPath } = triggersState.triggers[triggerIndex];
38
+ if (!triggerPath) {
39
+ return;
40
+ }
41
+ const deleteHandlers = {
42
+ schedule: () => ScheduleService.deleteSchedule,
43
+ websocket: () => WebsocketTriggerService.deleteWebsocketTrigger,
44
+ postgres: () => PostgresTriggerService.deletePostgresTrigger,
45
+ kafka: () => KafkaTriggerService.deleteKafkaTrigger,
46
+ nats: () => NatsTriggerService.deleteNatsTrigger,
47
+ gcp: () => GcpTriggerService.deleteGcpTrigger,
48
+ sqs: () => SqsTriggerService.deleteSqsTrigger,
49
+ mqtt: () => MqttTriggerService.deleteMqttTrigger,
50
+ http: () => HttpTriggerService.deleteHttpTrigger
51
+ };
52
+ const deleteHandler = deleteHandlers[triggerType];
53
+ if (deleteHandler && deletingTrigger !== triggerIndex) {
54
+ deletingTrigger = triggerIndex;
55
+ try {
56
+ await deleteHandler()({
57
+ workspace: $workspaceStore ?? '',
58
+ path: triggerPath ?? ''
59
+ });
60
+ sendUserToast(`Successfully deleted ${triggerType} trigger: ${triggerPath}`);
61
+ }
62
+ catch (error) {
63
+ sendUserToast(error.body || error.message, true);
64
+ }
65
+ finally {
66
+ deletingTrigger = undefined;
67
+ }
68
+ }
69
+ }
70
+ async function deleteTrigger(triggerIndex) {
34
71
  if (triggerIndex === undefined) {
35
72
  return;
36
73
  }
74
+ // If the trigger is deployed, delete the trigger from the db
75
+ if (!triggersState.triggers[triggerIndex].isDraft &&
76
+ triggersState.triggers[triggerIndex].path) {
77
+ await deleteDeployedTrigger(triggerIndex);
78
+ }
37
79
  triggersState.deleteTrigger(triggersCount, triggerIndex);
38
80
  triggersState.selectedTriggerIndex = triggersState.triggers.length - 1;
39
81
  }
@@ -110,7 +152,7 @@ const cloudDisabled = $derived(CLOUD_DISABLED_TRIGGER_TYPES.includes(triggersSta
110
152
  triggers={triggersState.triggers}
111
153
  {isEditor}
112
154
  onAddDraftTrigger={handleAddTrigger}
113
- onDeleteDraft={deleteDraftTrigger}
155
+ onDeleteDraft={deleteTrigger}
114
156
  onReset={handleResetDraft}
115
157
  webhookToken={$triggersCount?.webhook_count}
116
158
  emailToken={$triggersCount?.email_count}
@@ -170,7 +212,7 @@ const cloudDisabled = $derived(CLOUD_DISABLED_TRIGGER_TYPES.includes(triggersSta
170
212
  {schema}
171
213
  {isEditor}
172
214
  onDelete={() => {
173
- deleteDraftTrigger(triggersState.selectedTriggerIndex)
215
+ deleteTrigger(triggersState.selectedTriggerIndex)
174
216
  }}
175
217
  onUpdate={(path) => {
176
218
  handleUpdate(triggersState.selectedTriggerIndex, path)
@@ -34,13 +34,13 @@ let { selectedTrigger, isFlow = false, initialPath, fakeInitialPath, currentPath
34
34
  {hash}
35
35
  token=""
36
36
  {args}
37
- scopes={isFlow ? [`run:flow/${currentPath}`] : [`run:script/${currentPath}`]}
37
+ scopes={isFlow ? [`jobs:run:flows:${currentPath}`] : [`jobs:run:scripts:${currentPath}`]}
38
38
  {newItem}
39
39
  />
40
40
  {:else if selectedTrigger.type === 'email'}
41
41
  <EmailTriggerPanel
42
42
  token=""
43
- scopes={isFlow ? [`run:flow/${currentPath}`] : [`run:script/${currentPath}`]}
43
+ scopes={isFlow ? [`jobs:run:flows:${currentPath}`] : [`jobs:run:scripts:${currentPath}`]}
44
44
  path={initialPath || fakeInitialPath}
45
45
  {isFlow}
46
46
  on:email-domain
@@ -14,8 +14,11 @@ import GcpTriggerEditorConfigSection from './GcpTriggerEditorConfigSection.svelt
14
14
  import { untrack } from 'svelte';
15
15
  import TriggerEditorToolbar from '../TriggerEditorToolbar.svelte';
16
16
  import { saveGcpTriggerFromCfg } from './utils';
17
- import { handleConfigChange } from '../utils';
17
+ import { getHandlerType, handleConfigChange } from '../utils';
18
18
  import { base } from '../../../base';
19
+ import Tabs from '../../common/tabs/Tabs.svelte';
20
+ import Tab from '../../common/tabs/Tab.svelte';
21
+ import TriggerRetriesAndErrorHandler from '../TriggerRetriesAndErrorHandler.svelte';
19
22
  let drawer = $state(undefined);
20
23
  let is_flow = $state(false);
21
24
  let initialPath = $state('');
@@ -40,6 +43,11 @@ let subscription_mode = $state('create_update');
40
43
  let initialConfig = undefined;
41
44
  let deploymentLoading = $state(false);
42
45
  let base_endpoint = $derived(`${window.location.origin}${base}`);
46
+ let optionTabSelected = $state('error_handler');
47
+ let errorHandlerSelected = $state('slack');
48
+ let error_handler_path = $state();
49
+ let error_handler_args = $state({});
50
+ let retry = $state();
43
51
  let { useDrawer = true, description = undefined, hideTarget = false, hideTooltips = false, isEditor = false, allowDraft = false, trigger = undefined, isDeployed = false, customLabel = undefined, onConfigChange = undefined, onCaptureConfigChange = undefined, onUpdate = undefined, onDelete = undefined, onReset = undefined, cloudDisabled = false } = $props();
44
52
  const gcpConfig = $derived.by(getGcpConfig);
45
53
  const saveDisabled = $derived(pathError != '' || emptyString(script_path) || !isValid || !can_write);
@@ -84,6 +92,10 @@ export async function openNew(nis_flow, fixedScriptPath_, defaultValues) {
84
92
  edit = false;
85
93
  dirtyPath = false;
86
94
  enabled = defaultValues?.enabled ?? false;
95
+ error_handler_path = defaultValues?.error_handler_path ?? undefined;
96
+ error_handler_args = defaultValues?.error_handler_args ?? {};
97
+ retry = defaultValues?.retry ?? undefined;
98
+ errorHandlerSelected = getHandlerType(error_handler_path ?? '');
87
99
  }
88
100
  finally {
89
101
  drawerLoading = false;
@@ -120,6 +132,10 @@ async function loadTriggerConfig(cfg) {
120
132
  enabled = cfg?.enabled;
121
133
  topic_id = cfg?.topic_id ?? '';
122
134
  can_write = canWrite(cfg?.path, cfg?.extra_perms, $userStore);
135
+ error_handler_path = cfg?.error_handler_path;
136
+ error_handler_args = cfg?.error_handler_args ?? {};
137
+ retry = cfg?.retry;
138
+ errorHandlerSelected = getHandlerType(error_handler_path ?? '');
123
139
  }
124
140
  async function updateTrigger() {
125
141
  deploymentLoading = true;
@@ -146,7 +162,10 @@ function getGcpConfig() {
146
162
  path,
147
163
  script_path,
148
164
  enabled,
149
- is_flow
165
+ is_flow,
166
+ error_handler_path,
167
+ error_handler_args,
168
+ retry
150
169
  };
151
170
  }
152
171
  function getGcpCaptureConfig() {
@@ -317,6 +336,28 @@ $effect(() => {
317
336
  headless={true}
318
337
  showTestingBadge={isEditor}
319
338
  />
339
+
340
+ <Section label="Advanced" collapsable>
341
+ <div class="flex flex-col gap-4">
342
+ <div class="min-h-96">
343
+ <Tabs bind:selected={optionTabSelected}>
344
+ <Tab value="error_handler">Error Handler</Tab>
345
+ <Tab value="retries">Retries</Tab>
346
+ </Tabs>
347
+ <div class="mt-4">
348
+ <TriggerRetriesAndErrorHandler
349
+ {optionTabSelected}
350
+ {itemKind}
351
+ {can_write}
352
+ bind:errorHandlerSelected
353
+ bind:error_handler_path
354
+ bind:error_handler_args
355
+ bind:retry
356
+ />
357
+ </div>
358
+ </div>
359
+ </div>
360
+ </Section>
320
361
  </div>
321
362
  {/if}
322
363
  {/snippet}
@@ -3,6 +3,13 @@ import { sendUserToast } from '../../../toast';
3
3
  import { get } from 'svelte/store';
4
4
  export async function saveGcpTriggerFromCfg(initialPath, cfg, edit, workspace, usedTriggerKinds) {
5
5
  try {
6
+ const errorHandlerAndRetries = !cfg.is_flow
7
+ ? {
8
+ error_handler_path: cfg.error_handler_path,
9
+ error_handler_args: cfg.error_handler_path ? cfg.error_handler_args : undefined,
10
+ retry: cfg.retry
11
+ }
12
+ : {};
6
13
  const requestBody = {
7
14
  gcp_resource_path: cfg.gcp_resource_path,
8
15
  subscription_mode: cfg.subscription_mode,
@@ -14,7 +21,8 @@ export async function saveGcpTriggerFromCfg(initialPath, cfg, edit, workspace, u
14
21
  path: cfg.path,
15
22
  script_path: cfg.script_path,
16
23
  enabled: cfg.enabled,
17
- is_flow: cfg.is_flow
24
+ is_flow: cfg.is_flow,
25
+ ...errorHandlerAndRetries
18
26
  };
19
27
  if (edit) {
20
28
  await GcpTriggerService.updateGcpTrigger({
@@ -168,6 +168,7 @@ export function openDrawer() {
168
168
  token = e.detail
169
169
  }}
170
170
  newTokenLabel={`openapi-${$userStore?.username ?? 'superadmin'}-${generateRandomString(4)}`}
171
+ scopes={['openapi:write']}
171
172
  />
172
173
  </div>
173
174