windmill-components 1.596.1 → 1.613.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 (416) hide show
  1. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  2. package/dist/sharedUtils/base.d.ts +1 -0
  3. package/dist/sharedUtils/cloud.d.ts +1 -0
  4. package/dist/sharedUtils/common.d.ts +111 -0
  5. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
  11. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  12. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
  14. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  15. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
  16. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  17. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  19. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  20. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  21. package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
  22. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  23. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
  24. package/dist/sharedUtils/components/apps/types.d.ts +274 -0
  25. package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
  26. package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
  27. package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
  28. package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
  29. package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
  30. package/dist/sharedUtils/components/common/index.d.ts +24 -0
  31. package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
  32. package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
  33. package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
  34. package/dist/sharedUtils/components/ducklake.d.ts +1 -0
  35. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
  36. package/dist/sharedUtils/components/icons/index.d.ts +101 -0
  37. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
  38. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  39. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  40. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  41. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  42. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  43. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  46. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  47. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  48. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  49. package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
  50. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  51. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  52. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  53. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  54. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  55. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  56. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  57. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  58. package/dist/sharedUtils/gen/index.d.ts +6 -0
  59. package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
  60. package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
  61. package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
  62. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  63. package/dist/sharedUtils/hub.d.ts +49 -0
  64. package/dist/sharedUtils/jsr.json +6 -0
  65. package/dist/sharedUtils/lib.d.ts +5 -0
  66. package/dist/sharedUtils/lib.es.js +1588 -0
  67. package/dist/sharedUtils/package.json +12 -0
  68. package/dist/sharedUtils/schema.d.ts +3 -0
  69. package/dist/sharedUtils/stores.d.ts +97 -0
  70. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
  71. package/dist/sharedUtils/toast.d.ts +8 -0
  72. package/dist/sharedUtils/utils.d.ts +265 -0
  73. package/package/assets/tokens/tokens.json +11 -1
  74. package/package/ata/apis.js +78 -5
  75. package/package/components/AddUser.svelte +1 -1
  76. package/package/components/CenteredModal.svelte +32 -24
  77. package/package/components/CenteredModal.svelte.d.ts +7 -27
  78. package/package/components/CenteredPage.svelte +5 -2
  79. package/package/components/CenteredPage.svelte.d.ts +2 -0
  80. package/package/components/ConcurrentJobsChart.svelte +3 -2
  81. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  82. package/package/components/CustomPopover.svelte +20 -23
  83. package/package/components/CustomPopover.svelte.d.ts +14 -39
  84. package/package/components/DBManager.svelte +105 -17
  85. package/package/components/DBManager.svelte.d.ts +2 -1
  86. package/package/components/DBManagerContent.svelte +4 -3
  87. package/package/components/DBManagerContent.svelte.d.ts +1 -1
  88. package/package/components/DBTableEditor.svelte +210 -171
  89. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  90. package/package/components/Description.svelte +3 -2
  91. package/package/components/Dev.svelte +36 -2
  92. package/package/components/DiffDrawer.svelte +8 -29
  93. package/package/components/DiffEditor.svelte +32 -2
  94. package/package/components/DisplayResult.svelte +32 -24
  95. package/package/components/Editor.svelte +70 -16
  96. package/package/components/Editor.svelte.d.ts +3 -0
  97. package/package/components/EditorBar.svelte +1 -1
  98. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  99. package/package/components/FlowBuilder.svelte +17 -11
  100. package/package/components/FlowDiffViewer.svelte +37 -0
  101. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  102. package/package/components/FlowPreviewContent.svelte +3 -2
  103. package/package/components/FlowPreviewResult.svelte +0 -4
  104. package/package/components/FlowStatusViewerInner.svelte +50 -33
  105. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  106. package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
  107. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  108. package/package/components/FlowViewer.svelte +103 -2
  109. package/package/components/FlowViewer.svelte.d.ts +9 -3
  110. package/package/components/ForkWorkspaceBanner.svelte +16 -13
  111. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  112. package/package/components/HistoricInputs.svelte +25 -27
  113. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  114. package/package/components/InstanceSetting.svelte +38 -0
  115. package/package/components/InviteUser.svelte +16 -42
  116. package/package/components/InviteUser.svelte.d.ts +4 -18
  117. package/package/components/JobOtelTraces.svelte +287 -0
  118. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  119. package/package/components/JsonInputs.svelte +6 -8
  120. package/package/components/JsonInputs.svelte.d.ts +7 -8
  121. package/package/components/LogViewer.svelte +91 -33
  122. package/package/components/Login.svelte +21 -0
  123. package/package/components/ManualPopover.svelte +5 -6
  124. package/package/components/ManualPopover.svelte.d.ts +9 -35
  125. package/package/components/MemoryFootprintViewer.svelte +2 -6
  126. package/package/components/ModulePreview.svelte +23 -21
  127. package/package/components/ModulePreview.svelte.d.ts +1 -0
  128. package/package/components/Path.svelte +2 -2
  129. package/package/components/Path.svelte.d.ts +1 -1
  130. package/package/components/ResourcePicker.svelte +3 -0
  131. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  132. package/package/components/RunButton.svelte +5 -15
  133. package/package/components/RunButton.svelte.d.ts +7 -19
  134. package/package/components/RunChart.svelte +8 -4
  135. package/package/components/RunChart.svelte.d.ts +2 -2
  136. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  137. package/package/components/RunsPage.svelte +169 -539
  138. package/package/components/RunsPage.svelte.d.ts +5 -5
  139. package/package/components/S3FilePicker.svelte +7 -11
  140. package/package/components/S3FilePickerInner.svelte +2 -3
  141. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  142. package/package/components/SchemaForm.svelte +26 -19
  143. package/package/components/SchemaFormWithArgPicker.svelte +4 -3
  144. package/package/components/ScriptBuilder.svelte +1 -1
  145. package/package/components/ScriptEditor.svelte +575 -101
  146. package/package/components/Section.svelte +3 -1
  147. package/package/components/ServiceLogsInner.svelte +4 -4
  148. package/package/components/SimpleEditor.svelte +46 -2
  149. package/package/components/SuperadminSettingsInner.svelte +1 -1
  150. package/package/components/TemplateEditor.svelte +54 -29
  151. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  152. package/package/components/UserSettings.svelte +1 -1
  153. package/package/components/WorkerTagPicker.svelte +1 -1
  154. package/package/components/WorkerTagSelect.svelte +5 -2
  155. package/package/components/WorkspaceTutorials.svelte +5 -0
  156. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  157. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  158. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  159. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +0 -4
  160. package/package/components/apps/components/display/dbtable/metadata.js +69 -30
  161. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  162. package/package/components/apps/components/display/dbtable/queries/alterTable.js +314 -0
  163. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  164. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  165. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  166. package/package/components/apps/components/display/dbtable/queries/createTable.js +11 -25
  167. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  168. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  169. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +47 -0
  170. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +402 -0
  171. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  172. package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
  173. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  174. package/package/components/apps/components/display/dbtable/tableEditor.js +49 -0
  175. package/package/components/apps/components/display/dbtable/utils.d.ts +10 -1
  176. package/package/components/apps/components/display/dbtable/utils.js +52 -20
  177. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  178. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  179. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  180. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  181. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  182. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  183. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  184. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  185. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  186. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  187. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  188. package/package/components/apps/editor/PublicApp.svelte +49 -30
  189. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  190. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  191. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  192. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  193. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  194. package/package/components/apps/inputType.d.ts +6 -1
  195. package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
  196. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  197. package/package/components/common/button/model.js +1 -1
  198. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  199. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  200. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  201. package/package/components/common/modal/Modal.svelte +3 -3
  202. package/package/components/copilot/autocomplete/Autocompletor.js +3 -2
  203. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  204. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  205. package/package/components/copilot/chat/AIChat.svelte +3 -1
  206. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  207. package/package/components/copilot/chat/AIChatInput.svelte +275 -0
  208. package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
  209. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  210. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  211. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  212. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  213. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  214. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  215. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  216. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  217. package/package/components/copilot/chat/app/core.d.ts +56 -15
  218. package/package/components/copilot/chat/app/core.js +141 -22
  219. package/package/components/copilot/chat/context.d.ts +59 -2
  220. package/package/components/copilot/chat/context.js +6 -2
  221. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  222. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  223. package/package/components/copilot/chat/flow/core.js +29 -2
  224. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  225. package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
  226. package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
  227. package/package/components/copilot/chat/script/core.d.ts +4 -1
  228. package/package/components/copilot/chat/script/core.js +38 -2
  229. package/package/components/copilot/chat/shared.d.ts +10 -0
  230. package/package/components/copilot/chat/shared.js +24 -0
  231. package/package/components/copilot/lib.d.ts +1 -1
  232. package/package/components/custom_ui.d.ts +2 -0
  233. package/package/components/dbOps.d.ts +18 -4
  234. package/package/components/dbOps.js +25 -3
  235. package/package/components/debug/DebugConsole.svelte +277 -0
  236. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  237. package/package/components/debug/DebugPanel.svelte +97 -0
  238. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  239. package/package/components/debug/DebugToolbar.svelte +148 -0
  240. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  241. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  242. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  243. package/package/components/debug/MonacoDebugger.svelte +384 -0
  244. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  245. package/package/components/debug/dapClient.d.ts +192 -0
  246. package/package/components/debug/dapClient.js +426 -0
  247. package/package/components/debug/debugUtils.d.ts +30 -0
  248. package/package/components/debug/debugUtils.js +131 -0
  249. package/package/components/debug/index.d.ts +75 -0
  250. package/package/components/debug/index.js +82 -0
  251. package/package/components/flows/CreateActionsApp.svelte +6 -4
  252. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  253. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  254. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  255. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  256. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
  257. package/package/components/flows/content/FlowInput.svelte +211 -37
  258. package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
  259. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  260. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  261. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  262. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  263. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  264. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  265. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  266. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  267. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  268. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  269. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  270. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  271. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  272. package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
  273. package/package/components/flows/types.d.ts +2 -0
  274. package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
  275. package/package/components/home/ItemsList.svelte +5 -5
  276. package/package/components/home/TutorialBanner.svelte +34 -18
  277. package/package/components/icons/CssIcon.svelte +20 -0
  278. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  279. package/package/components/icons/HtmlIcon.svelte +20 -0
  280. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  281. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  282. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  283. package/package/components/icons/JsonIcon.svelte +8 -2
  284. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  285. package/package/components/icons/LessIcon.svelte +16 -0
  286. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  287. package/package/components/icons/MarkdownIcon.svelte +20 -0
  288. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  289. package/package/components/icons/ReactIcon.svelte +10 -2
  290. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  291. package/package/components/icons/SassIcon.svelte +28 -0
  292. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  293. package/package/components/icons/SvelteIcon.svelte +10 -2
  294. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  295. package/package/components/icons/VueIcon.svelte +10 -2
  296. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  297. package/package/components/icons/YamlIcon.svelte +20 -0
  298. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  299. package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
  300. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  301. package/package/components/instanceSettings.d.ts +2 -1
  302. package/package/components/instanceSettings.js +32 -1
  303. package/package/components/jobs/JobPreview.svelte +46 -39
  304. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  305. package/package/components/monacoLanguagesOptions.js +16 -15
  306. package/package/components/propertyPicker/PropPicker.svelte +16 -2
  307. package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
  308. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  309. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  310. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  311. package/package/components/raw_apps/FileTreeNode.svelte +119 -83
  312. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
  313. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  314. package/package/components/raw_apps/RawAppEditor.svelte +218 -68
  315. package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
  316. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  317. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  318. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  319. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  320. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  321. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
  322. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
  323. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  324. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  325. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  326. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  327. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
  328. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  329. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  330. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  331. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  332. package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
  333. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
  334. package/package/components/raw_apps/RunnableRow.svelte +41 -0
  335. package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
  336. package/package/components/raw_apps/utils.d.ts +1 -1
  337. package/package/components/raw_apps/utils.js +76 -18
  338. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  339. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  340. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  341. package/package/components/runs/RunsFilter.svelte +75 -63
  342. package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
  343. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  344. package/package/components/runs/RunsTable.svelte +1 -1
  345. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  346. package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
  347. package/package/components/runs/useJobsLoader.svelte.js +507 -0
  348. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  349. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  350. package/package/components/select/SelectDropdown.svelte +2 -2
  351. package/package/components/settings/AIPromptsModal.svelte +88 -0
  352. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  353. package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
  354. package/package/components/settings/ChangeWorkspaceId.svelte +14 -10
  355. package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
  356. package/package/components/settings/CreateToken.svelte +1 -1
  357. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  358. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  359. package/package/components/settings/WorkspaceUserSettings.svelte +531 -406
  360. package/package/components/sidebar/MenuButton.svelte +46 -24
  361. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  362. package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
  363. package/package/components/sidebar/OperatorMenu.svelte +62 -87
  364. package/package/components/sidebar/SidebarContent.svelte +7 -2
  365. package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
  366. package/package/components/sqlTypeService.js +4 -3
  367. package/package/components/table/DataTable.svelte +3 -2
  368. package/package/components/table/DataTable.svelte.d.ts +1 -0
  369. package/package/components/text_input/TextInput.svelte +3 -0
  370. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  371. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  372. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  373. package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
  374. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  375. package/package/components/tutorials/utils.d.ts +16 -0
  376. package/package/components/tutorials/utils.js +96 -0
  377. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  378. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  379. package/package/components/vscode.js +6 -6
  380. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  381. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  382. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  383. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  384. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  385. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  386. package/package/components/workspaceSettings/AISettings.svelte +146 -108
  387. package/package/components/workspaceSettings/CreateWorkspace.svelte +25 -11
  388. package/package/components/workspaceSettings/DucklakeSettings.svelte +46 -23
  389. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
  390. package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
  391. package/package/components/workspaceSettings/StorageSettings.svelte +280 -241
  392. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  393. package/package/consts.js +4 -1
  394. package/package/gen/core/OpenAPI.js +1 -1
  395. package/package/gen/schemas.gen.d.ts +126 -0
  396. package/package/gen/schemas.gen.js +126 -0
  397. package/package/gen/services.gen.d.ts +151 -2
  398. package/package/gen/services.gen.js +301 -4
  399. package/package/gen/types.gen.d.ts +584 -2
  400. package/package/hubPaths.json +3 -2
  401. package/package/infer.js +2 -0
  402. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  403. package/package/rawAppWmillTs.d.ts +11 -0
  404. package/package/rawAppWmillTs.js +38 -1
  405. package/package/svelte5Utils.svelte.d.ts +9 -0
  406. package/package/svelte5Utils.svelte.js +51 -1
  407. package/package/tutorialUtils.js +0 -4
  408. package/package/tutorials/config.js +31 -3
  409. package/package/tutorials/roleUtils.d.ts +1 -1
  410. package/package/tutorials/roleUtils.js +6 -2
  411. package/package/utils.js +159 -1
  412. package/package.json +16 -17
  413. package/package/components/SavedInputs.svelte +0 -416
  414. package/package/components/runs/JobsLoader.svelte +0 -468
  415. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  416. package/package/components/schema/SchemaPicker.svelte +0 -92
@@ -0,0 +1,426 @@
1
+ /**
2
+ * DAP (Debug Adapter Protocol) WebSocket Client for Monaco integration.
3
+ *
4
+ * This client implements the DAP protocol over WebSocket to communicate
5
+ * with a Python debugpy-based debug server.
6
+ */
7
+ import { writable, get } from 'svelte/store';
8
+ const initialState = {
9
+ connected: false,
10
+ initialized: false,
11
+ running: false,
12
+ stopped: false,
13
+ stackFrames: [],
14
+ scopes: [],
15
+ variables: new Map(),
16
+ breakpoints: new Map(),
17
+ output: [],
18
+ logs: '',
19
+ result: undefined,
20
+ error: undefined
21
+ };
22
+ export const debugState = writable({ ...initialState });
23
+ export class DAPClient {
24
+ ws = null;
25
+ seq = 1;
26
+ pendingRequests = new Map();
27
+ url;
28
+ constructor(url = 'ws://localhost:3003') {
29
+ this.url = url;
30
+ }
31
+ /**
32
+ * Connect to the DAP server.
33
+ */
34
+ async connect() {
35
+ return new Promise((resolve, reject) => {
36
+ try {
37
+ console.log('[DAP] Connecting to:', this.url);
38
+ this.ws = new WebSocket(this.url);
39
+ this.ws.onopen = () => {
40
+ console.log('[DAP] Connected successfully');
41
+ debugState.update((s) => ({ ...s, connected: true }));
42
+ resolve();
43
+ };
44
+ this.ws.onclose = () => {
45
+ console.log('[DAP] WebSocket closed');
46
+ debugState.update((s) => ({
47
+ ...initialState,
48
+ breakpoints: s.breakpoints,
49
+ // Preserve result and logs after disconnect
50
+ result: s.result,
51
+ logs: s.logs,
52
+ output: s.output
53
+ }));
54
+ this.pendingRequests.clear();
55
+ };
56
+ this.ws.onerror = (error) => {
57
+ console.error('DAP WebSocket error:', error);
58
+ reject(new Error('WebSocket connection failed'));
59
+ };
60
+ this.ws.onmessage = (event) => {
61
+ this.handleMessage(event.data);
62
+ };
63
+ }
64
+ catch (error) {
65
+ reject(error);
66
+ }
67
+ });
68
+ }
69
+ /**
70
+ * Disconnect from the DAP server.
71
+ */
72
+ disconnect() {
73
+ if (this.ws) {
74
+ this.ws.close();
75
+ this.ws = null;
76
+ }
77
+ debugState.set({ ...initialState });
78
+ }
79
+ /**
80
+ * Send a request to the DAP server and wait for a response.
81
+ */
82
+ async sendRequest(command, args) {
83
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
84
+ throw new Error('Not connected to DAP server');
85
+ }
86
+ const seq = this.seq++;
87
+ const message = {
88
+ seq,
89
+ type: 'request',
90
+ command,
91
+ arguments: args
92
+ };
93
+ return new Promise((resolve, reject) => {
94
+ const timeout = setTimeout(() => {
95
+ this.pendingRequests.delete(seq);
96
+ reject(new Error(`Request timeout: ${command}`));
97
+ }, 10000);
98
+ this.pendingRequests.set(seq, {
99
+ resolve: (value) => {
100
+ clearTimeout(timeout);
101
+ resolve(value);
102
+ },
103
+ reject: (error) => {
104
+ clearTimeout(timeout);
105
+ reject(error);
106
+ }
107
+ });
108
+ this.ws.send(JSON.stringify(message));
109
+ });
110
+ }
111
+ /**
112
+ * Handle incoming messages from the DAP server.
113
+ */
114
+ handleMessage(data) {
115
+ try {
116
+ const message = JSON.parse(data);
117
+ if (message.type === 'response') {
118
+ const pending = this.pendingRequests.get(message.request_seq);
119
+ if (pending) {
120
+ this.pendingRequests.delete(message.request_seq);
121
+ if (message.success) {
122
+ pending.resolve(message);
123
+ }
124
+ else {
125
+ pending.reject(new Error(message.message || 'Request failed'));
126
+ }
127
+ }
128
+ }
129
+ else if (message.type === 'event') {
130
+ console.log('[DAP] Event received:', message.event, message.body);
131
+ this.handleEvent(message);
132
+ }
133
+ }
134
+ catch (error) {
135
+ console.error('Failed to parse DAP message:', error);
136
+ }
137
+ }
138
+ /**
139
+ * Handle DAP events.
140
+ */
141
+ handleEvent(event) {
142
+ console.log('[DAP] Handling event:', event.event);
143
+ const body = event.body;
144
+ switch (event.event) {
145
+ case 'initialized':
146
+ // Clear logs and result when starting a new session
147
+ debugState.update((s) => ({
148
+ ...s,
149
+ initialized: true,
150
+ logs: '',
151
+ output: [],
152
+ result: undefined,
153
+ error: undefined
154
+ }));
155
+ break;
156
+ case 'stopped':
157
+ debugState.update((s) => ({
158
+ ...s,
159
+ stopped: true,
160
+ running: false,
161
+ stoppedReason: body?.reason,
162
+ currentLine: body?.line
163
+ }));
164
+ // Automatically fetch stack trace when stopped
165
+ this.fetchStackTrace();
166
+ break;
167
+ case 'continued':
168
+ debugState.update((s) => ({
169
+ ...s,
170
+ stopped: false,
171
+ running: true,
172
+ stoppedReason: undefined
173
+ }));
174
+ break;
175
+ case 'terminated':
176
+ debugState.update((s) => ({
177
+ ...s,
178
+ running: false,
179
+ stopped: false,
180
+ initialized: false,
181
+ result: body?.result,
182
+ error: body?.error
183
+ }));
184
+ break;
185
+ case 'output':
186
+ if (body?.output) {
187
+ debugState.update((s) => ({
188
+ ...s,
189
+ output: [...s.output, body.output],
190
+ logs: s.logs + body.output
191
+ }));
192
+ }
193
+ break;
194
+ case 'breakpoint':
195
+ // Breakpoint was verified/modified by the server
196
+ break;
197
+ default:
198
+ console.log('Unhandled DAP event:', event.event);
199
+ }
200
+ }
201
+ /**
202
+ * Initialize the debug session.
203
+ */
204
+ async initialize() {
205
+ const response = await this.sendRequest('initialize', {
206
+ clientID: 'windmill',
207
+ clientName: 'Windmill Script Editor',
208
+ adapterID: 'python',
209
+ pathFormat: 'path',
210
+ linesStartAt1: true,
211
+ columnsStartAt1: true,
212
+ supportsVariableType: true,
213
+ supportsVariablePaging: false,
214
+ supportsRunInTerminalRequest: false,
215
+ locale: 'en-US'
216
+ });
217
+ return response;
218
+ }
219
+ /**
220
+ * Set breakpoints in a source file.
221
+ */
222
+ async setBreakpoints(path, lines) {
223
+ console.log('[DAP] Setting breakpoints at path:', path, 'lines:', lines);
224
+ const response = await this.sendRequest('setBreakpoints', {
225
+ source: { path },
226
+ breakpoints: lines.map((line) => ({ line }))
227
+ });
228
+ console.log('[DAP] Breakpoints response:', response.body);
229
+ const breakpoints = response.body?.breakpoints || [];
230
+ debugState.update((s) => {
231
+ const newBreakpoints = new Map(s.breakpoints);
232
+ newBreakpoints.set(path, breakpoints);
233
+ return { ...s, breakpoints: newBreakpoints };
234
+ });
235
+ return breakpoints;
236
+ }
237
+ /**
238
+ * Notify the server that configuration is done.
239
+ */
240
+ async configurationDone() {
241
+ await this.sendRequest('configurationDone');
242
+ }
243
+ /**
244
+ * Launch a script for debugging.
245
+ */
246
+ async launch(options) {
247
+ await this.sendRequest('launch', {
248
+ program: options.program,
249
+ code: options.code,
250
+ args: options.args || {},
251
+ cwd: options.cwd || '.',
252
+ callMain: options.callMain || false,
253
+ env: options.env || {},
254
+ // Pass JWT token to debugger for verification
255
+ token: options.token
256
+ });
257
+ debugState.update((s) => ({ ...s, running: true }));
258
+ }
259
+ /**
260
+ * Continue execution.
261
+ */
262
+ async continue_() {
263
+ await this.sendRequest('continue', { threadId: 1 });
264
+ debugState.update((s) => ({ ...s, stopped: false, running: true }));
265
+ }
266
+ /**
267
+ * Step over (next).
268
+ */
269
+ async stepOver() {
270
+ await this.sendRequest('next', { threadId: 1 });
271
+ }
272
+ /**
273
+ * Step into.
274
+ */
275
+ async stepIn() {
276
+ await this.sendRequest('stepIn', { threadId: 1 });
277
+ }
278
+ /**
279
+ * Step out.
280
+ */
281
+ async stepOut() {
282
+ await this.sendRequest('stepOut', { threadId: 1 });
283
+ }
284
+ /**
285
+ * Pause execution.
286
+ */
287
+ async pause() {
288
+ await this.sendRequest('pause', { threadId: 1 });
289
+ }
290
+ /**
291
+ * Terminate the debug session.
292
+ */
293
+ async terminate() {
294
+ await this.sendRequest('terminate');
295
+ }
296
+ /**
297
+ * Get threads.
298
+ */
299
+ async getThreads() {
300
+ const response = await this.sendRequest('threads');
301
+ return response.body?.threads || [];
302
+ }
303
+ /**
304
+ * Get stack trace.
305
+ */
306
+ async getStackTrace(threadId = 1) {
307
+ const response = await this.sendRequest('stackTrace', {
308
+ threadId,
309
+ startFrame: 0,
310
+ levels: 20
311
+ });
312
+ const frames = response.body?.stackFrames || [];
313
+ debugState.update((s) => ({
314
+ ...s,
315
+ stackFrames: frames,
316
+ currentLine: frames[0]?.line,
317
+ currentFile: frames[0]?.source?.path
318
+ }));
319
+ return frames;
320
+ }
321
+ /**
322
+ * Get scopes for a stack frame.
323
+ */
324
+ async getScopes(frameId) {
325
+ console.log('[DAP] getScopes called with frameId:', frameId);
326
+ const response = await this.sendRequest('scopes', { frameId });
327
+ console.log('[DAP] getScopes response:', response);
328
+ const scopes = response.body?.scopes || [];
329
+ console.log('[DAP] getScopes parsed scopes:', scopes);
330
+ debugState.update((s) => ({ ...s, scopes }));
331
+ return scopes;
332
+ }
333
+ /**
334
+ * Get variables for a scope.
335
+ */
336
+ async getVariables(variablesReference) {
337
+ console.log('[DAP] getVariables called with variablesReference:', variablesReference);
338
+ const response = await this.sendRequest('variables', { variablesReference });
339
+ console.log('[DAP] getVariables response:', response);
340
+ const variables = response.body?.variables || [];
341
+ console.log('[DAP] getVariables parsed variables:', variables);
342
+ debugState.update((s) => {
343
+ const newVariables = new Map(s.variables);
344
+ newVariables.set(variablesReference, variables);
345
+ return { ...s, variables: newVariables };
346
+ });
347
+ return variables;
348
+ }
349
+ /**
350
+ * Evaluate an expression.
351
+ * @param expression The expression to evaluate
352
+ * @param frameId Optional frame ID to evaluate in
353
+ * @param context The evaluation context
354
+ * @param token Optional JWT token for signed expression (audit logging)
355
+ */
356
+ async evaluate(expression, frameId, context = 'repl', token) {
357
+ const response = await this.sendRequest('evaluate', {
358
+ expression,
359
+ frameId,
360
+ context,
361
+ token
362
+ });
363
+ return {
364
+ result: response.body?.result,
365
+ variablesReference: response.body?.variablesReference
366
+ };
367
+ }
368
+ /**
369
+ * Fetch stack trace (called automatically when stopped).
370
+ */
371
+ async fetchStackTrace() {
372
+ console.log('[DAP] fetchStackTrace called');
373
+ try {
374
+ const frames = await this.getStackTrace();
375
+ console.log('[DAP] fetchStackTrace got frames:', frames);
376
+ if (frames.length > 0) {
377
+ console.log('[DAP] fetchStackTrace calling getScopes with frameId:', frames[0].id);
378
+ await this.getScopes(frames[0].id);
379
+ }
380
+ else {
381
+ console.log('[DAP] fetchStackTrace: no frames, skipping getScopes');
382
+ }
383
+ }
384
+ catch (error) {
385
+ console.error('Failed to fetch stack trace:', error);
386
+ }
387
+ }
388
+ /**
389
+ * Clear output.
390
+ */
391
+ clearOutput() {
392
+ debugState.update((s) => ({ ...s, output: [] }));
393
+ }
394
+ /**
395
+ * Check if connected.
396
+ */
397
+ isConnected() {
398
+ return get(debugState).connected;
399
+ }
400
+ /**
401
+ * Check if running.
402
+ */
403
+ isRunning() {
404
+ return get(debugState).running;
405
+ }
406
+ /**
407
+ * Check if stopped at a breakpoint.
408
+ */
409
+ isStopped() {
410
+ return get(debugState).stopped;
411
+ }
412
+ }
413
+ // Singleton instance
414
+ let dapClientInstance = null;
415
+ export function getDAPClient(url) {
416
+ if (!dapClientInstance) {
417
+ dapClientInstance = new DAPClient(url);
418
+ }
419
+ return dapClientInstance;
420
+ }
421
+ export function resetDAPClient() {
422
+ if (dapClientInstance) {
423
+ dapClientInstance.disconnect();
424
+ dapClientInstance = null;
425
+ }
426
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared debug utility functions used across ScriptEditor, FlowModuleComponent,
3
+ * and RawAppInlineScriptEditor.
4
+ */
5
+ /**
6
+ * Fetch contextual variables (WM_WORKSPACE, WM_TOKEN, etc.) for the debugger.
7
+ * Creates a fresh short-lived token for the debug session.
8
+ */
9
+ export declare function fetchContextualVariables(workspace: string): Promise<Record<string, string>>;
10
+ /**
11
+ * Sign a debug request with the backend. This creates an audit log entry
12
+ * and returns a signed token that authorizes the debug session.
13
+ */
14
+ export declare function signDebugRequest(workspace: string, code: string, language: string): Promise<{
15
+ token: string;
16
+ code: string;
17
+ job_id: string;
18
+ }>;
19
+ /**
20
+ * Get a user-friendly error message for debug errors
21
+ */
22
+ export declare function getDebugErrorMessage(error: unknown): string;
23
+ /**
24
+ * Check if a language supports debugging
25
+ */
26
+ export declare function isDebuggableLanguage(language: string | undefined): boolean;
27
+ /**
28
+ * Get the file extension for a language (used for debug file path)
29
+ */
30
+ export declare function getDebugFileExtension(language: string | undefined): string;
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Shared debug utility functions used across ScriptEditor, FlowModuleComponent,
3
+ * and RawAppInlineScriptEditor.
4
+ */
5
+ import { VariableService, UserService } from '../../gen';
6
+ /**
7
+ * Fetch contextual variables (WM_WORKSPACE, WM_TOKEN, etc.) for the debugger.
8
+ * Creates a fresh short-lived token for the debug session.
9
+ */
10
+ export async function fetchContextualVariables(workspace) {
11
+ if (!workspace) {
12
+ return {};
13
+ }
14
+ try {
15
+ const variables = await VariableService.listContextualVariables({ workspace });
16
+ const envVars = {};
17
+ for (const v of variables) {
18
+ envVars[v.name] = v.value;
19
+ }
20
+ // Create a fresh token with 15-minute expiration for the debugger
21
+ try {
22
+ const expirationDate = new Date(Date.now() + 15 * 60 * 1000);
23
+ const freshToken = await UserService.createToken({
24
+ requestBody: {
25
+ label: 'debugger-token',
26
+ expiration: expirationDate.toISOString(),
27
+ workspace_id: workspace
28
+ }
29
+ });
30
+ envVars['WM_TOKEN'] = freshToken;
31
+ }
32
+ catch (tokenError) {
33
+ console.error('Failed to create debugger token:', tokenError);
34
+ }
35
+ return envVars;
36
+ }
37
+ catch (error) {
38
+ console.error('Failed to fetch contextual variables:', error);
39
+ return {};
40
+ }
41
+ }
42
+ /**
43
+ * Sign a debug request with the backend. This creates an audit log entry
44
+ * and returns a signed token that authorizes the debug session.
45
+ */
46
+ export async function signDebugRequest(workspace, code, language) {
47
+ if (!workspace) {
48
+ throw new Error('No workspace selected');
49
+ }
50
+ const response = await fetch(`/api/w/${workspace}/debug/sign`, {
51
+ method: 'POST',
52
+ headers: { 'Content-Type': 'application/json' },
53
+ body: JSON.stringify({ code, language })
54
+ });
55
+ if (!response.ok) {
56
+ const errorText = await response.text();
57
+ if (errorText.includes('not initialized')) {
58
+ throw new Error('Debug signing is not configured on the server. Please contact your administrator.');
59
+ }
60
+ throw new Error(errorText || 'Failed to authorize debug session');
61
+ }
62
+ return await response.json();
63
+ }
64
+ /**
65
+ * Get a user-friendly error message for debug errors
66
+ */
67
+ export function getDebugErrorMessage(error) {
68
+ const message = error instanceof Error ? error.message : String(error);
69
+ // Handle token verification errors from debugger
70
+ if (message.includes('Token verification failed') || message.includes('Debug token required')) {
71
+ if (message.includes('expired')) {
72
+ return 'Debug session expired. Please try again.';
73
+ }
74
+ if (message.includes('Invalid JWT signature')) {
75
+ return 'Debug authorization failed. The signing key may be misconfigured.';
76
+ }
77
+ if (message.includes('Code hash mismatch')) {
78
+ return 'Code was modified after signing. Please try again.';
79
+ }
80
+ if (message.includes('Public key not available')) {
81
+ return 'Debug server cannot verify tokens. Please check WINDMILL_BASE_URL configuration.';
82
+ }
83
+ if (message.includes('Debug token required')) {
84
+ return 'Debug authorization required. The debug session must be signed by the backend.';
85
+ }
86
+ return 'Debug authorization failed. Please try again.';
87
+ }
88
+ // Handle connection errors
89
+ if (message.includes('WebSocket') || message.includes('connection failed')) {
90
+ return 'Could not connect to debug server. Make sure the DAP server is running.';
91
+ }
92
+ // Handle HTTP errors
93
+ if (message.includes('401') || message.includes('Unauthorized')) {
94
+ return 'Debug session unauthorized. Please check your permissions.';
95
+ }
96
+ if (message.includes('404')) {
97
+ return 'Debug service not available. Please check if the debugger is enabled.';
98
+ }
99
+ if (message.includes('timeout') || message.includes('ETIMEDOUT')) {
100
+ return 'Debug service connection timed out. Please try again.';
101
+ }
102
+ // Handle signing errors
103
+ if (message.includes('not configured on the server')) {
104
+ return message;
105
+ }
106
+ return message || 'An unexpected error occurred while starting the debugger.';
107
+ }
108
+ /**
109
+ * Check if a language supports debugging
110
+ */
111
+ export function isDebuggableLanguage(language) {
112
+ if (!language)
113
+ return false;
114
+ return ['python3', 'bun', 'typescript', 'deno', 'nativets'].includes(language);
115
+ }
116
+ /**
117
+ * Get the file extension for a language (used for debug file path)
118
+ */
119
+ export function getDebugFileExtension(language) {
120
+ switch (language) {
121
+ case 'python3':
122
+ return '.py';
123
+ case 'bun':
124
+ case 'typescript':
125
+ case 'deno':
126
+ case 'nativets':
127
+ return '.ts';
128
+ default:
129
+ return '.txt';
130
+ }
131
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Debug module exports for Python and TypeScript debugging in Windmill.
3
+ *
4
+ * This module provides a minimal DAP (Debug Adapter Protocol) implementation
5
+ * for debugging scripts in the Monaco editor.
6
+ *
7
+ * Supported Languages:
8
+ * - Python: Uses debugpy via the unified DAP Debug Service
9
+ * - TypeScript/Bun: Uses V8 Inspector Protocol via the unified DAP Debug Service
10
+ *
11
+ * Usage:
12
+ * 1. Start the unified DAP Debug Service:
13
+ * bun run src/lib/debug/dap_debug_service.ts
14
+ *
15
+ * 2. Import and use MonacoDebugger component in your editor
16
+ *
17
+ * The service provides path-based routing:
18
+ * - /python - Python debugging via debugpy
19
+ * - /typescript - TypeScript/Bun debugging via WebKit Inspector
20
+ * - /bun - Alias for /typescript
21
+ *
22
+ * Example:
23
+ * ```svelte
24
+ * <script>
25
+ * import MonacoDebugger from '../../debug/MonacoDebugger.svelte'
26
+ * let editor // Monaco editor instance
27
+ * let code = 'console.log("Hello")'
28
+ * </script>
29
+ *
30
+ * <!-- Option 1: Use language prop (recommended) -->
31
+ * <MonacoDebugger {editor} {code} language="bun" />
32
+ *
33
+ * <!-- Option 2: Explicit URL and path -->
34
+ * <MonacoDebugger
35
+ * {editor}
36
+ * {code}
37
+ * dapServerUrl="ws://localhost:3003/typescript"
38
+ * filePath="/tmp/script.ts"
39
+ * />
40
+ * ```
41
+ */
42
+ export { default as MonacoDebugger } from './MonacoDebugger.svelte';
43
+ export { default as DebugToolbar } from './DebugToolbar.svelte';
44
+ export { default as DebugPanel } from './DebugPanel.svelte';
45
+ export { default as DebugVariableViewer } from './DebugVariableViewer.svelte';
46
+ export { default as DebugConsole } from './DebugConsole.svelte';
47
+ export { DAPClient, getDAPClient, resetDAPClient, debugState, type DebugState, type Breakpoint, type StackFrame, type Variable, type Scope } from './dapClient';
48
+ export { fetchContextualVariables, signDebugRequest, getDebugErrorMessage, isDebuggableLanguage, getDebugFileExtension } from './debugUtils';
49
+ /**
50
+ * Language to debug endpoint path mapping.
51
+ * Uses the unified DAP Debug Service with path-based routing.
52
+ */
53
+ export declare const DAP_ENDPOINT_PATHS: {
54
+ readonly python3: "/python";
55
+ readonly bun: "/bun";
56
+ readonly typescript: "/typescript";
57
+ readonly nativets: "/typescript";
58
+ readonly deno: "/typescript";
59
+ };
60
+ /**
61
+ * Supported debug languages
62
+ */
63
+ export type DebugLanguage = keyof typeof DAP_ENDPOINT_PATHS;
64
+ /**
65
+ * Get the WebSocket URL for the DAP debug server.
66
+ * Routes through the reverse proxy at /ws_debug/* in production.
67
+ *
68
+ * @param language - The script language (python3, bun, typescript, etc.)
69
+ * @returns The full WebSocket URL for the debug server
70
+ */
71
+ export declare function getDebugServerUrl(language: DebugLanguage): string;
72
+ /**
73
+ * @deprecated Use isDebuggableLanguage instead
74
+ */
75
+ export declare function isDebuggable(language: string): boolean;