windmill-components 1.389.2 → 1.394.3
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/assets/app.css +4 -3
- package/package/components/AppConnectInner.svelte +18 -10
- package/package/components/ArgInfo.svelte +1 -1
- package/package/components/ArgInput.svelte +22 -2
- package/package/components/AutheliaSetting.svelte +1 -0
- package/package/components/AuthentikSetting.svelte +1 -0
- package/package/components/BoundedInputNumber +0 -0
- package/package/components/CliHelpBox.svelte +2 -2
- package/package/components/DateInput.svelte +1 -0
- package/package/components/DisplayResult.svelte +39 -31
- package/package/components/Editor.svelte +0 -21
- package/package/components/ErrorOrRecoveryHandler.svelte +7 -1
- package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -1
- package/package/components/FlowBuilder.svelte +2 -2
- package/package/components/FlowGraphViewerStep.svelte +22 -0
- package/package/components/FlowJobResult.svelte +1 -0
- package/package/components/FlowMetadata.svelte +3 -2
- package/package/components/FlowStatusViewer.svelte +2 -0
- package/package/components/FlowStatusViewer.svelte.d.ts +2 -0
- package/package/components/FlowStatusViewerInner.svelte +10 -5
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
- package/package/components/FolderEditor.svelte +1 -1
- package/package/components/IdEditorInput.svelte +82 -0
- package/package/components/IdEditorInput.svelte.d.ts +26 -0
- package/package/components/InputTransformForm.svelte +10 -10
- package/package/components/InputTransformForm.svelte.d.ts +4 -1
- package/package/components/InputTransformSchemaForm.svelte.d.ts +3 -1
- package/package/components/InstanceSettings.svelte +73 -12
- package/package/components/ItemPicker.svelte +1 -0
- package/package/components/KanidmSetting.svelte +1 -0
- package/package/components/KeycloakSetting.svelte +1 -0
- package/package/components/LightweightArgInput.svelte +2 -0
- package/package/components/LogViewer.svelte +206 -0
- package/package/components/ModulePreview.svelte.d.ts +3 -1
- package/package/components/ModulePreviewForm.svelte +2 -2
- package/package/components/ModulePreviewForm.svelte.d.ts +4 -1
- package/package/components/OAuthSetting.svelte +11 -10
- package/package/components/ObjectStoreConfigSettings.svelte +6 -6
- package/package/components/OktaSetting.svelte +1 -0
- package/package/components/Password.svelte +30 -35
- package/package/components/RunChart.svelte +16 -0
- package/package/components/RunChart.svelte.d.ts +2 -0
- package/package/components/SavedInputs.svelte +4 -4
- package/package/components/ScheduleEditorInner.svelte +145 -2
- package/package/components/SchemaForm.svelte +1 -2
- package/package/components/ScriptBuilder.svelte +1 -0
- package/package/components/TestConnection.svelte +24 -6
- package/package/components/TestJobLoader.svelte +2 -0
- package/package/components/ZitadelSetting.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +0 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +1 -2
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +0 -2
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +1 -2
- package/package/components/apps/components/display/table/AppAggridTable.svelte +6 -2
- package/package/components/apps/components/inputs/AppSelect.svelte +18 -17
- package/package/components/apps/editor/AppEditor.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +3 -6
- package/package/components/apps/editor/AppReportsDrawer.svelte +17 -5
- package/package/components/apps/editor/DeploymentHistory.svelte +1 -0
- package/package/components/apps/editor/component/Component.svelte +0 -2
- package/package/components/apps/editor/componentsPanel/themeUtils.js +18 -7
- package/package/components/apps/editor/contextPanel/SubGridOutput.svelte +1 -0
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +13 -67
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +1 -2
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +0 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +0 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/decisionTree/InsertDecisionTreeNode.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +1 -0
- package/package/components/apps/svelte-select/lib/Select.svelte +1 -0
- package/package/components/build_workers.js +24 -18
- package/package/components/common/button/Button.svelte +3 -4
- package/package/components/common/button/model.d.ts +1 -1
- package/package/components/common/button/model.js +6 -0
- package/package/components/common/clearableInput/ClearableInput.svelte +1 -0
- package/package/components/common/menu/MenuItem.svelte +1 -0
- package/package/components/common/modal/AlwaysMountedModal.svelte +1 -0
- package/package/components/common/stepper/Stepper.svelte +1 -0
- package/package/components/copilot/StepInputsGen.svelte +2 -2
- package/package/components/copilot/StepInputsGen.svelte.d.ts +3 -1
- package/package/components/copilot/lib.js +2 -2
- package/package/components/details/ClipboardPanel.svelte +1 -0
- package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -1
- package/package/components/flows/content/FlowConstants.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte +1 -1
- package/package/components/flows/content/FlowModuleComponent.svelte +2 -2
- package/package/components/flows/content/FlowModuleHeader.svelte +5 -45
- package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +47 -0
- package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte.d.ts +16 -0
- package/package/components/flows/content/FlowSettings.svelte +1 -0
- package/package/components/flows/flowModuleNextId.js +1 -1
- package/package/components/flows/flowState.d.ts +1 -1
- package/package/components/flows/flowStateUtils.d.ts +1 -1
- package/package/components/flows/flowStateUtils.js +1 -1
- package/package/components/flows/flowStore.d.ts +1 -0
- package/package/components/flows/flowStore.js +5 -0
- package/package/components/flows/map/FlowJobsMenu.svelte +0 -1
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +0 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +103 -19
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +31 -1
- package/package/components/flows/map/InsertModuleButton.svelte +5 -5
- package/package/components/flows/map/InsertTriggerButton.svelte +2 -2
- package/package/components/flows/map/MapItem.svelte +4 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/package/components/flows/map/VirtualItem.svelte +15 -7
- package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -1
- package/package/components/flows/previousResults.js +1 -1
- package/package/components/flows/utils.d.ts +3 -3
- package/package/components/flows/utils.js +2 -2
- package/package/components/graph/FlowGraphV2.svelte +4 -0
- package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
- package/package/components/graph/graphBuilder.d.ts +1 -0
- package/package/components/graph/graphBuilder.js +2 -4
- package/package/components/graph/renderers/edges/BaseEdge.svelte +2 -2
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -1
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +3 -3
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte.d.ts +1 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +2 -2
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +6 -2
- package/package/components/graph/util.d.ts +1 -1
- package/package/components/graph/util.js +7 -2
- package/package/components/icons/AzureIcon.svelte +1 -1
- package/package/components/icons/FunkwhaleIcon.svelte +1 -19
- package/package/components/icons/JumpCloudIcon.svelte +12 -0
- package/package/components/icons/JumpCloudIcon.svelte.d.ts +17 -0
- package/package/components/icons/KeycloakIcon.svelte +20 -0
- package/package/components/icons/KeycloakIcon.svelte.d.ts +17 -0
- package/package/components/icons/MailchimpIcon.svelte +1 -1
- package/package/components/icons/ZitadelIcon.svelte +76 -0
- package/package/components/icons/ZitadelIcon.svelte.d.ts +17 -0
- package/package/components/icons/index.d.ts +7 -1
- package/package/components/icons/index.js +8 -2
- package/package/components/instanceSettings.d.ts +1 -1
- package/package/components/instanceSettings.js +24 -15
- package/package/components/runs/JobLoader.svelte +17 -6
- package/package/components/runs/JobLoader.svelte.d.ts +2 -0
- package/package/components/runs/RunRow.svelte +7 -7
- package/package/components/runs/RunsFilter.svelte +8 -1
- package/package/components/runs/RunsTable.svelte +30 -8
- package/package/components/runs/RunsTable.svelte.d.ts +2 -0
- package/package/components/schema/PropertyEditor.svelte +0 -5
- package/package/components/settings/WorkspaceUserSettings.svelte +1 -1
- package/package/components/sidebar/MenuLink.svelte +2 -1
- package/package/components/sidebar/WorkspaceMenu.svelte +4 -1
- package/package/components/sidebar/changelogs.js +30 -0
- package/package/components/tutorials/FlowBuilderTutorialsForLoop.svelte +2 -2
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +21 -0
- package/package/gen/schemas.gen.js +21 -0
- package/package/gen/services.gen.d.ts +11 -12
- package/package/gen/services.gen.js +19 -24
- package/package/gen/types.gen.d.ts +62 -37
- package/package/hub.d.ts +1 -0
- package/package/hubPaths.json +11 -8
- package/package.json +4 -4
- package/package/windmill_fetch.d.ts.txt +0 -16966
|
@@ -49,6 +49,14 @@ let value = noDefault
|
|
|
49
49
|
: undefined;
|
|
50
50
|
$: resolvedConfig.items && handleItems();
|
|
51
51
|
let listItems = [];
|
|
52
|
+
function setContextValue(value) {
|
|
53
|
+
if (iterContext && listInputs) {
|
|
54
|
+
listInputs.set(id, value);
|
|
55
|
+
}
|
|
56
|
+
if (rowContext && rowInputs) {
|
|
57
|
+
rowInputs.set(id, value);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
52
60
|
function handleItems() {
|
|
53
61
|
listItems = Array.isArray(resolvedConfig.items)
|
|
54
62
|
? resolvedConfig.items.map((item) => {
|
|
@@ -65,6 +73,9 @@ function handleItems() {
|
|
|
65
73
|
};
|
|
66
74
|
})
|
|
67
75
|
: [];
|
|
76
|
+
if (value != undefined && listItems.some((x) => x.value === value)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
68
79
|
let rawValue;
|
|
69
80
|
if (resolvedConfig.defaultValue !== undefined) {
|
|
70
81
|
rawValue = resolvedConfig.defaultValue;
|
|
@@ -76,12 +87,7 @@ function handleItems() {
|
|
|
76
87
|
value = JSON.stringify(rawValue);
|
|
77
88
|
outputs?.result.set(rawValue);
|
|
78
89
|
}
|
|
79
|
-
|
|
80
|
-
listInputs.set(id, rawValue);
|
|
81
|
-
}
|
|
82
|
-
if (rowContext && rowInputs) {
|
|
83
|
-
rowInputs.set(id, rawValue);
|
|
84
|
-
}
|
|
90
|
+
setContextValue(rawValue);
|
|
85
91
|
}
|
|
86
92
|
onDestroy(() => {
|
|
87
93
|
listInputs?.remove(id);
|
|
@@ -114,12 +120,7 @@ function setValue(nvalue) {
|
|
|
114
120
|
catch (_) { }
|
|
115
121
|
value = nvalue;
|
|
116
122
|
outputs?.result.set(result);
|
|
117
|
-
|
|
118
|
-
listInputs.set(id, result);
|
|
119
|
-
}
|
|
120
|
-
if (rowContext && rowInputs) {
|
|
121
|
-
rowInputs.set(id, result);
|
|
122
|
-
}
|
|
123
|
+
setContextValue(result);
|
|
123
124
|
if (recomputeIds) {
|
|
124
125
|
recomputeIds.forEach((id) => $runnableComponents?.[id]?.cb?.forEach((f) => f()));
|
|
125
126
|
}
|
|
@@ -127,9 +128,7 @@ function setValue(nvalue) {
|
|
|
127
128
|
function onClear() {
|
|
128
129
|
value = undefined;
|
|
129
130
|
outputs?.result.set(undefined, true);
|
|
130
|
-
|
|
131
|
-
listInputs.set(id, undefined);
|
|
132
|
-
}
|
|
131
|
+
setContextValue(undefined);
|
|
133
132
|
}
|
|
134
133
|
let css = initCss($app.css?.selectcomponent, customCss);
|
|
135
134
|
let previsousFilter = '';
|
|
@@ -151,8 +150,10 @@ function handleFilter(e) {
|
|
|
151
150
|
$: resolvedConfig.defaultValue && handleDefault();
|
|
152
151
|
function handleDefault() {
|
|
153
152
|
if (resolvedConfig.defaultValue) {
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
const nvalue = resolvedConfig.defaultValue;
|
|
154
|
+
value = JSON.stringify(nvalue);
|
|
155
|
+
outputs?.result.set(nvalue);
|
|
156
|
+
setContextValue(nvalue);
|
|
156
157
|
}
|
|
157
158
|
}
|
|
158
159
|
let filterText = '';
|
|
@@ -552,7 +552,7 @@ let jobToWatch = undefined;
|
|
|
552
552
|
{/if}
|
|
553
553
|
|
|
554
554
|
<SplitPanesWrapper>
|
|
555
|
-
<Splitpanes id="o1" class="max-w-full">
|
|
555
|
+
<Splitpanes id="o1" class="max-w-full overflow-hidden">
|
|
556
556
|
<Pane bind:size={leftPanelSize} minSize={5} maxSize={33}>
|
|
557
557
|
<div
|
|
558
558
|
class={twMerge(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>import { getContext, setContext } from 'svelte';
|
|
2
|
-
import { writable } from 'svelte/store';
|
|
2
|
+
import { get, writable } from 'svelte/store';
|
|
3
3
|
import { buildWorld } from '../rx';
|
|
4
4
|
import Button from '../../common/button/Button.svelte';
|
|
5
5
|
import { Unlock } from 'lucide-svelte';
|
|
@@ -58,11 +58,8 @@ $: onContextChange(context);
|
|
|
58
58
|
function onContextChange(context) {
|
|
59
59
|
Object.assign(ncontext, context);
|
|
60
60
|
ncontext = ncontext;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
x.outputsById?.['ctx']?.[key].set(value, true);
|
|
64
|
-
});
|
|
65
|
-
return x;
|
|
61
|
+
Object.entries(context).forEach(([key, value]) => {
|
|
62
|
+
get(worldStore).outputsById?.['ctx']?.[key].set(value, true);
|
|
66
63
|
});
|
|
67
64
|
}
|
|
68
65
|
function hashchange(e) {
|
|
@@ -115,19 +115,25 @@ async function disableAppReporting() {
|
|
|
115
115
|
const appPreviewScript = `import puppeteer from 'puppeteer-core';
|
|
116
116
|
import dayjs from 'dayjs';
|
|
117
117
|
export async function main(app_path: string, startup_duration = 5, kind: 'pdf' | 'png' = 'pdf') {
|
|
118
|
-
|
|
118
|
+
let browser = null
|
|
119
|
+
try {
|
|
120
|
+
browser = await puppeteer.launch({ headless: true, executablePath: '/usr/bin/chromium', args: ['--no-sandbox',
|
|
121
|
+
'--no-zygote',
|
|
122
|
+
'--disable-setuid-sandbox',
|
|
123
|
+
'--disable-dev-shm-usage',
|
|
124
|
+
'--disable-gpu'] });
|
|
119
125
|
const page = await browser.newPage();
|
|
120
126
|
await page.setCookie({
|
|
121
127
|
"name": "token",
|
|
122
128
|
"value": Bun.env["WM_TOKEN"],
|
|
123
|
-
"domain": Bun.env["
|
|
129
|
+
"domain": Bun.env["BASE_URL"]?.replace(/https?:\\/\\//, '')
|
|
124
130
|
})
|
|
125
131
|
page
|
|
126
132
|
.on('console', msg =>
|
|
127
133
|
console.log(dayjs().format("HH:mm:ss") + " " + msg.type().substr(0, 3).toUpperCase() + " " + msg.text()))
|
|
128
134
|
.on('pageerror', ({ msg }) => console.log(dayjs().format("HH:mm:ss") + " " + msg));
|
|
129
135
|
await page.setViewport({ width: 1200, height: 2000 });
|
|
130
|
-
await page.goto(Bun.env["
|
|
136
|
+
await page.goto(Bun.env["BASE_URL"] + '/apps/get/' + app_path + '?workspace=' + Bun.env["WM_WORKSPACE"] + "&hideRefreshBar=true&hideEditBtn=true");
|
|
131
137
|
await page.waitForSelector("#app-content", { timeout: 20000 })
|
|
132
138
|
await new Promise((resolve, _) => {
|
|
133
139
|
setTimeout(resolve, startup_duration * 1000)
|
|
@@ -151,8 +157,14 @@ export async function main(app_path: string, startup_duration = 5, kind: 'pdf' |
|
|
|
151
157
|
type: "png",
|
|
152
158
|
captureBeyondViewport: false
|
|
153
159
|
});
|
|
154
|
-
|
|
155
|
-
|
|
160
|
+
await browser.close();
|
|
161
|
+
return Buffer.from(screenshot).toString('base64');
|
|
162
|
+
} catch (err) {
|
|
163
|
+
if (browser) {
|
|
164
|
+
await browser.close();
|
|
165
|
+
}
|
|
166
|
+
throw err;
|
|
167
|
+
}
|
|
156
168
|
}`;
|
|
157
169
|
const notificationScripts = {
|
|
158
170
|
discord: {
|
|
@@ -62,6 +62,7 @@ loadVersions();
|
|
|
62
62
|
<div class="flex gap-2 flex-col">
|
|
63
63
|
{#each versions ?? [] as version}
|
|
64
64
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
65
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
65
66
|
<div
|
|
66
67
|
class={classNames(
|
|
67
68
|
'border flex gap-1 truncate justify-between flex-row w-full items-center p-2 rounded-md cursor-pointer hover:bg-blue-50 hover:text-blue-400',
|
|
@@ -390,7 +390,6 @@ function mouseOut() {
|
|
|
390
390
|
componentInput={component.componentInput}
|
|
391
391
|
customCss={component.customCss}
|
|
392
392
|
actions={component.actions ?? []}
|
|
393
|
-
actionsOrder={component.actionsOrder ?? undefined}
|
|
394
393
|
{render}
|
|
395
394
|
/>
|
|
396
395
|
{:else if component.type === 'aggridinfinitecomponentee'}
|
|
@@ -402,7 +401,6 @@ function mouseOut() {
|
|
|
402
401
|
componentInput={component.componentInput}
|
|
403
402
|
customCss={component.customCss}
|
|
404
403
|
actions={component.actions ?? []}
|
|
405
|
-
actionsOrder={component.actionsOrder ?? undefined}
|
|
406
404
|
{render}
|
|
407
405
|
/>
|
|
408
406
|
{:else if component.type === 'textcomponent'}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ResourceService, AppService } from '../../../../gen';
|
|
2
2
|
import { sendUserToast } from '../../../../toast';
|
|
3
3
|
export const DEFAULT_THEME = 'f/app_themes/theme_0';
|
|
4
|
-
export function createTheme(workspace, theme) {
|
|
4
|
+
export async function createTheme(workspace, theme) {
|
|
5
5
|
const createThemeRequest = {
|
|
6
6
|
workspace,
|
|
7
7
|
requestBody: {
|
|
@@ -10,7 +10,12 @@ export function createTheme(workspace, theme) {
|
|
|
10
10
|
value: theme.value || ''
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
try {
|
|
14
|
+
return await ResourceService.createResource(createThemeRequest);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
throw Error(`Error saving theme at resource ${theme.path}, you do not have enough permission`);
|
|
18
|
+
}
|
|
14
19
|
}
|
|
15
20
|
export async function getTheme(workspace, path) {
|
|
16
21
|
try {
|
|
@@ -55,11 +60,17 @@ export async function resolveTheme(theme, workspace) {
|
|
|
55
60
|
css = theme.css;
|
|
56
61
|
}
|
|
57
62
|
else if (theme?.type === 'path' && theme.path && workspace) {
|
|
58
|
-
let loadedCss =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
let loadedCss = { value: '' };
|
|
64
|
+
try {
|
|
65
|
+
loadedCss = await ResourceService.getResourceValue({
|
|
66
|
+
workspace: workspace,
|
|
67
|
+
path: theme.path
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
console.error('Error loading theme', e);
|
|
72
|
+
}
|
|
73
|
+
css = loadedCss?.['value'] ?? '';
|
|
63
74
|
}
|
|
64
75
|
return css;
|
|
65
76
|
}
|
|
@@ -31,6 +31,7 @@ function subscribeToOutput() {
|
|
|
31
31
|
<div class="ml-2 my-2">
|
|
32
32
|
{#if subGrids.length > 1}
|
|
33
33
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
34
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
34
35
|
<div
|
|
35
36
|
class={classNames(
|
|
36
37
|
'px-1 py-0.5 flex justify-between items-center font-semibold text-xs border-l border-y w-full cursor-pointer',
|
|
@@ -1,35 +1,12 @@
|
|
|
1
1
|
<script>import { allItems } from '../../../utils';
|
|
2
|
-
import {
|
|
3
|
-
import { ArrowRight, Pencil } from 'lucide-svelte';
|
|
2
|
+
import { Pencil } from 'lucide-svelte';
|
|
4
3
|
import { createEventDispatcher, getContext } from 'svelte';
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
4
|
+
import IdEditorInput from '../../../../IdEditorInput.svelte';
|
|
5
|
+
import { Popup } from '../../../../common';
|
|
7
6
|
const { app, selectedComponent } = getContext('AppViewerContext');
|
|
8
7
|
export let id;
|
|
9
8
|
const dispatch = createEventDispatcher();
|
|
10
|
-
|
|
11
|
-
let value = id;
|
|
12
|
-
let error = '';
|
|
13
|
-
$: if (!regex.test(value)) {
|
|
14
|
-
error = 'The ID must include only letters and numbers and start with a letter';
|
|
15
|
-
}
|
|
16
|
-
else if (forbiddenIds.includes(value)) {
|
|
17
|
-
error = 'This ID is reserved';
|
|
18
|
-
}
|
|
19
|
-
else if (allItems($app.grid, $app.subgrids).some((item) => item.id === value && item.id !== id)) {
|
|
20
|
-
error = 'This ID is already in use';
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
error = '';
|
|
24
|
-
}
|
|
25
|
-
function save() {
|
|
26
|
-
if (error != '') {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (value != id) {
|
|
30
|
-
dispatch('change', value);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
9
|
+
$: reservedIds = allItems($app.grid, $app.subgrids).map((item) => item.id);
|
|
33
10
|
</script>
|
|
34
11
|
|
|
35
12
|
<Popup let:close floatingConfig={{ strategy: 'absolute', placement: 'bottom-start' }}>
|
|
@@ -45,44 +22,13 @@ function save() {
|
|
|
45
22
|
<Pencil size={14} />
|
|
46
23
|
</button>
|
|
47
24
|
</svelte:fragment>
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
on:keypress|stopPropagation={({ key }) => {
|
|
58
|
-
if (key === 'Enter') {
|
|
59
|
-
save()
|
|
60
|
-
close(null)
|
|
61
|
-
}
|
|
62
|
-
}}
|
|
63
|
-
/>
|
|
64
|
-
<Button
|
|
65
|
-
size="xs"
|
|
66
|
-
color="blue"
|
|
67
|
-
buttonType="button"
|
|
68
|
-
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
69
|
-
aria-label="Save ID"
|
|
70
|
-
disabled={error != ''}
|
|
71
|
-
on:click={() => {
|
|
72
|
-
save()
|
|
73
|
-
close(null)
|
|
74
|
-
}}
|
|
75
|
-
>
|
|
76
|
-
<ArrowRight size={18} />
|
|
77
|
-
</Button>
|
|
78
|
-
</div>
|
|
79
|
-
{#if error != ''}
|
|
80
|
-
<div
|
|
81
|
-
transition:slide|local={{ duration: 100 }}
|
|
82
|
-
class="w-full text-sm text-red-600 whitespace-pre-wrap pt-1"
|
|
83
|
-
>
|
|
84
|
-
{error}
|
|
85
|
-
</div>
|
|
86
|
-
{/if}
|
|
87
|
-
</label>
|
|
25
|
+
<IdEditorInput
|
|
26
|
+
initialId={id}
|
|
27
|
+
on:close={() => close(null)}
|
|
28
|
+
on:save={(e) => {
|
|
29
|
+
dispatch('save', e.detail)
|
|
30
|
+
close(null)
|
|
31
|
+
}}
|
|
32
|
+
{reservedIds}
|
|
33
|
+
/>
|
|
88
34
|
</Popup>
|
|
@@ -374,7 +374,6 @@ function transformToFrontend() {
|
|
|
374
374
|
<DecisionTreeGraphEditor
|
|
375
375
|
bind:nodes={componentSettings.item.data.nodes}
|
|
376
376
|
bind:component={componentSettings.item.data}
|
|
377
|
-
rebuildOnChange={componentSettings.item.data.nodes}
|
|
378
377
|
/>
|
|
379
378
|
{:else if componentSettings.item.data.type === 'verticalsplitpanescomponent' || componentSettings.item.data.type === 'horizontalsplitpanescomponent'}
|
|
380
379
|
<GridPane
|
|
@@ -12,7 +12,6 @@ import { debounce } from '../../../../utils';
|
|
|
12
12
|
import Badge from '../../../common/badge/Badge.svelte';
|
|
13
13
|
export let component;
|
|
14
14
|
export let nodes;
|
|
15
|
-
export let rebuildOnChange = undefined;
|
|
16
15
|
let drawer = undefined;
|
|
17
16
|
let paneWidth = 0;
|
|
18
17
|
let paneHeight = 0;
|
package/package/components/apps/editor/settingsPanel/decisionTree/InsertDecisionTreeNode.svelte
CHANGED
|
@@ -14,7 +14,7 @@ export let canAddNode = true;
|
|
|
14
14
|
dispatch('node')
|
|
15
15
|
}}
|
|
16
16
|
type="button"
|
|
17
|
-
class="text-primary bg-surface
|
|
17
|
+
class="text-primary bg-surface outline-[1px] outline dark:outline-gray-500 outline-gray-300 focus:outline-none hover:bg-surface-hover focus:ring-4 focus:ring-surface-selected font-medium rounded-full text-sm w-[25px] h-[25px] flex items-center justify-center"
|
|
18
18
|
>
|
|
19
19
|
<Cross class="mx-[5px]" size={15} />
|
|
20
20
|
</button>
|
|
@@ -25,7 +25,7 @@ export let canAddNode = true;
|
|
|
25
25
|
type="button"
|
|
26
26
|
on:click={() => dispatch('addBranch')}
|
|
27
27
|
class={twMerge(
|
|
28
|
-
'text-
|
|
28
|
+
'text-secondary bg-surface outline-[1px] outline dark:outline-gray-500 outline-gray-300 focus:outline-none hover:bg-surface-hover focus:ring-4 focus:ring-surface-selected font-medium rounded-full text-sm w-[25px] h-[25px] flex items-center justify-center',
|
|
29
29
|
!canAddNode && 'ml-16 mb-2'
|
|
30
30
|
)}
|
|
31
31
|
>
|
|
@@ -78,6 +78,7 @@ export let shouldUsePortal = true;
|
|
|
78
78
|
hover:bg-gray-100 focus:bg-gray-100 rounded duration-200 dark:hover:bg-frost-900 dark:focus:bg-frost-900
|
|
79
79
|
{label === value ? 'text-blue-600 bg-blue-50 pointer-events-none' : ''}"
|
|
80
80
|
>
|
|
81
|
+
<!-- svelte-ignore a11y-missing-attribute -->
|
|
81
82
|
<img
|
|
82
83
|
class="dark:invert"
|
|
83
84
|
loading="lazy"
|
|
@@ -1,39 +1,45 @@
|
|
|
1
1
|
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import jsonWorker from 'monaco-editor-wrapper/workers/module/json?
|
|
6
|
-
import editorWorker from 'monaco-editor-wrapper/workers/module/editor?
|
|
2
|
+
import tsWorker from 'monaco-editor-wrapper/workers/module/ts?url';
|
|
3
|
+
import cssWorker from 'monaco-editor-wrapper/workers/module/css?url';
|
|
4
|
+
import htmlWorker from 'monaco-editor-wrapper/workers/module/html?url';
|
|
5
|
+
import jsonWorker from 'monaco-editor-wrapper/workers/module/json?url';
|
|
6
|
+
import editorWorker from 'monaco-editor-wrapper/workers/module/editor?url';
|
|
7
7
|
export function buildWorkerDefinition(workerPath, basePath, ...args) {
|
|
8
8
|
useWorkerFactory({
|
|
9
9
|
ignoreMapping: true,
|
|
10
10
|
workerLoaders: {
|
|
11
11
|
editorWorkerService: () => {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
return new Worker(new URL(editorWorker, import.meta.url), {
|
|
13
|
+
type: 'module'
|
|
14
|
+
});
|
|
14
15
|
},
|
|
15
16
|
javascript: () => {
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
return new Worker(new URL(tsWorker, import.meta.url), {
|
|
18
|
+
type: 'module'
|
|
19
|
+
});
|
|
18
20
|
},
|
|
19
21
|
typescript: () => {
|
|
20
|
-
console.log('
|
|
21
|
-
return new tsWorker
|
|
22
|
+
console.log('tsWorker', tsWorker);
|
|
23
|
+
return new Worker(new URL(tsWorker, import.meta.url), {
|
|
24
|
+
type: 'module'
|
|
25
|
+
});
|
|
22
26
|
},
|
|
23
27
|
json: () => {
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
return new Worker(new URL(jsonWorker, import.meta.url), {
|
|
29
|
+
type: 'module'
|
|
30
|
+
});
|
|
26
31
|
},
|
|
27
32
|
html: () => {
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
return new Worker(new URL(htmlWorker, import.meta.url), {
|
|
34
|
+
type: 'module'
|
|
35
|
+
});
|
|
30
36
|
},
|
|
31
37
|
css: () => {
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
return new Worker(new URL(cssWorker, import.meta.url), {
|
|
39
|
+
type: 'module'
|
|
40
|
+
});
|
|
34
41
|
},
|
|
35
42
|
graphql: () => {
|
|
36
|
-
console.log('graphql');
|
|
37
43
|
const workerFilename = `graphql.worker.bundle.js`;
|
|
38
44
|
const workerPathLocal = `${workerPath}/${workerFilename}`;
|
|
39
45
|
const workerUrl = new URL(workerPathLocal, basePath);
|
|
@@ -106,6 +106,7 @@ function getColorClass(color, variant) {
|
|
|
106
106
|
}
|
|
107
107
|
$: buttonClass = twMerge('w-full', getColorClass(color, variant), variant === 'border' ? 'border' : '', ButtonType.FontSizeClasses[size], ButtonType.SpacingClasses[spacingSize][variant], 'focus-visible:ring-2 font-semibold', dropdownItems && dropdownItems.length > 0 ? 'rounded-l-md h-full' : 'rounded-md', 'justify-center items-center text-center whitespace-nowrap inline-flex gap-2', btnClasses, 'active:opacity-80 transition-all', disabled ? '!bg-surface-disabled !text-tertiary cursor-not-allowed' : '', loading ? 'cursor-wait' : '');
|
|
108
108
|
const iconMap = {
|
|
109
|
+
xs3: 12,
|
|
109
110
|
xs2: 14,
|
|
110
111
|
xs: 14,
|
|
111
112
|
sm: 16,
|
|
@@ -114,6 +115,7 @@ const iconMap = {
|
|
|
114
115
|
xl: 18
|
|
115
116
|
};
|
|
116
117
|
const iconOnlyPadding = {
|
|
118
|
+
xs3: 'm-[0.5px] qhd:m-[1px]',
|
|
117
119
|
xs2: 'm-[1px] qhd:m-[1.125px]',
|
|
118
120
|
xs: 'm-[1px] qhd:m-[1.125px]',
|
|
119
121
|
sm: 'm-[2px] qhd:m-[2.25px]',
|
|
@@ -121,12 +123,9 @@ const iconOnlyPadding = {
|
|
|
121
123
|
lg: 'm-[5px] qhd:m-[5.625px]',
|
|
122
124
|
xl: 'm-[5px] qhd:m-[5.625px]'
|
|
123
125
|
};
|
|
124
|
-
|
|
125
|
-
$: lucideIconSize = (iconMap[size] ?? 12) * (innerWidth > 2500 ? 1.125 : 1);
|
|
126
|
+
$: lucideIconSize = (iconMap[size] ?? 12) * 1;
|
|
126
127
|
</script>
|
|
127
128
|
|
|
128
|
-
<svelte:window bind:innerWidth />
|
|
129
|
-
|
|
130
129
|
<div
|
|
131
130
|
class="{dropdownItems && dropdownItems.length > 0 && variant === 'contained'
|
|
132
131
|
? colorVariants[color].divider
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const BUTTON_COLORS: readonly ["blue", "red", "dark", "light", "green", "gray", "none"];
|
|
2
2
|
export declare namespace ButtonType {
|
|
3
|
-
type Size = 'xs2' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
|
+
type Size = 'xs3' | 'xs2' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
4
4
|
type Color = string;
|
|
5
5
|
type Variant = 'contained' | 'border' | 'divider';
|
|
6
6
|
type Target = '_self' | '_blank';
|
|
@@ -2,6 +2,7 @@ export const BUTTON_COLORS = ['blue', 'red', 'dark', 'light', 'green', 'gray', '
|
|
|
2
2
|
export var ButtonType;
|
|
3
3
|
(function (ButtonType) {
|
|
4
4
|
ButtonType.FontSizeClasses = {
|
|
5
|
+
xs3: 'text-2xs',
|
|
5
6
|
xs2: 'text-xs',
|
|
6
7
|
xs: 'text-xs',
|
|
7
8
|
sm: 'text-sm',
|
|
@@ -10,6 +11,11 @@ export var ButtonType;
|
|
|
10
11
|
xl: 'text-xl'
|
|
11
12
|
};
|
|
12
13
|
ButtonType.SpacingClasses = {
|
|
14
|
+
xs3: {
|
|
15
|
+
border: 'px-0.5 py-[1px] !rounded-xs',
|
|
16
|
+
contained: 'px-0.5 py-[1px]',
|
|
17
|
+
divider: ''
|
|
18
|
+
},
|
|
13
19
|
xs2: {
|
|
14
20
|
border: 'px-2 py-[4px]',
|
|
15
21
|
contained: 'px-2 py-[4px]',
|
|
@@ -53,6 +53,7 @@ export function open() {
|
|
|
53
53
|
</div>
|
|
54
54
|
|
|
55
55
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
56
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
56
57
|
<div class="relative bg-surface rounded-md" on:click|stopPropagation={() => {}}>
|
|
57
58
|
<div
|
|
58
59
|
class={twMerge(
|
|
@@ -50,6 +50,7 @@ function getStepColor(index, selectedIndex, statusByStep, maxReachedIndex) {
|
|
|
50
50
|
<ol class="relative z-20 flex justify-between items-centers text-sm font-medium text-tertiary">
|
|
51
51
|
{#each tabs ?? [] as step, index}
|
|
52
52
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
53
|
+
<!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
|
|
53
54
|
<li
|
|
54
55
|
class={classNames(
|
|
55
56
|
'flex items-center gap-2 px-2 py-1 hover:bg-gray-1200 rounded-md m-0.5',
|
|
@@ -15,7 +15,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
15
15
|
let loading = false;
|
|
16
16
|
export let pickableProperties = undefined;
|
|
17
17
|
export let argNames = [];
|
|
18
|
-
export let schema;
|
|
18
|
+
export let schema = undefined;
|
|
19
19
|
const { flowStore, selectedId } = getContext('FlowEditorContext');
|
|
20
20
|
const { exprsToSet, stepInputsLoading, generatedExprs } = getContext('FlowCopilotContext') || {};
|
|
21
21
|
let generatedContent = '';
|
|
@@ -104,7 +104,7 @@ function createFlowInputs() {
|
|
|
104
104
|
const properties = {
|
|
105
105
|
...$flowStore.schema?.properties,
|
|
106
106
|
...newFlowInputs.reduce((acc, x) => {
|
|
107
|
-
acc[x] = (schema
|
|
107
|
+
acc[x] = (schema?.properties ?? {})[x];
|
|
108
108
|
return acc;
|
|
109
109
|
}, {})
|
|
110
110
|
};
|
|
@@ -5,7 +5,9 @@ declare const __propDef: {
|
|
|
5
5
|
props: {
|
|
6
6
|
pickableProperties?: PickableProperties | undefined;
|
|
7
7
|
argNames?: string[] | undefined;
|
|
8
|
-
schema
|
|
8
|
+
schema?: Schema | {
|
|
9
|
+
properties?: Record<string, any>;
|
|
10
|
+
} | undefined;
|
|
9
11
|
};
|
|
10
12
|
events: {
|
|
11
13
|
[evt: string]: CustomEvent<any>;
|
|
@@ -6,8 +6,8 @@ import { buildClientSchema, printSchema } from 'graphql';
|
|
|
6
6
|
export const SUPPORTED_LANGUAGES = new Set(Object.keys(GEN_CONFIG.prompts));
|
|
7
7
|
const openaiConfig = {
|
|
8
8
|
temperature: 0,
|
|
9
|
-
max_tokens:
|
|
10
|
-
model: 'gpt-4o-2024-
|
|
9
|
+
max_tokens: 16384,
|
|
10
|
+
model: 'gpt-4o-2024-08-06',
|
|
11
11
|
seed: 42,
|
|
12
12
|
stream: true,
|
|
13
13
|
messages: []
|
|
@@ -9,6 +9,7 @@ export let title = undefined;
|
|
|
9
9
|
{/if}
|
|
10
10
|
|
|
11
11
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
12
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
12
13
|
<div
|
|
13
14
|
class="px-2 py-1 border flex items-center cursor-pointer bg-surface-secondary text-primary justify-between rounded-md"
|
|
14
15
|
on:click={(e) => {
|
|
@@ -26,7 +26,10 @@ $: opened = false;
|
|
|
26
26
|
>
|
|
27
27
|
Single JavaScript expression. The following functions and objects are available:
|
|
28
28
|
<ul class="ml-4">
|
|
29
|
-
<li
|
|
29
|
+
<li
|
|
30
|
+
><b>{'results.<id>'}</b>: the result of step at id 'id' (use <b>{'results?.<id>'}</b> if id may
|
|
31
|
+
not exist because branch was not chosen)</li
|
|
32
|
+
>
|
|
30
33
|
<li><b>flow_input</b>: the object containing the flow input arguments</li>
|
|
31
34
|
<li><b>params</b>: the object containing the current step static values</li>
|
|
32
35
|
<li>
|