windmill-components 1.13.25 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common.js +1 -5
- package/components/AppConnect.svelte +281 -0
- package/components/AppConnect.svelte.d.ts +22 -0
- package/components/ArgInfo.svelte +11 -16
- package/components/ArgInput.svelte +73 -70
- package/components/ArgInput.svelte.d.ts +6 -1
- package/components/AutosizedTextarea.svelte +6 -8
- package/components/Badge.svelte +4 -10
- package/components/Button.svelte +22 -18
- package/components/ButtonAndDropdown.svelte +6 -12
- package/components/CenteredModal.svelte +30 -0
- package/components/CenteredModal.svelte.d.ts +19 -0
- package/components/ChevronButton.svelte +4 -9
- package/components/DisplayResult.svelte +58 -57
- package/components/Dropdown.svelte +8 -13
- package/components/Editor.svelte +108 -149
- package/components/Editor.svelte.d.ts +3 -1
- package/components/FieldHeader.svelte +7 -12
- package/components/FlowBuilder.svelte +72 -121
- package/components/FlowBuilder.svelte.d.ts +0 -2
- package/components/FlowEditor.svelte +185 -73
- package/components/FlowEditor.svelte.d.ts +4 -4
- package/components/FlowJobResult.svelte +23 -0
- package/components/FlowJobResult.svelte.d.ts +17 -0
- package/components/FlowPreview.svelte +36 -51
- package/components/FlowPreview.svelte.d.ts +7 -1
- package/components/FlowStatusViewer.svelte +66 -40
- package/components/FlowStatusViewer.svelte.d.ts +1 -1
- package/components/FlowViewer.svelte +100 -0
- package/components/FlowViewer.svelte.d.ts +24 -0
- package/components/GroupModal.svelte +13 -20
- package/components/IconedResourceType.svelte +15 -18
- package/components/InviteGlobalUser.svelte +8 -15
- package/components/InviteUser.svelte +9 -16
- package/components/ItemPicker.svelte +11 -14
- package/components/JobStatus.svelte +6 -11
- package/components/Modal.svelte +14 -17
- package/components/ModuleStep.svelte +125 -64
- package/components/ModuleStep.svelte.d.ts +4 -8
- package/components/ObjectResourceInput.svelte +15 -20
- package/components/ObjectTypeNarrowing.svelte +7 -12
- package/components/PageHeader.svelte +4 -9
- package/components/Password.svelte +6 -8
- package/components/Path.svelte +78 -38
- package/components/Path.svelte.d.ts +2 -0
- package/components/RadioButton.svelte +7 -8
- package/components/RadioButtonV2.svelte +33 -0
- package/components/RadioButtonV2.svelte.d.ts +20 -0
- package/components/Required.svelte +2 -4
- package/components/ResourceEditor.svelte +44 -48
- package/components/ResourcePicker.svelte +6 -7
- package/components/ResourcePicker.svelte.d.ts +2 -2
- package/components/ResourceTypePicker.svelte +8 -13
- package/components/RunForm.svelte +15 -20
- package/components/SchemaEditor.svelte +31 -61
- package/components/SchemaForm.svelte +126 -134
- package/components/SchemaForm.svelte.d.ts +6 -4
- package/components/SchemaModal.svelte +25 -40
- package/components/SchemaModal.svelte.d.ts +1 -1
- package/components/SchemaViewer.svelte +6 -12
- package/components/ScriptBuilder.svelte +76 -101
- package/components/ScriptEditor.svelte +55 -60
- package/components/ScriptPicker.svelte +28 -34
- package/components/ScriptPicker.svelte.d.ts +1 -0
- package/components/ScriptSchema.svelte +13 -17
- package/components/ShareModal.svelte +23 -29
- package/components/SharedBadge.svelte +11 -16
- package/components/StringTypeNarrowing.svelte +8 -11
- package/components/Switch.svelte.d.ts +2 -2
- package/components/TableCustom.svelte +5 -8
- package/components/TableSimple.svelte +9 -8
- package/components/Tabs.svelte +6 -8
- package/components/Toggle.svelte +34 -0
- package/components/Toggle.svelte.d.ts +28 -0
- package/components/Tooltip.svelte +56 -89
- package/components/Tooltip.svelte.d.ts +1 -5
- package/components/VariableEditor.svelte +30 -29
- package/components/flows/CopyFirstStepSchema.svelte +10 -0
- package/components/flows/CopyFirstStepSchema.svelte.d.ts +14 -0
- package/components/flows/DynamicInputHelpBox.svelte +72 -0
- package/components/flows/DynamicInputHelpBox.svelte.d.ts +14 -0
- package/components/flows/FlowInputs.svelte +27 -0
- package/components/flows/FlowInputs.svelte.d.ts +19 -0
- package/components/flows/FlowModuleHeader.svelte +91 -0
- package/components/flows/FlowModuleHeader.svelte.d.ts +22 -0
- package/components/flows/flowStore.d.ts +17 -0
- package/components/flows/flowStore.js +161 -0
- package/components/flows/pickers/FlowScriptPicker.svelte +11 -0
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +22 -0
- package/components/flows/pickers/PickHubScript.svelte +30 -0
- package/components/flows/pickers/PickHubScript.svelte.d.ts +18 -0
- package/components/flows/pickers/PickScript.svelte +38 -0
- package/components/flows/pickers/PickScript.svelte.d.ts +18 -0
- package/components/flows/utils.d.ts +21 -0
- package/components/flows/utils.js +164 -0
- package/components/icons/DbIcon.svelte +2 -5
- package/components/icons/Mail.svelte +2 -5
- package/components/icons/Mysql.svelte +2 -5
- package/components/icons/PostgresIcon.svelte +2 -5
- package/components/icons/Slack.svelte +2 -5
- package/components/propertyPicker/ObjectViewer.svelte +113 -0
- package/components/propertyPicker/ObjectViewer.svelte.d.ts +21 -0
- package/components/propertyPicker/OverlayPropertyPicker.svelte +69 -0
- package/components/propertyPicker/OverlayPropertyPicker.svelte.d.ts +21 -0
- package/components/propertyPicker/PropPicker.svelte +24 -0
- package/components/propertyPicker/PropPicker.svelte.d.ts +18 -0
- package/components/propertyPicker/WarningMessage.svelte +43 -0
- package/components/propertyPicker/WarningMessage.svelte.d.ts +16 -0
- package/components/propertyPicker/utils.d.ts +2 -0
- package/components/propertyPicker/utils.js +40 -0
- package/gen/core/ApiError.d.ts +3 -1
- package/gen/core/ApiError.js +4 -6
- package/gen/core/ApiRequestOptions.js +1 -2
- package/gen/core/ApiResult.js +1 -2
- package/gen/core/CancelablePromise.js +2 -7
- package/gen/core/OpenAPI.js +2 -5
- package/gen/core/request.js +8 -13
- package/gen/index.d.ts +3 -0
- package/gen/index.js +28 -58
- package/gen/models/AuditLog.js +2 -5
- package/gen/models/CompletedJob.d.ts +3 -1
- package/gen/models/CompletedJob.js +3 -5
- package/gen/models/ContextualVariable.js +1 -2
- package/gen/models/CreateResource.d.ts +1 -0
- package/gen/models/CreateResource.js +1 -2
- package/gen/models/CreateVariable.d.ts +2 -0
- package/gen/models/CreateVariable.js +1 -2
- package/gen/models/CreateWorkspace.js +1 -2
- package/gen/models/EditResource.js +1 -2
- package/gen/models/EditResourceType.js +1 -2
- package/gen/models/EditSchedule.js +1 -2
- package/gen/models/EditVariable.js +1 -2
- package/gen/models/EditWorkspaceUser.js +1 -2
- package/gen/models/Flow.js +1 -2
- package/gen/models/FlowModule.d.ts +2 -0
- package/gen/models/FlowModule.js +1 -2
- package/gen/models/FlowModuleValue.d.ts +14 -2
- package/gen/models/FlowModuleValue.js +9 -5
- package/gen/models/FlowPreview.js +1 -2
- package/gen/models/FlowStatus.js +1 -2
- package/gen/models/FlowStatusModule.d.ts +6 -0
- package/gen/models/FlowStatusModule.js +2 -5
- package/gen/models/FlowValue.js +1 -2
- package/gen/models/GlobalUserInfo.js +2 -5
- package/gen/models/Group.js +1 -2
- package/gen/models/InputTransform.js +2 -5
- package/gen/models/Job.js +2 -5
- package/gen/models/ListableVariable.d.ts +2 -0
- package/gen/models/ListableVariable.js +1 -2
- package/gen/models/Login.js +1 -2
- package/gen/models/MainArgSignature.js +1 -2
- package/gen/models/NewSchedule.js +1 -2
- package/gen/models/NewToken.js +1 -2
- package/gen/models/NewUser.js +1 -2
- package/gen/models/Preview.js +2 -5
- package/gen/models/QueuedJob.d.ts +2 -1
- package/gen/models/QueuedJob.js +3 -5
- package/gen/models/Resource.d.ts +1 -0
- package/gen/models/Resource.js +1 -2
- package/gen/models/ResourceType.js +1 -2
- package/gen/models/Schedule.js +1 -2
- package/gen/models/Script.d.ts +1 -0
- package/gen/models/Script.js +2 -5
- package/gen/models/ScriptArgs.js +1 -2
- package/gen/models/SlackToken.d.ts +8 -0
- package/gen/models/SlackToken.js +4 -0
- package/gen/models/TokenResponse.d.ts +6 -0
- package/gen/models/TokenResponse.js +4 -0
- package/gen/models/TruncatedToken.js +1 -2
- package/gen/models/User.js +1 -2
- package/gen/models/UserWorkspaceList.js +1 -2
- package/gen/models/WorkerPing.js +1 -2
- package/gen/models/Workspace.js +1 -2
- package/gen/models/WorkspaceInvite.js +1 -2
- package/gen/services/AdminService.d.ts +6 -2
- package/gen/services/AdminService.js +6 -10
- package/gen/services/AuditService.d.ts +24 -8
- package/gen/services/AuditService.js +5 -9
- package/gen/services/FlowService.d.ts +37 -10
- package/gen/services/FlowService.js +23 -12
- package/gen/services/GranularAclService.d.ts +6 -2
- package/gen/services/GranularAclService.js +6 -10
- package/gen/services/GroupService.d.ts +18 -6
- package/gen/services/GroupService.js +11 -15
- package/gen/services/JobService.d.ts +167 -46
- package/gen/services/JobService.js +42 -22
- package/gen/services/OauthService.d.ts +104 -0
- package/gen/services/OauthService.js +133 -0
- package/gen/services/ResourceService.d.ts +39 -7
- package/gen/services/ResourceService.js +44 -18
- package/gen/services/ScheduleService.d.ts +36 -6
- package/gen/services/ScheduleService.js +39 -13
- package/gen/services/ScriptService.d.ts +66 -19
- package/gen/services/ScriptService.js +32 -20
- package/gen/services/SettingsService.js +5 -9
- package/gen/services/UserService.d.ts +49 -11
- package/gen/services/UserService.js +42 -29
- package/gen/services/VariableService.d.ts +19 -4
- package/gen/services/VariableService.js +24 -13
- package/gen/services/WorkerService.d.ts +6 -2
- package/gen/services/WorkerService.js +4 -8
- package/gen/services/WorkspaceService.d.ts +29 -24
- package/gen/services/WorkspaceService.js +23 -42
- package/infer.js +5 -9
- package/logout.js +20 -18
- package/package.json +51 -24
- package/script_helpers.d.ts +4 -0
- package/script_helpers.js +70 -0
- package/scripts.d.ts +2 -1
- package/scripts.js +11 -15
- package/stores.d.ts +6 -0
- package/stores.js +30 -22
- package/user.js +10 -15
- package/utils.d.ts +15 -1
- package/utils.js +191 -52
package/infer.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const gen_1 = require("$lib/gen");
|
|
5
|
-
require("./utils.js");
|
|
6
|
-
async function inferArgs(language, code, schema) {
|
|
1
|
+
import { ScriptService } from './gen';
|
|
2
|
+
import { sendUserToast } from './utils.js';
|
|
3
|
+
export async function inferArgs(language, code, schema) {
|
|
7
4
|
let inferedSchema;
|
|
8
5
|
if (language == 'python3') {
|
|
9
|
-
inferedSchema = await
|
|
6
|
+
inferedSchema = await ScriptService.pythonToJsonschema({
|
|
10
7
|
requestBody: code
|
|
11
8
|
});
|
|
12
9
|
}
|
|
13
10
|
else if (language == 'deno') {
|
|
14
|
-
inferedSchema = await
|
|
11
|
+
inferedSchema = await ScriptService.denoToJsonschema({
|
|
15
12
|
requestBody: code
|
|
16
13
|
});
|
|
17
14
|
}
|
|
@@ -35,7 +32,6 @@ async function inferArgs(language, code, schema) {
|
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
exports.inferArgs = inferArgs;
|
|
39
35
|
function argSigToJsonSchemaType(t, s) {
|
|
40
36
|
if (t === 'int') {
|
|
41
37
|
s.type = 'integer';
|
package/logout.js
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const utils_js_1 = require("./utils.js");
|
|
8
|
-
function logoutWithRedirect(rd) {
|
|
9
|
-
const error = encodeURIComponent('You have been logged out because your session has expired.');
|
|
10
|
-
(0, navigation_1.goto)(`/user/login?error=${error}${rd ? '&rd=' + encodeURIComponent(rd) : ''}`);
|
|
1
|
+
import { goto } from '$app/navigation';
|
|
2
|
+
import { UserService } from './gen';
|
|
3
|
+
import { clearStores } from './stores.js';
|
|
4
|
+
import { sendUserToast } from './utils.js';
|
|
5
|
+
function clearCookies() {
|
|
6
|
+
document.cookie.split(";").forEach(function (c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
|
|
11
7
|
}
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
export function logoutWithRedirect(rd) {
|
|
9
|
+
const error = document.cookie.includes('token')
|
|
10
|
+
? `error=${encodeURIComponent('You have been logged out because your session has expired.')}&`
|
|
11
|
+
: '';
|
|
12
|
+
clearCookies();
|
|
13
|
+
goto(`/user/login?${error}${rd ? 'rd=' + encodeURIComponent(rd) : ''}`);
|
|
14
|
+
}
|
|
15
|
+
export async function logout(logoutMessage) {
|
|
14
16
|
try {
|
|
15
|
-
|
|
16
|
-
await
|
|
17
|
-
(
|
|
18
|
-
(
|
|
17
|
+
clearStores();
|
|
18
|
+
await UserService.logout();
|
|
19
|
+
clearCookies();
|
|
20
|
+
goto(`/user/login${logoutMessage ? '?error=' + encodeURIComponent(logoutMessage) : ''}`);
|
|
21
|
+
sendUserToast('you have been logged out');
|
|
19
22
|
}
|
|
20
23
|
catch (error) {
|
|
21
|
-
|
|
24
|
+
goto('/user/login');
|
|
22
25
|
console.error(error);
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
|
-
exports.logout = logout;
|
package/package.json
CHANGED
|
@@ -1,59 +1,64 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "windmill-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"devDependencies": {
|
|
5
|
-
"@
|
|
6
|
-
"@sveltejs/adapter-static": "^1.0.0-next.
|
|
5
|
+
"@playwright/test": "^1.23.4",
|
|
6
|
+
"@sveltejs/adapter-static": "^1.0.0-next.37",
|
|
7
7
|
"@sveltejs/kit": "next",
|
|
8
8
|
"@tailwindcss/forms": "^0.5.1",
|
|
9
|
-
"@tailwindcss/typography": "^0.5.
|
|
10
|
-
"@
|
|
11
|
-
"@typescript-eslint/
|
|
9
|
+
"@tailwindcss/typography": "^0.5.3",
|
|
10
|
+
"@types/vscode": "^1.69.0",
|
|
11
|
+
"@typescript-eslint/eslint-plugin": "^5.30.7",
|
|
12
|
+
"@typescript-eslint/parser": "^5.30.7",
|
|
12
13
|
"@zerodevx/svelte-toast": "^0.7.2",
|
|
13
14
|
"autoprefixer": "^10.4.1",
|
|
14
|
-
"cssnano": "^5.1.
|
|
15
|
-
"
|
|
16
|
-
"eslint": "^8.16.0",
|
|
15
|
+
"cssnano": "^5.1.12",
|
|
16
|
+
"eslint": "^8.20.0",
|
|
17
17
|
"eslint-config-prettier": "^8.3.0",
|
|
18
18
|
"eslint-plugin-svelte3": "^4.0.0",
|
|
19
|
-
"openapi-typescript-codegen": "^0.
|
|
19
|
+
"openapi-typescript-codegen": "^0.23.0",
|
|
20
20
|
"postcss": "^8.4.5",
|
|
21
21
|
"postcss-load-config": "^4.0.1",
|
|
22
|
-
"prettier": "^2.
|
|
22
|
+
"prettier": "^2.7.1",
|
|
23
23
|
"prettier-plugin-svelte": "^2.4.0",
|
|
24
24
|
"simple-svelte-autocomplete": "^2.2.4",
|
|
25
|
-
"stylelint-config-recommended": "^
|
|
26
|
-
"svelte": "^3.
|
|
27
|
-
"svelte-
|
|
28
|
-
"svelte-
|
|
25
|
+
"stylelint-config-recommended": "^8.0.0",
|
|
26
|
+
"svelte": "^3.49.0",
|
|
27
|
+
"svelte-awesome": "^3.0.0",
|
|
28
|
+
"svelte-check": "^2.8.0",
|
|
29
|
+
"svelte-highlight": "^6.2.0",
|
|
30
|
+
"svelte-markdown": "^0.2.1",
|
|
31
|
+
"svelte-overlay": "^1.4.1",
|
|
32
|
+
"svelte-popperjs": "^1.2.11",
|
|
29
33
|
"svelte-preprocess": "^4.9.8",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
34
|
+
"svelte-split-pane": "^0.1.2",
|
|
35
|
+
"svelte2tsx": "^0.5.11",
|
|
36
|
+
"tailwindcss": "^3.1.6",
|
|
32
37
|
"tslib": "^2.3.1",
|
|
33
38
|
"typescript": "^4.7.4"
|
|
34
39
|
},
|
|
40
|
+
"type": "module",
|
|
35
41
|
"dependencies": {
|
|
36
|
-
"@codingame/monaco-jsonrpc": "^0.4.0",
|
|
37
42
|
"@fortawesome/free-brands-svg-icons": "^6.1.1",
|
|
38
43
|
"@fortawesome/free-solid-svg-icons": "^6.1.1",
|
|
39
|
-
"@types/vscode": "^1.63.0",
|
|
40
44
|
"fuse.js": "^6.4.6",
|
|
41
45
|
"highlight.js": "^11.5.1",
|
|
42
46
|
"monaco-editor": "^0.33.0",
|
|
43
|
-
"monaco-
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"svelte-split-pane": "^0.1.2"
|
|
47
|
+
"monaco-editor-workers": "^0.33.0",
|
|
48
|
+
"monaco-languageclient": "^2.0.2",
|
|
49
|
+
"vscode-ws-jsonrpc": "^1.0.1"
|
|
47
50
|
},
|
|
48
51
|
"exports": {
|
|
49
52
|
"./package.json": "./package.json",
|
|
50
53
|
"./common": "./common.js",
|
|
54
|
+
"./components/AppConnect.svelte": "./components/AppConnect.svelte",
|
|
51
55
|
"./components/ArgInfo.svelte": "./components/ArgInfo.svelte",
|
|
52
56
|
"./components/ArgInput.svelte": "./components/ArgInput.svelte",
|
|
53
57
|
"./components/AutosizedTextarea.svelte": "./components/AutosizedTextarea.svelte",
|
|
54
58
|
"./components/Badge.svelte": "./components/Badge.svelte",
|
|
55
59
|
"./components/Button.svelte": "./components/Button.svelte",
|
|
56
60
|
"./components/ButtonAndDropdown.svelte": "./components/ButtonAndDropdown.svelte",
|
|
61
|
+
"./components/CenteredModal.svelte": "./components/CenteredModal.svelte",
|
|
57
62
|
"./components/CenteredPage.svelte": "./components/CenteredPage.svelte",
|
|
58
63
|
"./components/ChevronButton.svelte": "./components/ChevronButton.svelte",
|
|
59
64
|
"./components/DisplayResult.svelte": "./components/DisplayResult.svelte",
|
|
@@ -62,8 +67,10 @@
|
|
|
62
67
|
"./components/FieldHeader.svelte": "./components/FieldHeader.svelte",
|
|
63
68
|
"./components/FlowBuilder.svelte": "./components/FlowBuilder.svelte",
|
|
64
69
|
"./components/FlowEditor.svelte": "./components/FlowEditor.svelte",
|
|
70
|
+
"./components/FlowJobResult.svelte": "./components/FlowJobResult.svelte",
|
|
65
71
|
"./components/FlowPreview.svelte": "./components/FlowPreview.svelte",
|
|
66
72
|
"./components/FlowStatusViewer.svelte": "./components/FlowStatusViewer.svelte",
|
|
73
|
+
"./components/FlowViewer.svelte": "./components/FlowViewer.svelte",
|
|
67
74
|
"./components/GroupModal.svelte": "./components/GroupModal.svelte",
|
|
68
75
|
"./components/IconedResourceType.svelte": "./components/IconedResourceType.svelte",
|
|
69
76
|
"./components/InviteGlobalUser.svelte": "./components/InviteGlobalUser.svelte",
|
|
@@ -79,6 +86,7 @@
|
|
|
79
86
|
"./components/Password.svelte": "./components/Password.svelte",
|
|
80
87
|
"./components/Path.svelte": "./components/Path.svelte",
|
|
81
88
|
"./components/RadioButton.svelte": "./components/RadioButton.svelte",
|
|
89
|
+
"./components/RadioButtonV2.svelte": "./components/RadioButtonV2.svelte",
|
|
82
90
|
"./components/Required.svelte": "./components/Required.svelte",
|
|
83
91
|
"./components/ResourceEditor.svelte": "./components/ResourceEditor.svelte",
|
|
84
92
|
"./components/ResourcePicker.svelte": "./components/ResourcePicker.svelte",
|
|
@@ -99,13 +107,28 @@
|
|
|
99
107
|
"./components/TableCustom.svelte": "./components/TableCustom.svelte",
|
|
100
108
|
"./components/TableSimple.svelte": "./components/TableSimple.svelte",
|
|
101
109
|
"./components/Tabs.svelte": "./components/Tabs.svelte",
|
|
110
|
+
"./components/Toggle.svelte": "./components/Toggle.svelte",
|
|
102
111
|
"./components/Tooltip.svelte": "./components/Tooltip.svelte",
|
|
103
112
|
"./components/VariableEditor.svelte": "./components/VariableEditor.svelte",
|
|
113
|
+
"./components/flows/CopyFirstStepSchema.svelte": "./components/flows/CopyFirstStepSchema.svelte",
|
|
114
|
+
"./components/flows/DynamicInputHelpBox.svelte": "./components/flows/DynamicInputHelpBox.svelte",
|
|
115
|
+
"./components/flows/FlowInputs.svelte": "./components/flows/FlowInputs.svelte",
|
|
116
|
+
"./components/flows/FlowModuleHeader.svelte": "./components/flows/FlowModuleHeader.svelte",
|
|
117
|
+
"./components/flows/flowStore": "./components/flows/flowStore.js",
|
|
118
|
+
"./components/flows/pickers/FlowScriptPicker.svelte": "./components/flows/pickers/FlowScriptPicker.svelte",
|
|
119
|
+
"./components/flows/pickers/PickHubScript.svelte": "./components/flows/pickers/PickHubScript.svelte",
|
|
120
|
+
"./components/flows/pickers/PickScript.svelte": "./components/flows/pickers/PickScript.svelte",
|
|
121
|
+
"./components/flows/utils": "./components/flows/utils.js",
|
|
104
122
|
"./components/icons/DbIcon.svelte": "./components/icons/DbIcon.svelte",
|
|
105
123
|
"./components/icons/Mail.svelte": "./components/icons/Mail.svelte",
|
|
106
124
|
"./components/icons/Mysql.svelte": "./components/icons/Mysql.svelte",
|
|
107
125
|
"./components/icons/PostgresIcon.svelte": "./components/icons/PostgresIcon.svelte",
|
|
108
126
|
"./components/icons/Slack.svelte": "./components/icons/Slack.svelte",
|
|
127
|
+
"./components/propertyPicker/ObjectViewer.svelte": "./components/propertyPicker/ObjectViewer.svelte",
|
|
128
|
+
"./components/propertyPicker/OverlayPropertyPicker.svelte": "./components/propertyPicker/OverlayPropertyPicker.svelte",
|
|
129
|
+
"./components/propertyPicker/PropPicker.svelte": "./components/propertyPicker/PropPicker.svelte",
|
|
130
|
+
"./components/propertyPicker/WarningMessage.svelte": "./components/propertyPicker/WarningMessage.svelte",
|
|
131
|
+
"./components/propertyPicker/utils": "./components/propertyPicker/utils.js",
|
|
109
132
|
"./gen/core/ApiError": "./gen/core/ApiError.js",
|
|
110
133
|
"./gen/core/ApiRequestOptions": "./gen/core/ApiRequestOptions.js",
|
|
111
134
|
"./gen/core/ApiResult": "./gen/core/ApiResult.js",
|
|
@@ -148,6 +171,8 @@
|
|
|
148
171
|
"./gen/models/Schedule": "./gen/models/Schedule.js",
|
|
149
172
|
"./gen/models/Script": "./gen/models/Script.js",
|
|
150
173
|
"./gen/models/ScriptArgs": "./gen/models/ScriptArgs.js",
|
|
174
|
+
"./gen/models/SlackToken": "./gen/models/SlackToken.js",
|
|
175
|
+
"./gen/models/TokenResponse": "./gen/models/TokenResponse.js",
|
|
151
176
|
"./gen/models/TruncatedToken": "./gen/models/TruncatedToken.js",
|
|
152
177
|
"./gen/models/User": "./gen/models/User.js",
|
|
153
178
|
"./gen/models/UserWorkspaceList": "./gen/models/UserWorkspaceList.js",
|
|
@@ -160,6 +185,7 @@
|
|
|
160
185
|
"./gen/services/GranularAclService": "./gen/services/GranularAclService.js",
|
|
161
186
|
"./gen/services/GroupService": "./gen/services/GroupService.js",
|
|
162
187
|
"./gen/services/JobService": "./gen/services/JobService.js",
|
|
188
|
+
"./gen/services/OauthService": "./gen/services/OauthService.js",
|
|
163
189
|
"./gen/services/ResourceService": "./gen/services/ResourceService.js",
|
|
164
190
|
"./gen/services/ScheduleService": "./gen/services/ScheduleService.js",
|
|
165
191
|
"./gen/services/ScriptService": "./gen/services/ScriptService.js",
|
|
@@ -170,9 +196,10 @@
|
|
|
170
196
|
"./gen/services/WorkspaceService": "./gen/services/WorkspaceService.js",
|
|
171
197
|
"./infer": "./infer.js",
|
|
172
198
|
"./logout": "./logout.js",
|
|
199
|
+
"./script_helpers": "./script_helpers.js",
|
|
173
200
|
"./scripts": "./scripts.js",
|
|
174
201
|
"./stores": "./stores.js",
|
|
175
202
|
"./user": "./user.js",
|
|
176
203
|
"./utils": "./utils.js"
|
|
177
204
|
}
|
|
178
|
-
}
|
|
205
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const PYTHON_INIT_CODE = "import os\nimport wmill\nfrom datetime import datetime\n# Our webeditor includes a syntax, type checker through a language server running pyright\n# and the autoformatter Black in our servers. Use Cmd/Ctrl + S to autoformat the code.\n# Beware that the code is only saved when you click Save and not across reload.\n# You can however navigate to any steps safely.\n\"\"\"\nThe client is used to interact with windmill itself through its standard API.\nOne can explore the methods available through autocompletion of `client.XXX`.\nOnly the most common methods are included for ease of use. Request more as\nfeedback if you feel you are missing important ones.\n\"\"\"\ndef main(name: str = \"Nicolas Bourbaki\",\n age: int = 42,\n obj: dict = {\"even\": \"dicts\"},\n l: list = [\"or\", \"lists!\"],\n file_: bytes = bytes(0),\n dtime: datetime = datetime.now()):\n \"\"\"A main function is required for the script to be able to accept arguments.\n Types are recommended.\"\"\"\n print(f\"Hello World and a warm welcome especially to {name}\")\n print(\"and its acolytes..\", age, obj, l, len(file_), dtime)\n # retrieve variables, including secrets by querying the windmill platform.\n # secret fetching is audited by windmill.\n secret = wmill.get_variable(\"g/all/pretty_secret\")\n print(f\"The env variable at `g_all/pretty_secret`: {secret}\")\n # interact with the windmill platform to get the version\n version = wmill.get_version()\n # fetch reserved variables as environment variables\n user = os.environ.get(\"WM_USERNAME\")\n # the return value is then parsed and can be retrieved by other scripts conveniently\n return {\"version\": version, \"splitted\": name.split(), \"user\": user}\n";
|
|
2
|
+
export declare const DENO_INIT_CODE: string;
|
|
3
|
+
export declare const DENO_INIT_CODE_TRIGGER: string;
|
|
4
|
+
export declare function initialCode(language: 'deno' | 'python3', is_trigger: boolean): string;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export const PYTHON_INIT_CODE = `import os
|
|
2
|
+
import wmill
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
# Our webeditor includes a syntax, type checker through a language server running pyright
|
|
5
|
+
# and the autoformatter Black in our servers. Use Cmd/Ctrl + S to autoformat the code.
|
|
6
|
+
# Beware that the code is only saved when you click Save and not across reload.
|
|
7
|
+
# You can however navigate to any steps safely.
|
|
8
|
+
"""
|
|
9
|
+
The client is used to interact with windmill itself through its standard API.
|
|
10
|
+
One can explore the methods available through autocompletion of \`client.XXX\`.
|
|
11
|
+
Only the most common methods are included for ease of use. Request more as
|
|
12
|
+
feedback if you feel you are missing important ones.
|
|
13
|
+
"""
|
|
14
|
+
def main(name: str = "Nicolas Bourbaki",
|
|
15
|
+
age: int = 42,
|
|
16
|
+
obj: dict = {"even": "dicts"},
|
|
17
|
+
l: list = ["or", "lists!"],
|
|
18
|
+
file_: bytes = bytes(0),
|
|
19
|
+
dtime: datetime = datetime.now()):
|
|
20
|
+
"""A main function is required for the script to be able to accept arguments.
|
|
21
|
+
Types are recommended."""
|
|
22
|
+
print(f"Hello World and a warm welcome especially to {name}")
|
|
23
|
+
print("and its acolytes..", age, obj, l, len(file_), dtime)
|
|
24
|
+
# retrieve variables, including secrets by querying the windmill platform.
|
|
25
|
+
# secret fetching is audited by windmill.
|
|
26
|
+
secret = wmill.get_variable("g/all/pretty_secret")
|
|
27
|
+
print(f"The env variable at \`g_all/pretty_secret\`: {secret}")
|
|
28
|
+
# interact with the windmill platform to get the version
|
|
29
|
+
version = wmill.get_version()
|
|
30
|
+
# fetch reserved variables as environment variables
|
|
31
|
+
user = os.environ.get("WM_USERNAME")
|
|
32
|
+
# the return value is then parsed and can be retrieved by other scripts conveniently
|
|
33
|
+
return {"version": version, "splitted": name.split(), "user": user}
|
|
34
|
+
`;
|
|
35
|
+
export const DENO_INIT_CODE = `// only do the following import if you require your script to interact with the windmill
|
|
36
|
+
// for instance to get a variable or resource
|
|
37
|
+
// import * as wmill from 'https://deno.land/x/windmill@v${__pkg__.version}/mod.ts'
|
|
38
|
+
|
|
39
|
+
export async function main(x: string, y: string = 'default arg') {
|
|
40
|
+
// let x = await wmill.getVariable('u/user/foo');
|
|
41
|
+
// let y = await wmill.getResource('u/user/foo')
|
|
42
|
+
return { foo: x }
|
|
43
|
+
}
|
|
44
|
+
`;
|
|
45
|
+
export const DENO_INIT_CODE_TRIGGER = `import * as wmill from 'https://deno.land/x/windmill@v${__pkg__.version}/mod.ts'
|
|
46
|
+
|
|
47
|
+
export async function main() {
|
|
48
|
+
|
|
49
|
+
// A common trigger script would follow this pattern:
|
|
50
|
+
// 1. Get the last saved state
|
|
51
|
+
// let state = wmill.getInternalState()
|
|
52
|
+
// 2. Get the actual state from the external service
|
|
53
|
+
// let newState = useApiToFetchState()
|
|
54
|
+
// 3. Compare the two states and update the internal state if necessary
|
|
55
|
+
// wmill.setInternalState(newState)
|
|
56
|
+
// 4. Return the new ros
|
|
57
|
+
// return newState - state
|
|
58
|
+
|
|
59
|
+
// You may refer to each row/value returned by the trigger script using
|
|
60
|
+
// previous_result._value
|
|
61
|
+
return [1,2,3]
|
|
62
|
+
}
|
|
63
|
+
`;
|
|
64
|
+
export function initialCode(language, is_trigger) {
|
|
65
|
+
return language === 'deno'
|
|
66
|
+
? is_trigger
|
|
67
|
+
? DENO_INIT_CODE_TRIGGER
|
|
68
|
+
: DENO_INIT_CODE
|
|
69
|
+
: PYTHON_INIT_CODE;
|
|
70
|
+
}
|
package/scripts.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Schema } from './common';
|
|
2
|
+
export declare function loadSchema(path: string): Promise<Schema>;
|
package/scripts.js
CHANGED
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const stores_1 = require("./stores");
|
|
8
|
-
const utils_1 = require("./utils");
|
|
9
|
-
async function loadSchema(path) {
|
|
1
|
+
import { get } from 'svelte/store';
|
|
2
|
+
import { ScriptService } from './gen';
|
|
3
|
+
import { inferArgs } from './infer';
|
|
4
|
+
import { workspaceStore } from './stores';
|
|
5
|
+
import { emptySchema } from './utils';
|
|
6
|
+
export async function loadSchema(path) {
|
|
10
7
|
if (path.startsWith('hub/')) {
|
|
11
|
-
const code = await
|
|
12
|
-
const schema =
|
|
13
|
-
await
|
|
8
|
+
const code = await ScriptService.getHubScriptContentByPath({ path });
|
|
9
|
+
const schema = emptySchema();
|
|
10
|
+
await inferArgs('deno', code, schema);
|
|
14
11
|
return schema;
|
|
15
12
|
}
|
|
16
13
|
else {
|
|
17
|
-
const script = await
|
|
18
|
-
workspace:
|
|
14
|
+
const script = await ScriptService.getScriptByPath({
|
|
15
|
+
workspace: get(workspaceStore),
|
|
19
16
|
path: path ?? ''
|
|
20
17
|
});
|
|
21
18
|
return script.schema;
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
|
-
exports.loadSchema = loadSchema;
|
package/stores.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { UserWorkspaceList } from './gen/models/UserWorkspaceList.js';
|
|
2
|
+
import type { TokenResponse } from './gen';
|
|
2
3
|
export interface UserExt {
|
|
3
4
|
email: string;
|
|
4
5
|
username: string;
|
|
@@ -7,6 +8,7 @@ export interface UserExt {
|
|
|
7
8
|
groups: string[];
|
|
8
9
|
pgroups: string[];
|
|
9
10
|
}
|
|
11
|
+
export declare const oauthStore: import("svelte/store").Writable<TokenResponse | undefined>;
|
|
10
12
|
export declare const userStore: import("svelte/store").Writable<UserExt | undefined>;
|
|
11
13
|
export declare const workspaceStore: import("svelte/store").Writable<string | undefined>;
|
|
12
14
|
export declare const usersWorkspaceStore: import("svelte/store").Writable<UserWorkspaceList | undefined>;
|
|
@@ -15,5 +17,9 @@ export declare const hubScripts: import("svelte/store").Writable<{
|
|
|
15
17
|
path: string;
|
|
16
18
|
summary: string;
|
|
17
19
|
approved: boolean;
|
|
20
|
+
is_trigger: boolean;
|
|
18
21
|
}[] | undefined>;
|
|
19
22
|
export declare function clearStores(): void;
|
|
23
|
+
export declare const previewResults: import("svelte/store").Writable<Record<number, Object>>;
|
|
24
|
+
export declare function clearPreviewResults(): void;
|
|
25
|
+
export declare function addPreviewResult(res: Object, index: number): void;
|
package/stores.js
CHANGED
|
@@ -1,30 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (env_1.browser) {
|
|
14
|
-
exports.workspaceStore.subscribe(async (workspace) => {
|
|
1
|
+
import { browser } from '$app/env';
|
|
2
|
+
import { writable } from 'svelte/store';
|
|
3
|
+
import { getUserExt } from './user';
|
|
4
|
+
let persistedWorkspace = browser && localStorage.getItem('workspace');
|
|
5
|
+
export const oauthStore = writable(undefined);
|
|
6
|
+
export const userStore = writable(undefined);
|
|
7
|
+
export const workspaceStore = writable(persistedWorkspace ? String(persistedWorkspace) : undefined);
|
|
8
|
+
export const usersWorkspaceStore = writable(undefined);
|
|
9
|
+
export const superadmin = writable(undefined);
|
|
10
|
+
export const hubScripts = writable(undefined);
|
|
11
|
+
if (browser) {
|
|
12
|
+
workspaceStore.subscribe(async (workspace) => {
|
|
15
13
|
if (workspace) {
|
|
16
14
|
localStorage.setItem('workspace', String(workspace));
|
|
17
|
-
|
|
15
|
+
userStore.set(await getUserExt(workspace));
|
|
18
16
|
}
|
|
19
17
|
else {
|
|
20
|
-
|
|
18
|
+
userStore.set(undefined);
|
|
21
19
|
}
|
|
22
20
|
});
|
|
23
21
|
}
|
|
24
|
-
function clearStores() {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
export function clearStores() {
|
|
23
|
+
localStorage.removeItem('workspace');
|
|
24
|
+
userStore.set(undefined);
|
|
25
|
+
workspaceStore.set(undefined);
|
|
26
|
+
usersWorkspaceStore.set(undefined);
|
|
27
|
+
superadmin.set(undefined);
|
|
28
|
+
}
|
|
29
|
+
export const previewResults = writable({});
|
|
30
|
+
export function clearPreviewResults() {
|
|
31
|
+
previewResults.set({});
|
|
32
|
+
}
|
|
33
|
+
export function addPreviewResult(res, index) {
|
|
34
|
+
previewResults.update((rec) => {
|
|
35
|
+
rec[index] = res;
|
|
36
|
+
return rec;
|
|
37
|
+
});
|
|
29
38
|
}
|
|
30
|
-
exports.clearStores = clearStores;
|
package/user.js
CHANGED
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
async function refreshSuperadmin() {
|
|
8
|
-
if ((0, store_1.get)(stores_js_1.superadmin) == undefined) {
|
|
9
|
-
gen_1.UserService.globalWhoami().then((x) => {
|
|
1
|
+
import { get } from 'svelte/store';
|
|
2
|
+
import { UserService } from './gen';
|
|
3
|
+
import { superadmin } from './stores.js';
|
|
4
|
+
export async function refreshSuperadmin() {
|
|
5
|
+
if (get(superadmin) == undefined) {
|
|
6
|
+
UserService.globalWhoami().then((x) => {
|
|
10
7
|
if (x.super_admin) {
|
|
11
|
-
|
|
8
|
+
superadmin.set(x.email);
|
|
12
9
|
}
|
|
13
10
|
else {
|
|
14
|
-
|
|
11
|
+
superadmin.set(false);
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
14
|
}
|
|
18
15
|
}
|
|
19
|
-
|
|
20
|
-
async function getUserExt(workspace) {
|
|
16
|
+
export async function getUserExt(workspace) {
|
|
21
17
|
try {
|
|
22
|
-
const user = await
|
|
18
|
+
const user = await UserService.whoami({ workspace });
|
|
23
19
|
return mapUserToUserExt(user);
|
|
24
20
|
}
|
|
25
21
|
catch (error) {
|
|
26
22
|
return undefined;
|
|
27
23
|
}
|
|
28
24
|
}
|
|
29
|
-
exports.getUserExt = getUserExt;
|
|
30
25
|
function mapUserToUserExt(user) {
|
|
31
26
|
return {
|
|
32
27
|
...user,
|
package/utils.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { User } from './gen';
|
|
2
|
+
import type { Schema } from './common';
|
|
3
|
+
import type { UserExt } from './stores';
|
|
2
4
|
export declare function isToday(someDate: Date): boolean;
|
|
3
5
|
export declare function daysAgo(someDate: Date): number;
|
|
4
6
|
export declare function secondsAgo(date: Date): number;
|
|
@@ -47,7 +49,19 @@ export declare function allTrue(dict: {
|
|
|
47
49
|
}): boolean;
|
|
48
50
|
export declare function forLater(scheduledString: string): boolean;
|
|
49
51
|
export declare function elapsedSinceSecs(date: string): number;
|
|
52
|
+
export declare function pathIsEmpty(path: string): boolean;
|
|
53
|
+
export declare function setQuery(url: URL, key: string, value: string): Promise<void>;
|
|
54
|
+
export declare function setQueryWithoutLoad(url: URL, key: string, value: string): Promise<void>;
|
|
50
55
|
export declare function groupBy<T>(scripts: T[], toGroup: (t: T) => string, dflts?: string[]): [string, T[]][];
|
|
51
56
|
export declare function truncate(s: string, n: number, suffix?: string): string;
|
|
52
57
|
export declare function truncateRev(s: string, n: number, prefix?: string): string;
|
|
53
58
|
export declare function isString(value: any): boolean;
|
|
59
|
+
export declare function mapUserToUserExt(user: User): UserExt;
|
|
60
|
+
export declare function buildExtraLib(previousResultType?: string): string;
|
|
61
|
+
export declare function schemaToTsType(schema: Schema): string;
|
|
62
|
+
export declare function schemaToObject(schema: Schema): Object;
|
|
63
|
+
export declare function valueToTsType(value: any): string;
|
|
64
|
+
export declare function objectToTsType(object: Object): string;
|
|
65
|
+
export declare type InputCat = "string" | "number" | "boolean" | "list" | "resource-object" | "enum" | "date" | "base64" | "resource-string" | "object";
|
|
66
|
+
export declare function setInputCat(type: string | undefined, format: string | undefined, itemsType: string | undefined, enum_: any, contentEncoding: string | undefined): InputCat;
|
|
67
|
+
export declare function scriptPathToHref(path: string): string;
|