windmill-components 1.695.1 → 1.698.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.
- package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
- package/dist/sharedUtils/base.d.ts +1 -0
- package/dist/sharedUtils/cloud.d.ts +1 -0
- package/dist/sharedUtils/common.d.ts +111 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
- package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
- package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
- package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
- package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
- package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
- package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
- package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
- package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
- package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
- package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
- package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
- package/dist/sharedUtils/components/apps/types.d.ts +274 -0
- package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
- package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
- package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
- package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
- package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
- package/dist/sharedUtils/components/common/index.d.ts +24 -0
- package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
- package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
- package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
- package/dist/sharedUtils/components/ducklake.d.ts +1 -0
- package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
- package/dist/sharedUtils/components/icons/index.d.ts +101 -0
- package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
- package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
- package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
- package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
- package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
- package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
- package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
- package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
- package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
- package/dist/sharedUtils/components/triggers.d.ts +20 -0
- package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
- package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
- package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
- package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
- package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
- package/dist/sharedUtils/gen/core/request.d.ts +29 -0
- package/dist/sharedUtils/gen/index.d.ts +6 -0
- package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
- package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
- package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
- package/dist/sharedUtils/history.svelte.d.ts +9 -0
- package/dist/sharedUtils/hub.d.ts +49 -0
- package/dist/sharedUtils/jsr.json +6 -0
- package/dist/sharedUtils/lib.d.ts +5 -0
- package/dist/sharedUtils/lib.es.js +1588 -0
- package/dist/sharedUtils/package.json +12 -0
- package/dist/sharedUtils/schema.d.ts +3 -0
- package/dist/sharedUtils/stores.d.ts +97 -0
- package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
- package/dist/sharedUtils/toast.d.ts +8 -0
- package/dist/sharedUtils/utils.d.ts +265 -0
- package/package/components/AppConnectInner.svelte +38 -5
- package/package/components/CompareWorkspaces.svelte +142 -486
- package/package/components/Editor.svelte +5 -4
- package/package/components/Editor.svelte.d.ts +1 -0
- package/package/components/FilterSearchbar.svelte +3 -1
- package/package/components/FilterSearchbar.svelte.d.ts +1 -0
- package/package/components/ForkWorkspaceBanner.svelte +16 -0
- package/package/components/LogViewer.svelte +51 -60
- package/package/components/OnBehalfOfSelector.svelte +10 -7
- package/package/components/ResourceEditor.svelte +198 -311
- package/package/components/ResourceEditor.svelte.d.ts +3 -3
- package/package/components/ResourceEditorDrawer.svelte +17 -6
- package/package/components/ResourceForm.svelte +235 -0
- package/package/components/ResourceForm.svelte.d.ts +25 -0
- package/package/components/RunsPage.svelte +1 -0
- package/package/components/ScriptBuilder.svelte +1 -0
- package/package/components/ScriptEditor.svelte +10 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -0
- package/package/components/TaggedTextInput.svelte +4 -1
- package/package/components/TaggedTextInput.svelte.d.ts +2 -0
- package/package/components/VariableEditor.svelte +177 -199
- package/package/components/VariableEditor.svelte.d.ts +1 -2
- package/package/components/VariableForm.svelte +133 -0
- package/package/components/VariableForm.svelte.d.ts +22 -0
- package/package/components/WsSpecificVersions.svelte +39 -0
- package/package/components/WsSpecificVersions.svelte.d.ts +9 -0
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +0 -1
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +1 -1
- package/package/components/common/table/AppRow.svelte +2 -1
- package/package/components/common/table/AppRow.svelte.d.ts +1 -0
- package/package/components/common/table/FlowRow.svelte +2 -1
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -0
- package/package/components/common/table/RawAppRow.svelte +2 -1
- package/package/components/common/table/RawAppRow.svelte.d.ts +1 -0
- package/package/components/common/table/Row.svelte +11 -3
- package/package/components/common/table/Row.svelte.d.ts +2 -1
- package/package/components/common/table/RowIcon.svelte +18 -2
- package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
- package/package/components/common/table/ScriptRow.svelte +2 -1
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/package/components/copilot/autocomplete/Autocompletor.d.ts +3 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +5 -2
- package/package/components/copilot/autocomplete/request.d.ts +1 -0
- package/package/components/copilot/autocomplete/request.js +1 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +14 -4
- package/package/components/copilot/chat/AiChatLayout.svelte +2 -0
- package/package/components/copilot/chat/ContextManager.svelte.d.ts +1 -0
- package/package/components/copilot/chat/CreatedResourceActionDrawers.svelte +129 -0
- package/package/components/copilot/chat/CreatedResourceActionDrawers.svelte.d.ts +4 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +14 -6
- package/package/components/copilot/chat/ToolMessageActions.svelte +73 -0
- package/package/components/copilot/chat/ToolMessageActions.svelte.d.ts +7 -0
- package/package/components/copilot/chat/createdResourceActions.svelte.d.ts +6 -0
- package/package/components/copilot/chat/createdResourceActions.svelte.js +29 -0
- package/package/components/copilot/chat/script/core.d.ts +6 -2
- package/package/components/copilot/chat/script/core.js +13 -7
- package/package/components/copilot/chat/script/wacPrompt.test.d.ts +1 -0
- package/package/components/copilot/chat/script/wacPrompt.test.js +25 -0
- package/package/components/copilot/chat/shared.d.ts +12 -0
- package/package/components/copilot/chat/shared.test.js +23 -2
- package/package/components/copilot/chat/workspaceTools.js +34 -4
- package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -0
- package/package/components/graph/wacToFlow.js +1 -1
- package/package/components/graph/wacToFlow.test.d.ts +1 -0
- package/package/components/graph/wacToFlow.test.js +17 -0
- package/package/components/home/Item.svelte +5 -1
- package/package/components/home/Item.svelte.d.ts +1 -0
- package/package/components/home/ItemsList.svelte +260 -3
- package/package/components/instanceSettings/SecretBackendConfig.svelte +457 -88
- package/package/components/runs/useJobsLoader.svelte.js +5 -11
- package/package/components/sidebar/WorkspaceMenu.svelte +19 -5
- package/package/externalDomain.d.ts +2 -0
- package/package/externalDomain.js +16 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/types.gen.d.ts +0 -112
- package/package/hubPaths.json +2 -2
- package/package/system_prompts/index.d.ts +1 -1
- package/package/system_prompts/index.js +22 -3
- package/package/system_prompts/prompts.d.ts +2 -2
- package/package/system_prompts/prompts.js +6 -3
- package/package/utils_deployable.d.ts +162 -638
- package/package/utils_deployable.js +75 -143
- package/package/utils_workspace_deploy.d.ts +10 -4
- package/package/utils_workspace_deploy.js +167 -42
- package/package.json +7 -3
|
@@ -58,7 +58,7 @@ import { resource, useDebounce, watch } from 'runed';
|
|
|
58
58
|
// import EditorTheme from './EditorTheme.svelte'
|
|
59
59
|
let divEl = $state(null);
|
|
60
60
|
let editor = $state(null);
|
|
61
|
-
let { code = $bindable(), cmdEnterAction = undefined, formatAction = undefined, automaticLayout = true, websocketAlive = $bindable(), shouldBindKey = true, fixedOverflowWidgets = true, path = undefined, yContent = undefined, awareness = undefined, folding = false, args = undefined, useWebsockets = true, small = false, scriptLang, disabled = false, lineNumbersMinChars = 3, files = {}, extraLib = undefined, changeTimeout = 500, loadAsync = false, key = undefined, class: clazz = undefined, moduleId = undefined, enablePreprocessorSnippet = false, rawAppRunnableKey = undefined, preparedAssetsSqlQueries, customTag } = $props();
|
|
61
|
+
let { code = $bindable(), cmdEnterAction = undefined, formatAction = undefined, automaticLayout = true, websocketAlive = $bindable(), shouldBindKey = true, fixedOverflowWidgets = true, path = undefined, yContent = undefined, awareness = undefined, folding = false, args = undefined, useWebsockets = true, small = false, scriptLang, workflowAsCode = false, disabled = false, lineNumbersMinChars = 3, files = {}, extraLib = undefined, changeTimeout = 500, loadAsync = false, key = undefined, class: clazz = undefined, moduleId = undefined, enablePreprocessorSnippet = false, rawAppRunnableKey = undefined, preparedAssetsSqlQueries, customTag } = $props();
|
|
62
62
|
$effect.pre(() => {
|
|
63
63
|
if (websocketAlive == undefined) {
|
|
64
64
|
websocketAlive = {
|
|
@@ -627,11 +627,11 @@ function addChatHandler(editor) {
|
|
|
627
627
|
}
|
|
628
628
|
}
|
|
629
629
|
let autocompletor = $state(undefined);
|
|
630
|
-
function addAutoCompletor(editor, scriptLang) {
|
|
630
|
+
function addAutoCompletor(editor, scriptLang, workflowAsCode) {
|
|
631
631
|
if (autocompletor) {
|
|
632
632
|
autocompletor.dispose();
|
|
633
633
|
}
|
|
634
|
-
autocompletor = new Autocompletor(editor, scriptLang);
|
|
634
|
+
autocompletor = new Autocompletor(editor, scriptLang, { workflowAsCode });
|
|
635
635
|
}
|
|
636
636
|
const outputChannel = {
|
|
637
637
|
name: 'Language Server Client',
|
|
@@ -1543,13 +1543,14 @@ $effect(() => {
|
|
|
1543
1543
|
(!dbSchema || lang !== 'graphql') && untrack(() => disposeGaphqlService());
|
|
1544
1544
|
});
|
|
1545
1545
|
$effect(() => {
|
|
1546
|
+
const currentWorkflowAsCode = workflowAsCode;
|
|
1546
1547
|
$copilotInfo.enabled &&
|
|
1547
1548
|
$codeCompletionSessionEnabled &&
|
|
1548
1549
|
Autocompletor.isProviderModelSupported($copilotInfo.codeCompletionModel) &&
|
|
1549
1550
|
initialized &&
|
|
1550
1551
|
editor &&
|
|
1551
1552
|
scriptLang &&
|
|
1552
|
-
untrack(() => editor && addAutoCompletor(editor, scriptLang));
|
|
1553
|
+
untrack(() => editor && addAutoCompletor(editor, scriptLang, currentWorkflowAsCode));
|
|
1553
1554
|
});
|
|
1554
1555
|
$effect(() => {
|
|
1555
1556
|
$copilotInfo.enabled && initialized && editor && untrack(() => editor && addChatHandler(editor));
|
|
@@ -23,6 +23,7 @@ interface Props {
|
|
|
23
23
|
useWebsockets?: boolean;
|
|
24
24
|
small?: boolean;
|
|
25
25
|
scriptLang: Preview['language'] | 'bunnative' | 'tsx' | 'jsx' | 'json' | undefined;
|
|
26
|
+
workflowAsCode?: boolean;
|
|
26
27
|
disabled?: boolean;
|
|
27
28
|
lineNumbersMinChars?: number;
|
|
28
29
|
files?: Record<string, {
|
|
@@ -185,7 +185,7 @@ import Button from './common/button/Button.svelte';
|
|
|
185
185
|
import Badge from './common/badge/Badge.svelte';
|
|
186
186
|
import InlineCalendarInput, { fromCalendarDate, toCalendarDate } from './common/InlineCalendarInput.svelte';
|
|
187
187
|
import { ButtonType } from './common';
|
|
188
|
-
let { schema, value: valueInput = $bindable(), presets: _presets = [], class: className, placeholder = 'Filter...' } = $props();
|
|
188
|
+
let { schema, value: valueInput = $bindable(), presets: _presets = [], class: className, placeholder = 'Filter...', autofocus } = $props();
|
|
189
189
|
let _value = new DebouncedTempValue(() => clone(valueInput), (v) => !errors.length && (valueInput = clone(v)), (t) => Object.entries(t));
|
|
190
190
|
let value = $derived(_value.current);
|
|
191
191
|
let errors = $derived(validateFilterInstance(schema, value));
|
|
@@ -493,6 +493,8 @@ function appendFilterAsText(presetValue) {
|
|
|
493
493
|
inputSizeClasses.md
|
|
494
494
|
)}
|
|
495
495
|
{placeholder}
|
|
496
|
+
onKeyDown={() => (open = true)}
|
|
497
|
+
{autofocus}
|
|
496
498
|
/>
|
|
497
499
|
{#if asText.val}
|
|
498
500
|
<CloseButton small class="mr-1.5" onClick={() => (_value.current = {})} />
|
|
@@ -81,6 +81,7 @@ type Props<SchemaT extends FilterSchemaRec> = {
|
|
|
81
81
|
}[];
|
|
82
82
|
class?: string;
|
|
83
83
|
placeholder?: string;
|
|
84
|
+
autofocus?: boolean;
|
|
84
85
|
};
|
|
85
86
|
declare const FilterSearchbar: import("svelte").Component<Props<FilterSchemaRec>, {}, "value">;
|
|
86
87
|
type FilterSearchbar = ReturnType<typeof FilterSearchbar>;
|
|
@@ -213,6 +213,22 @@ function forkAheadBehindMessage(changesAhead, changesBehind) {
|
|
|
213
213
|
: ''}
|
|
214
214
|
</span>
|
|
215
215
|
{/if}
|
|
216
|
+
{#if comparison.summary.schedules_changed > 0}
|
|
217
|
+
<span class="text-blue-700 dark:text-blue-100">
|
|
218
|
+
{comparison.summary.schedules_changed} schedule{comparison.summary
|
|
219
|
+
.schedules_changed !== 1
|
|
220
|
+
? 's'
|
|
221
|
+
: ''}
|
|
222
|
+
</span>
|
|
223
|
+
{/if}
|
|
224
|
+
{#if comparison.summary.triggers_changed > 0}
|
|
225
|
+
<span class="text-blue-700 dark:text-blue-100">
|
|
226
|
+
{comparison.summary.triggers_changed} trigger{comparison.summary
|
|
227
|
+
.triggers_changed !== 1
|
|
228
|
+
? 's'
|
|
229
|
+
: ''}
|
|
230
|
+
</span>
|
|
231
|
+
{/if}
|
|
216
232
|
</div>
|
|
217
233
|
|
|
218
234
|
{#if ciTestTotal > 0}
|
|
@@ -12,6 +12,7 @@ const S3_LOG_SEARCH_LIMIT = 2000;
|
|
|
12
12
|
import { Button, Drawer, DrawerContent } from './common';
|
|
13
13
|
import { copyToClipboard } from '../utils';
|
|
14
14
|
import { base } from '../base';
|
|
15
|
+
import { withExternalDomain } from '../externalDomain';
|
|
15
16
|
import { workspaceStore } from '../stores';
|
|
16
17
|
import { AnsiUp } from 'ansi_up';
|
|
17
18
|
import NoWorkerWithTagWarning from './runs/NoWorkerWithTagWarning.svelte';
|
|
@@ -24,7 +25,7 @@ let { content, isLoading, duration = undefined, mem = undefined, wrapperClass =
|
|
|
24
25
|
const ansi_up = $state(new AnsiUp());
|
|
25
26
|
ansi_up.use_classes = true;
|
|
26
27
|
let scroll = $state(true);
|
|
27
|
-
let
|
|
28
|
+
let preEl = $state(null);
|
|
28
29
|
// let downloadStartUrl: string | undefined = undefined
|
|
29
30
|
let LOG_INC = 10000;
|
|
30
31
|
let LOG_LIMIT = $state(LOG_INC);
|
|
@@ -95,8 +96,8 @@ function truncateContent(jobContent, loadedFromObjectStore, limit) {
|
|
|
95
96
|
return content;
|
|
96
97
|
}
|
|
97
98
|
export function scrollToBottom() {
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
scroll &&
|
|
100
|
+
setTimeout(() => preEl?.scroll({ top: preEl?.scrollHeight, behavior: 'smooth' }), 100);
|
|
100
101
|
}
|
|
101
102
|
let logViewer = $state();
|
|
102
103
|
async function getStoreLogs() {
|
|
@@ -132,6 +133,7 @@ $effect.pre(() => {
|
|
|
132
133
|
scroll = true;
|
|
133
134
|
}
|
|
134
135
|
});
|
|
136
|
+
let downloadHref = $derived(withExternalDomain(`${base}/api/w/${$workspaceStore}/jobs_u/get_logs/${jobId}`));
|
|
135
137
|
let truncatedContent = $derived(truncateContent(content, loadedFromObjectStore, LOG_LIMIT));
|
|
136
138
|
let prefixInfo = $derived(findPrefixInfo(truncatedContent));
|
|
137
139
|
let downloadStartUrl = $derived(findStartUrl(truncatedContent, prefixInfo));
|
|
@@ -170,7 +172,7 @@ let html = $derived.by(() => {
|
|
|
170
172
|
{#snippet actions()}
|
|
171
173
|
{#if jobId && download}
|
|
172
174
|
<Button
|
|
173
|
-
href=
|
|
175
|
+
href={downloadHref}
|
|
174
176
|
download="windmill_logs_{jobId}.txt"
|
|
175
177
|
color="light"
|
|
176
178
|
size="xs"
|
|
@@ -199,12 +201,12 @@ let html = $derived.by(() => {
|
|
|
199
201
|
>{#if content}{@const len =
|
|
200
202
|
(content?.length ?? 0) +
|
|
201
203
|
(loadedFromObjectStore?.length ?? 0)}{#if splitHtml}{@html splitHtml.before}<button
|
|
202
|
-
onclick={getStoreLogs}
|
|
203
|
-
>Show more... <Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
|
|
204
|
-
>{@html splitHtml.after}{:else if downloadStartUrl}<button
|
|
205
204
|
onclick={getStoreLogs}
|
|
206
205
|
>Show more... <Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
|
|
207
|
-
|
|
206
|
+
>{@html splitHtml.after}{:else if downloadStartUrl}<button onclick={getStoreLogs}
|
|
207
|
+
>Show more... <Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
|
|
208
|
+
><br
|
|
209
|
+
/>{@html html}{:else if len > LOG_LIMIT}(truncated to the last {LOG_LIMIT} characters)...<br
|
|
208
210
|
/><button onclick={() => showMoreTruncate(len)}>Show more..</button><br
|
|
209
211
|
/>{@html html}{:else}{@html html}{/if}{:else if isLoading}Waiting for job to start...{:else}No logs are available yet{/if}</pre
|
|
210
212
|
>
|
|
@@ -215,18 +217,41 @@ let html = $derived.by(() => {
|
|
|
215
217
|
<div class="w-full h-full {wrapperClass}">
|
|
216
218
|
<div class="w-full h-full relative">
|
|
217
219
|
<div
|
|
218
|
-
|
|
219
|
-
class="w-full h-full overflow-auto bg-surface-secondary pt-4 {noMaxH ? '' : 'max-h-screen'}"
|
|
220
|
+
class="w-full h-full bg-surface-secondary flex flex-col {noMaxH ? '' : 'max-h-screen'}"
|
|
220
221
|
data-nav-id={navigationId}
|
|
221
222
|
>
|
|
222
|
-
<div class="
|
|
223
|
-
|
|
223
|
+
<div class="flex gap-2 ml-2 {small ? 'py-1' : 'py-2'} border-b">
|
|
224
|
+
{#if isLoading}
|
|
225
|
+
<div class="flex gap-2 items-center">
|
|
226
|
+
<Loader2 class="animate-spin" />
|
|
227
|
+
{#if tag}
|
|
228
|
+
<div class="flex flex-row items-center gap-1">
|
|
229
|
+
<div class="text-secondary text-2xs">{tagLabel ?? 'tag'}: {tag}</div>
|
|
230
|
+
<NoWorkerWithTagWarning {tagLabel} {tag} />
|
|
231
|
+
</div>
|
|
232
|
+
{/if}
|
|
233
|
+
{#if jobId}
|
|
234
|
+
<QueuePosition {jobId} />
|
|
235
|
+
{/if}
|
|
236
|
+
</div>
|
|
237
|
+
{:else if duration}
|
|
238
|
+
<span
|
|
239
|
+
class={twMerge('text-secondary dark:text-gray-400', small ? '!text-2xs' : '!text-xs')}
|
|
240
|
+
>took {duration}ms</span
|
|
241
|
+
>
|
|
242
|
+
{/if}
|
|
243
|
+
{#if mem}
|
|
244
|
+
<span class="{small ? '!text-2xs' : '!text-xs'} text-secondary dark:text-gray-400"
|
|
245
|
+
>mem peak: {(mem / 1024).toPrecision(4)}MB</span
|
|
246
|
+
>
|
|
247
|
+
{/if}
|
|
248
|
+
<div class="flex gap-2 justify-end flex-1">
|
|
224
249
|
{#if jobId && download}
|
|
225
250
|
<div class="flex items-center">
|
|
226
251
|
<a
|
|
227
252
|
class="text-primary pb-0.5"
|
|
228
253
|
target="_blank"
|
|
229
|
-
href=
|
|
254
|
+
href={downloadHref}
|
|
230
255
|
download="windmill_logs_{jobId}.txt"
|
|
231
256
|
><Download size="14" />
|
|
232
257
|
</a>
|
|
@@ -234,67 +259,33 @@ let html = $derived.by(() => {
|
|
|
234
259
|
{/if}
|
|
235
260
|
<button onclick={logViewer.openDrawer}><Expand size="12" /></button>
|
|
236
261
|
{#if !noAutoScroll}
|
|
237
|
-
<label
|
|
238
|
-
class="{small
|
|
239
|
-
? ''
|
|
240
|
-
: 'py-2'} pr-2 text-2xs flex gap-2 font-normal text-primary items-center"
|
|
241
|
-
>
|
|
262
|
+
<label class="pr-2 text-2xs flex gap-2 font-normal text-primary items-center">
|
|
242
263
|
Auto scroll
|
|
243
264
|
<input class="windmillapp" type="checkbox" bind:checked={scroll} />
|
|
244
265
|
</label>
|
|
245
266
|
{/if}
|
|
246
267
|
</div>
|
|
247
268
|
</div>
|
|
248
|
-
{#if isLoading}
|
|
249
|
-
<div class="flex gap-2 absolute top-2 left-2 items-center z-10">
|
|
250
|
-
<Loader2 class="animate-spin" />
|
|
251
|
-
{#if tag}
|
|
252
|
-
<div class="flex flex-row items-center gap-1">
|
|
253
|
-
<div class="text-primary text-2xs">{tagLabel ?? 'tag'}: {tag}</div>
|
|
254
|
-
<NoWorkerWithTagWarning {tagLabel} {tag} />
|
|
255
|
-
</div>
|
|
256
|
-
{/if}
|
|
257
|
-
{#if jobId}
|
|
258
|
-
<QueuePosition {jobId} />
|
|
259
|
-
{/if}
|
|
260
|
-
</div>
|
|
261
|
-
{:else if duration}
|
|
262
|
-
<span
|
|
263
|
-
class={twMerge(
|
|
264
|
-
'absolute text-primary dark:text-gray-400',
|
|
265
|
-
small ? '!text-2xs' : '!text-xs',
|
|
266
|
-
small ? 'top-0' : 'top-2',
|
|
267
|
-
noPadding ? '' : 'left-2'
|
|
268
|
-
)}>took {duration}ms</span
|
|
269
|
-
>
|
|
270
|
-
{/if}
|
|
271
|
-
{#if mem}
|
|
272
|
-
<span
|
|
273
|
-
class="absolute {small ? '!text-2xs' : '!text-xs'} text-primary dark:text-gray-400 {small
|
|
274
|
-
? 'top-0'
|
|
275
|
-
: 'top-2'} left-36">mem peak: {(mem / 1024).toPrecision(4)}MB</span
|
|
276
|
-
>
|
|
277
|
-
{/if}
|
|
278
269
|
<pre
|
|
270
|
+
bind:this={preEl}
|
|
279
271
|
class={twMerge(
|
|
280
|
-
'whitespace-pre break-words w-full ',
|
|
272
|
+
'whitespace-pre break-words w-full flex-1 overflow-auto',
|
|
281
273
|
small ? '!text-2xs' : '!text-xs',
|
|
282
274
|
noPadding ? '' : 'p-2'
|
|
283
275
|
)}
|
|
284
276
|
>{#if content}{@const len =
|
|
285
|
-
(content?.length ?? 0) +
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
>{:else if downloadStartUrl}<button
|
|
277
|
+
(content?.length ?? 0) + (loadedFromObjectStore?.length ?? 0)}{#if splitHtml}<span
|
|
278
|
+
>{@html splitHtml.before}</span
|
|
279
|
+
><button onclick={getStoreLogs}
|
|
280
|
+
>Show more... <Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
|
|
281
|
+
><span>{@html splitHtml.after}</span>{:else if downloadStartUrl}<button
|
|
291
282
|
onclick={getStoreLogs}
|
|
292
283
|
>Show more... <Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
|
|
293
|
-
><br /><span>{@html html}</span
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
>{
|
|
284
|
+
><br /><span>{@html html}</span>{:else if len > LOG_LIMIT}<button
|
|
285
|
+
onclick={() => showMoreTruncate(len)}>Show more..</button
|
|
286
|
+
> ({LOG_LIMIT}/{len} chars)<br /><span>{@html html}</span>{:else}<span
|
|
287
|
+
>{@html html}</span
|
|
288
|
+
>{/if}{:else if !isLoading}<span>{customEmptyMessage}</span>{/if}</pre
|
|
298
289
|
>
|
|
299
290
|
</div>
|
|
300
291
|
</div>
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
<script lang="ts" module
|
|
1
|
+
<script lang="ts" module>import { isTriggerOrScheduleKind } from 'windmill-utils-internal';
|
|
2
|
+
/**
|
|
2
3
|
* Check if an item needs on_behalf_of selection.
|
|
3
4
|
* Shows the selector when the source item has an on_behalf_of value set.
|
|
4
5
|
*/
|
|
5
6
|
export function needsOnBehalfOfSelection(kind, sourceValue) {
|
|
6
|
-
|
|
7
|
-
kind
|
|
8
|
-
kind
|
|
9
|
-
kind
|
|
10
|
-
kind
|
|
7
|
+
const supported = kind === 'flow' ||
|
|
8
|
+
kind === 'script' ||
|
|
9
|
+
kind === 'app' ||
|
|
10
|
+
kind === 'raw_app' ||
|
|
11
|
+
kind === 'trigger' ||
|
|
12
|
+
isTriggerOrScheduleKind(kind);
|
|
13
|
+
if (!supported)
|
|
11
14
|
return false;
|
|
12
15
|
return !!sourceValue;
|
|
13
16
|
}
|
|
@@ -20,7 +23,7 @@ import { userStore } from '../stores';
|
|
|
20
23
|
import { UserService } from '../gen';
|
|
21
24
|
import TextInput from './text_input/TextInput.svelte';
|
|
22
25
|
let { targetWorkspace, targetValue, selected, onSelect, kind, canPreserve, customValue, isDeployment = true, folderDefault = undefined } = $props();
|
|
23
|
-
const isTrigger = $derived(kind === 'trigger');
|
|
26
|
+
const isTrigger = $derived(kind === 'trigger' || isTriggerOrScheduleKind(kind));
|
|
24
27
|
let label = $derived(isTrigger
|
|
25
28
|
? 'Set the user this will be permissioned as:'
|
|
26
29
|
: 'Set the user this will be run on behalf of:');
|