windmill-components 1.677.1 → 1.695.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 (552) hide show
  1. package/package/components/AppConnectInner.svelte +6 -0
  2. package/package/components/ArgInput.svelte +2 -0
  3. package/package/components/AutoscalingConfigEditor.svelte +18 -4
  4. package/package/components/CiTestResults.svelte +64 -0
  5. package/package/components/CiTestResults.svelte.d.ts +7 -0
  6. package/package/components/CompareWorkspaces.svelte +741 -484
  7. package/package/components/DBManager.svelte +35 -4
  8. package/package/components/DBManager.svelte.d.ts +2 -0
  9. package/package/components/DBManagerContent.svelte +3 -1
  10. package/package/components/DBManagerContent.svelte.d.ts +3 -0
  11. package/package/components/DBManagerDrawer.svelte +145 -3
  12. package/package/components/DBTableEditor.svelte +14 -4
  13. package/package/components/DatatablePicker.svelte +2 -5
  14. package/package/components/DatatableSchemaDiff.svelte +531 -0
  15. package/package/components/DatatableSchemaDiff.svelte.d.ts +29 -0
  16. package/package/components/DedicatedWorkersSelector.svelte +4 -2
  17. package/package/components/DefaultTagsInner.svelte +42 -2
  18. package/package/components/DeployWorkspaceDrawer.svelte +1 -1
  19. package/package/components/Dev.svelte +407 -74
  20. package/package/components/EditableSchemaForm.svelte +4 -0
  21. package/package/components/Editor.svelte +1 -1
  22. package/package/components/EditorBar.svelte +1 -1
  23. package/package/components/EditorBar.svelte.d.ts +1 -1
  24. package/package/components/ErrorOrRecoveryHandler.svelte +2 -2
  25. package/package/components/FlowPreviewContent.svelte +32 -30
  26. package/package/components/FlowRestartButton.svelte +143 -61
  27. package/package/components/FlowRestartButton.svelte.d.ts +37 -0
  28. package/package/components/FlowStatusViewer.svelte +15 -1
  29. package/package/components/FlowStatusViewer.svelte.d.ts +10 -2
  30. package/package/components/FlowStatusViewerInner.svelte +270 -222
  31. package/package/components/FlowStatusViewerInner.svelte.d.ts +6 -2
  32. package/package/components/FlowTimeline.svelte +1 -1
  33. package/package/components/FolderEditor.svelte +189 -4
  34. package/package/components/ForkConflictModal.svelte +57 -0
  35. package/package/components/ForkConflictModal.svelte.d.ts +3 -0
  36. package/package/components/ForkWorkspaceBanner.svelte +82 -11
  37. package/package/components/GitRepoViewer.svelte +251 -97
  38. package/package/components/GlobalUserOffboardingModal.svelte +293 -0
  39. package/package/components/GlobalUserOffboardingModal.svelte.d.ts +10 -0
  40. package/package/components/InputTransformSchemaForm.svelte +1 -1
  41. package/package/components/InstanceSettings.svelte +58 -19
  42. package/package/components/Login.svelte +133 -36
  43. package/package/components/Login.svelte.d.ts +1 -0
  44. package/package/components/ModuleTest.svelte +2 -1
  45. package/package/components/NoMainFuncBadge.svelte +1 -1
  46. package/package/components/OffboardItemsBox.svelte +56 -0
  47. package/package/components/OffboardItemsBox.svelte.d.ts +12 -0
  48. package/package/components/OffboardReassignControls.svelte +47 -0
  49. package/package/components/OffboardReassignControls.svelte.d.ts +20 -0
  50. package/package/components/OffboardWorkspaceSection.svelte +110 -0
  51. package/package/components/OffboardWorkspaceSection.svelte.d.ts +24 -0
  52. package/package/components/OnBehalfOfSelector.svelte +21 -3
  53. package/package/components/OnBehalfOfSelector.svelte.d.ts +7 -0
  54. package/package/components/Path.svelte +7 -1
  55. package/package/components/Path.svelte.d.ts +1 -1
  56. package/package/components/QueueAlerts.svelte +10 -10
  57. package/package/components/ResourcePicker.svelte +2 -2
  58. package/package/components/RunsPage.svelte +2 -1
  59. package/package/components/S3FilePickerInner.svelte +89 -89
  60. package/package/components/ScriptBuilder.svelte +52 -11
  61. package/package/components/ScriptEditor.svelte +19 -8
  62. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  63. package/package/components/ShareModal.svelte +236 -98
  64. package/package/components/ShareModal.svelte.d.ts +1 -1
  65. package/package/components/SuperadminSettingsInner.svelte +362 -315
  66. package/package/components/UserOffboardingModal.svelte +238 -0
  67. package/package/components/UserOffboardingModal.svelte.d.ts +10 -0
  68. package/package/components/WorkspaceDeployLayout.svelte +3 -3
  69. package/package/components/WorkspaceDeployLayout.svelte.d.ts +1 -0
  70. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +3 -0
  71. package/package/components/apps/components/helpers/executeRunnable.js +2 -1
  72. package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -1
  73. package/package/components/apps/editor/appPolicy.js +2 -1
  74. package/package/components/apps/editor/commonAppUtils.d.ts +3 -0
  75. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  76. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +7 -0
  77. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +4 -2
  78. package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte +49 -0
  79. package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte.d.ts +9 -0
  80. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +12 -0
  81. package/package/components/apps/inputType.d.ts +1 -0
  82. package/package/components/apps/sharedTypes.d.ts +1 -0
  83. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  84. package/package/components/auditLogs/AuditLogsFilters.svelte +8 -3
  85. package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
  86. package/package/components/common/fileUpload/S3ArgInput.svelte +12 -10
  87. package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +2 -0
  88. package/package/components/common/table/AppRow.svelte +3 -3
  89. package/package/components/common/table/FlowRow.svelte +3 -3
  90. package/package/components/common/table/RawAppRow.svelte +4 -4
  91. package/package/components/common/table/Row.svelte +6 -2
  92. package/package/components/common/table/ScriptRow.svelte +11 -3
  93. package/package/components/copilot/chat/AIChatDisplay.svelte +5 -36
  94. package/package/components/copilot/chat/AIChatInput.svelte +56 -47
  95. package/package/components/copilot/chat/AIChatManager.svelte.js +50 -48
  96. package/package/components/copilot/chat/ContextElementBadge.svelte +6 -4
  97. package/package/components/copilot/chat/anthropic.d.ts +7 -1
  98. package/package/components/copilot/chat/anthropic.js +5 -2
  99. package/package/components/copilot/chat/app/core.d.ts +12 -20
  100. package/package/components/copilot/chat/app/core.js +230 -159
  101. package/package/components/copilot/chat/app/core.test.js +417 -0
  102. package/package/components/copilot/chat/chatLoop.d.ts +3 -0
  103. package/package/components/copilot/chat/chatLoop.js +13 -5
  104. package/package/components/copilot/chat/context.js +44 -0
  105. package/package/components/copilot/chat/flow/FlowAIChat.svelte +57 -76
  106. package/package/components/copilot/chat/flow/core.d.ts +14 -3
  107. package/package/components/copilot/chat/flow/core.js +494 -116
  108. package/package/components/copilot/chat/flow/helperUtils.d.ts +22 -0
  109. package/package/components/copilot/chat/flow/helperUtils.js +100 -0
  110. package/package/components/copilot/chat/flow/helperUtils.test.js +231 -0
  111. package/package/components/copilot/chat/flow/inlineScriptsUtils.d.ts +5 -24
  112. package/package/components/copilot/chat/flow/inlineScriptsUtils.js +30 -55
  113. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  114. package/package/components/copilot/chat/flow/openFlowZod.gen.js +24 -0
  115. package/package/components/copilot/chat/flow/utils.test.js +59 -0
  116. package/package/components/copilot/chat/openai-responses.d.ts +7 -1
  117. package/package/components/copilot/chat/openai-responses.js +5 -2
  118. package/package/components/copilot/chat/script/core.js +3 -0
  119. package/package/components/copilot/chat/shared.d.ts +7 -2
  120. package/package/components/copilot/chat/shared.js +116 -53
  121. package/package/components/copilot/chat/shared.test.d.ts +1 -0
  122. package/package/components/copilot/chat/shared.test.js +412 -0
  123. package/package/components/copilot/chat/tokenUsage.d.ts +23 -0
  124. package/package/components/copilot/chat/tokenUsage.js +42 -0
  125. package/package/components/copilot/chat/workspaceTools.d.ts +7 -0
  126. package/package/components/copilot/chat/workspaceTools.js +239 -0
  127. package/package/components/copilot/chat/workspaceToolsZod.gen.d.ts +1295 -0
  128. package/package/components/copilot/chat/workspaceToolsZod.gen.js +424 -0
  129. package/package/components/copilot/lib.d.ts +5 -1
  130. package/package/components/copilot/lib.js +24 -6
  131. package/package/components/copilot/lib.test.d.ts +1 -0
  132. package/package/components/copilot/lib.test.js +19 -0
  133. package/package/components/copilot/modelConfig.d.ts +3 -0
  134. package/package/components/copilot/modelConfig.js +10 -0
  135. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte +337 -0
  136. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte.d.ts +15 -0
  137. package/package/components/details/CopyableCodeBlock.svelte +18 -8
  138. package/package/components/details/CopyableCodeBlock.svelte.d.ts +1 -0
  139. package/package/components/flows/FlowAssetsHandler.svelte +19 -21
  140. package/package/components/flows/FlowProgressBar.svelte +5 -2
  141. package/package/components/flows/agentToolTree.d.ts +17 -0
  142. package/package/components/flows/agentToolTree.js +114 -0
  143. package/package/components/flows/agentToolTree.test.d.ts +1 -0
  144. package/package/components/flows/agentToolTree.test.js +86 -0
  145. package/package/components/flows/agentToolUtils.d.ts +0 -5
  146. package/package/components/flows/agentToolUtils.js +0 -49
  147. package/package/components/flows/content/FlowLoop.svelte +7 -4
  148. package/package/components/flows/content/FlowModuleComponent.svelte +636 -599
  149. package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +15 -7
  150. package/package/components/flows/content/FlowSettings.svelte +29 -0
  151. package/package/components/flows/conversations/FlowChatManager.svelte.js +21 -10
  152. package/package/components/flows/dfs.d.ts +6 -2
  153. package/package/components/flows/dfs.js +19 -11
  154. package/package/components/flows/flowDeleteController.d.ts +32 -0
  155. package/package/components/flows/flowDeleteController.js +54 -0
  156. package/package/components/flows/flowDeleteController.test.d.ts +1 -0
  157. package/package/components/flows/flowDeleteController.test.js +121 -0
  158. package/package/components/flows/flowDeleteUtils.d.ts +48 -0
  159. package/package/components/flows/flowDeleteUtils.js +150 -0
  160. package/package/components/flows/flowDeleteUtils.test.d.ts +1 -0
  161. package/package/components/flows/flowDeleteUtils.test.js +131 -0
  162. package/package/components/flows/flowDiff.d.ts +2 -47
  163. package/package/components/flows/flowDiff.js +16 -293
  164. package/package/components/flows/flowDiff.testUtils.d.ts +8 -0
  165. package/package/components/flows/flowDiff.testUtils.js +26 -0
  166. package/package/components/flows/flowDiffManager.svelte.js +20 -75
  167. package/package/components/flows/flowDiffManager.svelte.test.js +103 -2
  168. package/package/components/flows/flowExplorer.d.ts +4 -0
  169. package/package/components/flows/flowExplorer.js +7 -30
  170. package/package/components/flows/flowState.d.ts +1 -0
  171. package/package/components/flows/flowStateUtils.svelte.js +11 -2
  172. package/package/components/flows/flowTree.d.ts +91 -0
  173. package/package/components/flows/flowTree.js +326 -0
  174. package/package/components/flows/flowTree.test.d.ts +1 -0
  175. package/package/components/flows/flowTree.test.js +236 -0
  176. package/package/components/flows/map/FlowJobsMenu.svelte +36 -30
  177. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
  178. package/package/components/flows/map/FlowModuleSchemaMap.svelte +73 -229
  179. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
  180. package/package/components/flows/pickers/PickHubScriptQuick.svelte +2 -2
  181. package/package/components/flows/previousResults.js +13 -41
  182. package/package/components/flows/previousResults.test.d.ts +1 -0
  183. package/package/components/flows/previousResults.test.js +65 -0
  184. package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
  185. package/package/components/flows/propPicker/OutputPickerInner.svelte +41 -4
  186. package/package/components/flows/propPicker/StepHistory.svelte +9 -1
  187. package/package/components/git_sync/GitSyncContext.svelte.js +11 -7
  188. package/package/components/git_sync/GitSyncRepositoryCard.svelte +2 -29
  189. package/package/components/git_sync/PullWorkspaceModal.svelte +6 -7
  190. package/package/components/graph/FlowGraphV2.svelte +8 -4
  191. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
  192. package/package/components/graph/groupedModulesProxy.svelte.d.ts +10 -0
  193. package/package/components/graph/groupedModulesProxy.svelte.js +17 -1
  194. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +8 -2
  195. package/package/components/home/HomeConnectDrawer.svelte +125 -0
  196. package/package/components/home/HomeConnectDrawer.svelte.d.ts +5 -0
  197. package/package/components/home/deploy_ui.js +1 -1
  198. package/package/components/icons/AzureIcon.svelte +12 -25
  199. package/package/components/icons/AzureIcon.svelte.d.ts +3 -2
  200. package/package/components/icons/GithubIcon.svelte +4 -4
  201. package/package/components/icons/GithubIcon.svelte.d.ts +5 -2
  202. package/package/components/instanceSettings/ExternalJwtTokens.svelte +85 -0
  203. package/package/components/instanceSettings/ExternalJwtTokens.svelte.d.ts +12 -0
  204. package/package/components/instanceSettings/GhesAppSettings.svelte +17 -0
  205. package/package/components/instanceSettings/IndexerMemorySettings.svelte +56 -29
  206. package/package/components/instanceSettings/SecretBackendConfig.svelte +9 -2
  207. package/package/components/instanceSettings.d.ts +1 -0
  208. package/package/components/instanceSettings.js +66 -8
  209. package/package/components/mcp/McpScopeSelector.svelte +119 -9
  210. package/package/components/mcp/McpScopeSelector.svelte.d.ts +1 -0
  211. package/package/components/offboarding-utils.d.ts +11 -0
  212. package/package/components/offboarding-utils.js +102 -0
  213. package/package/components/progressBar/ProgressBar.svelte +9 -5
  214. package/package/components/progressBar/ProgressBar.svelte.d.ts +1 -0
  215. package/package/components/raw_apps/DeleteAfterUsePopup.svelte +52 -0
  216. package/package/components/raw_apps/DeleteAfterUsePopup.svelte.d.ts +9 -0
  217. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +5 -1
  218. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -1
  219. package/package/components/raw_apps/RawAppEditor.svelte +186 -102
  220. package/package/components/raw_apps/RawAppEditorHeader.svelte +6 -1
  221. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -0
  222. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +9 -3
  223. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +2 -1
  224. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +1 -0
  225. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +1 -0
  226. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +48 -5
  227. package/package/components/raw_apps/RawAppSharedUiDrawer.svelte +129 -0
  228. package/package/components/raw_apps/RawAppSharedUiDrawer.svelte.d.ts +5 -0
  229. package/package/components/raw_apps/RawAppSidebar.svelte +12 -0
  230. package/package/components/raw_apps/RawAppYamlEditor.svelte +81 -0
  231. package/package/components/raw_apps/RawAppYamlEditor.svelte.d.ts +20 -0
  232. package/package/components/raw_apps/dataTableRefUtils.d.ts +7 -0
  233. package/package/components/raw_apps/dataTableRefUtils.js +34 -0
  234. package/package/components/raw_apps/dataTableRefUtils.test.d.ts +1 -0
  235. package/package/components/raw_apps/dataTableRefUtils.test.js +29 -0
  236. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  237. package/package/components/raw_apps/rawAppPolicy.d.ts +1 -0
  238. package/package/components/raw_apps/rawAppPolicy.js +17 -2
  239. package/package/components/resources/resourceTypesFilter.d.ts +19 -0
  240. package/package/components/resources/resourceTypesFilter.js +21 -0
  241. package/package/components/restartFromStepPath.d.ts +39 -0
  242. package/package/components/restartFromStepPath.js +89 -0
  243. package/package/components/runs/JobDetailFieldConfig.d.ts +1 -0
  244. package/package/components/runs/JobDetailFieldConfig.js +57 -10
  245. package/package/components/runs/JobDetailHeader.svelte +24 -3
  246. package/package/components/runs/runsFilter.d.ts +1 -1
  247. package/package/components/schema/FlowPropertyEditor.svelte +30 -1
  248. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +5 -2
  249. package/package/components/script_builder.d.ts +1 -1
  250. package/package/components/search/GlobalSearchModal.svelte +8 -1
  251. package/package/components/select/Select.svelte +3 -2
  252. package/package/components/select/Select.svelte.d.ts +1 -0
  253. package/package/components/settings/CreateToken.svelte +91 -71
  254. package/package/components/settings/CreateToken.svelte.d.ts +3 -0
  255. package/package/components/settings/EditTokenScopesModal.svelte +57 -0
  256. package/package/components/settings/EditTokenScopesModal.svelte.d.ts +10 -0
  257. package/package/components/settings/ScopesPicker.svelte +43 -0
  258. package/package/components/settings/ScopesPicker.svelte.d.ts +11 -0
  259. package/package/components/settings/TokensTable.svelte +51 -15
  260. package/package/components/settings/WorkspaceUserSettings.svelte +34 -28
  261. package/package/components/sidebar/OperatorMenu.svelte +6 -0
  262. package/package/components/sidebar/SidebarContent.svelte +68 -2
  263. package/package/components/sidebar/WorkspaceMenu.svelte +8 -4
  264. package/package/components/triggers/AddTriggersButton.svelte +17 -0
  265. package/package/components/triggers/CaptureWrapper.svelte +19 -1
  266. package/package/components/triggers/PermissionedAsLine.svelte +37 -3
  267. package/package/components/triggers/PermissionedAsLine.svelte.d.ts +6 -0
  268. package/package/components/triggers/TriggerEditorToolbar.svelte.d.ts +1 -1
  269. package/package/components/triggers/TriggerModeToggle.svelte +36 -7
  270. package/package/components/triggers/TriggerModeToggle.svelte.d.ts +1 -1
  271. package/package/components/triggers/TriggerSuspendedJobsModal.svelte.d.ts +1 -1
  272. package/package/components/triggers/TriggersEditor.svelte +10 -2
  273. package/package/components/triggers/TriggersWrapper.svelte +20 -0
  274. package/package/components/triggers/azure/AzureCapture.svelte +41 -0
  275. package/package/components/triggers/azure/AzureCapture.svelte.d.ts +44 -0
  276. package/package/components/triggers/azure/AzureTriggerEditor.svelte +20 -0
  277. package/package/components/triggers/azure/AzureTriggerEditor.svelte.d.ts +9 -0
  278. package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte +301 -0
  279. package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte.d.ts +16 -0
  280. package/package/components/triggers/azure/AzureTriggerEditorInner.svelte +422 -0
  281. package/package/components/triggers/azure/AzureTriggerEditorInner.svelte.d.ts +25 -0
  282. package/package/components/triggers/azure/AzureTriggerPanel.svelte +55 -0
  283. package/package/components/triggers/azure/AzureTriggerPanel.svelte.d.ts +10 -0
  284. package/{dist/sharedUtils/components/triggers/kafka → package/components/triggers/azure}/utils.d.ts +1 -1
  285. package/package/components/triggers/azure/utils.js +56 -0
  286. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +15 -11
  287. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +22 -14
  288. package/package/components/triggers/http/RouteEditorConfigSection.svelte +15 -7
  289. package/package/components/triggers/http/RouteEditorInner.svelte +16 -14
  290. package/package/components/triggers/http/RoutesGenerator.svelte +6 -1
  291. package/package/components/triggers/http/RoutesPanel.svelte +1 -1
  292. package/package/components/triggers/http/utils.d.ts +1 -1
  293. package/package/components/triggers/http/utils.js +2 -2
  294. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +22 -14
  295. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +22 -14
  296. package/package/components/triggers/native/NativeTriggerEditor.svelte +3 -0
  297. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte +118 -0
  298. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte.d.ts +17 -0
  299. package/package/components/triggers/native/utils.js +14 -0
  300. package/package/components/triggers/nats/NatsTriggerEditor.svelte.d.ts +4 -3
  301. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +22 -14
  302. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +4 -3
  303. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +22 -14
  304. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +22 -14
  305. package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +4 -3
  306. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +22 -14
  307. package/package/components/triggers/triggers.svelte.d.ts +1 -0
  308. package/package/components/triggers/triggers.svelte.js +24 -1
  309. package/package/components/triggers/utils.js +47 -6
  310. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -14
  311. package/package/components/triggers.d.ts +1 -1
  312. package/package/components/useFolderDefaultPermissionedAs.svelte.d.ts +13 -0
  313. package/package/components/useFolderDefaultPermissionedAs.svelte.js +63 -0
  314. package/package/components/useNestedRestartState.svelte.d.ts +56 -0
  315. package/package/components/useNestedRestartState.svelte.js +320 -0
  316. package/package/components/workspaceSettings/CreateWorkspace.svelte +16 -677
  317. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte +604 -0
  318. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte.d.ts +7 -0
  319. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +27 -25
  320. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +46 -8
  321. package/package/components/workspaceSettings/DataTableSettings.svelte +27 -22
  322. package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
  323. package/package/components/workspaceSettings/ForkDatatableSection.svelte +228 -0
  324. package/package/components/workspaceSettings/ForkDatatableSection.svelte.d.ts +28 -0
  325. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +8 -2
  326. package/package/components/workspaceSettings/RulesetEditor.svelte +27 -2
  327. package/package/components/workspaceSettings/SharedUiSettings.svelte +175 -0
  328. package/package/components/workspaceSettings/SharedUiSettings.svelte.d.ts +3 -0
  329. package/package/components/workspaceSettings/VolumeStorageSettings.svelte +1 -1
  330. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +17 -1
  331. package/package/consts.d.ts +3 -0
  332. package/package/consts.js +10 -0
  333. package/package/gen/core/OpenAPI.js +1 -1
  334. package/package/gen/schemas.gen.d.ts +795 -59
  335. package/package/gen/schemas.gen.js +801 -60
  336. package/package/gen/services.gen.d.ts +475 -5
  337. package/package/gen/services.gen.js +976 -23
  338. package/package/gen/types.gen.d.ts +1865 -75
  339. package/package/githubApp.js +5 -1
  340. package/package/hubPaths.json +2 -8
  341. package/package/infer.d.ts +1 -1
  342. package/package/infer.js +50 -52
  343. package/package/infer.svelte.js +10 -1
  344. package/package/mcpEndpointTools.js +60 -4
  345. package/package/monaco_workers/sqlTypePlugin.worker.d.ts +10 -0
  346. package/package/monaco_workers/sqlTypePlugin.worker.js +39 -0
  347. package/package/script_helpers.d.ts +8 -2
  348. package/package/script_helpers.js +31 -0
  349. package/package/stores.d.ts +11 -0
  350. package/package/stores.js +6 -0
  351. package/package/system_prompts/index.d.ts +1 -0
  352. package/package/system_prompts/index.js +8 -0
  353. package/package/system_prompts/prompts.d.ts +17 -13
  354. package/package/system_prompts/prompts.js +921 -61
  355. package/package/templates/ci_test_bun.ts.template +27 -0
  356. package/package/templates/ci_test_python.py.template +26 -0
  357. package/package/utils/forkConflict.d.ts +26 -0
  358. package/package/utils/forkConflict.js +56 -0
  359. package/package/utils_deployable.d.ts +164 -121
  360. package/package/utils_deployable.js +61 -11
  361. package/package/utils_workspace_deploy.d.ts +8 -8
  362. package/package/utils_workspace_deploy.js +89 -421
  363. package/package.json +30 -6
  364. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  365. package/dist/sharedUtils/base.d.ts +0 -1
  366. package/dist/sharedUtils/cloud.d.ts +0 -1
  367. package/dist/sharedUtils/common.d.ts +0 -111
  368. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  369. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  370. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  371. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  372. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  373. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  374. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  375. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  376. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  377. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  378. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  379. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  380. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  381. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  382. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  383. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  384. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  385. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  386. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  387. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  388. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  389. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  390. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  391. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  392. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  393. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  394. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  395. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  396. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  397. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  398. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  399. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  400. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  401. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  402. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  403. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  404. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  405. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  406. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  407. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  408. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  409. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  410. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  411. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  412. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  413. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  414. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  415. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  416. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  417. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  418. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  419. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  420. package/dist/sharedUtils/gen/index.d.ts +0 -6
  421. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  422. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  423. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  424. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  425. package/dist/sharedUtils/hub.d.ts +0 -49
  426. package/dist/sharedUtils/jsr.json +0 -6
  427. package/dist/sharedUtils/lib.d.ts +0 -5
  428. package/dist/sharedUtils/lib.es.js +0 -1588
  429. package/dist/sharedUtils/package.json +0 -12
  430. package/dist/sharedUtils/schema.d.ts +0 -3
  431. package/dist/sharedUtils/stores.d.ts +0 -97
  432. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  433. package/dist/sharedUtils/toast.d.ts +0 -8
  434. package/dist/sharedUtils/utils.d.ts +0 -265
  435. package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +0 -153
  436. package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +0 -21
  437. package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +0 -136
  438. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.d.ts +0 -15
  439. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -107
  440. package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +0 -50
  441. package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +0 -93
  442. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.d.ts +0 -29
  443. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.js +0 -134
  444. package/package/components/copilot/chat/__tests__/app/appResultsWriter.d.ts +0 -30
  445. package/package/components/copilot/chat/__tests__/app/appResultsWriter.js +0 -197
  446. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.d.ts +0 -10
  447. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.js +0 -9
  448. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/meta.json +0 -4
  449. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.d.ts +0 -6
  450. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.js +0 -5
  451. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/meta.json +0 -4
  452. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.d.ts +0 -12
  453. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.js +0 -14
  454. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/meta.json +0 -4
  455. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.d.ts +0 -8
  456. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.js +0 -25
  457. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/meta.json +0 -4
  458. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.d.ts +0 -7
  459. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.js +0 -5
  460. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/meta.json +0 -4
  461. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.d.ts +0 -8
  462. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.js +0 -5
  463. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/meta.json +0 -4
  464. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.d.ts +0 -10
  465. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.tsx +0 -26
  466. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.d.ts +0 -10
  467. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.tsx +0 -79
  468. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.d.ts +0 -10
  469. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.tsx +0 -46
  470. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.d.ts +0 -10
  471. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.tsx +0 -56
  472. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.d.ts +0 -6
  473. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.tsx +0 -59
  474. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.d.ts +0 -16
  475. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.tsx +0 -119
  476. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.d.ts +0 -15
  477. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.js +0 -14
  478. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/meta.json +0 -4
  479. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.d.ts +0 -14
  480. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.js +0 -5
  481. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/meta.json +0 -4
  482. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.d.ts +0 -6
  483. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.js +0 -41
  484. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/meta.json +0 -4
  485. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.d.ts +0 -15
  486. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.js +0 -3
  487. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/meta.json +0 -4
  488. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.d.ts +0 -9
  489. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.tsx +0 -51
  490. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.d.ts +0 -8
  491. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.tsx +0 -27
  492. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.d.ts +0 -8
  493. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.tsx +0 -18
  494. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.d.ts +0 -12
  495. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.tsx +0 -81
  496. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.d.ts +0 -3
  497. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.js +0 -3
  498. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/meta.json +0 -4
  499. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.d.ts +0 -3
  500. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.js +0 -3
  501. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/meta.json +0 -4
  502. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.d.ts +0 -2
  503. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.tsx +0 -38
  504. package/package/components/copilot/chat/__tests__/app/variants/baseline.d.ts +0 -6
  505. package/package/components/copilot/chat/__tests__/app/variants/baseline.js +0 -10
  506. package/package/components/copilot/chat/__tests__/app/variants/index.d.ts +0 -3
  507. package/package/components/copilot/chat/__tests__/app/variants/index.js +0 -3
  508. package/package/components/copilot/chat/__tests__/app/variants/streamlined.d.ts +0 -6
  509. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +0 -137
  510. package/package/components/copilot/chat/__tests__/flow/expected/test1.json +0 -134
  511. package/package/components/copilot/chat/__tests__/flow/expected/test2.json +0 -183
  512. package/package/components/copilot/chat/__tests__/flow/expected/test3.json +0 -204
  513. package/package/components/copilot/chat/__tests__/flow/expected/test4.json +0 -175
  514. package/package/components/copilot/chat/__tests__/flow/expected/test5_modify_simple.json +0 -68
  515. package/package/components/copilot/chat/__tests__/flow/expected/test6_modify_medium.json +0 -142
  516. package/package/components/copilot/chat/__tests__/flow/expected/test7_modify_complex.json +0 -136
  517. package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +0 -294
  518. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.d.ts +0 -17
  519. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +0 -49
  520. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.d.ts +0 -12
  521. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -79
  522. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +0 -50
  523. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +0 -102
  524. package/package/components/copilot/chat/__tests__/flow/initial/test5_initial.json +0 -53
  525. package/package/components/copilot/chat/__tests__/flow/initial/test6_initial.json +0 -68
  526. package/package/components/copilot/chat/__tests__/flow/initial/test7_initial.json +0 -120
  527. package/package/components/copilot/chat/__tests__/flow/variants/baseline.d.ts +0 -6
  528. package/package/components/copilot/chat/__tests__/flow/variants/baseline.js +0 -10
  529. package/package/components/copilot/chat/__tests__/flow/variants/index.d.ts +0 -3
  530. package/package/components/copilot/chat/__tests__/flow/variants/index.js +0 -3
  531. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.d.ts +0 -15
  532. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +0 -388
  533. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +0 -45
  534. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +0 -121
  535. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +0 -28
  536. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +0 -96
  537. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.d.ts +0 -32
  538. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.js +0 -130
  539. package/package/components/copilot/chat/__tests__/shared/baseVariants.d.ts +0 -45
  540. package/package/components/copilot/chat/__tests__/shared/baseVariants.js +0 -57
  541. package/package/components/copilot/chat/__tests__/shared/index.d.ts +0 -10
  542. package/package/components/copilot/chat/__tests__/shared/index.js +0 -5
  543. package/package/components/copilot/chat/__tests__/shared/types.d.ts +0 -105
  544. package/package/components/copilot/chat/__tests__/shared/types.js +0 -9
  545. package/package/components/copilot/chat/flow/openFlowZod.js +0 -24
  546. package/package/components/copilot/chat/flow/utils.d.ts +0 -14
  547. package/package/components/copilot/chat/flow/utils.js +0 -108
  548. package/package/components/flows/agentToolUtils.test.js +0 -55
  549. /package/package/components/copilot/chat/{__tests__/app/appChat.eval.test.d.ts → app/core.test.d.ts} +0 -0
  550. /package/package/components/copilot/chat/{__tests__/flow/flowChat.eval.test.d.ts → flow/helperUtils.test.d.ts} +0 -0
  551. /package/package/components/copilot/chat/flow/{openFlowZod.d.ts → openFlowZod.gen.d.ts} +0 -0
  552. /package/package/components/{flows/agentToolUtils.test.d.ts → copilot/chat/flow/utils.test.d.ts} +0 -0
@@ -1,136 +0,0 @@
1
- import Anthropic from '@anthropic-ai/sdk';
2
- import { BASE_EVALUATOR_RESPONSE_FORMAT } from '../shared';
3
- /**
4
- * System prompt for evaluating app generation without a reference expected app.
5
- * Evaluates based on user request fulfillment and appropriate modifications to initial state.
6
- */
7
- const APP_GENERATION_EVALUATOR_SYSTEM_PROMPT = `You are an expert evaluator for Windmill Raw App definitions. Your task is to evaluate a generated app based on:
8
- 1. The original user request/prompt
9
- 2. The initial app state (if any) - this is what the app looked like before the AI made changes
10
-
11
- ## Windmill Raw App Context
12
- - Raw Apps consist of frontend files and backend runnables
13
- - Frontend files are TypeScript/JavaScript files bundled with esbuild (entrypoint: index.tsx)
14
- - Backend runnables can be: inline scripts (TypeScript/Python), workspace scripts, workspace flows, or hub scripts
15
- - Frontend calls backend using \`await backend.<runnable_key>(args...)\`
16
- - Each backend runnable has a key (identifier), name (description), type, and configuration
17
-
18
- ## Backend Runnable Types
19
- - **inline**: Custom code with \`inlineScript.language\` and \`inlineScript.content\`
20
- - **script**: Workspace script reference with \`path\`
21
- - **flow**: Workspace flow reference with \`path\`
22
- - **hubscript**: Hub script reference with \`path\`
23
-
24
- ## Evaluation Criteria
25
- 1. **User Request Fulfillment**: Does the generated app address ALL requirements from the user's original prompt?
26
- - Are all requested features implemented?
27
- - Does the frontend UI match the requirements?
28
- - Are the correct backend runnables created?
29
- 2. **Appropriate Modifications** (if initial app was provided):
30
- - Were the changes made relevant to the user's request?
31
- - Was existing functionality preserved where appropriate?
32
- - Were only necessary changes made (no unnecessary removals or additions)?
33
- 3. **Frontend Structure**: Are the frontend files correctly organized and implemented?
34
- - Is the code valid TypeScript/JavaScript?
35
- - Are components properly structured?
36
- - Are backend calls correctly made?
37
- 4. **Backend Structure**: Are the backend runnables correctly configured?
38
- - Do inline scripts have proper main functions?
39
- - Are types and paths correct for non-inline runnables?
40
- 5. **Integration**: Does the frontend correctly call the backend?
41
- - Are the runnable keys correctly referenced?
42
- - Are arguments passed correctly?
43
- 6. **Code Quality**: Is the code functionally correct and well-structured?
44
-
45
- ## Important Notes
46
- - Focus on whether the user's request was fulfilled, not on stylistic preferences
47
- - If an initial app was provided, evaluate the appropriateness of the changes made
48
- - For new apps (no initial state), evaluate completeness and correctness
49
- - Extra helper functions or slightly different approaches can still score high if they accomplish the goal
50
-
51
- ${BASE_EVALUATOR_RESPONSE_FORMAT}`;
52
- /**
53
- * Evaluates how well a generated app fulfills the user's request, considering any initial app state.
54
- * Uses Anthropic API directly.
55
- */
56
- export async function evaluateAppGeneration(userPrompt, generatedApp, initialApp) {
57
- // @ts-ignore
58
- const apiKey = process.env.ANTHROPIC_API_KEY;
59
- if (!apiKey) {
60
- return {
61
- success: false,
62
- resemblanceScore: 0,
63
- statement: 'No API key available for evaluation',
64
- error: 'ANTHROPIC_API_KEY not set'
65
- };
66
- }
67
- const client = new Anthropic({ apiKey });
68
- let userMessage = `## User's Original Request
69
- ${userPrompt}
70
-
71
- `;
72
- if (initialApp) {
73
- userMessage += `## Initial App State (before AI modifications)
74
- \`\`\`json
75
- ${JSON.stringify(initialApp, null, 2)}
76
- \`\`\`
77
-
78
- `;
79
- }
80
- else {
81
- userMessage += `## Initial App State
82
- No initial app was provided - this is a new app created from scratch.
83
-
84
- `;
85
- }
86
- userMessage += `## Generated App
87
- \`\`\`json
88
- ${JSON.stringify(generatedApp, null, 2)}
89
- \`\`\`
90
-
91
- Please evaluate how well the generated app:
92
- 1. Fulfills ALL requirements from the user's original request
93
- 2. ${initialApp ? 'Makes appropriate modifications to the initial app state' : 'Implements a complete and correct new app'}`;
94
- try {
95
- const response = await client.messages.create({
96
- model: 'claude-sonnet-4-5-20250514',
97
- max_tokens: 2048,
98
- system: APP_GENERATION_EVALUATOR_SYSTEM_PROMPT,
99
- messages: [
100
- { role: 'user', content: userMessage }
101
- ],
102
- temperature: 0
103
- });
104
- const textBlock = response.content.find((block) => block.type === 'text');
105
- const content = textBlock?.text;
106
- if (!content) {
107
- return {
108
- success: false,
109
- resemblanceScore: 0,
110
- statement: 'No response from evaluator',
111
- error: 'Empty response from LLM'
112
- };
113
- }
114
- // Parse JSON response - handle potential markdown code blocks
115
- let jsonContent = content.trim();
116
- if (jsonContent.startsWith('```')) {
117
- jsonContent = jsonContent.replace(/^```(?:json)?\n?/, '').replace(/\n?```$/, '');
118
- }
119
- const parsed = JSON.parse(jsonContent);
120
- return {
121
- success: true,
122
- resemblanceScore: Math.max(0, Math.min(100, Math.round(parsed.resemblanceScore))),
123
- statement: parsed.statement,
124
- missingRequirements: parsed.missingRequirements ?? []
125
- };
126
- }
127
- catch (err) {
128
- const errorMessage = err instanceof Error ? err.message : String(err);
129
- return {
130
- success: false,
131
- resemblanceScore: 0,
132
- statement: 'Evaluation failed',
133
- error: errorMessage
134
- };
135
- }
136
- }
@@ -1,15 +0,0 @@
1
- import type { AppAIChatHelpers, AppFiles, BackendRunnable } from '../../app/core';
2
- /**
3
- * Creates mock AppAIChatHelpers for eval testing.
4
- * Tracks app files state in memory and allows tool functions to modify it.
5
- */
6
- export declare function createAppEvalHelpers(initialFrontend?: Record<string, string>, initialBackend?: Record<string, BackendRunnable>): {
7
- helpers: AppAIChatHelpers;
8
- getFiles: () => AppFiles;
9
- getFrontend: () => {
10
- [x: string]: string;
11
- };
12
- getBackend: () => {
13
- [x: string]: BackendRunnable;
14
- };
15
- };
@@ -1,107 +0,0 @@
1
- /**
2
- * Creates an empty lint result (no errors or warnings).
3
- */
4
- function createEmptyLintResult() {
5
- return {
6
- errorCount: 0,
7
- warningCount: 0,
8
- errors: { frontend: {}, backend: {} },
9
- warnings: { frontend: {}, backend: {} }
10
- };
11
- }
12
- /**
13
- * Creates mock AppAIChatHelpers for eval testing.
14
- * Tracks app files state in memory and allows tool functions to modify it.
15
- */
16
- export function createAppEvalHelpers(initialFrontend = {}, initialBackend = {}) {
17
- // In-memory state
18
- let frontend = { ...initialFrontend };
19
- let backend = { ...initialBackend };
20
- let snapshotId = 0;
21
- const snapshots = new Map();
22
- const helpers = {
23
- // Frontend file operations
24
- listFrontendFiles: () => Object.keys(frontend),
25
- getFrontendFile: (path) => frontend[path],
26
- getFrontendFiles: () => ({ ...frontend }),
27
- setFrontendFile: (path, content) => {
28
- frontend[path] = content;
29
- // Return mock lint result - in real usage this would validate the file
30
- return createEmptyLintResult();
31
- },
32
- deleteFrontendFile: (path) => {
33
- delete frontend[path];
34
- },
35
- // Backend runnable operations
36
- listBackendRunnables: () => {
37
- return Object.entries(backend).map(([key, runnable]) => ({
38
- key,
39
- name: runnable.name
40
- }));
41
- },
42
- getBackendRunnable: (key) => backend[key],
43
- getBackendRunnables: () => ({ ...backend }),
44
- setBackendRunnable: async (key, runnable) => {
45
- backend[key] = runnable;
46
- // Return mock lint result - in real usage this would validate the runnable
47
- return createEmptyLintResult();
48
- },
49
- deleteBackendRunnable: (key) => {
50
- delete backend[key];
51
- },
52
- // Combined view
53
- getFiles: () => ({
54
- frontend: { ...frontend },
55
- backend: { ...backend }
56
- }),
57
- getSelectedContext: () => ({
58
- type: 'none'
59
- }),
60
- // Snapshot management
61
- snapshot: () => {
62
- const id = ++snapshotId;
63
- snapshots.set(id, {
64
- frontend: { ...frontend },
65
- backend: { ...backend }
66
- });
67
- return id;
68
- },
69
- revertToSnapshot: (id) => {
70
- const snap = snapshots.get(id);
71
- if (snap) {
72
- frontend = { ...snap.frontend };
73
- backend = { ...snap.backend };
74
- }
75
- },
76
- // Linting
77
- lint: () => {
78
- // Return mock lint result - no actual linting in eval
79
- return createEmptyLintResult();
80
- },
81
- // Data table operations (mock implementation for testing)
82
- getDatatables: async () => {
83
- // Return empty array for eval testing - no real datatables in test context
84
- return [];
85
- },
86
- getAvailableDatatableNames: () => {
87
- // Return empty array for eval testing - no real datatables in test context
88
- return [];
89
- },
90
- execDatatableSql: async (_datatableName, _sql, _newTable) => {
91
- // Return success with empty result for eval testing
92
- return { success: true, result: [] };
93
- },
94
- addTableToWhitelist: (_datatableName, _schemaName, _tableName) => {
95
- // No-op for eval testing - tables are not tracked in test context
96
- }
97
- };
98
- return {
99
- helpers,
100
- getFiles: () => ({
101
- frontend: { ...frontend },
102
- backend: { ...backend }
103
- }),
104
- getFrontend: () => ({ ...frontend }),
105
- getBackend: () => ({ ...backend })
106
- };
107
- }
@@ -1,50 +0,0 @@
1
- import type { AppFiles, BackendRunnable } from '../../app/core';
2
- import { type VariantConfig, type BaseEvalResult } from '../shared';
3
- import type { AIProvider } from '../../../../../gen/types.gen';
4
- export type { InitialApp } from './appEvalComparison';
5
- /**
6
- * App-specific evaluation result.
7
- */
8
- export interface AppEvalResult extends BaseEvalResult<AppFiles> {
9
- /** Alias for output to maintain API compatibility */
10
- files: AppFiles;
11
- }
12
- /**
13
- * Options for running an app evaluation.
14
- */
15
- export interface AppEvalOptions {
16
- initialFrontend?: Record<string, string>;
17
- initialBackend?: Record<string, BackendRunnable>;
18
- model?: string;
19
- customSystemPrompt?: string;
20
- maxIterations?: number;
21
- variant?: VariantConfig;
22
- /** Whether to evaluate the generated app with LLM. Default: true. Set to false to skip evaluation. */
23
- evaluateWithLLM?: boolean;
24
- /** AI provider (inferred from model name if omitted) */
25
- provider?: AIProvider;
26
- }
27
- /**
28
- * Runs an app chat evaluation using the shared chat loop (same code path as production).
29
- */
30
- export declare function runAppEval(userPrompt: string, apiKey: string, options?: AppEvalOptions): Promise<AppEvalResult>;
31
- /**
32
- * Per-variant provider override.
33
- */
34
- export interface VariantProviderOverride {
35
- provider: AIProvider;
36
- apiKey: string;
37
- }
38
- /**
39
- * Runs the same prompt against multiple variants sequentially for comparison.
40
- * Accepts optional per-variant provider/apiKey overrides.
41
- */
42
- export declare function runVariantComparison(userPrompt: string, variants: VariantConfig[], defaultApiKey: string, baseOptions?: Omit<AppEvalOptions, 'variant'>, providerOverrides?: VariantProviderOverride[]): Promise<AppEvalResult[]>;
43
- /**
44
- * Writes app comparison results to a folder-based structure.
45
- * Each variant gets its own folder with frontend/, backend/, and details.json.
46
- */
47
- export declare function writeAppComparisonResults(userPrompt: string, results: AppEvalResult[], outputDir?: string): Promise<{
48
- summaryPath: string;
49
- appPaths: string[];
50
- }>;
@@ -1,93 +0,0 @@
1
- import { getAppTools, prepareAppSystemMessage, prepareAppUserMessage } from '../../app/core';
2
- import { createAppEvalHelpers } from './appEvalHelpers';
3
- import { evaluateAppGeneration } from './appEvalComparison';
4
- import { runEval, resolveSystemPrompt, resolveTools, resolveModel } from '../shared';
5
- import { writeAppComparisonResultsToFolders } from './appResultsWriter';
6
- /**
7
- * App-specific variant defaults.
8
- */
9
- const appDefaults = {
10
- prepareSystemMessage: prepareAppSystemMessage,
11
- tools: getAppTools()
12
- };
13
- /**
14
- * Runs an app chat evaluation using the shared chat loop (same code path as production).
15
- */
16
- export async function runAppEval(userPrompt, apiKey, options) {
17
- const { helpers, getFiles } = createAppEvalHelpers(options?.initialFrontend ?? {}, options?.initialBackend ?? {});
18
- // Resolve variant configuration
19
- const variantName = options?.variant?.name ?? 'baseline';
20
- const systemMessage = resolveSystemPrompt(options?.variant, appDefaults, options?.customSystemPrompt);
21
- const { tools } = resolveTools(options?.variant, appDefaults);
22
- const model = resolveModel(options?.variant, options?.model);
23
- // Build user message
24
- const userMessage = prepareAppUserMessage(userPrompt, helpers.getSelectedContext());
25
- // Run the base evaluation
26
- const rawResult = await runEval({
27
- userPrompt,
28
- systemMessage,
29
- userMessage,
30
- tools,
31
- helpers,
32
- apiKey,
33
- getOutput: getFiles,
34
- options: {
35
- maxIterations: options?.maxIterations,
36
- model,
37
- workspace: 'test-workspace',
38
- provider: options?.provider
39
- }
40
- });
41
- // Run LLM evaluation unless explicitly disabled
42
- let evaluationResult;
43
- if (options?.evaluateWithLLM !== false) {
44
- const generatedApp = getFiles();
45
- const initialApp = options?.initialFrontend || options?.initialBackend
46
- ? {
47
- frontend: options.initialFrontend ?? {},
48
- backend: options.initialBackend ?? {}
49
- }
50
- : undefined;
51
- evaluationResult = await evaluateAppGeneration(userPrompt, generatedApp, initialApp);
52
- }
53
- return {
54
- ...rawResult,
55
- variantName,
56
- files: rawResult.output,
57
- evaluationResult
58
- };
59
- }
60
- /**
61
- * Runs the same prompt against multiple variants sequentially for comparison.
62
- * Accepts optional per-variant provider/apiKey overrides.
63
- */
64
- export async function runVariantComparison(userPrompt, variants, defaultApiKey, baseOptions, providerOverrides) {
65
- const results = await Promise.all(variants.map(async (variant, i) => {
66
- const override = providerOverrides?.[i];
67
- return await runAppEval(userPrompt, override?.apiKey ?? defaultApiKey, {
68
- ...baseOptions,
69
- variant,
70
- provider: override?.provider ?? baseOptions?.provider
71
- });
72
- }));
73
- return results;
74
- }
75
- /**
76
- * Writes app comparison results to a folder-based structure.
77
- * Each variant gets its own folder with frontend/, backend/, and details.json.
78
- */
79
- export async function writeAppComparisonResults(userPrompt, results, outputDir) {
80
- // @ts-ignore
81
- const { dirname, join } = await import('path');
82
- // @ts-ignore
83
- const { fileURLToPath } = await import('url');
84
- const __filename = fileURLToPath(import.meta.url);
85
- const __dirname = dirname(__filename);
86
- const resultsDir = outputDir ?? join(__dirname, 'results');
87
- const result = await writeAppComparisonResultsToFolders({
88
- userPrompt,
89
- results,
90
- outputDir: resultsDir
91
- });
92
- return { summaryPath: result.summaryPath, appPaths: result.variantPaths };
93
- }
@@ -1,29 +0,0 @@
1
- import type { AppFiles, BackendRunnable } from '../../app/core';
2
- /**
3
- * Loads an app fixture from a directory structure.
4
- *
5
- * Expected structure:
6
- * ```
7
- * fixturePath/
8
- * ├── frontend/
9
- * │ └── index.tsx # → frontend["/index.tsx"]
10
- * │ └── components/
11
- * │ └── Button.tsx # → frontend["/components/Button.tsx"]
12
- * └── backend/
13
- * └── incrementCounter/
14
- * ├── main.ts # The code content
15
- * └── meta.json # { "name": "...", "language": "bun" }
16
- * ```
17
- *
18
- * @param fixturePath - Path to the fixture directory
19
- * @returns AppFiles object with frontend and backend
20
- */
21
- export declare function loadAppFixture(fixturePath: string): Promise<AppFiles>;
22
- /**
23
- * Loads an app fixture and returns the separate frontend and backend objects.
24
- * Convenience function for use with runAppEval options.
25
- */
26
- export declare function loadAppFixtureForEval(fixturePath: string): Promise<{
27
- initialFrontend: Record<string, string>;
28
- initialBackend: Record<string, BackendRunnable>;
29
- }>;
@@ -1,134 +0,0 @@
1
- /**
2
- * Recursively reads all files in a directory and returns them as a record.
3
- * File paths are relative to the base directory with a leading '/'.
4
- */
5
- async function readFilesRecursively(dir, basePath = '') {
6
- // @ts-ignore - Node.js fs/promises
7
- const { readdir, readFile } = await import('fs/promises');
8
- // @ts-ignore - Node.js path
9
- const { join } = await import('path');
10
- const result = {};
11
- const entries = await readdir(dir, { withFileTypes: true });
12
- for (const entry of entries) {
13
- const fullPath = join(dir, entry.name);
14
- const relativePath = basePath ? `${basePath}/${entry.name}` : `/${entry.name}`;
15
- if (entry.isDirectory()) {
16
- const subFiles = await readFilesRecursively(fullPath, relativePath);
17
- Object.assign(result, subFiles);
18
- }
19
- else {
20
- const content = await readFile(fullPath, 'utf-8');
21
- result[relativePath] = content;
22
- }
23
- }
24
- return result;
25
- }
26
- /**
27
- * Loads frontend files from a directory.
28
- * All files are read recursively and paths become keys with leading '/'.
29
- */
30
- async function loadFrontend(frontendPath) {
31
- // @ts-ignore - Node.js fs/promises
32
- const { access } = await import('fs/promises');
33
- try {
34
- await access(frontendPath);
35
- }
36
- catch {
37
- // Directory doesn't exist, return empty
38
- return {};
39
- }
40
- return readFilesRecursively(frontendPath);
41
- }
42
- /**
43
- * Loads backend runnables from a directory.
44
- * Each subdirectory is a runnable with:
45
- * - main.ts or main.py: The code content
46
- * - meta.json: Metadata { name, language }
47
- */
48
- async function loadBackend(backendPath) {
49
- // @ts-ignore - Node.js fs/promises
50
- const { readdir, readFile, access } = await import('fs/promises');
51
- // @ts-ignore - Node.js path
52
- const { join } = await import('path');
53
- try {
54
- await access(backendPath);
55
- }
56
- catch {
57
- // Directory doesn't exist, return empty
58
- return {};
59
- }
60
- const result = {};
61
- const entries = await readdir(backendPath, { withFileTypes: true });
62
- for (const entry of entries) {
63
- if (!entry.isDirectory())
64
- continue;
65
- const runnableKey = entry.name;
66
- const runnablePath = join(backendPath, entry.name);
67
- // Read meta.json
68
- const metaPath = join(runnablePath, 'meta.json');
69
- let meta;
70
- try {
71
- const metaContent = await readFile(metaPath, 'utf-8');
72
- meta = JSON.parse(metaContent);
73
- }
74
- catch {
75
- console.warn(`Missing or invalid meta.json for runnable '${runnableKey}', skipping`);
76
- continue;
77
- }
78
- // Find and read the main file (main.ts or main.py)
79
- const runnableFiles = await readdir(runnablePath);
80
- const mainFile = runnableFiles.find((f) => f === 'main.ts' || f === 'main.py');
81
- if (!mainFile) {
82
- console.warn(`No main.ts or main.py found for runnable '${runnableKey}', skipping`);
83
- continue;
84
- }
85
- const content = await readFile(join(runnablePath, mainFile), 'utf-8');
86
- const inlineScript = {
87
- language: meta.language,
88
- content
89
- };
90
- result[runnableKey] = {
91
- name: meta.name,
92
- type: 'inline',
93
- inlineScript
94
- };
95
- }
96
- return result;
97
- }
98
- /**
99
- * Loads an app fixture from a directory structure.
100
- *
101
- * Expected structure:
102
- * ```
103
- * fixturePath/
104
- * ├── frontend/
105
- * │ └── index.tsx # → frontend["/index.tsx"]
106
- * │ └── components/
107
- * │ └── Button.tsx # → frontend["/components/Button.tsx"]
108
- * └── backend/
109
- * └── incrementCounter/
110
- * ├── main.ts # The code content
111
- * └── meta.json # { "name": "...", "language": "bun" }
112
- * ```
113
- *
114
- * @param fixturePath - Path to the fixture directory
115
- * @returns AppFiles object with frontend and backend
116
- */
117
- export async function loadAppFixture(fixturePath) {
118
- // @ts-ignore - Node.js path
119
- const { join } = await import('path');
120
- const frontend = await loadFrontend(join(fixturePath, 'frontend'));
121
- const backend = await loadBackend(join(fixturePath, 'backend'));
122
- return { frontend, backend };
123
- }
124
- /**
125
- * Loads an app fixture and returns the separate frontend and backend objects.
126
- * Convenience function for use with runAppEval options.
127
- */
128
- export async function loadAppFixtureForEval(fixturePath) {
129
- const { frontend, backend } = await loadAppFixture(fixturePath);
130
- return {
131
- initialFrontend: frontend,
132
- initialBackend: backend
133
- };
134
- }
@@ -1,30 +0,0 @@
1
- import type { AppEvalResult } from './appEvalRunner';
2
- /**
3
- * Parameters for writing app comparison results.
4
- */
5
- export interface WriteAppResultsParams {
6
- userPrompt: string;
7
- results: AppEvalResult[];
8
- outputDir: string;
9
- }
10
- /**
11
- * Writes app comparison results to a folder-based structure.
12
- *
13
- * Creates:
14
- * ```
15
- * results/{timestamp}/
16
- * ├── summary.md
17
- * └── {variant_name}/
18
- * ├── details.json # Metadata (toolsCalled, evaluationResult, etc.)
19
- * ├── frontend/ # Frontend files
20
- * │ └── index.tsx
21
- * └── backend/ # Backend runnables
22
- * └── myFunction/
23
- * ├── main.ts
24
- * └── meta.json
25
- * ```
26
- */
27
- export declare function writeAppComparisonResultsToFolders(params: WriteAppResultsParams): Promise<{
28
- summaryPath: string;
29
- variantPaths: string[];
30
- }>;