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.
Files changed (215) hide show
  1. package/common.js +1 -5
  2. package/components/AppConnect.svelte +281 -0
  3. package/components/AppConnect.svelte.d.ts +22 -0
  4. package/components/ArgInfo.svelte +11 -16
  5. package/components/ArgInput.svelte +73 -70
  6. package/components/ArgInput.svelte.d.ts +6 -1
  7. package/components/AutosizedTextarea.svelte +6 -8
  8. package/components/Badge.svelte +4 -10
  9. package/components/Button.svelte +22 -18
  10. package/components/ButtonAndDropdown.svelte +6 -12
  11. package/components/CenteredModal.svelte +30 -0
  12. package/components/CenteredModal.svelte.d.ts +19 -0
  13. package/components/ChevronButton.svelte +4 -9
  14. package/components/DisplayResult.svelte +58 -57
  15. package/components/Dropdown.svelte +8 -13
  16. package/components/Editor.svelte +108 -149
  17. package/components/Editor.svelte.d.ts +3 -1
  18. package/components/FieldHeader.svelte +7 -12
  19. package/components/FlowBuilder.svelte +72 -121
  20. package/components/FlowBuilder.svelte.d.ts +0 -2
  21. package/components/FlowEditor.svelte +185 -73
  22. package/components/FlowEditor.svelte.d.ts +4 -4
  23. package/components/FlowJobResult.svelte +23 -0
  24. package/components/FlowJobResult.svelte.d.ts +17 -0
  25. package/components/FlowPreview.svelte +36 -51
  26. package/components/FlowPreview.svelte.d.ts +7 -1
  27. package/components/FlowStatusViewer.svelte +66 -40
  28. package/components/FlowStatusViewer.svelte.d.ts +1 -1
  29. package/components/FlowViewer.svelte +100 -0
  30. package/components/FlowViewer.svelte.d.ts +24 -0
  31. package/components/GroupModal.svelte +13 -20
  32. package/components/IconedResourceType.svelte +15 -18
  33. package/components/InviteGlobalUser.svelte +8 -15
  34. package/components/InviteUser.svelte +9 -16
  35. package/components/ItemPicker.svelte +11 -14
  36. package/components/JobStatus.svelte +6 -11
  37. package/components/Modal.svelte +14 -17
  38. package/components/ModuleStep.svelte +125 -64
  39. package/components/ModuleStep.svelte.d.ts +4 -8
  40. package/components/ObjectResourceInput.svelte +15 -20
  41. package/components/ObjectTypeNarrowing.svelte +7 -12
  42. package/components/PageHeader.svelte +4 -9
  43. package/components/Password.svelte +6 -8
  44. package/components/Path.svelte +78 -38
  45. package/components/Path.svelte.d.ts +2 -0
  46. package/components/RadioButton.svelte +7 -8
  47. package/components/RadioButtonV2.svelte +33 -0
  48. package/components/RadioButtonV2.svelte.d.ts +20 -0
  49. package/components/Required.svelte +2 -4
  50. package/components/ResourceEditor.svelte +44 -48
  51. package/components/ResourcePicker.svelte +6 -7
  52. package/components/ResourcePicker.svelte.d.ts +2 -2
  53. package/components/ResourceTypePicker.svelte +8 -13
  54. package/components/RunForm.svelte +15 -20
  55. package/components/SchemaEditor.svelte +31 -61
  56. package/components/SchemaForm.svelte +126 -134
  57. package/components/SchemaForm.svelte.d.ts +6 -4
  58. package/components/SchemaModal.svelte +25 -40
  59. package/components/SchemaModal.svelte.d.ts +1 -1
  60. package/components/SchemaViewer.svelte +6 -12
  61. package/components/ScriptBuilder.svelte +76 -101
  62. package/components/ScriptEditor.svelte +55 -60
  63. package/components/ScriptPicker.svelte +28 -34
  64. package/components/ScriptPicker.svelte.d.ts +1 -0
  65. package/components/ScriptSchema.svelte +13 -17
  66. package/components/ShareModal.svelte +23 -29
  67. package/components/SharedBadge.svelte +11 -16
  68. package/components/StringTypeNarrowing.svelte +8 -11
  69. package/components/Switch.svelte.d.ts +2 -2
  70. package/components/TableCustom.svelte +5 -8
  71. package/components/TableSimple.svelte +9 -8
  72. package/components/Tabs.svelte +6 -8
  73. package/components/Toggle.svelte +34 -0
  74. package/components/Toggle.svelte.d.ts +28 -0
  75. package/components/Tooltip.svelte +56 -89
  76. package/components/Tooltip.svelte.d.ts +1 -5
  77. package/components/VariableEditor.svelte +30 -29
  78. package/components/flows/CopyFirstStepSchema.svelte +10 -0
  79. package/components/flows/CopyFirstStepSchema.svelte.d.ts +14 -0
  80. package/components/flows/DynamicInputHelpBox.svelte +72 -0
  81. package/components/flows/DynamicInputHelpBox.svelte.d.ts +14 -0
  82. package/components/flows/FlowInputs.svelte +27 -0
  83. package/components/flows/FlowInputs.svelte.d.ts +19 -0
  84. package/components/flows/FlowModuleHeader.svelte +91 -0
  85. package/components/flows/FlowModuleHeader.svelte.d.ts +22 -0
  86. package/components/flows/flowStore.d.ts +17 -0
  87. package/components/flows/flowStore.js +161 -0
  88. package/components/flows/pickers/FlowScriptPicker.svelte +11 -0
  89. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +22 -0
  90. package/components/flows/pickers/PickHubScript.svelte +30 -0
  91. package/components/flows/pickers/PickHubScript.svelte.d.ts +18 -0
  92. package/components/flows/pickers/PickScript.svelte +38 -0
  93. package/components/flows/pickers/PickScript.svelte.d.ts +18 -0
  94. package/components/flows/utils.d.ts +21 -0
  95. package/components/flows/utils.js +164 -0
  96. package/components/icons/DbIcon.svelte +2 -5
  97. package/components/icons/Mail.svelte +2 -5
  98. package/components/icons/Mysql.svelte +2 -5
  99. package/components/icons/PostgresIcon.svelte +2 -5
  100. package/components/icons/Slack.svelte +2 -5
  101. package/components/propertyPicker/ObjectViewer.svelte +113 -0
  102. package/components/propertyPicker/ObjectViewer.svelte.d.ts +21 -0
  103. package/components/propertyPicker/OverlayPropertyPicker.svelte +69 -0
  104. package/components/propertyPicker/OverlayPropertyPicker.svelte.d.ts +21 -0
  105. package/components/propertyPicker/PropPicker.svelte +24 -0
  106. package/components/propertyPicker/PropPicker.svelte.d.ts +18 -0
  107. package/components/propertyPicker/WarningMessage.svelte +43 -0
  108. package/components/propertyPicker/WarningMessage.svelte.d.ts +16 -0
  109. package/components/propertyPicker/utils.d.ts +2 -0
  110. package/components/propertyPicker/utils.js +40 -0
  111. package/gen/core/ApiError.d.ts +3 -1
  112. package/gen/core/ApiError.js +4 -6
  113. package/gen/core/ApiRequestOptions.js +1 -2
  114. package/gen/core/ApiResult.js +1 -2
  115. package/gen/core/CancelablePromise.js +2 -7
  116. package/gen/core/OpenAPI.js +2 -5
  117. package/gen/core/request.js +8 -13
  118. package/gen/index.d.ts +3 -0
  119. package/gen/index.js +28 -58
  120. package/gen/models/AuditLog.js +2 -5
  121. package/gen/models/CompletedJob.d.ts +3 -1
  122. package/gen/models/CompletedJob.js +3 -5
  123. package/gen/models/ContextualVariable.js +1 -2
  124. package/gen/models/CreateResource.d.ts +1 -0
  125. package/gen/models/CreateResource.js +1 -2
  126. package/gen/models/CreateVariable.d.ts +2 -0
  127. package/gen/models/CreateVariable.js +1 -2
  128. package/gen/models/CreateWorkspace.js +1 -2
  129. package/gen/models/EditResource.js +1 -2
  130. package/gen/models/EditResourceType.js +1 -2
  131. package/gen/models/EditSchedule.js +1 -2
  132. package/gen/models/EditVariable.js +1 -2
  133. package/gen/models/EditWorkspaceUser.js +1 -2
  134. package/gen/models/Flow.js +1 -2
  135. package/gen/models/FlowModule.d.ts +2 -0
  136. package/gen/models/FlowModule.js +1 -2
  137. package/gen/models/FlowModuleValue.d.ts +14 -2
  138. package/gen/models/FlowModuleValue.js +9 -5
  139. package/gen/models/FlowPreview.js +1 -2
  140. package/gen/models/FlowStatus.js +1 -2
  141. package/gen/models/FlowStatusModule.d.ts +6 -0
  142. package/gen/models/FlowStatusModule.js +2 -5
  143. package/gen/models/FlowValue.js +1 -2
  144. package/gen/models/GlobalUserInfo.js +2 -5
  145. package/gen/models/Group.js +1 -2
  146. package/gen/models/InputTransform.js +2 -5
  147. package/gen/models/Job.js +2 -5
  148. package/gen/models/ListableVariable.d.ts +2 -0
  149. package/gen/models/ListableVariable.js +1 -2
  150. package/gen/models/Login.js +1 -2
  151. package/gen/models/MainArgSignature.js +1 -2
  152. package/gen/models/NewSchedule.js +1 -2
  153. package/gen/models/NewToken.js +1 -2
  154. package/gen/models/NewUser.js +1 -2
  155. package/gen/models/Preview.js +2 -5
  156. package/gen/models/QueuedJob.d.ts +2 -1
  157. package/gen/models/QueuedJob.js +3 -5
  158. package/gen/models/Resource.d.ts +1 -0
  159. package/gen/models/Resource.js +1 -2
  160. package/gen/models/ResourceType.js +1 -2
  161. package/gen/models/Schedule.js +1 -2
  162. package/gen/models/Script.d.ts +1 -0
  163. package/gen/models/Script.js +2 -5
  164. package/gen/models/ScriptArgs.js +1 -2
  165. package/gen/models/SlackToken.d.ts +8 -0
  166. package/gen/models/SlackToken.js +4 -0
  167. package/gen/models/TokenResponse.d.ts +6 -0
  168. package/gen/models/TokenResponse.js +4 -0
  169. package/gen/models/TruncatedToken.js +1 -2
  170. package/gen/models/User.js +1 -2
  171. package/gen/models/UserWorkspaceList.js +1 -2
  172. package/gen/models/WorkerPing.js +1 -2
  173. package/gen/models/Workspace.js +1 -2
  174. package/gen/models/WorkspaceInvite.js +1 -2
  175. package/gen/services/AdminService.d.ts +6 -2
  176. package/gen/services/AdminService.js +6 -10
  177. package/gen/services/AuditService.d.ts +24 -8
  178. package/gen/services/AuditService.js +5 -9
  179. package/gen/services/FlowService.d.ts +37 -10
  180. package/gen/services/FlowService.js +23 -12
  181. package/gen/services/GranularAclService.d.ts +6 -2
  182. package/gen/services/GranularAclService.js +6 -10
  183. package/gen/services/GroupService.d.ts +18 -6
  184. package/gen/services/GroupService.js +11 -15
  185. package/gen/services/JobService.d.ts +167 -46
  186. package/gen/services/JobService.js +42 -22
  187. package/gen/services/OauthService.d.ts +104 -0
  188. package/gen/services/OauthService.js +133 -0
  189. package/gen/services/ResourceService.d.ts +39 -7
  190. package/gen/services/ResourceService.js +44 -18
  191. package/gen/services/ScheduleService.d.ts +36 -6
  192. package/gen/services/ScheduleService.js +39 -13
  193. package/gen/services/ScriptService.d.ts +66 -19
  194. package/gen/services/ScriptService.js +32 -20
  195. package/gen/services/SettingsService.js +5 -9
  196. package/gen/services/UserService.d.ts +49 -11
  197. package/gen/services/UserService.js +42 -29
  198. package/gen/services/VariableService.d.ts +19 -4
  199. package/gen/services/VariableService.js +24 -13
  200. package/gen/services/WorkerService.d.ts +6 -2
  201. package/gen/services/WorkerService.js +4 -8
  202. package/gen/services/WorkspaceService.d.ts +29 -24
  203. package/gen/services/WorkspaceService.js +23 -42
  204. package/infer.js +5 -9
  205. package/logout.js +20 -18
  206. package/package.json +51 -24
  207. package/script_helpers.d.ts +4 -0
  208. package/script_helpers.js +70 -0
  209. package/scripts.d.ts +2 -1
  210. package/scripts.js +11 -15
  211. package/stores.d.ts +6 -0
  212. package/stores.js +30 -22
  213. package/user.js +10 -15
  214. package/utils.d.ts +15 -1
  215. package/utils.js +191 -52
package/infer.js CHANGED
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inferArgs = void 0;
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 gen_1.ScriptService.pythonToJsonschema({
6
+ inferedSchema = await ScriptService.pythonToJsonschema({
10
7
  requestBody: code
11
8
  });
12
9
  }
13
10
  else if (language == 'deno') {
14
- inferedSchema = await gen_1.ScriptService.denoToJsonschema({
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logout = exports.logoutWithRedirect = void 0;
4
- const navigation_1 = require("$app/navigation");
5
- const gen_1 = require("./gen");
6
- const stores_js_1 = require("./stores.js");
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
- exports.logoutWithRedirect = logoutWithRedirect;
13
- async function logout(logoutMessage) {
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
- (0, stores_js_1.clearStores)();
16
- await gen_1.UserService.logout();
17
- (0, navigation_1.goto)(`/user/login${logoutMessage ? '?error=' + encodeURIComponent(logoutMessage) : ''}`);
18
- (0, utils_js_1.sendUserToast)('you have been logged out');
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
- (0, navigation_1.goto)(`/user/login?error=${encodeURIComponent('There was a problem logging you out, check the logs')}`);
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.13.25",
3
+ "version": "1.22.0",
4
4
  "devDependencies": {
5
- "@sveltejs/adapter-node": "^1.0.0-next.78",
6
- "@sveltejs/adapter-static": "^1.0.0-next.34",
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.0",
10
- "@typescript-eslint/eslint-plugin": "^5.27.0",
11
- "@typescript-eslint/parser": "^5.27.0",
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.10",
15
- "cypress": "^9.7.0",
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.22.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.4.1",
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": "^7.0.0",
26
- "svelte": "^3.42.6",
27
- "svelte-check": "^2.2.6",
28
- "svelte-highlight": "^6.0.1",
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
- "svelte2tsx": "^0.5.10",
31
- "tailwindcss": "^3.0.11",
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-languageclient": "^1.0.1",
44
- "svelte-awesome": "^3.0.0",
45
- "svelte-markdown": "^0.2.1",
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
- export declare function loadSchema(path: string): Promise<any>;
1
+ import type { Schema } from './common';
2
+ export declare function loadSchema(path: string): Promise<Schema>;
package/scripts.js CHANGED
@@ -1,24 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadSchema = void 0;
4
- const store_1 = require("svelte/store");
5
- const gen_1 = require("./gen");
6
- const infer_1 = require("./infer");
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 gen_1.ScriptService.getHubScriptContentByPath({ path });
12
- const schema = (0, utils_1.emptySchema)();
13
- await (0, infer_1.inferArgs)('deno', code, schema);
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 gen_1.ScriptService.getScriptByPath({
18
- workspace: (0, store_1.get)(stores_1.workspaceStore),
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clearStores = exports.hubScripts = exports.superadmin = exports.usersWorkspaceStore = exports.workspaceStore = exports.userStore = void 0;
4
- const env_1 = require("$app/env");
5
- const store_1 = require("svelte/store");
6
- const user_1 = require("./user");
7
- let persistedWorkspace = env_1.browser && localStorage.getItem('workspace');
8
- exports.userStore = (0, store_1.writable)(undefined);
9
- exports.workspaceStore = (0, store_1.writable)(persistedWorkspace ? String(persistedWorkspace) : undefined);
10
- exports.usersWorkspaceStore = (0, store_1.writable)(undefined);
11
- exports.superadmin = (0, store_1.writable)(undefined);
12
- exports.hubScripts = (0, store_1.writable)(undefined);
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
- exports.userStore.set(await (0, user_1.getUserExt)(workspace));
15
+ userStore.set(await getUserExt(workspace));
18
16
  }
19
17
  else {
20
- exports.userStore.set(undefined);
18
+ userStore.set(undefined);
21
19
  }
22
20
  });
23
21
  }
24
- function clearStores() {
25
- exports.userStore.set(undefined);
26
- exports.workspaceStore.set(undefined);
27
- exports.usersWorkspaceStore.set(undefined);
28
- exports.superadmin.set(undefined);
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUserExt = exports.refreshSuperadmin = void 0;
4
- const store_1 = require("svelte/store");
5
- const gen_1 = require("$lib/gen");
6
- const stores_js_1 = require("./stores.js");
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
- stores_js_1.superadmin.set(x.email);
8
+ superadmin.set(x.email);
12
9
  }
13
10
  else {
14
- stores_js_1.superadmin.set(false);
11
+ superadmin.set(false);
15
12
  }
16
13
  });
17
14
  }
18
15
  }
19
- exports.refreshSuperadmin = refreshSuperadmin;
20
- async function getUserExt(workspace) {
16
+ export async function getUserExt(workspace) {
21
17
  try {
22
- const user = await gen_1.UserService.whoami({ workspace });
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 { UserExt } from './stores.js';
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;