windmill-components 1.537.1 → 1.542.5
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/package/components/AIProviderPicker.svelte +181 -0
- package/package/components/AIProviderPicker.svelte.d.ts +15 -0
- package/package/components/ArgInfo.svelte +2 -2
- package/package/components/ArgInput.svelte +35 -9
- package/package/components/ArgInput.svelte.d.ts +3 -3
- package/package/components/AssignableTagsInner.svelte +89 -3
- package/package/components/ConcurrentJobsChart.svelte +36 -48
- package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
- package/package/components/CustomPopover.svelte.d.ts +1 -1
- package/package/components/DropdownSelect.svelte +26 -0
- package/package/components/DropdownSelect.svelte.d.ts +11 -0
- package/package/components/DropdownV2Inner.svelte +1 -1
- package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
- package/package/components/DynamicInput.svelte.d.ts +11 -0
- package/package/components/EditableSchemaForm.svelte +119 -95
- package/package/components/EditableSchemaForm.svelte.d.ts +4 -4
- package/package/components/Editor.svelte +86 -93
- package/package/components/Editor.svelte.d.ts +4 -3
- package/package/components/EditorBar.svelte +2 -5
- package/package/components/EditorSettings.svelte +11 -9
- package/package/components/FlowBuilder.svelte +3 -3
- package/package/components/FlowLogRow.svelte +64 -0
- package/package/components/FlowLogRow.svelte.d.ts +15 -0
- package/package/components/FlowLogViewer.svelte +406 -373
- package/package/components/FlowLogViewer.svelte.d.ts +5 -1
- package/package/components/FlowLogViewerWrapper.svelte +44 -1
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowStatusViewerInner.svelte +34 -3
- package/package/components/FolderPicker.svelte +1 -1
- package/package/components/InputTransformForm.svelte +20 -10
- package/package/components/JobArgs.svelte +1 -1
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/JobStatus.svelte +2 -0
- package/package/components/LogSnippetViewer.svelte +3 -3
- package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
- package/package/components/LogViewer.svelte +87 -71
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/PrefixedInput.svelte +120 -0
- package/package/components/PrefixedInput.svelte.d.ts +8 -0
- package/package/components/QueuePosition.svelte +81 -0
- package/package/components/QueuePosition.svelte.d.ts +8 -0
- package/package/components/ResourceNarrowing.svelte +13 -0
- package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
- package/package/components/ResourceTypePicker.svelte +49 -74
- package/package/components/RunChart.svelte +74 -89
- package/package/components/RunChart.svelte.d.ts +10 -22
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte.d.ts +2 -2
- package/package/components/ScriptBuilder.svelte +2 -1
- package/package/components/ScriptEditor.svelte +4 -3
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +4 -67
- package/package/components/StringTypeNarrowing.svelte +5 -10
- package/package/components/TemplateEditor.svelte +2 -16
- package/package/components/TimeAgo.svelte +1 -1
- package/package/components/TimeAgo.svelte.d.ts +1 -0
- package/package/components/Toggle.svelte +2 -1
- package/package/components/Toggle.svelte.d.ts +2 -1
- package/package/components/WorkerRepl.svelte +1 -1
- package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
- package/package/components/apps/components/display/table/utils.js +36 -5
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
- package/package/components/apps/editor/AppEditor.svelte +4 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
- package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
- package/package/components/apps/editor/SettingsPanel.svelte +2 -2
- package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +26 -3
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
- package/package/components/assets/JobAssetsViewer.svelte +28 -24
- package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
- package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
- package/package/components/common/OnChange.svelte.d.ts +11 -4
- package/package/components/common/badge/Badge.svelte +9 -2
- package/package/components/common/badge/Badge.svelte.d.ts +2 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
- package/package/components/common/drawer/Disposable.svelte +9 -11
- package/package/components/common/drawer/Drawer.svelte +3 -4
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
- package/package/components/common/modal/Modal.svelte.d.ts +1 -1
- package/package/components/common/tabs/TabContent.svelte +2 -7
- package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/MetadataGen.svelte +1 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +24 -102
- package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
- package/package/components/copilot/chat/anthropic.d.ts +15 -0
- package/package/components/copilot/chat/anthropic.js +208 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
- package/package/components/copilot/chat/api/apiTools.js +10 -7
- package/package/components/copilot/chat/api/core.d.ts +1 -1
- package/package/components/copilot/chat/api/core.js +7 -2
- package/package/components/copilot/chat/ask/core.d.ts +1 -1
- package/package/components/copilot/chat/ask/core.js +7 -2
- package/package/components/copilot/chat/flow/core.d.ts +1 -1
- package/package/components/copilot/chat/flow/core.js +14 -4
- package/package/components/copilot/chat/monaco-adapter.d.ts +6 -5
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +7 -2
- package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
- package/package/components/copilot/chat/script/core.d.ts +5 -4
- package/package/components/copilot/chat/script/core.js +131 -19
- package/package/components/copilot/chat/shared.d.ts +7 -7
- package/package/components/copilot/lib.d.ts +29 -8
- package/package/components/copilot/lib.js +199 -24
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +5 -5
- package/package/components/flows/content/FlowModuleComponent.svelte +5 -2
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
- package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +0 -1
- package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
- package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowRetries.svelte +108 -3
- package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
- package/package/components/flows/flowInfers.js +8 -35
- package/package/components/flows/flowStore.d.ts +45 -1
- package/package/components/flows/flowStore.js +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +61 -54
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
- package/package/components/flows/map/InsertModuleButton.svelte +1 -0
- package/package/components/flows/map/InsertModuleInner.svelte +12 -15
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
- package/package/components/git_sync/DetectionFlow.svelte +15 -17
- package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
- package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
- package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
- package/package/components/home/ItemsList.svelte +17 -13
- package/package/components/home/TreeView.svelte +21 -27
- package/package/components/home/TreeView.svelte.d.ts +2 -29
- package/package/components/home/TreeViewRoot.svelte +11 -23
- package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
- package/package/components/icons/GitIcon.svelte +10 -2
- package/package/components/icons/GitIcon.svelte.d.ts +1 -0
- package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
- package/package/components/meltComponents/Popover.svelte +23 -3
- package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
- package/package/components/monacoLanguagesOptions.d.ts +3 -0
- package/package/components/monacoLanguagesOptions.js +109 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +7 -2
- package/package/components/propertyPicker/PropPicker.svelte +1 -1
- package/package/components/propertyPicker/utils.js +14 -7
- package/package/components/runs/JobRunsPreview.svelte +212 -177
- package/package/components/runs/JobsLoader.svelte +2 -2
- package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
- package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
- package/package/components/runs/RunBadges.svelte +100 -0
- package/package/components/runs/RunBadges.svelte.d.ts +12 -0
- package/package/components/runs/RunLabels.svelte +86 -0
- package/package/components/runs/RunLabels.svelte.d.ts +10 -0
- package/package/components/runs/RunOption.svelte +20 -0
- package/package/components/runs/RunOption.svelte.d.ts +10 -0
- package/package/components/runs/RunRow.svelte +239 -151
- package/package/components/runs/RunRow.svelte.d.ts +12 -9
- package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
- package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
- package/package/components/runs/RunsFilter.svelte +369 -243
- package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
- package/package/components/runs/RunsQueue.svelte +96 -25
- package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
- package/package/components/runs/RunsTable.svelte +62 -71
- package/package/components/runs/RunsTable.svelte.d.ts +2 -1
- package/package/components/runs/runs-grid.css +95 -0
- package/package/components/schema/EditableSchemaDrawer.svelte +12 -12
- package/package/components/schema/FlowPropertyEditor.svelte +197 -206
- package/package/components/schema/PropertyEditor.svelte +33 -35
- package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -2
- package/package/components/search/GlobalSearchModal.svelte +8 -1
- package/package/components/select/DraggableTags.svelte.d.ts +17 -7
- package/package/components/select/MultiSelect.svelte.d.ts +21 -11
- package/package/components/select/Select.svelte +2 -1
- package/package/components/select/Select.svelte.d.ts +25 -13
- package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
- package/package/components/settings/TokenDisplay.svelte +1 -1
- package/package/components/sidebar/OperatorMenu.svelte +5 -0
- package/package/components/sidebar/SidebarContent.svelte +48 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
- package/package/components/toast.js +6 -3
- package/package/components/triggers/AddTriggersButton.svelte +7 -6
- package/package/components/triggers/CaptureWrapper.svelte +19 -3
- package/package/components/triggers/TriggerLabel.svelte +8 -0
- package/package/components/triggers/TriggerTokens.svelte +1 -1
- package/package/components/triggers/TriggersEditor.svelte +9 -5
- package/package/components/triggers/TriggersTable.svelte +2 -2
- package/package/components/triggers/TriggersWrapper.svelte +16 -5
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
- package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
- package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
- package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
- package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailCapture.svelte +39 -0
- package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
- package/package/components/triggers/email/utils.d.ts +4 -0
- package/package/components/triggers/email/utils.js +52 -0
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
- package/package/components/triggers/http/utils.js +1 -1
- package/package/components/triggers/triggers.svelte.d.ts +1 -0
- package/package/components/triggers/triggers.svelte.js +24 -2
- package/package/components/triggers/utils.js +19 -5
- package/package/components/triggers.d.ts +1 -1
- package/package/components/triggers.js +2 -0
- package/package/components/wizards/AgGridWizard.svelte +85 -80
- package/package/components/workspaceSettings/AISettings.svelte +74 -22
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
- package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +142 -3
- package/package/gen/schemas.gen.js +144 -3
- package/package/gen/services.gen.d.ts +129 -1
- package/package/gen/services.gen.js +267 -1
- package/package/gen/types.gen.d.ts +434 -8
- package/package/hubPaths.json +4 -2
- package/package/infer.js +1 -1
- package/package/keyboardChain.d.ts +5 -0
- package/package/keyboardChain.js +40 -0
- package/package/services/JobManager.js +2 -2
- package/package/stores.d.ts +3 -1
- package/package/stores.js +8 -5
- package/package/utils/workspaceHierarchy.d.ts +27 -0
- package/package/utils/workspaceHierarchy.js +101 -0
- package/package/utils.d.ts +6 -3
- package/package/utils.js +30 -15
- package/package/workspace_settings.js +2 -3
- package/package.json +9 -11
- package/package/components/DynSelect.svelte.d.ts +0 -11
- package/package/components/ObjectTypeNarrowing.svelte +0 -18
- package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
- package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
- package/package/components/details/EmailTriggerPanel.svelte +0 -76
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
|
@@ -7,6 +7,7 @@ import Button from '../common/button/Button.svelte';
|
|
|
7
7
|
import Popover from '../meltComponents/Popover.svelte';
|
|
8
8
|
import { offset, flip, shift } from 'svelte-floating-ui/dom';
|
|
9
9
|
let { value = $bindable(), trigger: trigger_render } = $props();
|
|
10
|
+
const isActionsColumn = $derived(value?._isActionsColumn === true);
|
|
10
11
|
const presets = [
|
|
11
12
|
{
|
|
12
13
|
label: 'None',
|
|
@@ -92,16 +93,18 @@ $effect(() => {
|
|
|
92
93
|
<input type="text" placeholder="Header name" bind:value={value.headerName} />
|
|
93
94
|
</Label>
|
|
94
95
|
|
|
95
|
-
|
|
96
|
-
<
|
|
97
|
-
|
|
98
|
-
e
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
96
|
+
{#if !isActionsColumn}
|
|
97
|
+
<Label label="Editable value">
|
|
98
|
+
<Toggle
|
|
99
|
+
on:pointerdown={(e) => {
|
|
100
|
+
e?.stopPropagation()
|
|
101
|
+
}}
|
|
102
|
+
options={{ right: 'Editable' }}
|
|
103
|
+
bind:checked={value.editable}
|
|
104
|
+
size="xs"
|
|
105
|
+
/>
|
|
106
|
+
</Label>
|
|
107
|
+
{/if}
|
|
105
108
|
|
|
106
109
|
<Label label="Min width (px)">
|
|
107
110
|
<input type="number" placeholder="width" bind:value={value.minWidth} />
|
|
@@ -124,8 +127,8 @@ $effect(() => {
|
|
|
124
127
|
</Tooltip>
|
|
125
128
|
{/snippet}
|
|
126
129
|
|
|
127
|
-
<input type="range" step="1" bind:value={value.flex} min={
|
|
128
|
-
<div class="text-xs">{value.flex}</div>
|
|
130
|
+
<input type="range" step="1" bind:value={value.flex} min={0} max={12} />
|
|
131
|
+
<div class="text-xs">{value.flex ?? 0}</div>
|
|
129
132
|
</Label>
|
|
130
133
|
|
|
131
134
|
<Label label="Hide">
|
|
@@ -139,7 +142,8 @@ $effect(() => {
|
|
|
139
142
|
/>
|
|
140
143
|
</Label>
|
|
141
144
|
|
|
142
|
-
|
|
145
|
+
{#if !isActionsColumn}
|
|
146
|
+
<Label label="Value formatter">
|
|
143
147
|
{#snippet header()}
|
|
144
148
|
<Tooltip
|
|
145
149
|
documentationLink="https://www.ag-grid.com/javascript-data-grid/value-formatters/"
|
|
@@ -197,83 +201,84 @@ $effect(() => {
|
|
|
197
201
|
{/key}
|
|
198
202
|
</div>
|
|
199
203
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
<Label label="Sort">
|
|
205
|
+
<select bind:value={value.sort}>
|
|
206
|
+
<option value={null}>None</option>
|
|
207
|
+
<option value="asc">Ascending</option>
|
|
208
|
+
<option value="desc">Descending</option>
|
|
209
|
+
</select>
|
|
210
|
+
</Label>
|
|
207
211
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
<!--
|
|
226
|
-
EE only
|
|
212
|
+
<Label label="Filter">
|
|
213
|
+
{#snippet header()}
|
|
214
|
+
<Tooltip documentationLink="https://www.ag-grid.com/javascript-data-grid/filtering/">
|
|
215
|
+
Filtering allows you to limit the rows displayed in your grid to those that match
|
|
216
|
+
criteria you specify.
|
|
217
|
+
</Tooltip>
|
|
218
|
+
{/snippet}
|
|
219
|
+
<Toggle
|
|
220
|
+
on:pointerdown={(e) => {
|
|
221
|
+
e?.stopPropagation()
|
|
222
|
+
}}
|
|
223
|
+
options={{ right: 'Enable filter' }}
|
|
224
|
+
bind:checked={value.filter}
|
|
225
|
+
size="xs"
|
|
226
|
+
/>
|
|
227
|
+
</Label>
|
|
227
228
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
</Label>
|
|
229
|
+
<!--
|
|
230
|
+
EE only
|
|
231
231
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
232
|
+
<Label label="Aggregation function">
|
|
233
|
+
<SimpleEditor autoHeight lang="javascript" bind:code={value.aggFunc} />
|
|
234
|
+
</Label>
|
|
235
235
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
236
|
+
<Label label="Pivot">
|
|
237
|
+
<Toggle bind:checked={value.pivot} size="xs" />
|
|
238
|
+
</Label>
|
|
239
239
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
<option value="left">Left</option>
|
|
244
|
-
<option value="right">Right</option>
|
|
245
|
-
</select>
|
|
246
|
-
</Label>
|
|
240
|
+
<Label label="Pivot index">
|
|
241
|
+
<input type="number" placeholder="pivot index" bind:value={value.pivotIndex} />
|
|
242
|
+
</Label>
|
|
247
243
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
244
|
+
<Label label="Pinned">
|
|
245
|
+
<select bind:value={value.pinned}>
|
|
246
|
+
<option value={null}>None</option>
|
|
247
|
+
<option value="left">Left</option>
|
|
248
|
+
<option value="right">Right</option>
|
|
249
|
+
</select>
|
|
250
|
+
</Label>
|
|
251
251
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
-->
|
|
252
|
+
<Label label="Row group">
|
|
253
|
+
<Toggle bind:checked={value.rowGroup} size="xs" />
|
|
254
|
+
</Label>
|
|
256
255
|
|
|
257
|
-
<Label label="
|
|
258
|
-
<
|
|
259
|
-
<option value="text">Text</option>
|
|
260
|
-
<option value="link">Link</option>
|
|
261
|
-
</select>
|
|
256
|
+
<Label label="Row group index">
|
|
257
|
+
<input type="number" placeholder="row group index" bind:value={value.rowGroupIndex} />
|
|
262
258
|
</Label>
|
|
259
|
+
-->
|
|
260
|
+
|
|
261
|
+
<Label label="Type">
|
|
262
|
+
<select bind:value={value.cellRendererType}>
|
|
263
|
+
<option value="text">Text</option>
|
|
264
|
+
<option value="link">Link</option>
|
|
265
|
+
</select>
|
|
266
|
+
</Label>
|
|
263
267
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
268
|
+
{#if value.cellRendererType === 'link'}
|
|
269
|
+
<Alert type="info" title="Label" size="xs">
|
|
270
|
+
They are two ways to define a link:
|
|
271
|
+
<ul class="list-disc list-inside">
|
|
272
|
+
<li>
|
|
273
|
+
<strong>String</strong>: The string will be used as the link and the label.
|
|
274
|
+
</li>
|
|
275
|
+
<li>
|
|
276
|
+
<strong>Object</strong>: The object must have a <code>href</code> and a
|
|
277
|
+
<code>label</code> property.
|
|
278
|
+
</li>
|
|
279
|
+
</ul>
|
|
280
|
+
</Alert>
|
|
281
|
+
{/if}
|
|
277
282
|
{/if}
|
|
278
283
|
</div>
|
|
279
284
|
{/if}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import { WorkspaceService } from '../../gen';
|
|
2
2
|
import { setCopilotInfo, workspaceStore } from '../../stores';
|
|
3
3
|
import { sendUserToast } from '../../toast';
|
|
4
|
-
import {
|
|
4
|
+
import { AI_PROVIDERS, fetchAvailableModels } from '../copilot/lib';
|
|
5
5
|
import TestAiKey from '../copilot/TestAIKey.svelte';
|
|
6
6
|
import Description from '../Description.svelte';
|
|
7
7
|
import Label from '../Label.svelte';
|
|
@@ -13,21 +13,16 @@ import MultiSelect from '../select/MultiSelect.svelte';
|
|
|
13
13
|
import { safeSelectItems } from '../select/utils.svelte';
|
|
14
14
|
import Badge from '../common/badge/Badge.svelte';
|
|
15
15
|
import Tooltip from '../Tooltip.svelte';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
['googleai', 'Google AI'],
|
|
23
|
-
['groq', 'Groq'],
|
|
24
|
-
['openrouter', 'OpenRouter'],
|
|
25
|
-
['togetherai', 'Together AI'],
|
|
26
|
-
['customai', 'Custom AI']
|
|
27
|
-
];
|
|
28
|
-
let { aiProviders = $bindable(), codeCompletionModel = $bindable(), defaultModel = $bindable(), usingOpenaiClientCredentialsOauth = $bindable() } = $props();
|
|
16
|
+
import { AIMode } from '../copilot/chat/AIChatManager.svelte';
|
|
17
|
+
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
18
|
+
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
19
|
+
import autosize from '../../autosize';
|
|
20
|
+
const MAX_CUSTOM_PROMPT_LENGTH = 5000;
|
|
21
|
+
let { aiProviders = $bindable(), codeCompletionModel = $bindable(), defaultModel = $bindable(), customPrompts = $bindable(), usingOpenaiClientCredentialsOauth = $bindable() } = $props();
|
|
29
22
|
let fetchedAiModels = $state(false);
|
|
30
|
-
let availableAiModels = $state(Object.fromEntries(
|
|
23
|
+
let availableAiModels = $state(Object.fromEntries(Object.keys(AI_PROVIDERS).map((provider) => [provider, AI_PROVIDERS[provider].defaultModels])));
|
|
24
|
+
// Custom system prompt settings
|
|
25
|
+
let selectedAiMode = $state(AIMode.ASK);
|
|
31
26
|
let selectedAiModels = $derived(Object.values(aiProviders).flatMap((p) => p.models));
|
|
32
27
|
let modelProviderMap = $derived(Object.fromEntries(Object.entries(aiProviders).flatMap(([provider, config]) => config.models.map((m) => [m, provider]))));
|
|
33
28
|
$effect(() => {
|
|
@@ -49,7 +44,7 @@ $effect(() => {
|
|
|
49
44
|
}
|
|
50
45
|
catch (e) {
|
|
51
46
|
console.error('failed to fetch models for provider', provider, e);
|
|
52
|
-
availableAiModels[provider] =
|
|
47
|
+
availableAiModels[provider] = AI_PROVIDERS[provider].defaultModels;
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
fetchedAiModels = true;
|
|
@@ -63,10 +58,15 @@ async function editCopilotConfig() {
|
|
|
63
58
|
const default_model = defaultModel && modelProviderMap[defaultModel]
|
|
64
59
|
? { model: defaultModel, provider: modelProviderMap[defaultModel] }
|
|
65
60
|
: undefined;
|
|
61
|
+
// Convert customPrompts to include only non-empty prompts
|
|
62
|
+
const custom_prompts = Object.entries(customPrompts)
|
|
63
|
+
.filter(([_, prompt]) => prompt.trim().length > 0)
|
|
64
|
+
.reduce((acc, [mode, prompt]) => ({ ...acc, [mode]: prompt }), {});
|
|
66
65
|
const config = {
|
|
67
66
|
providers: aiProviders,
|
|
68
67
|
code_completion_model,
|
|
69
|
-
default_model
|
|
68
|
+
default_model,
|
|
69
|
+
custom_prompts: Object.keys(custom_prompts).length > 0 ? custom_prompts : undefined
|
|
70
70
|
};
|
|
71
71
|
await WorkspaceService.editCopilotConfig({
|
|
72
72
|
workspace: $workspaceStore,
|
|
@@ -91,7 +91,7 @@ async function onAiProviderChange(provider) {
|
|
|
91
91
|
}
|
|
92
92
|
catch (e) {
|
|
93
93
|
console.error('failed to fetch models for provider', provider, e);
|
|
94
|
-
availableAiModels[provider] =
|
|
94
|
+
availableAiModels[provider] = AI_PROVIDERS[provider].defaultModels;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
if (aiProviders[provider]?.resource_path &&
|
|
@@ -115,12 +115,12 @@ async function onAiProviderChange(provider) {
|
|
|
115
115
|
<div class="flex flex-col gap-2">
|
|
116
116
|
<p class="font-semibold">AI Providers</p>
|
|
117
117
|
<div class="flex flex-col gap-4">
|
|
118
|
-
{#each
|
|
118
|
+
{#each Object.entries(AI_PROVIDERS) as [provider, details]}
|
|
119
119
|
<div class="flex flex-col gap-2">
|
|
120
120
|
<div class="flex flex-row gap-2">
|
|
121
121
|
<Toggle
|
|
122
122
|
options={{
|
|
123
|
-
right: label
|
|
123
|
+
right: details.label
|
|
124
124
|
}}
|
|
125
125
|
checked={!!aiProviders[provider]}
|
|
126
126
|
on:change={(e) => {
|
|
@@ -186,12 +186,12 @@ async function onAiProviderChange(provider) {
|
|
|
186
186
|
() => aiProviders[provider].resource_path,
|
|
187
187
|
(v) => {
|
|
188
188
|
aiProviders[provider].resource_path = v
|
|
189
|
-
onAiProviderChange(provider)
|
|
189
|
+
onAiProviderChange(provider as AIProvider)
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
/>
|
|
193
193
|
<TestAiKey
|
|
194
|
-
aiProvider={provider}
|
|
194
|
+
aiProvider={provider as AIProvider}
|
|
195
195
|
resourcePath={aiProviders[provider].resource_path}
|
|
196
196
|
model={aiProviders[provider].models[0]}
|
|
197
197
|
/>
|
|
@@ -276,6 +276,58 @@ async function onAiProviderChange(provider) {
|
|
|
276
276
|
</div>
|
|
277
277
|
{/if}
|
|
278
278
|
|
|
279
|
+
{#if Object.keys(aiProviders).length > 0}
|
|
280
|
+
<div class="flex flex-col gap-2">
|
|
281
|
+
<p class="font-semibold">Custom system prompts</p>
|
|
282
|
+
<div class="flex flex-col gap-4">
|
|
283
|
+
<Label label="AI Mode">
|
|
284
|
+
<ToggleButtonGroup
|
|
285
|
+
bind:selected={selectedAiMode}
|
|
286
|
+
on:selected={({ detail }) => {
|
|
287
|
+
selectedAiMode = detail
|
|
288
|
+
}}
|
|
289
|
+
>
|
|
290
|
+
{#snippet children({ item })}
|
|
291
|
+
{#each Object.values(AIMode) as mode}
|
|
292
|
+
<div class="relative">
|
|
293
|
+
<ToggleButton
|
|
294
|
+
value={mode}
|
|
295
|
+
label={mode.charAt(0).toUpperCase() + mode.slice(1)}
|
|
296
|
+
{item}
|
|
297
|
+
/>
|
|
298
|
+
{#if customPrompts[mode]?.length > 0}
|
|
299
|
+
<div
|
|
300
|
+
class="absolute -top-1 -right-1 w-2 h-2 bg-blue-500 rounded-full border border-surface"
|
|
301
|
+
></div>
|
|
302
|
+
{/if}
|
|
303
|
+
</div>
|
|
304
|
+
{/each}
|
|
305
|
+
{/snippet}
|
|
306
|
+
</ToggleButtonGroup>
|
|
307
|
+
</Label>
|
|
308
|
+
|
|
309
|
+
<Label
|
|
310
|
+
label="Custom system prompt for {selectedAiMode.charAt(0).toUpperCase() +
|
|
311
|
+
selectedAiMode.slice(1)} Mode"
|
|
312
|
+
>
|
|
313
|
+
<textarea
|
|
314
|
+
bind:value={customPrompts[selectedAiMode]}
|
|
315
|
+
placeholder="Enter a custom system prompt for {selectedAiMode} mode."
|
|
316
|
+
class="w-full min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-md bg-surface text-primary resize-y"
|
|
317
|
+
rows="4"
|
|
318
|
+
maxlength={MAX_CUSTOM_PROMPT_LENGTH}
|
|
319
|
+
use:autosize
|
|
320
|
+
></textarea>
|
|
321
|
+
<div class="flex justify-end mt-1">
|
|
322
|
+
<span class="text-xs text-secondary">
|
|
323
|
+
{(customPrompts[selectedAiMode] ?? '').length}/{MAX_CUSTOM_PROMPT_LENGTH} characters
|
|
324
|
+
</span>
|
|
325
|
+
</div>
|
|
326
|
+
</Label>
|
|
327
|
+
</div>
|
|
328
|
+
</div>
|
|
329
|
+
{/if}
|
|
330
|
+
|
|
279
331
|
<Button
|
|
280
332
|
wrapperClasses="self-start"
|
|
281
333
|
disabled={!Object.values(aiProviders).every((p) => p.resource_path) ||
|
|
@@ -3,8 +3,9 @@ type $$ComponentProps = {
|
|
|
3
3
|
aiProviders: Exclude<AIConfig['providers'], undefined>;
|
|
4
4
|
codeCompletionModel: string | undefined;
|
|
5
5
|
defaultModel: string | undefined;
|
|
6
|
+
customPrompts: Record<string, string>;
|
|
6
7
|
usingOpenaiClientCredentialsOauth: boolean;
|
|
7
8
|
};
|
|
8
|
-
declare const AiSettings: import("svelte").Component<$$ComponentProps, {}, "codeCompletionModel" | "defaultModel" | "aiProviders" | "usingOpenaiClientCredentialsOauth">;
|
|
9
|
+
declare const AiSettings: import("svelte").Component<$$ComponentProps, {}, "codeCompletionModel" | "defaultModel" | "aiProviders" | "customPrompts" | "usingOpenaiClientCredentialsOauth">;
|
|
9
10
|
type AiSettings = ReturnType<typeof AiSettings>;
|
|
10
11
|
export default AiSettings;
|