windmill-components 1.511.1 → 1.522.0

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 (232) hide show
  1. package/package/components/AppConnectInner.svelte.d.ts +1 -1
  2. package/package/components/ArgInput.svelte +42 -14
  3. package/package/components/ArgInput.svelte.d.ts +2 -10
  4. package/package/components/AssignableTagsInner.svelte +5 -0
  5. package/package/components/AuthSettings.svelte +4 -2
  6. package/package/components/AuthSettings.svelte.d.ts +1 -0
  7. package/package/components/DBManagerDrawer.svelte +154 -151
  8. package/package/components/DBManagerDrawer.svelte.d.ts +2 -2
  9. package/package/components/DBTable.svelte +3 -3
  10. package/package/components/DBTable.svelte.d.ts +1 -0
  11. package/package/components/DBTableEditor.svelte +7 -7
  12. package/package/components/DBTableEditor.svelte.d.ts +1 -1
  13. package/package/components/DeployWorkspace.svelte +1 -1
  14. package/package/components/DisplayResult.svelte +34 -8
  15. package/package/components/DisplayResult.svelte.d.ts +4 -1
  16. package/package/components/DynSelect.svelte +58 -34
  17. package/package/components/DynSelect.svelte.d.ts +3 -11
  18. package/package/components/EditableSchemaForm.svelte +126 -6
  19. package/package/components/EditableSchemaForm.svelte.d.ts +5 -1
  20. package/package/components/Editor.svelte +1 -1
  21. package/package/components/EditorBar.svelte +82 -4
  22. package/package/components/ErrorOrRecoveryHandler.svelte +76 -8
  23. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -1
  24. package/package/components/ExploreAssetButton.svelte +14 -4
  25. package/package/components/ExploreAssetButton.svelte.d.ts +1 -0
  26. package/package/components/FlowJobResult.svelte +3 -3
  27. package/package/components/FlowJobResult.svelte.d.ts +1 -0
  28. package/package/components/FlowPreviewContent.svelte +9 -1
  29. package/package/components/FlowPreviewResult.svelte +4 -1
  30. package/package/components/FlowPreviewResult.svelte.d.ts +1 -0
  31. package/package/components/FlowStatusViewerInner.svelte +21 -3
  32. package/package/components/FlowStatusViewerInner.svelte.d.ts +7 -1
  33. package/package/components/FolderEditor.svelte +1 -1
  34. package/package/components/GitDiffPreview.svelte +14 -18
  35. package/package/components/GitDiffPreview.svelte.d.ts +2 -8
  36. package/package/components/GitHubAppIntegration.svelte +3 -1
  37. package/package/components/IdEditorInput.svelte +25 -22
  38. package/package/components/IdEditorInput.svelte.d.ts +11 -23
  39. package/package/components/InstanceSetting.svelte +7 -2
  40. package/package/components/InstanceSettings.svelte +1 -0
  41. package/package/components/JobLoader.svelte +48 -5
  42. package/package/components/JobLoader.svelte.d.ts +7 -2
  43. package/package/components/Login.svelte +8 -2
  44. package/package/components/MemoryFootprintViewer.svelte +1 -1
  45. package/package/components/ModulePreviewResultViewer.svelte +2 -2
  46. package/package/components/MoveDrawer.svelte.d.ts +2 -2
  47. package/package/components/NextcloudSetting.svelte +84 -0
  48. package/package/components/NextcloudSetting.svelte.d.ts +7 -0
  49. package/package/components/ObjectResourceInput.svelte +3 -2
  50. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  51. package/package/components/ParqetCsvTableRenderer.svelte +1 -1
  52. package/package/components/ResourceEditor.svelte +1 -1
  53. package/package/components/ResourcePicker.svelte +8 -1
  54. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  55. package/package/components/ResultStreamDisplay.svelte +5 -0
  56. package/package/components/ResultStreamDisplay.svelte.d.ts +5 -0
  57. package/package/components/RunForm.svelte +9 -1
  58. package/package/components/SchemaForm.svelte +2 -2
  59. package/package/components/SchemaForm.svelte.d.ts +2 -10
  60. package/package/components/ScriptBuilder.svelte +13 -8
  61. package/package/components/ScriptBuilder.svelte.d.ts +1 -1
  62. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  63. package/package/components/ScriptWrapper.svelte +1 -1
  64. package/package/components/ShareModal.svelte.d.ts +1 -1
  65. package/package/components/SimpleAgTable.svelte +2 -0
  66. package/package/components/SimpleAgTable.svelte.d.ts +2 -0
  67. package/package/components/SqlRepl.svelte +21 -7
  68. package/package/components/SqlRepl.svelte.d.ts +2 -2
  69. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  70. package/package/components/WorkerTagSelect.svelte +70 -1
  71. package/package/components/apps/components/display/AppDisplayComponent.svelte +13 -1
  72. package/package/components/apps/components/display/AppText.svelte +2 -2
  73. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +8 -1
  74. package/package/components/apps/components/display/dbtable/InsertRow.svelte +5 -4
  75. package/package/components/apps/components/display/dbtable/queries/count.js +11 -1
  76. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +1 -1
  77. package/package/components/apps/components/display/dbtable/queries/createTable.js +3 -3
  78. package/package/components/apps/components/display/dbtable/queries/delete.js +7 -0
  79. package/package/components/apps/components/display/dbtable/queries/insert.js +2 -0
  80. package/package/components/apps/components/display/dbtable/queries/select.js +14 -0
  81. package/package/components/apps/components/display/dbtable/queries/update.js +7 -0
  82. package/package/components/apps/components/display/dbtable/utils.d.ts +6 -5
  83. package/package/components/apps/components/display/dbtable/utils.js +52 -28
  84. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +1 -1
  85. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
  86. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +1 -0
  87. package/package/components/apps/components/display/table/AppAggridTable.svelte +5 -4
  88. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  89. package/package/components/apps/components/display/table/utils.js +7 -4
  90. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -2
  91. package/package/components/apps/components/helpers/RunnableComponent.svelte +4 -1
  92. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +2 -1
  93. package/package/components/apps/components/inputs/AppS3FileInput.svelte +2 -2
  94. package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
  95. package/package/components/apps/components/layout/AppStepper.svelte +1 -1
  96. package/package/components/apps/components/layout/AppTabs.svelte +1 -1
  97. package/package/components/apps/editor/AppEditorHeader.svelte +13 -2
  98. package/package/components/apps/editor/GridViewer.svelte +1 -0
  99. package/package/components/apps/editor/RunnableJobPanelInner.svelte +2 -1
  100. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +7 -7
  101. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +7 -19
  102. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +8 -12
  103. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  104. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  105. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  106. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +3 -3
  107. package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +1 -3
  108. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  109. package/package/components/assets/JobAssetsViewer.svelte +2 -2
  110. package/package/components/assets/lib.js +4 -0
  111. package/package/components/auditLogs/AuditLogsFilters.svelte +7 -9
  112. package/package/components/common/button/Button.svelte +4 -3
  113. package/package/components/common/button/Button.svelte.d.ts +1 -0
  114. package/package/components/common/confirmationModal/ConfirmationModal.svelte +6 -5
  115. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +6 -11
  116. package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.d.ts +26 -0
  117. package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.js +50 -0
  118. package/package/components/common/modal/Modal.svelte +2 -5
  119. package/package/components/common/tabs/TabsV2.svelte +2 -1
  120. package/package/components/common/tabs/TabsV2.svelte.d.ts +1 -0
  121. package/package/components/copilot/chat/AIChatManager.svelte.js +61 -7
  122. package/package/components/copilot/chat/ContextTextarea.svelte +1 -1
  123. package/package/components/copilot/chat/script/core.js +28 -29
  124. package/package/components/copilot/chat/shared.d.ts +1 -1
  125. package/package/components/copilot/chat/shared.js +8 -2
  126. package/package/components/custom_ui.d.ts +2 -0
  127. package/package/components/dbOps.d.ts +20 -8
  128. package/package/components/dbOps.js +85 -40
  129. package/package/components/details/DetailPageHeader.svelte +0 -2
  130. package/package/components/flows/content/FlowInput.svelte +5 -0
  131. package/package/components/flows/content/FlowModuleScript.svelte +0 -1
  132. package/package/components/flows/idUtils.js +2 -1
  133. package/package/components/flows/map/FlowModuleSchemaItem.svelte +3 -3
  134. package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -0
  135. package/package/components/flows/map/InsertModuleButton.svelte +4 -1
  136. package/package/components/flows/propPicker/OutputBadge.svelte +5 -1
  137. package/package/components/flows/propPicker/OutputPickerInner.svelte +9 -5
  138. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +6 -2
  139. package/package/components/flows/propPicker/StepHistory.svelte +4 -1
  140. package/package/components/git_sync/DetectionFlow.svelte +202 -0
  141. package/package/components/git_sync/DetectionFlow.svelte.d.ts +6 -0
  142. package/package/components/git_sync/GitSyncContext.svelte.d.ts +82 -0
  143. package/package/components/git_sync/GitSyncContext.svelte.js +461 -0
  144. package/package/components/git_sync/GitSyncModalManager.svelte +99 -0
  145. package/package/components/git_sync/GitSyncModalManager.svelte.d.ts +18 -0
  146. package/package/components/git_sync/GitSyncRepositoryCard.svelte +339 -0
  147. package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +6 -0
  148. package/package/components/git_sync/GitSyncRepositoryList.svelte +17 -0
  149. package/package/components/git_sync/GitSyncRepositoryList.svelte.d.ts +18 -0
  150. package/package/components/git_sync/GitSyncSection.svelte +89 -0
  151. package/package/components/git_sync/GitSyncSection.svelte.d.ts +3 -0
  152. package/package/components/git_sync/GitSyncSuccessModal.svelte +58 -0
  153. package/package/components/git_sync/GitSyncSuccessModal.svelte.d.ts +7 -0
  154. package/package/components/git_sync/PullWorkspaceModal.svelte +575 -0
  155. package/package/components/git_sync/PullWorkspaceModal.svelte.d.ts +15 -0
  156. package/package/components/git_sync/PushWorkspaceModal.svelte +320 -0
  157. package/package/components/git_sync/PushWorkspaceModal.svelte.d.ts +12 -0
  158. package/package/components/graph/FlowGraphV2.svelte +5 -1
  159. package/package/components/graph/graphBuilder.svelte.js +1 -1
  160. package/package/components/graph/renderers/nodes/AssetNode.svelte +4 -4
  161. package/package/components/icons/AssetDucklakeIcon.svelte +28 -0
  162. package/package/components/icons/AssetDucklakeIcon.svelte.d.ts +9 -0
  163. package/package/components/icons/AssetGenericIcon.svelte +3 -0
  164. package/package/components/icons/DucklakeIcon.svelte +18 -0
  165. package/package/components/icons/DucklakeIcon.svelte.d.ts +6 -0
  166. package/package/components/instanceSettings.js +11 -3
  167. package/package/components/runs/JobPreview.svelte +2 -2
  168. package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
  169. package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
  170. package/package/components/schema/FlowPropertyEditor.svelte +3 -2
  171. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  172. package/package/components/schema/PropertyEditor.svelte +0 -2
  173. package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
  174. package/package/components/schema/SchemaFormDND.svelte +2 -1
  175. package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -0
  176. package/package/components/scriptEditor/LogPanel.svelte +5 -3
  177. package/package/components/scriptEditor/LogPanel.svelte.d.ts +5 -1
  178. package/package/components/select/Select.svelte +7 -4
  179. package/package/components/select/Select.svelte.d.ts +5 -0
  180. package/package/components/select/SelectDropdown.svelte +2 -1
  181. package/package/components/select/SelectDropdown.svelte.d.ts +3 -0
  182. package/package/components/sidebar/changelogs.js +5 -0
  183. package/package/components/table/AutoDataTable.svelte +6 -4
  184. package/package/components/table/AutoDataTable.svelte.d.ts +1 -0
  185. package/package/components/table/DataTable.svelte +12 -10
  186. package/package/components/table/DataTable.svelte.d.ts +1 -0
  187. package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte.d.ts +2 -2
  188. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
  189. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
  190. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +50 -11
  191. package/package/components/triggers/gcp/utils.js +1 -0
  192. package/package/components/triggers/http/utils.js +1 -1
  193. package/package/components/triggers/kafka/utils.js +1 -1
  194. package/package/components/triggers/mqtt/utils.js +1 -1
  195. package/package/components/triggers/nats/utils.js +1 -1
  196. package/package/components/triggers/postgres/utils.js +1 -1
  197. package/package/components/triggers/sqs/utils.js +1 -1
  198. package/package/components/triggers/utils.js +2 -1
  199. package/package/components/triggers/webhook/WebhooksConfigSection.svelte +24 -26
  200. package/package/components/triggers/webhook/WebhooksPanel.svelte +1 -15
  201. package/package/components/triggers/websocket/utils.js +1 -1
  202. package/package/components/workspaceSettings/AISettings.svelte +52 -36
  203. package/package/components/workspaceSettings/DucklakeSettings.svelte +321 -0
  204. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +23 -0
  205. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +122 -499
  206. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte.d.ts +8 -10
  207. package/package/consts.js +2 -1
  208. package/package/gen/core/OpenAPI.js +1 -1
  209. package/package/gen/schemas.gen.d.ts +7 -6
  210. package/package/gen/schemas.gen.js +7 -6
  211. package/package/gen/services.gen.d.ts +19 -1
  212. package/package/gen/services.gen.js +38 -0
  213. package/package/gen/types.gen.d.ts +78 -3
  214. package/package/git-sync.d.ts +36 -0
  215. package/package/git-sync.js +1 -0
  216. package/package/hub.d.ts +1 -0
  217. package/package/hubPaths.json +5 -2
  218. package/package/infer.js +3 -2
  219. package/package/script_helpers.d.ts +2 -2
  220. package/package/script_helpers.js +29 -11
  221. package/package/services/JobManager.d.ts +28 -0
  222. package/package/services/JobManager.js +114 -0
  223. package/package/stores.d.ts +1 -1
  224. package/package/utils.d.ts +18 -1
  225. package/package/utils.js +55 -2
  226. package/package.json +5 -4
  227. package/package/components/InitGitRepoPopover.svelte +0 -410
  228. package/package/components/InitGitRepoPopover.svelte.d.ts +0 -13
  229. package/package/components/PullGitRepoPopover.svelte +0 -355
  230. package/package/components/PullGitRepoPopover.svelte.d.ts +0 -18
  231. package/package/inferArgSig.d.ts +0 -42
  232. package/package/inferArgSig.js +0 -198
@@ -1,410 +0,0 @@
1
- <script lang="ts">import { Button } from './common';
2
- import Popover from './meltComponents/Popover.svelte';
3
- import { Alert } from './common';
4
- import { Loader2, Eye, Save, CheckCircle2, XCircle, UploadCloud, AlertTriangle, Terminal, ChevronDown, ChevronUp } from 'lucide-svelte';
5
- import { workspaceStore } from '../stores';
6
- import hubPaths from '../hubPaths.json';
7
- import { JobService } from '../gen';
8
- import { tryEvery } from '../utils';
9
- import GitDiffPreview from './GitDiffPreview.svelte';
10
- import { page } from '$app/stores';
11
- let { gitRepoResourcePath, branchName, uiState } = $props();
12
- let _branchName = $state(branchName ?? '');
13
- let previewResult = $state(undefined);
14
- let isPreviewLoading = $state(false);
15
- let isInitializing = $state(false);
16
- let initResult = $state(null);
17
- let initGitRepoPopover = $state(null);
18
- let previewJobId = $state(null);
19
- let previewJobStatus = $state(undefined);
20
- let pushJobId = $state(null);
21
- let pushJobStatus = $state(undefined);
22
- let isCliInfoExpanded = $state(false);
23
- async function previewChanges() {
24
- console.log('Previewing changes for repo:', gitRepoResourcePath);
25
- isPreviewLoading = true;
26
- previewJobId = null;
27
- previewJobStatus = undefined;
28
- try {
29
- const workspace = $workspaceStore;
30
- if (!workspace) {
31
- previewResult = undefined;
32
- isPreviewLoading = false;
33
- return;
34
- }
35
- // Pass UI state directly as JSON to CLI
36
- const payloadObj = {
37
- workspace_id: workspace,
38
- repo_url_resource_path: gitRepoResourcePath,
39
- branch_to_push: _branchName,
40
- dry_run: true,
41
- settings_json: JSON.stringify(uiState)
42
- };
43
- const jobId = await JobService.runScriptByPath({
44
- workspace,
45
- path: hubPaths.gitInitRepo,
46
- requestBody: payloadObj,
47
- skipPreprocessor: true
48
- });
49
- previewJobId = jobId;
50
- previewJobStatus = 'running';
51
- // Wait for job completion (polling)
52
- let jobSuccess = false;
53
- await tryEvery({
54
- tryCode: async () => {
55
- const testResult = await JobService.getCompletedJob({
56
- workspace,
57
- id: jobId
58
- });
59
- jobSuccess = !!testResult.success;
60
- },
61
- timeoutCode: async () => {
62
- try {
63
- await JobService.cancelQueuedJob({
64
- workspace,
65
- id: jobId,
66
- requestBody: {
67
- reason: 'Preview job timed out after 15s'
68
- }
69
- });
70
- }
71
- catch (err) {
72
- console.error(err);
73
- }
74
- },
75
- interval: 500,
76
- timeout: 15000
77
- });
78
- if (jobSuccess) {
79
- const result = await JobService.getCompletedJobResult({
80
- workspace,
81
- id: jobId
82
- });
83
- console.log('Preview result:', result);
84
- // Convert new CLI format to expected format
85
- const added = [];
86
- const deleted = [];
87
- const modified = [];
88
- if (result &&
89
- result.changes &&
90
- Array.isArray(result.changes)) {
91
- for (const change of result.changes) {
92
- if (change.type === 'added') {
93
- added.push(change.path);
94
- }
95
- else if (change.type === 'deleted') {
96
- deleted.push(change.path);
97
- }
98
- else if (change.type === 'modified') {
99
- modified.push(change.path);
100
- }
101
- }
102
- }
103
- previewResult = { added, deleted, modified };
104
- previewJobStatus = 'success';
105
- }
106
- else {
107
- previewResult = undefined;
108
- previewJobStatus = 'failure';
109
- }
110
- }
111
- catch (error) {
112
- console.error('Failed to preview changes:', error);
113
- previewResult = undefined;
114
- previewJobStatus = 'failure';
115
- }
116
- finally {
117
- isPreviewLoading = false;
118
- }
119
- }
120
- async function initializeRepo() {
121
- const workspace = $workspaceStore;
122
- if (!workspace)
123
- return;
124
- console.log('Initializing repo:', gitRepoResourcePath, 'in workspace:', workspace);
125
- isInitializing = true;
126
- initResult = null;
127
- pushJobId = null;
128
- pushJobStatus = undefined;
129
- try {
130
- // Pass UI state directly as JSON to CLI
131
- const jobId = await JobService.runScriptByPath({
132
- workspace,
133
- path: hubPaths.gitInitRepo,
134
- requestBody: {
135
- workspace_id: workspace,
136
- repo_url_resource_path: gitRepoResourcePath,
137
- branch_to_push: _branchName,
138
- settings_json: JSON.stringify(uiState)
139
- },
140
- skipPreprocessor: true
141
- });
142
- pushJobId = jobId;
143
- pushJobStatus = 'running';
144
- let jobSuccess = false;
145
- await tryEvery({
146
- tryCode: async () => {
147
- const testResult = await JobService.getCompletedJob({
148
- workspace,
149
- id: jobId
150
- });
151
- jobSuccess = !!testResult.success;
152
- },
153
- timeoutCode: async () => {
154
- try {
155
- await JobService.cancelQueuedJob({
156
- workspace,
157
- id: jobId,
158
- requestBody: {
159
- reason: 'Push job timed out after 5s'
160
- }
161
- });
162
- }
163
- catch (err) {
164
- console.error(err);
165
- }
166
- },
167
- interval: 500,
168
- timeout: 10000
169
- });
170
- pushJobStatus = jobSuccess ? 'success' : 'failure';
171
- initResult = {
172
- success: jobSuccess,
173
- message: jobSuccess ? undefined : 'Failed to initialize repository.'
174
- };
175
- // Reset popover state after successful push
176
- if (jobSuccess) {
177
- setTimeout(() => {
178
- previewResult = undefined;
179
- pushJobId = null;
180
- pushJobStatus = undefined;
181
- initResult = null;
182
- initGitRepoPopover?.close();
183
- }, 1500); // Small delay to show success state
184
- }
185
- }
186
- catch (error) {
187
- console.error('Failed to initialize repo:', error);
188
- pushJobStatus = 'failure';
189
- initResult = { success: false, message: 'Failed to initialize repository.' };
190
- }
191
- finally {
192
- isInitializing = false;
193
- }
194
- }
195
- </script>
196
-
197
- <Popover
198
- bind:this={initGitRepoPopover}
199
- floatingConfig={{
200
- placement: 'top-start',
201
- strategy: 'fixed',
202
- flip: false,
203
- shift: true
204
- }}
205
- contentClasses="p-4 w-1/3"
206
- >
207
- <svelte:fragment slot="trigger">
208
- <Button
209
- color="dark"
210
- size="sm"
211
- nonCaptureEvent
212
- onclick={initGitRepoPopover?.open}
213
- startIcon={{ icon: UploadCloud }}
214
- >
215
- Push workspace to Git repo
216
- </Button>
217
- </svelte:fragment>
218
- <svelte:fragment slot="content" let:close>
219
- <div class="flex flex-col gap-4">
220
- <div class="flex flex-col gap-2">
221
- <h3 class="text-lg font-semibold">Push workspace to Git repository</h3>
222
- <div class="prose max-w-none text-2xs text-tertiary">
223
- This action will push all workspace objects that match your current filter settings to the
224
- selected branch in your Git repository. <span
225
- class="text-orange-600 flex items-center gap-1"
226
- ><AlertTriangle size={14} /> Any existing content in the branch will be replaced with the
227
- filtered workspace content.</span
228
- >
229
-
230
- <!-- Collapsible CLI Info Section -->
231
- <div class="mt-2 border rounded-md">
232
- <button
233
- class="w-full flex items-center justify-between p-1.5 bg-surface-secondary hover:bg-surface-hover"
234
- onclick={() => (isCliInfoExpanded = !isCliInfoExpanded)}
235
- >
236
- <span class="font-medium flex items-center gap-2">
237
- <Terminal size={14} />
238
- Windmill CLI to pull from Windmill and push to git
239
- </span>
240
- {#if isCliInfoExpanded}
241
- <ChevronUp size={16} />
242
- {:else}
243
- <ChevronDown size={16} />
244
- {/if}
245
- </button>
246
-
247
- {#if isCliInfoExpanded}
248
- <div class="p-1 bg-surface-tertiary">
249
- <div class="text-2xs mb-2">
250
- Not familiar with Windmill CLI? <a
251
- href="https://www.windmill.dev/docs/advanced/cli/sync"
252
- class="text-blue-500 hover:text-blue-600 underline"
253
- target="_blank"
254
- rel="noopener noreferrer">Check out the docs</a
255
- >
256
- </div>
257
- <div class="font-mono text-2xs">
258
- <pre class="overflow-auto max-h-60"
259
- ><code
260
- >npm install -g windmill-cli
261
- wmill workspace add {$workspaceStore} {$workspaceStore} {`${$page.url.protocol}//${$page.url.hostname}/`}
262
- wmill init
263
- # adjust wmill.yaml file configuraton as needed
264
- wmill sync pull
265
- git add -A
266
- git commit -m 'Initial commit'
267
- git push</code
268
- ></pre
269
- >
270
- </div>
271
- </div>
272
- {/if}
273
- </div>
274
- </div>
275
- </div>
276
-
277
- <div class="flex flex-col gap-2">
278
- <label for="branch-name" class="text-sm font-medium">Push to new branch (optional)</label>
279
- <div class="prose max-w-none text-2xs text-tertiary">
280
- Enter a new branch name to push to (e.g so you can merge back into main with a pull
281
- request). If left blank, the default branch from the git repository resource will be used.
282
- </div>
283
- <div class="flex flex-col w-1/4">
284
- <input
285
- id="branch-name"
286
- type="text"
287
- bind:value={_branchName}
288
- class="border rounded px-2 py-1"
289
- />
290
- </div>
291
- </div>
292
-
293
- {#if previewResult}
294
- <GitDiffPreview {previewResult} />
295
- {/if}
296
-
297
- {#if previewJobId}
298
- <div class="flex items-center gap-2 text-xs text-tertiary">
299
- {#if previewJobStatus === 'running'}
300
- <Loader2 class="animate-spin" size={14} />
301
- {:else if previewJobStatus === 'success'}
302
- <CheckCircle2 size={14} class="text-green-600" />
303
- {:else if previewJobStatus === 'failure'}
304
- <XCircle size={14} class="text-red-700" />
305
- {/if}
306
- Preview job:
307
- <a
308
- target="_blank"
309
- class="underline"
310
- href={`/run/${previewJobId}?workspace=${$workspaceStore}`}
311
- >
312
- {previewJobId}
313
- </a>
314
- </div>
315
- {/if}
316
-
317
- {#if pushJobId}
318
- <div class="flex items-center gap-2 text-xs text-tertiary">
319
- {#if pushJobStatus === 'running'}
320
- <Loader2 class="animate-spin" size={14} />
321
- {:else if pushJobStatus === 'success'}
322
- <CheckCircle2 size={14} class="text-green-600" />
323
- {:else if pushJobStatus === 'failure'}
324
- <XCircle size={14} class="text-red-700" />
325
- {/if}
326
- Push job:
327
- <a
328
- target="_blank"
329
- class="underline"
330
- href={`/run/${pushJobId}?workspace=${$workspaceStore}`}
331
- >
332
- {pushJobId}
333
- </a>
334
- </div>
335
- {/if}
336
-
337
- <!-- Action row: Cancel on left, Preview/Confirm on right -->
338
- <div class="flex justify-between items-center mt-4">
339
- <Button
340
- color="light"
341
- size="xs"
342
- on:click={() => {
343
- previewResult = undefined
344
- previewJobId = null
345
- previewJobStatus = undefined
346
- pushJobId = null
347
- pushJobStatus = undefined
348
- initResult = null
349
- close()
350
- }}
351
- disabled={isPreviewLoading || isInitializing}
352
- >
353
- Cancel
354
- </Button>
355
- <div class="flex gap-2">
356
- {#if !previewResult}
357
- <Button
358
- size="xs"
359
- on:click={previewChanges}
360
- disabled={isPreviewLoading || isInitializing}
361
- startIcon={{
362
- icon: isPreviewLoading ? Loader2 : Eye,
363
- classes: isPreviewLoading ? 'animate-spin' : ''
364
- }}
365
- >
366
- Preview
367
- </Button>
368
- {:else}
369
- <Button
370
- size="xs"
371
- on:click={previewChanges}
372
- disabled={isPreviewLoading || isInitializing}
373
- startIcon={{
374
- icon: isPreviewLoading ? Loader2 : Eye,
375
- classes: isPreviewLoading ? 'animate-spin' : ''
376
- }}
377
- title="Preview changes again"
378
- >
379
- Preview
380
- </Button>
381
- {#if previewResult.added?.length || previewResult.deleted?.length || previewResult.modified?.length}
382
- <Button
383
- color="red"
384
- size="xs"
385
- on:click={initializeRepo}
386
- disabled={isPreviewLoading || isInitializing}
387
- startIcon={{ icon: Save }}
388
- title="Initialize Git Repo"
389
- >
390
- Push
391
- </Button>
392
- {/if}
393
- {/if}
394
- </div>
395
- </div>
396
-
397
- {#if initResult?.message}
398
- <div class="mt-2">
399
- <Alert
400
- type={initResult.success ? 'success' : 'error'}
401
- title={initResult.success ? 'Success' : 'Error'}
402
- size="xs"
403
- >
404
- {initResult.message}
405
- </Alert>
406
- </div>
407
- {/if}
408
- </div>
409
- </svelte:fragment>
410
- </Popover>
@@ -1,13 +0,0 @@
1
- type $$ComponentProps = {
2
- gitRepoResourcePath: string;
3
- branchName?: string;
4
- uiState: {
5
- include_path: string[];
6
- exclude_path: string[];
7
- extra_include_path: string[];
8
- include_type: string[];
9
- };
10
- };
11
- declare const InitGitRepoPopover: import("svelte").Component<$$ComponentProps, {}, "">;
12
- type InitGitRepoPopover = ReturnType<typeof InitGitRepoPopover>;
13
- export default InitGitRepoPopover;