windmill-components 1.555.0 → 1.558.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 (150) hide show
  1. package/package/components/AIAgentLogViewer.svelte.d.ts +3 -3
  2. package/package/components/AIProviderPicker.svelte.d.ts +3 -3
  3. package/package/components/ArgInput.svelte +2 -0
  4. package/package/components/DBManager.svelte.d.ts +3 -3
  5. package/package/components/DBManagerDrawer.svelte.d.ts +3 -3
  6. package/package/components/DBSchemaExplorer.svelte.d.ts +3 -3
  7. package/package/components/DBTable.svelte.d.ts +3 -3
  8. package/package/components/DBTableEditor.svelte +9 -12
  9. package/package/components/DBTableEditor.svelte.d.ts +3 -3
  10. package/package/components/DateTimeInput.svelte +19 -13
  11. package/package/components/DateTimeInput.svelte.d.ts +5 -0
  12. package/package/components/DucklakePicker.svelte +32 -0
  13. package/package/components/DucklakePicker.svelte.d.ts +13 -0
  14. package/package/components/Editor.svelte +1 -1
  15. package/package/components/EditorBar.svelte +14 -1
  16. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  17. package/package/components/FlowGraphViewerStep.svelte +1 -1
  18. package/package/components/FlowPreviewContent.svelte +1 -1
  19. package/package/components/HighlightCode.svelte +21 -10
  20. package/package/components/HighlightCode.svelte.d.ts +12 -22
  21. package/package/components/InputTransformForm.svelte +9 -41
  22. package/package/components/InstanceSetting.svelte +1 -6
  23. package/package/components/ResourceEditor.svelte +1 -1
  24. package/package/components/ResourcePicker.svelte +0 -5
  25. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +50 -34
  26. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +7 -5
  27. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte.d.ts +2 -2
  28. package/package/components/apps/components/display/dbtable/DeleteRow.svelte +2 -2
  29. package/package/components/apps/components/display/dbtable/DeleteRow.svelte.d.ts +3 -2
  30. package/package/components/apps/components/display/dbtable/InsertRow.svelte +13 -7
  31. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +6 -3
  32. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte.d.ts +2 -1
  33. package/package/components/apps/components/display/dbtable/UpdateCell.svelte +2 -2
  34. package/package/components/apps/components/display/dbtable/UpdateCell.svelte.d.ts +3 -2
  35. package/package/components/apps/components/display/dbtable/queries/count.d.ts +2 -1
  36. package/package/components/apps/components/display/dbtable/queries/count.js +28 -18
  37. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +1 -1
  38. package/package/components/apps/components/display/dbtable/queries/createTable.js +1 -1
  39. package/package/components/apps/components/display/dbtable/queries/delete.d.ts +2 -1
  40. package/package/components/apps/components/display/dbtable/queries/delete.js +19 -10
  41. package/package/components/apps/components/display/dbtable/queries/insert.d.ts +2 -1
  42. package/package/components/apps/components/display/dbtable/queries/insert.js +16 -10
  43. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -1
  44. package/package/components/apps/components/display/dbtable/queries/select.js +20 -16
  45. package/package/components/apps/components/display/dbtable/queries/update.d.ts +2 -1
  46. package/package/components/apps/components/display/dbtable/queries/update.js +19 -10
  47. package/package/components/apps/components/display/dbtable/utils.d.ts +1 -1
  48. package/package/components/apps/components/display/dbtable/utils.js +12 -3
  49. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +9 -1
  50. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +1 -0
  51. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +2 -1
  52. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +1 -0
  53. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +2 -1
  54. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +1 -0
  55. package/package/components/apps/components/display/table/AppAggridTable.svelte +9 -1
  56. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  57. package/package/components/apps/components/display/table/AppAggridTableEe.svelte +2 -1
  58. package/package/components/apps/components/display/table/AppAggridTableEe.svelte.d.ts +1 -0
  59. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -1
  60. package/package/components/apps/components/inputs/AppDateInput.svelte +1 -0
  61. package/package/components/apps/editor/AppEditor.svelte +6 -1
  62. package/package/components/apps/editor/AppEditorHeader.svelte +12 -8
  63. package/package/components/apps/editor/AppJobsDrawer.svelte +5 -5
  64. package/package/components/apps/editor/component/ComponentInner.svelte +4 -0
  65. package/package/components/apps/editor/component/components.d.ts +16 -0
  66. package/package/components/apps/editor/component/components.js +17 -1
  67. package/package/components/apps/editor/settingsPanel/AGChartRichEditor.svelte.d.ts +3 -3
  68. package/package/components/apps/editor/settingsPanel/CSSMigrationModal.svelte.d.ts +3 -3
  69. package/package/components/apps/editor/settingsPanel/ChartJSRichEditor.svelte.d.ts +3 -3
  70. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +23 -23
  71. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +7 -2
  72. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -0
  73. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +2 -1
  74. package/package/components/apps/editor/settingsPanel/inputEditor/DBTableSelect.svelte.d.ts +3 -3
  75. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +10 -0
  76. package/package/components/apps/inputType.d.ts +2 -2
  77. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  78. package/package/components/common/button/ConnectionButton.svelte +12 -14
  79. package/package/components/common/button/ConnectionButton.svelte.d.ts +5 -18
  80. package/package/components/copilot/AIFormAssistant.svelte.d.ts +3 -3
  81. package/package/components/copilot/AIFormSettings.svelte.d.ts +3 -3
  82. package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +3 -3
  83. package/package/components/copilot/StepInputsGen.svelte +1 -1
  84. package/package/components/copilot/TestAIKey.svelte.d.ts +3 -3
  85. package/package/components/copilot/chat/AIChat.svelte.d.ts +3 -3
  86. package/package/components/copilot/chat/AIChatDisplay.svelte.d.ts +3 -3
  87. package/package/components/copilot/chat/AIChatInlineWidget.svelte.d.ts +3 -3
  88. package/package/components/copilot/chat/AIChatInput.svelte.d.ts +3 -3
  89. package/package/components/copilot/chat/AIChatMessage.svelte.d.ts +3 -3
  90. package/package/components/copilot/chat/ContextElementBadge.svelte +2 -2
  91. package/package/components/copilot/chat/flow/AIChangesWarningModal.svelte.d.ts +3 -3
  92. package/package/components/copilot/chat/flow/FlowAIButton.svelte.d.ts +3 -3
  93. package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -1
  94. package/package/components/copilot/chat/flow/FlowAIChat.svelte.d.ts +3 -3
  95. package/package/components/copilot/chat/script/CodeDisplay.svelte +30 -9
  96. package/package/components/copilot/chat/script/core.d.ts +2 -1
  97. package/package/components/copilot/chat/script/core.js +6 -1
  98. package/package/components/details/DetailPageLayout.svelte +11 -3
  99. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  100. package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
  101. package/package/components/flows/content/FlowInput.svelte +1 -1
  102. package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
  103. package/package/components/flows/content/FlowLoop.svelte +143 -10
  104. package/package/components/flows/conversations/FlowChatInterface.svelte +110 -0
  105. package/package/components/flows/{FlowChatInterface.svelte.d.ts → conversations/FlowChatInterface.svelte.d.ts} +1 -1
  106. package/package/components/flows/conversations/FlowChatManager.svelte.d.ts +52 -0
  107. package/package/components/flows/conversations/FlowChatManager.svelte.js +422 -0
  108. package/package/components/flows/conversations/FlowChatMessage.svelte +68 -0
  109. package/package/components/flows/{FlowChatMessage.svelte.d.ts → conversations/FlowChatMessage.svelte.d.ts} +2 -4
  110. package/package/components/flows/{FlowConversationsSidebar.svelte → conversations/FlowConversationsSidebar.svelte} +6 -6
  111. package/package/components/flows/flowInfers.js +1 -1
  112. package/package/components/flows/scheduleUtils.js +2 -1
  113. package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +3 -3
  114. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte.d.ts +3 -3
  115. package/package/components/icons/CACertificate.svelte.d.ts +3 -3
  116. package/package/components/icons/MSSqlServerIcon.svelte.d.ts +3 -3
  117. package/package/components/icons/MSTeamsIcon.svelte.d.ts +3 -3
  118. package/package/components/icons/OracleDBIcon.svelte.d.ts +3 -3
  119. package/package/components/icons/PHPIcon.svelte.d.ts +3 -3
  120. package/package/components/icons/QRCodeIcon.svelte.d.ts +3 -3
  121. package/package/components/instanceSettings.js +11 -2
  122. package/package/components/runs/JobsLoader.svelte +3 -3
  123. package/package/components/runs/RunRow.svelte +1 -1
  124. package/package/components/schema/SchemaFormDND.svelte.d.ts +3 -3
  125. package/package/components/settings/AIUserSettings.svelte.d.ts +3 -3
  126. package/package/components/sidebar/SidebarContent.svelte +2 -2
  127. package/package/components/text_input/TextInput.svelte.d.ts +1 -1
  128. package/package/components/triggers/http/OpenAPISpecGenerator.svelte.d.ts +3 -3
  129. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +42 -1
  130. package/package/components/vscode.js +16 -12
  131. package/package/components/wizards/ChartJSWizard.svelte.d.ts +3 -3
  132. package/package/components/wizards/DBExplorerWizard.svelte.d.ts +3 -3
  133. package/package/components/wizards/LoggedWizardResult.svelte +95 -0
  134. package/package/components/wizards/LoggedWizardResult.svelte.d.ts +17 -0
  135. package/package/components/workspaceSettings/AISettings.svelte.d.ts +3 -3
  136. package/package/components/workspaceSettings/DucklakeSettings.svelte +223 -89
  137. package/package/gen/core/OpenAPI.js +1 -1
  138. package/package/gen/schemas.gen.d.ts +73 -5
  139. package/package/gen/schemas.gen.js +73 -5
  140. package/package/gen/services.gen.d.ts +8 -8
  141. package/package/gen/services.gen.js +14 -12
  142. package/package/gen/types.gen.d.ts +69 -18
  143. package/package/svelte5Utils.svelte.d.ts +1 -0
  144. package/package/svelte5Utils.svelte.js +6 -0
  145. package/package/utils.js +2 -5
  146. package/package.json +13 -15
  147. package/package/components/flows/FlowChatInterface.svelte +0 -404
  148. package/package/components/flows/FlowChatMessage.svelte +0 -41
  149. package/package/components/meltComponents/Menubar.svelte.d.ts +0 -503
  150. /package/package/components/flows/{FlowConversationsSidebar.svelte.d.ts → conversations/FlowConversationsSidebar.svelte.d.ts} +0 -0
@@ -35,7 +35,7 @@ function computeJobKinds(jobKindsCat) {
35
35
  return kinds.join(',');
36
36
  }
37
37
  else if (jobKindsCat == 'runs') {
38
- let kinds = ['script', 'flow', 'singlescriptflow'];
38
+ let kinds = ['script', 'flow', 'singlestepflow'];
39
39
  return kinds.join(',');
40
40
  }
41
41
  else {
@@ -84,7 +84,7 @@ async function fetchJobs(startedBefore, startedAfter, startedAfterCompletedJobs,
84
84
  : success == 'waiting'
85
85
  ? false
86
86
  : undefined,
87
- isSkipped: isSkipped ? undefined : false,
87
+ isSkipped: isSkipped ? true : undefined,
88
88
  // isFlowStep: jobKindsCat != 'all' ? false : undefined,
89
89
  hasNullParent: jobKindsCat != 'all' ? true : undefined,
90
90
  label: label === null || label === '' ? undefined : label,
@@ -132,7 +132,7 @@ async function fetchExtendedJobs(concurrencyKey, startedBefore, startedAfter, st
132
132
  jobKinds: jobKindsCat == 'all' || jobKinds == '' ? undefined : jobKinds,
133
133
  success: success == 'success' ? true : success == 'failure' ? false : undefined,
134
134
  running: success == 'running' ? true : undefined,
135
- isSkipped: isSkipped ? undefined : false,
135
+ isSkipped: isSkipped ? true : undefined,
136
136
  isFlowStep: jobKindsCat != 'all' ? false : undefined,
137
137
  label: label === null || label === '' ? undefined : label,
138
138
  tag: tag === null || tag === '' ? undefined : tag,
@@ -35,7 +35,7 @@ function getJobKindIcon(jobKind) {
35
35
  else if (jobKind === 'script' ||
36
36
  isScriptPreview(jobKind) ||
37
37
  jobKind === 'script_hub' ||
38
- jobKind === 'singlescriptflow') {
38
+ jobKind === 'singlestepflow') {
39
39
  return Code;
40
40
  }
41
41
  else if (jobKind === 'aiagent') {
@@ -37,7 +37,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
37
37
  };
38
38
  z_$$bindings?: Bindings;
39
39
  }
40
- declare const SchemaFormDnd: $$__sveltets_2_IsomorphicComponent<Props, {
40
+ declare const SchemaFormDND: $$__sveltets_2_IsomorphicComponent<Props, {
41
41
  click: CustomEvent<any>;
42
42
  change: CustomEvent<any>;
43
43
  reorder: CustomEvent<any>;
@@ -47,5 +47,5 @@ declare const SchemaFormDnd: $$__sveltets_2_IsomorphicComponent<Props, {
47
47
  } & {
48
48
  [evt: string]: CustomEvent<any>;
49
49
  }, {}, {}, "args" | "schema" | "isValid">;
50
- type SchemaFormDnd = InstanceType<typeof SchemaFormDnd>;
51
- export default SchemaFormDnd;
50
+ type SchemaFormDND = InstanceType<typeof SchemaFormDND>;
51
+ export default SchemaFormDND;
@@ -1,3 +1,3 @@
1
- declare const AiUserSettings: import("svelte").Component<Record<string, never>, {}, "">;
2
- type AiUserSettings = ReturnType<typeof AiUserSettings>;
3
- export default AiUserSettings;
1
+ declare const AIUserSettings: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type AIUserSettings = ReturnType<typeof AIUserSettings>;
3
+ export default AIUserSettings;
@@ -29,7 +29,7 @@ async function leaveWorkspace() {
29
29
  goto('/user/workspaces');
30
30
  }
31
31
  async function deleteFork() {
32
- await WorkspaceService.deleteWorkspace({ workspace: $workspaceStore ?? '' });
32
+ await WorkspaceService.deleteWorkspace({ workspace: $workspaceStore ?? '', onlyDeleteForks: true });
33
33
  sendUserToast('You deleted the workspace');
34
34
  clearStores();
35
35
  goto('/user/workspaces');
@@ -300,7 +300,7 @@ let secondaryMenuLinks = $derived([
300
300
  }
301
301
  ]
302
302
  : []),
303
- ...($workspaceStore?.startsWith('wm-fork')
303
+ ...($workspaceStore?.startsWith('wm-fork-')
304
304
  ? [
305
305
  {
306
306
  label: 'Delete Forked Workspace',
@@ -8,7 +8,7 @@ type Props = {
8
8
  inputProps?: HTMLInputAttributes;
9
9
  value?: string;
10
10
  class?: string;
11
- error?: string;
11
+ error?: string | boolean;
12
12
  };
13
13
  declare const TextInput: import("svelte").Component<Props, {
14
14
  focus: () => void;
@@ -1,5 +1,5 @@
1
- declare const OpenApiSpecGenerator: import("svelte").Component<Record<string, never>, {
1
+ declare const OpenAPISpecGenerator: import("svelte").Component<Record<string, never>, {
2
2
  openDrawer: () => void;
3
3
  }, "">;
4
- type OpenApiSpecGenerator = ReturnType<typeof OpenApiSpecGenerator>;
5
- export default OpenApiSpecGenerator;
4
+ type OpenAPISpecGenerator = ReturnType<typeof OpenAPISpecGenerator>;
5
+ export default OpenAPISpecGenerator;
@@ -54,6 +54,7 @@ let failedTimes = $state(1);
54
54
  let failedExact = $state(false);
55
55
  let recoveredTimes = $state(1);
56
56
  let retry = $state(undefined);
57
+ let dynamicSkipPath = $state(undefined);
57
58
  let script_path = $state('');
58
59
  let initialScriptPath = $state('');
59
60
  let runnable = $state();
@@ -460,6 +461,7 @@ async function loadScheduleCfg(cfg) {
460
461
  successHandlerSelected = 'slack';
461
462
  successHandlerExtraArgs = {};
462
463
  }
464
+ dynamicSkipPath = cfg.dynamic_skip;
463
465
  args = cfg.args ?? {};
464
466
  extraPerms = cfg.extra_perms ?? {};
465
467
  can_write = canWrite(cfg.path, cfg.extra_perms, $userStore);
@@ -548,7 +550,8 @@ function getScheduleCfg() {
548
550
  tag: tag,
549
551
  paused_until: paused_until,
550
552
  cron_version: cronVersion,
551
- extra_perms: extraPerms
553
+ extra_perms: extraPerms,
554
+ dynamic_skip: dynamicSkipPath
552
555
  };
553
556
  }
554
557
  async function handleToggleEnabled(nEnabled) {
@@ -852,6 +855,7 @@ $effect(() => {
852
855
  <Tab value="recovery_handler">Recovery Handler</Tab>
853
856
  <Tab value="success_handler">Success Handler</Tab>
854
857
  <Tab value="retries">Retries</Tab>
858
+ <Tab value="dynamic_skip">Dynamic skip</Tab>
855
859
  {#if itemKind === 'script'}
856
860
  <Tab value="tag">Custom tag</Tab>
857
861
  {/if}
@@ -1137,6 +1141,43 @@ $effect(() => {
1137
1141
  />
1138
1142
  {/if}
1139
1143
  </Section>
1144
+ {:else if optionTabSelected === 'dynamic_skip'}
1145
+ <Section label="Dynamic skip">
1146
+ {#snippet header()}
1147
+ <Tooltip>
1148
+ Optional script to filter scheduled dates. Receives the proposed datetime and returns
1149
+ boolean. True = run on this date, False = skip to next occurrence.
1150
+ </Tooltip>
1151
+ {/snippet}
1152
+ <div class="flex flex-col gap-2">
1153
+ <Label label="Dynamic skip script">
1154
+ <div class="flex flex-row">
1155
+ <ScriptPicker
1156
+ disabled={!can_write}
1157
+ bind:scriptPath={dynamicSkipPath}
1158
+ kinds={['script']}
1159
+ allowRefresh={can_write}
1160
+ clearable
1161
+ />
1162
+ {#if !dynamicSkipPath}
1163
+ <Button
1164
+ btnClasses="ml-4 mt-2"
1165
+ color="dark"
1166
+ size="xs"
1167
+ href="/scripts/add?hub=hub%2F19822%2Fwindmill%2Fdynamic_skip_template"
1168
+ disabled={!can_write}
1169
+ target="_blank"
1170
+ >
1171
+ Create from template
1172
+ </Button>
1173
+ {/if}
1174
+ </div>
1175
+ </Label>
1176
+ <Alert type="info" size="xs" title="Handler requirements">
1177
+ Handler must return a boolean value. Return true to execute the scheduled job, false to skip.
1178
+ </Alert>
1179
+ </div>
1180
+ </Section>
1140
1181
  {:else if optionTabSelected === 'tag'}
1141
1182
  <Section
1142
1183
  label="Custom script tag"
@@ -1,13 +1,9 @@
1
- import { initServices } from 'monaco-languageclient/vscode/services';
2
- // import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override'
3
- // import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override'
4
- import getMonarchServiceOverride from '@codingame/monaco-vscode-monarch-service-override';
5
1
  import '@codingame/monaco-vscode-standalone-typescript-language-features';
6
- import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
7
2
  import { editor as meditor, Uri as mUri } from 'monaco-editor';
8
3
  export let isInitialized = false;
9
4
  export let isInitializing = false;
10
- import { getEnhancedMonacoEnvironment } from 'monaco-languageclient/vscode/services';
5
+ import { getEnhancedMonacoEnvironment, MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
6
+ import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override';
11
7
  export function buildWorkerDefinition() {
12
8
  const envEnhanced = getEnhancedMonacoEnvironment();
13
9
  const getWorker = (moduleId, label) => {
@@ -80,22 +76,30 @@ export async function initializeVscode(caller, htmlContainer) {
80
76
  isInitializing = true;
81
77
  try {
82
78
  // init vscode-api
83
- await initServices({
79
+ const apiWrapper = new MonacoVscodeApiWrapper({
80
+ $type: 'classic',
81
+ viewsConfig: {
82
+ $type: 'EditorService'
83
+ },
84
84
  serviceOverrides: {
85
+ // ...getLogServiceOverride()
85
86
  // ...getThemeServiceOverride(),
86
87
  // ...getTextmateServiceOverride()
87
- ...getConfigurationServiceOverride(),
88
- ...getMonarchServiceOverride()
88
+ // ...getConfigurationServiceOverride(),
89
+ // ...getKeybindingsServiceOverride()
90
+ ...getLanguagesServiceOverride()
89
91
  },
90
- enableExtHostWorker: false,
91
92
  userConfiguration: {
92
93
  json: JSON.stringify({
93
94
  'editor.experimental.asyncTokenization': true
94
95
  })
95
- }
96
- }, {
96
+ },
97
+ advanced: {
98
+ enableExtHostWorker: true
99
+ },
97
100
  monacoWorkerFactory: buildWorkerDefinition
98
101
  });
102
+ await apiWrapper.start();
99
103
  isInitialized = true;
100
104
  meditor.defineTheme('nord', {
101
105
  base: 'vs-dark',
@@ -20,10 +20,10 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
20
20
  };
21
21
  z_$$bindings?: Bindings;
22
22
  }
23
- declare const ChartJsWizard: $$__sveltets_2_IsomorphicComponent<Props, {
23
+ declare const ChartJSWizard: $$__sveltets_2_IsomorphicComponent<Props, {
24
24
  remove: CustomEvent<any>;
25
25
  } & {
26
26
  [evt: string]: CustomEvent<any>;
27
27
  }, {}, {}, "value">;
28
- type ChartJsWizard = InstanceType<typeof ChartJsWizard>;
29
- export default ChartJsWizard;
28
+ type ChartJSWizard = InstanceType<typeof ChartJSWizard>;
29
+ export default ChartJSWizard;
@@ -3,6 +3,6 @@ interface Props {
3
3
  value: ColumnDef | undefined;
4
4
  trigger?: import('svelte').Snippet;
5
5
  }
6
- declare const DbExplorerWizard: import("svelte").Component<Props, {}, "value">;
7
- type DbExplorerWizard = ReturnType<typeof DbExplorerWizard>;
8
- export default DbExplorerWizard;
6
+ declare const DBExplorerWizard: import("svelte").Component<Props, {}, "value">;
7
+ type DBExplorerWizard = ReturnType<typeof DBExplorerWizard>;
8
+ export default DBExplorerWizard;
@@ -0,0 +1,95 @@
1
+ <script module lang="ts">export function firstEmptyStepIsError(steps, error) {
2
+ let convertedSteps = [...steps];
3
+ let alreadyFoundEmpty = false;
4
+ for (let step of convertedSteps) {
5
+ if (!step.status) {
6
+ if (!alreadyFoundEmpty) {
7
+ alreadyFoundEmpty = true;
8
+ step.status = error !== undefined ? 'FAIL' : 'SKIP';
9
+ }
10
+ else {
11
+ step.status = 'SKIP';
12
+ }
13
+ }
14
+ }
15
+ return convertedSteps;
16
+ }
17
+ </script>
18
+
19
+ <script lang="ts">import { CircleCheck, Circle, CircleX, ChevronDown } from 'lucide-svelte';
20
+ import { twMerge } from 'tailwind-merge';
21
+ import ResizeTransitionWrapper from '../common/ResizeTransitionWrapper.svelte';
22
+ let { steps, class: className = '' } = $props();
23
+ let openedDescriptions = $state({});
24
+ $effect(() => {
25
+ for (let i = 0; i < steps.length; i++) {
26
+ let step = steps[i];
27
+ if (step.status == 'FAIL') {
28
+ openedDescriptions[i] = true;
29
+ }
30
+ }
31
+ });
32
+ </script>
33
+
34
+ <div class={twMerge('flex flex-col gap-2', className)}>
35
+ {#each steps as step, i}
36
+ {@const descriptionOpened = openedDescriptions[i] ?? false}
37
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
38
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
39
+ <div
40
+ class="flex flex-col bg-surface rounded-md py-1.5 px-3 cursor-pointer"
41
+ role=""
42
+ onclick={() => {
43
+ if (step.description) {
44
+ if (descriptionOpened) delete openedDescriptions[i]
45
+ else openedDescriptions[i] = true
46
+ }
47
+ }}
48
+ >
49
+ <div class="flex gap-3">
50
+ <span class="inline-flex w-10 h-10 shrink-0 justify-center items-center">
51
+ {#if step.status == 'SKIP'}
52
+ <Circle size={20} class="inline text-hint/50" />
53
+ {:else if step.status == 'FAIL'}
54
+ <CircleX size={20} class="inline text-red-500" />
55
+ {:else if step.status == 'OK'}
56
+ <CircleCheck size={20} class="inline text-green-500" />
57
+ {/if}
58
+ </span>
59
+ <div class="flex-1 my-2">
60
+ <span
61
+ class={twMerge(
62
+ 'font-medium flex justify-between items-center',
63
+ {
64
+ SKIP: 'text-hint/75',
65
+ FAIL: 'text-red-400',
66
+ OK: 'text-green-600 dark:text-green-400'
67
+ }[step.status]
68
+ )}
69
+ >
70
+ {i + 1}. {step.title}
71
+ {#if step.description}
72
+ <ChevronDown
73
+ class={twMerge(
74
+ 'text-hint transition-transform',
75
+ descriptionOpened ? 'rotate-180' : ''
76
+ )}
77
+ size={16}
78
+ />
79
+ {/if}
80
+ </span>
81
+ <ResizeTransitionWrapper vertical class="relative text-xs text-secondary">
82
+ {#if descriptionOpened}
83
+ <div
84
+ class="whitespace-pre-wrap cursor-default mt-1.5"
85
+ onclick={(e) => e.stopPropagation()}
86
+ >
87
+ {step.description}
88
+ </div>
89
+ {/if}
90
+ </ResizeTransitionWrapper>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ {/each}
95
+ </div>
@@ -0,0 +1,17 @@
1
+ export declare function firstEmptyStepIsError<Step extends {
2
+ status?: LoggedWizardStatus;
3
+ }>(steps: Step[], error: string | undefined): (Step & {
4
+ status: LoggedWizardStatus;
5
+ })[];
6
+ import type { LoggedWizardStatus } from '../../gen';
7
+ type Props = {
8
+ steps: {
9
+ title?: string;
10
+ status: LoggedWizardStatus;
11
+ description?: string;
12
+ }[];
13
+ class?: string;
14
+ };
15
+ declare const LoggedWizardResult: import("svelte").Component<Props, {}, "">;
16
+ type LoggedWizardResult = ReturnType<typeof LoggedWizardResult>;
17
+ export default LoggedWizardResult;
@@ -7,6 +7,6 @@ type $$ComponentProps = {
7
7
  maxTokensPerModel: Record<string, number>;
8
8
  usingOpenaiClientCredentialsOauth: boolean;
9
9
  };
10
- declare const AiSettings: import("svelte").Component<$$ComponentProps, {}, "codeCompletionModel" | "defaultModel" | "aiProviders" | "maxTokensPerModel" | "customPrompts" | "usingOpenaiClientCredentialsOauth">;
11
- type AiSettings = ReturnType<typeof AiSettings>;
12
- export default AiSettings;
10
+ declare const AISettings: import("svelte").Component<$$ComponentProps, {}, "codeCompletionModel" | "defaultModel" | "aiProviders" | "maxTokensPerModel" | "customPrompts" | "usingOpenaiClientCredentialsOauth">;
11
+ type AISettings = ReturnType<typeof AISettings>;
12
+ export default AISettings;