windmill-components 1.434.1 → 1.444.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 (285) hide show
  1. package/package/components/ArgInput.svelte +12 -16
  2. package/package/components/ArgInput.svelte.d.ts +1 -0
  3. package/package/components/AssignableTags.svelte +3 -1
  4. package/package/components/AssignableTags.svelte.d.ts +1 -0
  5. package/package/components/AuthSettings.svelte +248 -0
  6. package/package/components/AuthSettings.svelte.d.ts +19 -0
  7. package/package/components/AutoscalingConfigEditor.svelte +2 -2
  8. package/package/components/CronInput.svelte +2 -2
  9. package/package/components/DeployWorkspace.svelte +1 -1
  10. package/package/components/Description.svelte +9 -0
  11. package/package/components/Description.svelte.d.ts +18 -0
  12. package/package/components/Dev.svelte +18 -3
  13. package/package/components/DisplayResult.svelte +7 -4
  14. package/package/components/DisplayResult.svelte.d.ts +1 -0
  15. package/package/components/DropdownV2.svelte +2 -1
  16. package/package/components/DropdownV2.svelte.d.ts +1 -0
  17. package/package/components/EditableSchemaForm.svelte +2 -2
  18. package/package/components/Editor.svelte +9 -6
  19. package/package/components/Editor.svelte.d.ts +4 -2
  20. package/package/components/EditorBar.svelte +51 -6
  21. package/package/components/ErrorOrRecoveryHandler.svelte +4 -3
  22. package/package/components/ExecutionDuration.svelte +2 -1
  23. package/package/components/FieldHeader.svelte +9 -1
  24. package/package/components/FieldHeader.svelte.d.ts +1 -0
  25. package/package/components/FlowBuilder.svelte +16 -3
  26. package/package/components/FlowGraphViewer.svelte +2 -0
  27. package/package/components/FlowPreviewContent.svelte +6 -15
  28. package/package/components/FlowStatusViewerInner.svelte +14 -10
  29. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
  30. package/package/components/HighlightCode.svelte +3 -0
  31. package/package/components/InputTransformSchemaForm.svelte +1 -1
  32. package/package/components/InstanceSetting.svelte +774 -0
  33. package/package/components/InstanceSetting.svelte.d.ts +27 -0
  34. package/package/components/InstanceSettings.svelte +68 -1005
  35. package/package/components/InstanceSettings.svelte.d.ts +0 -4
  36. package/package/components/Label.svelte +16 -6
  37. package/package/components/Label.svelte.d.ts +3 -0
  38. package/package/components/Login.svelte +17 -9
  39. package/package/components/OAuthSetting.svelte +4 -3
  40. package/package/components/OauthExtraParams.svelte +1 -1
  41. package/package/components/OauthScopes.svelte +2 -2
  42. package/package/components/ObjectStoreConfigSettings.svelte +141 -128
  43. package/package/components/QueueMetricsDrawer.svelte +5 -5
  44. package/package/components/ResourceEditor.svelte +4 -0
  45. package/package/components/ResourceEditor.svelte.d.ts +1 -0
  46. package/package/components/ResourceEditorDrawer.svelte +15 -3
  47. package/package/components/ResourceEditorDrawer.svelte.d.ts +2 -2
  48. package/package/components/ResourcePicker.svelte +16 -5
  49. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  50. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  51. package/package/components/RunPageSchedules.svelte +15 -10
  52. package/package/components/SavedInputs.svelte +1 -1
  53. package/package/components/ScheduleEditorInner.svelte +58 -27
  54. package/package/components/SchemaForm.svelte +7 -5
  55. package/package/components/SchemaForm.svelte.d.ts +1 -0
  56. package/package/components/ScriptBuilder.svelte +58 -5
  57. package/package/components/ScriptEditor.svelte +78 -40
  58. package/package/components/ScriptEditor.svelte.d.ts +17 -2
  59. package/package/components/ScriptPicker.svelte +41 -34
  60. package/package/components/ScriptPicker.svelte.d.ts +1 -0
  61. package/package/components/ScriptVersionHistory.svelte +1 -1
  62. package/package/components/Section.svelte +38 -35
  63. package/package/components/Section.svelte.d.ts +2 -0
  64. package/package/components/ServiceLogsInner.svelte +1 -1
  65. package/package/components/SimpleEditor.svelte +2 -0
  66. package/package/components/Subsection.svelte +52 -0
  67. package/package/components/Subsection.svelte.d.ts +27 -0
  68. package/package/components/SuperadminSettings.svelte +23 -13
  69. package/package/components/TemplateEditor.svelte +4 -3
  70. package/package/components/TestConnection.svelte +5 -0
  71. package/package/components/TestJobLoader.svelte +2 -1
  72. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  73. package/package/components/Toggle.svelte +2 -4
  74. package/package/components/UserSettings.svelte +1 -1
  75. package/package/components/WorkerGroup.svelte +4 -4
  76. package/package/components/WorkerTagPicker.svelte +4 -2
  77. package/package/components/WorkerTagPicker.svelte.d.ts +1 -0
  78. package/package/components/WorkerTagSelect.svelte +2 -0
  79. package/package/components/WorkerTagSelect.svelte.d.ts +1 -0
  80. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
  81. package/package/components/apps/components/display/dbtable/utils.js +26 -1
  82. package/package/components/apps/components/helpers/RunnableComponent.svelte +8 -2
  83. package/package/components/apps/components/inputs/AppDateInput.svelte +7 -1
  84. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -1
  85. package/package/components/apps/editor/AppEditor.svelte +5 -34
  86. package/package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
  87. package/package/components/apps/editor/AppEditorBottomPanel.svelte +4 -7
  88. package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +1 -3
  89. package/package/components/apps/editor/AppEditorHeader.svelte +148 -58
  90. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  91. package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
  92. package/package/components/apps/editor/RunnableJobPanel.svelte +6 -2
  93. package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +1 -0
  94. package/package/components/apps/editor/appUtils.d.ts +1 -0
  95. package/package/components/apps/editor/appUtils.js +17 -0
  96. package/package/components/apps/editor/component/components.d.ts +82 -81
  97. package/package/components/apps/editor/component/components.js +4 -3
  98. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
  99. package/package/components/apps/editor/componentsPanel/GroupList.svelte +12 -2
  100. package/package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -1
  101. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
  102. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -56
  103. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +1 -1
  104. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +3 -2
  105. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
  106. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +16 -9
  107. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
  108. package/package/components/apps/inputType.d.ts +2 -2
  109. package/package/components/apps/types.d.ts +2 -0
  110. package/package/components/common/alert/ConnectionIndicator.svelte +30 -0
  111. package/package/components/common/alert/ConnectionIndicator.svelte.d.ts +20 -0
  112. package/package/components/common/alert/Notification.svelte +15 -0
  113. package/package/components/common/alert/Notification.svelte.d.ts +17 -0
  114. package/package/components/common/button/AnimatedButton.svelte +1 -1
  115. package/package/components/common/button/RefreshButton.svelte +30 -0
  116. package/package/components/common/button/RefreshButton.svelte.d.ts +18 -0
  117. package/package/components/common/fileDownload/FileDownload.svelte +4 -3
  118. package/package/components/common/fileDownload/FileDownload.svelte.d.ts +1 -0
  119. package/package/components/common/fileUpload/FileUpload.svelte +3 -3
  120. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  121. package/package/components/common/layout/List.svelte +35 -0
  122. package/package/components/common/layout/List.svelte.d.ts +21 -0
  123. package/package/components/common/layout/ListElement.svelte +3 -0
  124. package/package/components/common/layout/ListElement.svelte.d.ts +27 -0
  125. package/package/components/common/menu/MenuV2.svelte +3 -2
  126. package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
  127. package/package/components/common/modal/Modal.svelte +6 -4
  128. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  129. package/package/components/common/modal/Modal2.svelte +101 -0
  130. package/package/components/common/modal/Modal2.svelte.d.ts +28 -0
  131. package/package/components/common/popup/Popup.svelte +5 -1
  132. package/package/components/common/popup/Popup.svelte.d.ts +2 -0
  133. package/package/components/common/toggleButton-v2/ToggleButton.svelte +1 -1
  134. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  135. package/package/components/details/ClipboardPanel.svelte +12 -2
  136. package/package/components/details/ClipboardPanel.svelte.d.ts +2 -0
  137. package/package/components/details/CopyableCodeBlock.svelte +24 -0
  138. package/package/components/details/CopyableCodeBlock.svelte.d.ts +19 -0
  139. package/package/components/details/DetailPageLayout.svelte +3 -1
  140. package/package/components/details/EmailTriggerConfigSection.svelte +119 -0
  141. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +38 -0
  142. package/package/components/details/EmailTriggerPanel.svelte +27 -74
  143. package/package/components/details/EmailTriggerPanel.svelte.d.ts +7 -1
  144. package/package/components/flows/FlowEditor.svelte +1 -1
  145. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  146. package/package/components/flows/FlowHistoryInner.svelte +1 -1
  147. package/package/components/flows/content/BranchPredicateEditor.svelte +1 -1
  148. package/package/components/flows/content/FlowEditorPanel.svelte +30 -1
  149. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -0
  150. package/package/components/flows/content/FlowInput.svelte +2 -15
  151. package/package/components/flows/content/FlowInputs.svelte +1 -1
  152. package/package/components/flows/content/FlowInputsQuick.svelte +2 -2
  153. package/package/components/flows/content/FlowModuleComponent.svelte +9 -5
  154. package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
  155. package/package/components/flows/content/FlowModuleHeader.svelte +4 -1
  156. package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
  157. package/package/components/flows/content/FlowPathViewer.svelte +3 -1
  158. package/package/components/flows/content/FlowRetries.svelte +32 -5
  159. package/package/components/flows/content/FlowSettings.svelte +56 -48
  160. package/package/components/flows/flowStateUtils.d.ts +10 -1
  161. package/package/components/flows/flowStateUtils.js +23 -0
  162. package/package/components/flows/map/FlowModuleSchemaMap.svelte +9 -19
  163. package/package/components/flows/map/InsertModuleButton.svelte +3 -3
  164. package/package/components/flows/map/VirtualItem.svelte +29 -1
  165. package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -0
  166. package/package/components/flows/pickers/TopLevelNode.svelte +2 -2
  167. package/package/components/flows/previousResults.js +8 -2
  168. package/package/components/flows/types.d.ts +1 -0
  169. package/package/components/graph/FlowGraphV2.svelte +5 -1
  170. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
  171. package/package/components/graph/renderers/nodes/InputNode.svelte +2 -0
  172. package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +2 -0
  173. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
  174. package/package/components/icons/CSharpIcon.svelte +14 -0
  175. package/package/components/icons/CSharpIcon.svelte.d.ts +25 -0
  176. package/package/components/icons/GitIcon.svelte +5 -2
  177. package/package/components/icons/XeroIcon.svelte +24 -0
  178. package/package/components/icons/XeroIcon.svelte.d.ts +17 -0
  179. package/package/components/icons/index.d.ts +3 -1
  180. package/package/components/icons/index.js +4 -2
  181. package/package/components/instanceSettings.d.ts +3 -1
  182. package/package/components/instanceSettings.js +77 -69
  183. package/package/components/meltComponents/Popover.svelte +82 -0
  184. package/package/components/meltComponents/Popover.svelte.d.ts +21 -0
  185. package/package/components/propertyPicker/PropPicker.svelte +5 -3
  186. package/package/components/runs/JobLoader.svelte +5 -2
  187. package/package/components/runs/JobPreview.svelte +5 -5
  188. package/package/components/runs/RunRow.svelte +3 -4
  189. package/package/components/runs/RunsFilter.svelte +4 -4
  190. package/package/components/schema/EditableSchemaDrawer.svelte +4 -4
  191. package/package/components/schema/PropertyEditor.svelte +1 -1
  192. package/package/components/schema/SchemaFormDND.svelte +2 -0
  193. package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
  194. package/package/components/scriptEditor/LogPanel.svelte +176 -164
  195. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  196. package/package/components/search/GlobalSearchModal.svelte +3 -3
  197. package/package/components/sidebar/CriticalAlertModal.svelte +155 -9
  198. package/package/components/sidebar/CriticalAlertModalInner.svelte +65 -212
  199. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +2 -4
  200. package/package/components/sidebar/CriticalAlertTable.svelte +142 -0
  201. package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +25 -0
  202. package/package/components/sidebar/OperatorMenu.svelte +30 -8
  203. package/package/components/sidebar/SideBarNotification.svelte +3 -6
  204. package/package/components/sidebar/SidebarContent.svelte +5 -5
  205. package/package/components/sidebar/WorkspaceMenu.svelte +9 -5
  206. package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +1 -0
  207. package/package/components/sidebar/changelogs.js +82 -17
  208. package/package/components/splitPanes/SplitPanesOrColumnOnMobile.svelte +21 -21
  209. package/package/components/table/AutoDataTable.svelte +1 -1
  210. package/package/components/table/Cell.svelte +5 -3
  211. package/package/components/table/Cell.svelte.d.ts +1 -0
  212. package/package/components/table/DataTable.svelte +65 -58
  213. package/package/components/table/DataTable.svelte.d.ts +2 -0
  214. package/package/components/table/Head.svelte +1 -1
  215. package/package/components/table/Row.svelte +3 -1
  216. package/package/components/table/Row.svelte.d.ts +1 -0
  217. package/package/components/toast.js +3 -1
  218. package/package/components/triggers/CaptureButton.svelte +77 -0
  219. package/package/components/triggers/CaptureButton.svelte.d.ts +16 -0
  220. package/package/components/triggers/CaptureIcon.svelte +17 -0
  221. package/package/components/triggers/CaptureIcon.svelte.d.ts +23 -0
  222. package/package/components/triggers/CaptureSection.svelte +76 -0
  223. package/package/components/triggers/CaptureSection.svelte.d.ts +42 -0
  224. package/package/components/triggers/CaptureTable.svelte +224 -0
  225. package/package/components/triggers/CaptureTable.svelte.d.ts +43 -0
  226. package/package/components/triggers/CaptureWrapper.svelte +237 -0
  227. package/package/components/triggers/CaptureWrapper.svelte.d.ts +35 -0
  228. package/package/components/triggers/KafkaTriggerEditor.svelte +2 -2
  229. package/package/components/triggers/KafkaTriggerEditor.svelte.d.ts +2 -2
  230. package/package/components/triggers/KafkaTriggerEditorInner.svelte +47 -119
  231. package/package/components/triggers/KafkaTriggerEditorInner.svelte.d.ts +2 -2
  232. package/package/components/triggers/KafkaTriggersConfigSection.svelte +215 -0
  233. package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +36 -0
  234. package/package/components/triggers/KafkaTriggersPanel.svelte +73 -45
  235. package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +6 -0
  236. package/package/components/triggers/RouteEditor.svelte +2 -2
  237. package/package/components/triggers/RouteEditor.svelte.d.ts +2 -2
  238. package/package/components/triggers/RouteEditorConfigSection.svelte +162 -0
  239. package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +43 -0
  240. package/package/components/triggers/RouteEditorInner.svelte +98 -163
  241. package/package/components/triggers/RouteEditorInner.svelte.d.ts +2 -2
  242. package/package/components/triggers/RoutesPanel.svelte +69 -54
  243. package/package/components/triggers/RoutesPanel.svelte.d.ts +5 -0
  244. package/package/components/triggers/ScheduledPollPanel.svelte +5 -9
  245. package/package/components/triggers/TriggersEditor.svelte +119 -89
  246. package/package/components/triggers/TriggersEditor.svelte.d.ts +7 -0
  247. package/package/components/triggers/TriggersEditorSection.svelte +109 -0
  248. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +29 -0
  249. package/package/components/triggers/TriggersWrapper.svelte +60 -0
  250. package/package/components/triggers/TriggersWrapper.svelte.d.ts +21 -0
  251. package/package/components/triggers/WebhooksConfigSection.svelte +382 -0
  252. package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +39 -0
  253. package/package/components/triggers/WebhooksPanel.svelte +32 -331
  254. package/package/components/triggers/WebhooksPanel.svelte.d.ts +7 -1
  255. package/package/components/triggers/WebsocketEditorConfigSection.svelte +176 -0
  256. package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +37 -0
  257. package/package/components/triggers/WebsocketTriggerEditor.svelte +2 -2
  258. package/package/components/triggers/WebsocketTriggerEditor.svelte.d.ts +2 -2
  259. package/package/components/triggers/WebsocketTriggerEditorInner.svelte +29 -150
  260. package/package/components/triggers/WebsocketTriggerEditorInner.svelte.d.ts +2 -2
  261. package/package/components/triggers/WebsocketTriggersPanel.svelte +70 -45
  262. package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +6 -0
  263. package/package/components/triggers.d.ts +6 -2
  264. package/package/components/triggers.js +16 -0
  265. package/package/components/wizards/AgGridWizard.svelte +4 -4
  266. package/package/editorUtils.d.ts +2 -0
  267. package/package/editorUtils.js +6 -3
  268. package/package/gen/core/OpenAPI.js +1 -1
  269. package/package/gen/schemas.gen.d.ts +17 -8
  270. package/package/gen/schemas.gen.js +17 -8
  271. package/package/gen/services.gen.d.ts +55 -5
  272. package/package/gen/services.gen.js +108 -5
  273. package/package/gen/types.gen.d.ts +180 -13
  274. package/package/hubPaths.json +6 -3
  275. package/package/infer.js +9 -0
  276. package/package/script_helpers.d.ts +5 -0
  277. package/package/script_helpers.js +68 -8
  278. package/package/scripts.d.ts +1 -1
  279. package/package/scripts.js +5 -1
  280. package/package/stores.d.ts +1 -0
  281. package/package/utils.d.ts +3 -1
  282. package/package/utils.js +20 -4
  283. package/package.json +11 -8
  284. package/package/components/flows/content/CapturePayload.svelte +0 -114
  285. package/package/components/flows/content/CapturePayload.svelte.d.ts +0 -17
@@ -14,8 +14,7 @@ import Label from '../Label.svelte';
14
14
  import Toggle from '../Toggle.svelte';
15
15
  import { fade } from 'svelte/transition';
16
16
  import JsonEditor from '../apps/editor/settingsPanel/inputEditor/JsonEditor.svelte';
17
- import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
18
- import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
17
+ import WebsocketEditorConfigSection from './WebsocketEditorConfigSection.svelte';
19
18
  let drawer;
20
19
  let is_flow = false;
21
20
  let initialPath = '';
@@ -27,7 +26,6 @@ let fixedScriptPath = '';
27
26
  let path = '';
28
27
  let pathError = '';
29
28
  let url = '';
30
- let urlError = '';
31
29
  let dirtyUrl = false;
32
30
  let enabled = false;
33
31
  let filters = [];
@@ -56,14 +54,14 @@ export async function openEdit(ePath, isFlow) {
56
54
  drawerLoading = false;
57
55
  }
58
56
  }
59
- export async function openNew(nis_flow, fixedScriptPath_) {
57
+ export async function openNew(nis_flow, fixedScriptPath_, defaultValues) {
60
58
  drawerLoading = true;
61
59
  try {
62
60
  drawer?.openDrawer();
63
61
  is_flow = nis_flow;
64
62
  edit = false;
65
63
  itemKind = nis_flow ? 'flow' : 'script';
66
- url = '';
64
+ url = defaultValues?.url ?? '';
67
65
  dirtyUrl = false;
68
66
  initialScriptPath = '';
69
67
  fixedScriptPath = fixedScriptPath_ ?? '';
@@ -72,7 +70,7 @@ export async function openNew(nis_flow, fixedScriptPath_) {
72
70
  initialPath = '';
73
71
  filters = [];
74
72
  initial_messages = [];
75
- url_runnable_args = {};
73
+ url_runnable_args = defaultValues?.url_runnable_args ?? {};
76
74
  dirtyPath = false;
77
75
  }
78
76
  finally {
@@ -91,7 +89,7 @@ async function loadTrigger() {
91
89
  url = s.url;
92
90
  enabled = s.enabled;
93
91
  filters = s.filters;
94
- initial_messages = s.initial_messages;
92
+ initial_messages = s.initial_messages ?? [];
95
93
  url_runnable_args = s.url_runnable_args;
96
94
  can_write = canWrite(s.path, s.extra_perms, $userStore);
97
95
  }
@@ -120,30 +118,6 @@ $: initialMessageRunnables = initial_messages
120
118
  .map((v) => ('runnable_result' in v ? v.runnable_result : undefined))
121
119
  .filter((v) => !!v);
122
120
  $: loadInitialMessageRunnableSchemas(initialMessageRunnables);
123
- let urlRunnableSchema = emptySchema();
124
- async function loadUrlRunnableSchema(url) {
125
- if (url.startsWith('$')) {
126
- const path = url.split(':')[1];
127
- if (path && path.length > 0) {
128
- try {
129
- let scriptOrFlow = url.startsWith('$flow:')
130
- ? await FlowService.getFlowByPath({
131
- workspace: $workspaceStore,
132
- path: url.split(':')[1]
133
- })
134
- : await ScriptService.getScriptByPath({
135
- workspace: $workspaceStore,
136
- path: url.split(':')[1]
137
- });
138
- urlRunnableSchema = scriptOrFlow.schema;
139
- }
140
- catch (err) {
141
- sendUserToast(`Could not query runnable schema for ${url.startsWith('$flow:') ? 'flow' : 'script'} ${url.split(':')[1]}: ${err}`, true);
142
- }
143
- }
144
- }
145
- }
146
- $: loadUrlRunnableSchema(url);
147
121
  $: invalidInitialMessages = initial_messages.some((v) => {
148
122
  if ('runnable_result' in v) {
149
123
  return !v.runnable_result.path;
@@ -189,26 +163,7 @@ async function updateTrigger() {
189
163
  dispatch('update');
190
164
  drawer.closeDrawer();
191
165
  }
192
- let validateTimeout = undefined;
193
- function validateUrl(url) {
194
- urlError = '';
195
- if (validateTimeout) {
196
- clearTimeout(validateTimeout);
197
- }
198
- validateTimeout = setTimeout(() => {
199
- console.log('validating ' + url);
200
- if (url.startsWith('$')) {
201
- if (/^(\$script|\$flow):[^\s]+$/.test(url) === false) {
202
- urlError = 'Invalid runnable path';
203
- }
204
- }
205
- else if (/^(ws:|wss:)\/\/[^\s]+$/.test(url) === false) {
206
- urlError = 'Invalid websocket URL';
207
- }
208
- validateTimeout = undefined;
209
- }, 500);
210
- }
211
- $: validateUrl(url);
166
+ let isValid = false;
212
167
  </script>
213
168
 
214
169
  <Drawer size="800px" bind:this={drawer}>
@@ -221,7 +176,7 @@ $: validateUrl(url);
221
176
  on:close={drawer.closeDrawer}
222
177
  >
223
178
  <svelte:fragment slot="actions">
224
- {#if !drawerLoading && can_write}
179
+ {#if !drawerLoading}
225
180
  {#if edit}
226
181
  <div class="mr-8 center-center -mt-1">
227
182
  <Toggle
@@ -241,17 +196,19 @@ $: validateUrl(url);
241
196
  />
242
197
  </div>
243
198
  {/if}
244
- <Button
245
- startIcon={{ icon: Save }}
246
- disabled={pathError != '' ||
247
- urlError != '' ||
248
- invalidInitialMessages ||
249
- emptyString(script_path) ||
250
- !can_write}
251
- on:click={updateTrigger}
252
- >
253
- Save
254
- </Button>
199
+ {#if can_write}
200
+ <Button
201
+ startIcon={{ icon: Save }}
202
+ disabled={pathError != '' ||
203
+ !isValid ||
204
+ invalidInitialMessages ||
205
+ emptyString(script_path) ||
206
+ !can_write}
207
+ on:click={updateTrigger}
208
+ >
209
+ Save
210
+ </Button>
211
+ {/if}
255
212
  {/if}
256
213
  </svelte:fragment>
257
214
  {#if drawerLoading}
@@ -280,92 +237,13 @@ $: validateUrl(url);
280
237
  </Label>
281
238
  </div>
282
239
 
283
- <Section label="Websocket">
284
- <div class="mb-2">
285
- <ToggleButtonGroup
286
- selected={url.startsWith('$') ? 'runnable' : 'static'}
287
- on:selected={(ev) => {
288
- url = ev.detail === 'runnable' ? '$script:' : ''
289
- url_runnable_args = {}
290
- }}
291
- >
292
- <ToggleButton value="static" label="Static URL" />
293
- <ToggleButton value="runnable" label="Runnable result as URL" />
294
- </ToggleButtonGroup>
295
- </div>
296
- {#if url.startsWith('$')}
297
- <div class="flex flex-col w-full gap-4">
298
- <div class="block grow w-full">
299
- <div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
300
- <div>
301
- Runnable
302
- <Required required={true} />
303
- </div>
304
- </div>
305
- <ScriptPicker
306
- allowFlow={true}
307
- itemKind={url.startsWith('$flow:') ? 'flow' : 'script'}
308
- initialPath={url.split(':')[1] ?? ''}
309
- on:select={(ev) => {
310
- dirtyUrl = true
311
- const { path, itemKind } = ev.detail
312
- url = `$${itemKind}:${path ?? ''}`
313
- }}
314
- />
315
- <div class="text-red-600 dark:text-red-400 text-2xs mt-1.5">
316
- {dirtyUrl ? urlError : ''}
317
- </div>
318
- </div>
319
- </div>
320
-
321
- {#if url.split(':')[1]?.length > 0}
322
- {#if urlRunnableSchema}
323
- <p class="font-semibold text-sm mt-4 mb-2">Arguments</p>
324
- {#await import('../SchemaForm.svelte')}
325
- <Loader2 class="animate-spin mt-2" />
326
- {:then Module}
327
- <Module.default
328
- schema={urlRunnableSchema}
329
- bind:args={url_runnable_args}
330
- shouldHideNoInputs
331
- class="text-xs"
332
- />
333
- {/await}
334
- {#if urlRunnableSchema.properties && Object.keys(urlRunnableSchema.properties).length === 0}
335
- <div class="text-xs texg-gray-700">This runnable takes no arguments</div>
336
- {/if}
337
- {:else}
338
- <Loader2 class="animate-spin mt-2" />
339
- {/if}
340
- {/if}
341
- {:else}
342
- <div class="flex flex-col w-full gap-4">
343
- <label class="block grow w-full">
344
- <div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
345
- <div>
346
- URL
347
- <Required required={true} />
348
- </div>
349
- </div>
350
- <input
351
- type="text"
352
- autocomplete="off"
353
- bind:value={url}
354
- disabled={!can_write}
355
- on:input={() => {
356
- dirtyUrl = true
357
- }}
358
- class={urlError === ''
359
- ? ''
360
- : 'border border-red-700 bg-red-100 border-opacity-30 focus:border-red-700 focus:border-opacity-30 focus-visible:ring-red-700 focus-visible:ring-opacity-25 focus-visible:border-red-700'}
361
- />
362
- <div class="text-red-600 dark:text-red-400 text-2xs mt-1.5">
363
- {dirtyUrl ? urlError : ''}
364
- </div>
365
- </label>
366
- </div>
367
- {/if}
368
- </Section>
240
+ <WebsocketEditorConfigSection
241
+ bind:url
242
+ bind:url_runnable_args
243
+ {dirtyUrl}
244
+ {can_write}
245
+ bind:isValid
246
+ />
369
247
 
370
248
  <Section label="Runnable">
371
249
  <p class="text-xs mb-1 text-tertiary">
@@ -379,7 +257,8 @@ $: validateUrl(url);
379
257
  allowFlow={true}
380
258
  bind:itemKind
381
259
  bind:scriptPath={script_path}
382
- allowRefresh
260
+ allowRefresh={can_write}
261
+ allowEdit={!$userStore?.operator}
383
262
  />
384
263
  </div>
385
264
  </Section>
@@ -2,7 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  openEdit?: ((ePath: string, isFlow: boolean) => Promise<void>) | undefined;
5
- openNew?: ((nis_flow: boolean, fixedScriptPath_?: string) => Promise<void>) | undefined;
5
+ openNew?: ((nis_flow: boolean, fixedScriptPath_?: string, defaultValues?: Record<string, any>) => Promise<void>) | undefined;
6
6
  };
7
7
  events: {
8
8
  update: CustomEvent<any>;
@@ -16,6 +16,6 @@ export type WebsocketTriggerEditorInnerEvents = typeof __propDef.events;
16
16
  export type WebsocketTriggerEditorInnerSlots = typeof __propDef.slots;
17
17
  export default class WebsocketTriggerEditorInner extends SvelteComponent<WebsocketTriggerEditorInnerProps, WebsocketTriggerEditorInnerEvents, WebsocketTriggerEditorInnerSlots> {
18
18
  get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
19
- get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined) => Promise<void>;
19
+ get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined, defaultValues?: Record<string, any> | undefined) => Promise<void>;
20
20
  }
21
21
  export {};
@@ -1,19 +1,31 @@
1
- <script>import { Button } from '../common';
2
- import { userStore, workspaceStore } from '../../stores';
1
+ <script>import { userStore, workspaceStore } from '../../stores';
3
2
  import { WebsocketTriggerService } from '../../gen';
4
- import { UnplugIcon } from 'lucide-svelte';
5
3
  import Skeleton from '../common/skeleton/Skeleton.svelte';
6
4
  import { canWrite } from '../../utils';
7
5
  import Alert from '../common/alert/Alert.svelte';
8
- import { getContext } from 'svelte';
6
+ import { getContext, onMount } from 'svelte';
9
7
  import WebsocketTriggerEditor from './WebsocketTriggerEditor.svelte';
10
8
  import { isCloudHosted } from '../../cloud';
9
+ import TriggersEditorSection from './TriggersEditorSection.svelte';
10
+ import Section from '../Section.svelte';
11
+ import Description from '../Description.svelte';
11
12
  export let isFlow;
12
13
  export let path;
13
14
  export let newItem = false;
15
+ export let isEditor = false;
16
+ export let canHavePreprocessor = false;
17
+ export let hasPreprocessor = false;
14
18
  let wsTriggerEditor;
15
19
  $: path && loadTriggers();
16
- const { triggersCount } = getContext('TriggerContext');
20
+ const { triggersCount, selectedTrigger, defaultValues } = getContext('TriggerContext');
21
+ onMount(() => {
22
+ if (defaultValues &&
23
+ $selectedTrigger === 'websockets' &&
24
+ Object.keys($defaultValues ?? {}).length > 0) {
25
+ wsTriggerEditor.openNew(isFlow, path, $defaultValues);
26
+ defaultValues.set(undefined);
27
+ }
28
+ });
17
29
  let wsTriggers = undefined;
18
30
  export async function loadTriggers() {
19
31
  try {
@@ -45,48 +57,61 @@ export async function loadTriggers() {
45
57
  </Alert>
46
58
  {:else}
47
59
  <div class="flex flex-col gap-4">
48
- {#if newItem}
49
- <Alert title="Triggers disabled" type="warning" size="xs">
50
- Deploy the {isFlow ? 'flow' : 'script'} to add WS triggers.
51
- </Alert>
52
- {:else if wsTriggers}
53
- <Button
54
- on:click={() => wsTriggerEditor?.openNew(isFlow, path)}
55
- variant="border"
56
- color="light"
57
- size="xs"
58
- startIcon={{ icon: UnplugIcon }}
59
- >
60
- New WS Trigger
61
- </Button>
62
- {#if wsTriggers.length == 0}
63
- <div class="text-xs text-secondary"> No WS triggers </div>
64
- {:else}
65
- <div class="flex flex-col divide-y pt-2">
66
- {#each wsTriggers as wsTriggers (wsTriggers.path)}
67
- <div class="grid grid-cols-5 text-2xs items-center py-2">
68
- <div class="col-span-2 truncate">{wsTriggers.path}</div>
69
- <div class="col-span-2 truncate">
70
- {wsTriggers.url}
71
- </div>
72
- <div class="flex justify-end">
73
- <button
74
- on:click={() => wsTriggerEditor?.openEdit(wsTriggers.path, isFlow)}
75
- class="px-2"
76
- >
77
- {#if wsTriggers.canWrite}
78
- Edit
79
- {:else}
80
- View
81
- {/if}
82
- </button>
60
+ <Description link="https://www.windmill.dev/docs/core_concepts/websocket_triggers">
61
+ Websocket triggers allow real-time bidirectional communication between your scripts/flows and
62
+ external systems. Each trigger creates a unique websocket endpoint.
63
+ </Description>
64
+ <TriggersEditorSection
65
+ on:applyArgs
66
+ on:saveTrigger={(e) => {
67
+ wsTriggerEditor?.openNew(isFlow, path, e.detail.config)
68
+ }}
69
+ on:addPreprocessor
70
+ cloudDisabled={false}
71
+ triggerType="websocket"
72
+ {isFlow}
73
+ {path}
74
+ {isEditor}
75
+ {canHavePreprocessor}
76
+ {hasPreprocessor}
77
+ {newItem}
78
+ />
79
+
80
+ {#if !newItem}
81
+ <Section label="Websockets">
82
+ <div class="flex flex-col gap-4">
83
+ {#if wsTriggers}
84
+ {#if wsTriggers.length == 0}
85
+ <div class="text-xs text-secondary text-center"> No WS triggers </div>
86
+ {:else}
87
+ <div class="flex flex-col divide-y pt-2">
88
+ {#each wsTriggers as wsTriggers (wsTriggers.path)}
89
+ <div class="grid grid-cols-5 text-2xs items-center py-2">
90
+ <div class="col-span-2 truncate">{wsTriggers.path}</div>
91
+ <div class="col-span-2 truncate">
92
+ {wsTriggers.url}
93
+ </div>
94
+ <div class="flex justify-end">
95
+ <button
96
+ on:click={() => wsTriggerEditor?.openEdit(wsTriggers.path, isFlow)}
97
+ class="px-2"
98
+ >
99
+ {#if wsTriggers.canWrite}
100
+ Edit
101
+ {:else}
102
+ View
103
+ {/if}
104
+ </button>
105
+ </div>
106
+ </div>
107
+ {/each}
83
108
  </div>
84
- </div>
85
- {/each}
109
+ {/if}
110
+ {:else}
111
+ <Skeleton layout={[[8]]} />
112
+ {/if}
86
113
  </div>
87
- {/if}
88
- {:else}
89
- <Skeleton layout={[[8]]} />
114
+ </Section>
90
115
  {/if}
91
116
  </div>
92
117
  {/if}
@@ -4,9 +4,15 @@ declare const __propDef: {
4
4
  isFlow: boolean;
5
5
  path: string;
6
6
  newItem?: boolean | undefined;
7
+ isEditor?: boolean | undefined;
8
+ canHavePreprocessor?: boolean | undefined;
9
+ hasPreprocessor?: boolean | undefined;
7
10
  loadTriggers?: (() => Promise<void>) | undefined;
8
11
  };
9
12
  events: {
13
+ applyArgs: any;
14
+ addPreprocessor: any;
15
+ } & {
10
16
  [evt: string]: CustomEvent<any>;
11
17
  };
12
18
  slots: {};
@@ -1,5 +1,5 @@
1
1
  /// <reference types="svelte" />
2
- import type { TriggersCount } from '../gen';
2
+ import type { CaptureTriggerKind, TriggersCount } from '../gen';
3
3
  import type { Writable } from 'svelte/store';
4
4
  export type ScheduleTrigger = {
5
5
  summary: string | undefined;
@@ -9,9 +9,13 @@ export type ScheduleTrigger = {
9
9
  enabled: boolean;
10
10
  };
11
11
  export type TriggerContext = {
12
- selectedTrigger: Writable<'webhooks' | 'emails' | 'schedules' | 'cli' | 'routes' | 'websockets' | 'scheduledPoll' | 'kafka'>;
12
+ selectedTrigger: Writable<TriggerKind>;
13
13
  primarySchedule: Writable<ScheduleTrigger | undefined | false>;
14
14
  triggersCount: Writable<TriggersCount | undefined>;
15
15
  simplifiedPoll: Writable<boolean | undefined>;
16
+ defaultValues: Writable<Record<string, any> | undefined>;
17
+ captureOn: Writable<boolean | undefined>;
16
18
  };
17
19
  export declare function setScheduledPollSchedule(primarySchedule: Writable<ScheduleTrigger | undefined | false>, triggersCount: Writable<TriggersCount | undefined>): void;
20
+ export type TriggerKind = 'webhooks' | 'emails' | 'schedules' | 'cli' | 'routes' | 'websockets' | 'scheduledPoll' | 'kafka';
21
+ export declare function captureTriggerKindToTriggerKind(kind: CaptureTriggerKind): TriggerKind;
@@ -15,3 +15,19 @@ export function setScheduledPollSchedule(primarySchedule, triggersCount) {
15
15
  };
16
16
  });
17
17
  }
18
+ export function captureTriggerKindToTriggerKind(kind) {
19
+ switch (kind) {
20
+ case 'webhook':
21
+ return 'webhooks';
22
+ case 'email':
23
+ return 'emails';
24
+ case 'http':
25
+ return 'routes';
26
+ case 'websocket':
27
+ return 'websockets';
28
+ case 'kafka':
29
+ return 'kafka';
30
+ default:
31
+ throw new Error(`Unknown CaptureTriggerKind: ${kind}`);
32
+ }
33
+ }
@@ -220,7 +220,7 @@ $: if (value && value.cellRendererType === null) {
220
220
  <!--
221
221
  EE only
222
222
 
223
- <Label label="Aggregation Function">
223
+ <Label label="Aggregation function">
224
224
  <SimpleEditor autoHeight lang="javascript" bind:code={value.aggFunc} />
225
225
  </Label>
226
226
 
@@ -228,7 +228,7 @@ $: if (value && value.cellRendererType === null) {
228
228
  <Toggle bind:checked={value.pivot} size="xs" />
229
229
  </Label>
230
230
 
231
- <Label label="Pivot Index">
231
+ <Label label="Pivot index">
232
232
  <input type="number" placeholder="pivot index" bind:value={value.pivotIndex} />
233
233
  </Label>
234
234
 
@@ -240,11 +240,11 @@ $: if (value && value.cellRendererType === null) {
240
240
  </select>
241
241
  </Label>
242
242
 
243
- <Label label="Row Group">
243
+ <Label label="Row group">
244
244
  <Toggle bind:checked={value.rowGroup} size="xs" />
245
245
  </Label>
246
246
 
247
- <Label label="Row Group Index">
247
+ <Label label="Row group index">
248
248
  <input type="number" placeholder="row group index" bind:value={value.rowGroupIndex} />
249
249
  </Label>
250
250
  -->
@@ -5,6 +5,7 @@ export declare function editorConfig(code: string, lang: string, automaticLayout
5
5
  automaticLayout: boolean;
6
6
  readOnly: boolean;
7
7
  fixedOverflowWidgets: boolean;
8
+ lineNumbers: "on";
8
9
  lineDecorationsWidth: number;
9
10
  lineNumbersMinChars: number;
10
11
  scrollbar: {
@@ -12,6 +13,7 @@ export declare function editorConfig(code: string, lang: string, automaticLayout
12
13
  };
13
14
  folding: boolean;
14
15
  scrollBeyondLastLine: boolean;
16
+ glyphMargin: boolean;
15
17
  minimap: {
16
18
  enabled: boolean;
17
19
  };
@@ -7,12 +7,13 @@ export function editorConfig(code, lang, automaticLayout, fixedOverflowWidgets)
7
7
  automaticLayout,
8
8
  readOnly: false,
9
9
  fixedOverflowWidgets,
10
- //lineNumbers: 'off',
11
- lineDecorationsWidth: 15,
12
- lineNumbersMinChars: 2,
10
+ lineNumbers: 'on',
11
+ lineDecorationsWidth: 10,
12
+ lineNumbersMinChars: 3,
13
13
  scrollbar: { alwaysConsumeMouseWheel: false },
14
14
  folding: false,
15
15
  scrollBeyondLastLine: false,
16
+ glyphMargin: false,
16
17
  minimap: {
17
18
  enabled: false
18
19
  },
@@ -72,6 +73,8 @@ export function langToExt(lang) {
72
73
  return 'css';
73
74
  case 'ansible':
74
75
  return 'yml';
76
+ case 'csharp':
77
+ return 'cs';
75
78
  default:
76
79
  return 'unknown';
77
80
  }
@@ -21,7 +21,7 @@ export const OpenAPI = {
21
21
  PASSWORD: undefined,
22
22
  TOKEN: undefined,
23
23
  USERNAME: undefined,
24
- VERSION: '1.433.0',
24
+ VERSION: '1.441.1',
25
25
  WITH_CREDENTIALS: false,
26
26
  interceptors: {
27
27
  request: new Interceptors(),
@@ -71,7 +71,7 @@ export declare const $Script: {
71
71
  };
72
72
  readonly language: {
73
73
  readonly type: "string";
74
- readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible"];
74
+ readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible", "csharp"];
75
75
  };
76
76
  readonly kind: {
77
77
  readonly type: "string";
@@ -169,7 +169,7 @@ export declare const $NewScript: {
169
169
  };
170
170
  readonly language: {
171
171
  readonly type: "string";
172
- readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible"];
172
+ readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible", "csharp"];
173
173
  };
174
174
  readonly kind: {
175
175
  readonly type: "string";
@@ -385,7 +385,7 @@ export declare const $QueuedJob: {
385
385
  };
386
386
  readonly job_kind: {
387
387
  readonly type: "string";
388
- readonly enum: readonly ["script", "preview", "dependencies", "flowdependencies", "appdependencies", "flow", "flowpreview", "script_hub", "identity", "deploymentcallback", "singlescriptflow", "flowscript"];
388
+ readonly enum: readonly ["script", "preview", "dependencies", "flowdependencies", "appdependencies", "flow", "flowpreview", "script_hub", "identity", "deploymentcallback", "singlescriptflow", "flowscript", "flownode", "appscript"];
389
389
  };
390
390
  readonly schedule_path: {
391
391
  readonly type: "string";
@@ -405,7 +405,7 @@ export declare const $QueuedJob: {
405
405
  };
406
406
  readonly language: {
407
407
  readonly type: "string";
408
- readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible"];
408
+ readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible", "csharp"];
409
409
  };
410
410
  readonly email: {
411
411
  readonly type: "string";
@@ -495,7 +495,7 @@ export declare const $CompletedJob: {
495
495
  };
496
496
  readonly job_kind: {
497
497
  readonly type: "string";
498
- readonly enum: readonly ["script", "preview", "dependencies", "flow", "flowdependencies", "appdependencies", "flowpreview", "script_hub", "identity", "deploymentcallback", "singlescriptflow", "flowscript"];
498
+ readonly enum: readonly ["script", "preview", "dependencies", "flow", "flowdependencies", "appdependencies", "flowpreview", "script_hub", "identity", "deploymentcallback", "singlescriptflow", "flowscript", "flownode", "appscript"];
499
499
  };
500
500
  readonly schedule_path: {
501
501
  readonly type: "string";
@@ -515,7 +515,7 @@ export declare const $CompletedJob: {
515
515
  };
516
516
  readonly language: {
517
517
  readonly type: "string";
518
- readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible"];
518
+ readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible", "csharp"];
519
519
  };
520
520
  readonly is_skipped: {
521
521
  readonly type: "boolean";
@@ -607,6 +607,9 @@ export declare const $User: {
607
607
  readonly is_admin: {
608
608
  readonly type: "boolean";
609
609
  };
610
+ readonly name: {
611
+ readonly type: "string";
612
+ };
610
613
  readonly is_super_admin: {
611
614
  readonly type: "boolean";
612
615
  };
@@ -1024,7 +1027,7 @@ export declare const $Preview: {
1024
1027
  };
1025
1028
  readonly language: {
1026
1029
  readonly type: "string";
1027
- readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible"];
1030
+ readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible", "csharp"];
1028
1031
  };
1029
1032
  readonly tag: {
1030
1033
  readonly type: "string";
@@ -2416,6 +2419,9 @@ export declare const $ListableApp: {
2416
2419
  readonly type: "string";
2417
2420
  readonly enum: readonly ["viewer", "publisher", "anonymous"];
2418
2421
  };
2422
+ readonly raw_app: {
2423
+ readonly type: "boolean";
2424
+ };
2419
2425
  };
2420
2426
  readonly required: readonly ["id", "workspace_id", "path", "summary", "version", "extra_perms", "edited_at", "execution_mode"];
2421
2427
  };
@@ -2494,6 +2500,9 @@ export declare const $AppWithLastVersion: {
2494
2500
  readonly type: "boolean";
2495
2501
  };
2496
2502
  };
2503
+ readonly custom_path: {
2504
+ readonly type: "string";
2505
+ };
2497
2506
  };
2498
2507
  readonly required: readonly ["id", "workspace_id", "path", "summary", "versions", "created_by", "created_at", "value", "policy", "execution_mode", "extra_perms"];
2499
2508
  };
@@ -2875,7 +2884,7 @@ export declare const $RawScriptForDependencies: {
2875
2884
  };
2876
2885
  readonly language: {
2877
2886
  readonly type: "string";
2878
- readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible"];
2887
+ readonly enum: readonly ["python3", "deno", "go", "bash", "powershell", "postgresql", "mysql", "bigquery", "snowflake", "mssql", "graphql", "nativets", "bun", "php", "rust", "ansible", "csharp"];
2879
2888
  };
2880
2889
  };
2881
2890
  readonly required: readonly ["raw_code", "path", "language"];