windmill-components 1.677.0 → 1.687.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/AppConnectInner.svelte +6 -0
- package/package/components/CiTestResults.svelte +64 -0
- package/package/components/CiTestResults.svelte.d.ts +7 -0
- package/package/components/CompareWorkspaces.svelte +626 -418
- package/package/components/DBManager.svelte +35 -4
- package/package/components/DBManager.svelte.d.ts +2 -0
- package/package/components/DBManagerContent.svelte +3 -1
- package/package/components/DBManagerContent.svelte.d.ts +3 -0
- package/package/components/DBManagerDrawer.svelte +145 -3
- package/package/components/DBTableEditor.svelte +14 -4
- package/package/components/DatatablePicker.svelte +2 -5
- package/package/components/DatatableSchemaDiff.svelte +531 -0
- package/package/components/DatatableSchemaDiff.svelte.d.ts +29 -0
- package/package/components/DedicatedWorkersSelector.svelte +4 -2
- package/package/components/DefaultTagsInner.svelte +42 -2
- package/package/components/DeployWorkspaceDrawer.svelte +1 -1
- package/package/components/Dev.svelte +20 -3
- package/package/components/Editor.svelte +1 -1
- package/package/components/EditorBar.svelte +1 -1
- package/package/components/EditorBar.svelte.d.ts +1 -1
- package/package/components/FlowStatusViewerInner.svelte +269 -220
- package/package/components/FlowTimeline.svelte +1 -1
- package/package/components/FolderEditor.svelte +189 -4
- package/package/components/ForkWorkspaceBanner.svelte +82 -11
- package/package/components/GlobalUserOffboardingModal.svelte +293 -0
- package/package/components/GlobalUserOffboardingModal.svelte.d.ts +10 -0
- package/package/components/InstanceSettings.svelte +22 -3
- package/package/components/Login.svelte +22 -10
- package/package/components/ModuleTest.svelte +2 -1
- package/package/components/NoMainFuncBadge.svelte +1 -1
- package/package/components/OffboardItemsBox.svelte +56 -0
- package/package/components/OffboardItemsBox.svelte.d.ts +12 -0
- package/package/components/OffboardReassignControls.svelte +47 -0
- package/package/components/OffboardReassignControls.svelte.d.ts +20 -0
- package/package/components/OffboardWorkspaceSection.svelte +110 -0
- package/package/components/OffboardWorkspaceSection.svelte.d.ts +24 -0
- package/package/components/OnBehalfOfSelector.svelte +21 -3
- package/package/components/OnBehalfOfSelector.svelte.d.ts +7 -0
- package/package/components/QueueAlerts.svelte +10 -10
- package/package/components/ResourcePicker.svelte +2 -2
- package/package/components/ScriptBuilder.svelte +52 -11
- package/package/components/ScriptEditor.svelte +1 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ShareModal.svelte +236 -98
- package/package/components/SuperadminSettingsInner.svelte +362 -315
- package/package/components/UserOffboardingModal.svelte +238 -0
- package/package/components/UserOffboardingModal.svelte.d.ts +10 -0
- package/package/components/WorkspaceDeployLayout.svelte +3 -3
- package/package/components/WorkspaceDeployLayout.svelte.d.ts +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +4 -2
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +12 -0
- package/package/components/assets/AssetsDropdownButton.svelte +1 -1
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
- package/package/components/common/table/AppRow.svelte +3 -3
- package/package/components/common/table/FlowRow.svelte +3 -3
- package/package/components/common/table/RawAppRow.svelte +4 -4
- package/package/components/common/table/Row.svelte +6 -2
- package/package/components/common/table/ScriptRow.svelte +11 -3
- package/package/components/copilot/chat/AIChatManager.svelte.js +2 -2
- package/package/components/copilot/chat/anthropic.d.ts +7 -1
- package/package/components/copilot/chat/anthropic.js +5 -2
- package/package/components/copilot/chat/app/core.js +129 -1
- package/package/components/copilot/chat/app/core.test.js +192 -0
- package/package/components/copilot/chat/chatLoop.d.ts +3 -0
- package/package/components/copilot/chat/chatLoop.js +13 -5
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +55 -76
- package/package/components/copilot/chat/flow/core.d.ts +13 -3
- package/package/components/copilot/chat/flow/core.js +467 -116
- package/package/components/copilot/chat/flow/helperUtils.d.ts +19 -0
- package/package/components/copilot/chat/flow/helperUtils.js +68 -0
- package/package/components/copilot/chat/flow/helperUtils.test.js +116 -0
- package/package/components/copilot/chat/flow/inlineScriptsUtils.d.ts +5 -24
- package/package/components/copilot/chat/flow/inlineScriptsUtils.js +30 -55
- package/package/components/copilot/chat/flow/utils.test.js +59 -0
- package/package/components/copilot/chat/openai-responses.d.ts +7 -1
- package/package/components/copilot/chat/openai-responses.js +5 -2
- package/package/components/copilot/chat/shared.d.ts +1 -2
- package/package/components/copilot/chat/shared.js +94 -52
- package/package/components/copilot/chat/tokenUsage.d.ts +23 -0
- package/package/components/copilot/chat/tokenUsage.js +42 -0
- package/package/components/copilot/lib.d.ts +5 -1
- package/package/components/copilot/lib.js +21 -5
- package/package/components/deploymentRequest/DeploymentRequestPanel.svelte +337 -0
- package/package/components/deploymentRequest/DeploymentRequestPanel.svelte.d.ts +15 -0
- package/package/components/details/CopyableCodeBlock.svelte +18 -8
- package/package/components/details/CopyableCodeBlock.svelte.d.ts +1 -0
- package/package/components/flows/FlowAssetsHandler.svelte +19 -21
- package/package/components/flows/agentToolTree.d.ts +17 -0
- package/package/components/flows/agentToolTree.js +114 -0
- package/package/components/flows/agentToolTree.test.d.ts +1 -0
- package/package/components/flows/agentToolTree.test.js +86 -0
- package/package/components/flows/agentToolUtils.d.ts +0 -5
- package/package/components/flows/agentToolUtils.js +0 -49
- package/package/components/flows/content/FlowLoop.svelte +7 -4
- package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +15 -7
- package/package/components/flows/content/FlowSettings.svelte +29 -0
- package/package/components/flows/dfs.d.ts +6 -2
- package/package/components/flows/dfs.js +19 -11
- package/package/components/flows/flowDeleteController.d.ts +32 -0
- package/package/components/flows/flowDeleteController.js +54 -0
- package/package/components/flows/flowDeleteController.test.d.ts +1 -0
- package/package/components/flows/flowDeleteController.test.js +121 -0
- package/package/components/flows/flowDeleteUtils.d.ts +48 -0
- package/package/components/flows/flowDeleteUtils.js +150 -0
- package/package/components/flows/flowDeleteUtils.test.d.ts +1 -0
- package/package/components/flows/flowDeleteUtils.test.js +131 -0
- package/package/components/flows/flowDiff.d.ts +2 -47
- package/package/components/flows/flowDiff.js +16 -293
- package/package/components/flows/flowDiff.testUtils.d.ts +8 -0
- package/package/components/flows/flowDiff.testUtils.js +26 -0
- package/package/components/flows/flowDiffManager.svelte.js +20 -75
- package/package/components/flows/flowDiffManager.svelte.test.js +103 -2
- package/package/components/flows/flowExplorer.d.ts +4 -0
- package/package/components/flows/flowExplorer.js +7 -30
- package/package/components/flows/flowState.d.ts +1 -0
- package/package/components/flows/flowStateUtils.svelte.js +6 -1
- package/package/components/flows/flowStore.svelte.d.ts +1 -1
- package/package/components/flows/flowTree.d.ts +91 -0
- package/package/components/flows/flowTree.js +326 -0
- package/package/components/flows/flowTree.test.d.ts +1 -0
- package/package/components/flows/flowTree.test.js +236 -0
- package/package/components/flows/map/FlowJobsMenu.svelte +36 -30
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +70 -227
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +0 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +2 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
- package/package/components/flows/previousResults.js +13 -41
- package/package/components/flows/previousResults.test.d.ts +1 -0
- package/package/components/flows/previousResults.test.js +65 -0
- package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte +41 -4
- package/package/components/flows/propPicker/StepHistory.svelte +9 -1
- package/package/components/git_sync/GitSyncContext.svelte.js +11 -5
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +2 -29
- package/package/components/git_sync/PullWorkspaceModal.svelte +6 -7
- package/package/components/graph/FlowGraphV2.svelte +2 -2
- package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
- package/package/components/graph/groupedModulesProxy.svelte.d.ts +10 -0
- package/package/components/graph/groupedModulesProxy.svelte.js +17 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +5 -2
- package/package/components/home/HomeConnectDrawer.svelte +125 -0
- package/package/components/home/HomeConnectDrawer.svelte.d.ts +5 -0
- package/package/components/icons/GithubIcon.svelte +4 -4
- package/package/components/icons/GithubIcon.svelte.d.ts +5 -2
- package/package/components/instanceSettings/ExternalJwtTokens.svelte +85 -0
- package/package/components/instanceSettings/ExternalJwtTokens.svelte.d.ts +12 -0
- package/package/components/instanceSettings/GhesAppSettings.svelte +17 -0
- package/package/components/instanceSettings/IndexerMemorySettings.svelte +56 -29
- package/package/components/instanceSettings/SecretBackendConfig.svelte +9 -2
- package/package/components/instanceSettings.d.ts +1 -0
- package/package/components/instanceSettings.js +42 -8
- package/package/components/offboarding-utils.d.ts +11 -0
- package/package/components/offboarding-utils.js +100 -0
- package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -1
- package/package/components/raw_apps/RawAppEditor.svelte +27 -0
- package/package/components/raw_apps/RawAppEditorHeader.svelte +6 -1
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -0
- package/package/components/raw_apps/RawAppYamlEditor.svelte +81 -0
- package/package/components/raw_apps/RawAppYamlEditor.svelte.d.ts +20 -0
- package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
- package/package/components/runs/runsFilter.d.ts +1 -1
- package/package/components/script_builder.d.ts +1 -1
- package/package/components/select/Select.svelte +2 -1
- package/package/components/select/Select.svelte.d.ts +1 -0
- package/package/components/settings/CreateToken.svelte +113 -64
- package/package/components/settings/CreateToken.svelte.d.ts +3 -0
- package/package/components/settings/WorkspaceUserSettings.svelte +34 -28
- package/package/components/sidebar/SidebarContent.svelte +58 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +8 -4
- package/package/components/triggers/AddTriggersButton.svelte +11 -0
- package/package/components/triggers/PermissionedAsLine.svelte +37 -3
- package/package/components/triggers/PermissionedAsLine.svelte.d.ts +6 -0
- package/package/components/triggers/TriggersEditor.svelte +5 -1
- package/package/components/triggers/TriggersWrapper.svelte +10 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +15 -7
- package/package/components/triggers/http/RouteEditorInner.svelte +14 -14
- package/package/components/triggers/http/RoutesGenerator.svelte +6 -1
- package/package/components/triggers/http/RoutesPanel.svelte +1 -1
- package/package/components/triggers/http/utils.d.ts +1 -1
- package/package/components/triggers/http/utils.js +2 -2
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte.d.ts +1 -1
- package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/native/NativeTriggerEditor.svelte +3 -0
- package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte +118 -0
- package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte.d.ts +17 -0
- package/package/components/triggers/native/utils.js +14 -0
- package/package/components/triggers/nats/NatsTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +13 -11
- package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +4 -3
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +13 -11
- package/package/components/triggers/triggers.svelte.js +1 -0
- package/package/components/triggers/utils.js +27 -6
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +13 -11
- package/package/components/triggers.d.ts +1 -1
- package/package/components/useFolderDefaultPermissionedAs.svelte.d.ts +13 -0
- package/package/components/useFolderDefaultPermissionedAs.svelte.js +63 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte +16 -677
- package/package/components/workspaceSettings/CreateWorkspaceInner.svelte +604 -0
- package/package/components/workspaceSettings/CreateWorkspaceInner.svelte.d.ts +7 -0
- package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +27 -25
- package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +46 -8
- package/package/components/workspaceSettings/DataTableSettings.svelte +27 -22
- package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
- package/package/components/workspaceSettings/ForkDatatableSection.svelte +228 -0
- package/package/components/workspaceSettings/ForkDatatableSection.svelte.d.ts +28 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +8 -2
- package/package/components/workspaceSettings/RulesetEditor.svelte +27 -2
- package/package/components/workspaceSettings/VolumeStorageSettings.svelte +1 -1
- package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +17 -1
- package/package/consts.d.ts +3 -0
- package/package/consts.js +10 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +1172 -164
- package/package/gen/schemas.gen.js +1168 -157
- package/package/gen/services.gen.d.ts +511 -6
- package/package/gen/services.gen.js +1023 -23
- package/package/gen/types.gen.d.ts +2278 -151
- package/package/githubApp.js +5 -1
- package/package/hubPaths.json +1 -4
- package/package/infer.js +13 -1
- package/package/infer.svelte.js +10 -1
- package/package/monaco_workers/sqlTypePlugin.worker.d.ts +10 -0
- package/package/monaco_workers/sqlTypePlugin.worker.js +39 -0
- package/package/script_helpers.d.ts +8 -2
- package/package/script_helpers.js +14 -0
- package/package/stores.d.ts +4 -0
- package/package/stores.js +1 -0
- package/package/system_prompts/prompts.d.ts +4 -3
- package/package/system_prompts/prompts.js +270 -20
- package/package/templates/ci_test_bun.ts.template +19 -0
- package/package/templates/ci_test_python.py.template +18 -0
- package/package/utils_deployable.d.ts +11 -7
- package/package/utils_workspace_deploy.d.ts +8 -8
- package/package/utils_workspace_deploy.js +86 -420
- package/package.json +4 -4
- package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +0 -153
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +0 -21
- package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +0 -136
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -107
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +0 -50
- package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +0 -93
- package/package/components/copilot/chat/__tests__/app/appFixtureLoader.d.ts +0 -29
- package/package/components/copilot/chat/__tests__/app/appFixtureLoader.js +0 -134
- package/package/components/copilot/chat/__tests__/app/appResultsWriter.d.ts +0 -30
- package/package/components/copilot/chat/__tests__/app/appResultsWriter.js +0 -197
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.js +0 -9
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.js +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.js +0 -25
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.d.ts +0 -7
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.tsx +0 -26
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.tsx +0 -79
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.tsx +0 -46
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.tsx +0 -56
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.tsx +0 -59
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.d.ts +0 -16
- package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.tsx +0 -119
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.js +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.d.ts +0 -14
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.js +0 -5
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.js +0 -41
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.d.ts +0 -9
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.tsx +0 -51
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.tsx +0 -27
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.d.ts +0 -8
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.tsx +0 -18
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.tsx +0 -81
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.js +0 -3
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/meta.json +0 -4
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.d.ts +0 -2
- package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.tsx +0 -38
- package/package/components/copilot/chat/__tests__/app/variants/baseline.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/variants/baseline.js +0 -10
- package/package/components/copilot/chat/__tests__/app/variants/index.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/app/variants/index.js +0 -3
- package/package/components/copilot/chat/__tests__/app/variants/streamlined.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +0 -137
- package/package/components/copilot/chat/__tests__/flow/expected/test1.json +0 -134
- package/package/components/copilot/chat/__tests__/flow/expected/test2.json +0 -183
- package/package/components/copilot/chat/__tests__/flow/expected/test3.json +0 -204
- package/package/components/copilot/chat/__tests__/flow/expected/test4.json +0 -175
- package/package/components/copilot/chat/__tests__/flow/expected/test5_modify_simple.json +0 -68
- package/package/components/copilot/chat/__tests__/flow/expected/test6_modify_medium.json +0 -142
- package/package/components/copilot/chat/__tests__/flow/expected/test7_modify_complex.json +0 -136
- package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +0 -294
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.d.ts +0 -17
- package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +0 -49
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.d.ts +0 -12
- package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -79
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +0 -50
- package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +0 -102
- package/package/components/copilot/chat/__tests__/flow/initial/test5_initial.json +0 -53
- package/package/components/copilot/chat/__tests__/flow/initial/test6_initial.json +0 -68
- package/package/components/copilot/chat/__tests__/flow/initial/test7_initial.json +0 -120
- package/package/components/copilot/chat/__tests__/flow/variants/baseline.d.ts +0 -6
- package/package/components/copilot/chat/__tests__/flow/variants/baseline.js +0 -10
- package/package/components/copilot/chat/__tests__/flow/variants/index.d.ts +0 -3
- package/package/components/copilot/chat/__tests__/flow/variants/index.js +0 -3
- package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.d.ts +0 -15
- package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +0 -388
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +0 -45
- package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +0 -121
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +0 -28
- package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +0 -96
- package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.d.ts +0 -32
- package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.js +0 -130
- package/package/components/copilot/chat/__tests__/shared/baseVariants.d.ts +0 -45
- package/package/components/copilot/chat/__tests__/shared/baseVariants.js +0 -57
- package/package/components/copilot/chat/__tests__/shared/index.d.ts +0 -10
- package/package/components/copilot/chat/__tests__/shared/index.js +0 -5
- package/package/components/copilot/chat/__tests__/shared/types.d.ts +0 -105
- package/package/components/copilot/chat/__tests__/shared/types.js +0 -9
- package/package/components/copilot/chat/flow/utils.d.ts +0 -14
- package/package/components/copilot/chat/flow/utils.js +0 -108
- package/package/components/flows/agentToolUtils.test.js +0 -55
- /package/package/components/copilot/chat/{__tests__/app/appChat.eval.test.d.ts → app/core.test.d.ts} +0 -0
- /package/package/components/copilot/chat/{__tests__/flow/flowChat.eval.test.d.ts → flow/helperUtils.test.d.ts} +0 -0
- /package/package/components/{flows/agentToolUtils.test.d.ts → copilot/chat/flow/utils.test.d.ts} +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
<script lang="ts">import { Alert, Button } from './common';
|
|
2
|
+
import { fade } from 'svelte/transition';
|
|
3
|
+
import { classNames } from '../utils';
|
|
4
|
+
import { AlertTriangle, CornerDownLeft, Loader2 } from 'lucide-svelte';
|
|
5
|
+
import { UserService, FolderService } from '../gen';
|
|
6
|
+
import { workspaceStore } from '../stores';
|
|
7
|
+
import { sendUserToast } from '../toast';
|
|
8
|
+
import Toggle from './Toggle.svelte';
|
|
9
|
+
import OffboardWorkspaceSection from './OffboardWorkspaceSection.svelte';
|
|
10
|
+
import { countPaths } from './offboarding-utils';
|
|
11
|
+
let { open = $bindable(), username, reassignOnly = false, onClose, onComplete } = $props();
|
|
12
|
+
let preview = $state(undefined);
|
|
13
|
+
let loading = $state(false);
|
|
14
|
+
let submitting = $state(false);
|
|
15
|
+
let conflicts = $state([]);
|
|
16
|
+
let doReassign = $state(true);
|
|
17
|
+
let targetKind = $state('user');
|
|
18
|
+
let selectedUser = $state(undefined);
|
|
19
|
+
let selectedFolder = $state(undefined);
|
|
20
|
+
let selectedOperator = $state(undefined);
|
|
21
|
+
let deleteUser = $state(true);
|
|
22
|
+
$effect(() => {
|
|
23
|
+
deleteUser = !reassignOnly;
|
|
24
|
+
});
|
|
25
|
+
let users = $state([]);
|
|
26
|
+
let folders = $state([]);
|
|
27
|
+
let ownedCount = $derived(preview ? countPaths(preview.owned) : 0);
|
|
28
|
+
let onBehalfCount = $derived(preview ? countPaths(preview.executing_on_behalf) : 0);
|
|
29
|
+
let hasItems = $derived(ownedCount > 0 || onBehalfCount > 0);
|
|
30
|
+
let reassignTo = $derived(targetKind === 'user'
|
|
31
|
+
? selectedUser
|
|
32
|
+
? `u/${selectedUser}`
|
|
33
|
+
: undefined
|
|
34
|
+
: selectedFolder
|
|
35
|
+
? `f/${selectedFolder}`
|
|
36
|
+
: undefined);
|
|
37
|
+
let canSubmit = $derived(!doReassign || !hasItems || (reassignTo != null && selectedOperator != null));
|
|
38
|
+
$effect(() => {
|
|
39
|
+
if (open) {
|
|
40
|
+
doReassign = true;
|
|
41
|
+
targetKind = 'user';
|
|
42
|
+
selectedUser = undefined;
|
|
43
|
+
selectedFolder = undefined;
|
|
44
|
+
selectedOperator = undefined;
|
|
45
|
+
conflicts = [];
|
|
46
|
+
loadPreview();
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
async function loadPreview() {
|
|
50
|
+
loading = true;
|
|
51
|
+
conflicts = [];
|
|
52
|
+
try {
|
|
53
|
+
const workspace = $workspaceStore ?? '';
|
|
54
|
+
const [previewResult, usernamesList, foldersList] = await Promise.all([
|
|
55
|
+
UserService.offboardPreview({ workspace, username }),
|
|
56
|
+
UserService.listUsernames({ workspace }),
|
|
57
|
+
FolderService.listFolders({ workspace })
|
|
58
|
+
]);
|
|
59
|
+
preview = previewResult;
|
|
60
|
+
users = usernamesList.filter((u) => u !== username).map((u) => ({ label: u, value: u }));
|
|
61
|
+
folders = foldersList.map((f) => ({ label: f.name, value: f.name }));
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
sendUserToast('Failed to load offboard preview', true);
|
|
65
|
+
onClose();
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
loading = false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function submit() {
|
|
72
|
+
submitting = true;
|
|
73
|
+
conflicts = [];
|
|
74
|
+
try {
|
|
75
|
+
if (!doReassign || !hasItems) {
|
|
76
|
+
await UserService.deleteUser({ workspace: $workspaceStore ?? '', username });
|
|
77
|
+
sendUserToast(`User ${username} removed`);
|
|
78
|
+
onComplete();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (!reassignTo)
|
|
82
|
+
return;
|
|
83
|
+
const result = await UserService.offboardWorkspaceUser({
|
|
84
|
+
workspace: $workspaceStore ?? '',
|
|
85
|
+
username,
|
|
86
|
+
requestBody: {
|
|
87
|
+
reassign_to: reassignTo,
|
|
88
|
+
new_on_behalf_of_user: selectedOperator,
|
|
89
|
+
delete_user: deleteUser
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
if (result.conflicts && result.conflicts.length > 0) {
|
|
93
|
+
conflicts = result.conflicts;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
sendUserToast(deleteUser
|
|
97
|
+
? `User ${username} offboarded successfully`
|
|
98
|
+
: `Items reassigned from ${username} successfully`);
|
|
99
|
+
onComplete();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
sendUserToast(`Offboarding failed: ${e}`, true);
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
submitting = false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function fadeFast(node) {
|
|
110
|
+
return fade(node, { duration: 100 });
|
|
111
|
+
}
|
|
112
|
+
</script>
|
|
113
|
+
|
|
114
|
+
{#if open}
|
|
115
|
+
<div transition:fadeFast|local class="fixed top-0 bottom-0 left-0 right-0 z-[5000]" role="dialog">
|
|
116
|
+
<div
|
|
117
|
+
class={classNames(
|
|
118
|
+
'fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity',
|
|
119
|
+
'ease-out duration-300 opacity-100'
|
|
120
|
+
)}
|
|
121
|
+
></div>
|
|
122
|
+
|
|
123
|
+
<div class="fixed inset-0 z-10 overflow-y-auto">
|
|
124
|
+
<div class="flex min-h-full items-center justify-center p-4">
|
|
125
|
+
<div
|
|
126
|
+
class="relative transform overflow-hidden rounded-lg bg-surface px-4 pt-5 pb-4 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-lg sm:p-6 max-h-[80vh] overflow-y-auto"
|
|
127
|
+
>
|
|
128
|
+
<div class="flex">
|
|
129
|
+
<div
|
|
130
|
+
class="flex h-12 w-12 items-center justify-center rounded-full bg-red-100 dark:bg-red-800/50"
|
|
131
|
+
>
|
|
132
|
+
<AlertTriangle class="text-red-500 dark:text-red-400" />
|
|
133
|
+
</div>
|
|
134
|
+
<div class="ml-4 text-left flex-1">
|
|
135
|
+
<h3 class="text-lg font-medium text-primary">
|
|
136
|
+
{reassignOnly ? 'Reassign user items' : 'Offboard user'}
|
|
137
|
+
</h3>
|
|
138
|
+
<p class="text-sm text-secondary mt-1">
|
|
139
|
+
{reassignOnly
|
|
140
|
+
? `Reassign items owned by ${username}`
|
|
141
|
+
: `Remove ${username} and reassign their items`}
|
|
142
|
+
</p>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
{#if loading}
|
|
147
|
+
<div class="flex items-center justify-center py-8">
|
|
148
|
+
<Loader2 class="animate-spin" size={24} />
|
|
149
|
+
<span class="ml-2 text-sm text-secondary">Loading preview...</span>
|
|
150
|
+
</div>
|
|
151
|
+
{:else if preview}
|
|
152
|
+
<div class="mt-4 space-y-3">
|
|
153
|
+
{#if hasItems}
|
|
154
|
+
{#if !reassignOnly}
|
|
155
|
+
<Toggle
|
|
156
|
+
bind:checked={doReassign}
|
|
157
|
+
size="xs"
|
|
158
|
+
options={{ right: 'Reassign items before removing' }}
|
|
159
|
+
/>
|
|
160
|
+
{/if}
|
|
161
|
+
|
|
162
|
+
{#if doReassign}
|
|
163
|
+
<OffboardWorkspaceSection
|
|
164
|
+
{preview}
|
|
165
|
+
{username}
|
|
166
|
+
{deleteUser}
|
|
167
|
+
bind:targetKind
|
|
168
|
+
bind:selectedUser
|
|
169
|
+
bind:selectedFolder
|
|
170
|
+
bind:selectedOperator
|
|
171
|
+
{users}
|
|
172
|
+
{folders}
|
|
173
|
+
/>
|
|
174
|
+
{:else}
|
|
175
|
+
<Alert type="warning" title="Items will not be reassigned">
|
|
176
|
+
<p class="text-xs">
|
|
177
|
+
All items owned by {username} ({ownedCount} owned, {onBehalfCount} running on behalf)
|
|
178
|
+
will be left as-is. Triggers and runnables may stop working if the user is removed.
|
|
179
|
+
</p>
|
|
180
|
+
</Alert>
|
|
181
|
+
{/if}
|
|
182
|
+
{:else}
|
|
183
|
+
<p class="text-sm text-secondary">
|
|
184
|
+
This user has no items to reassign in this workspace.
|
|
185
|
+
</p>
|
|
186
|
+
{/if}
|
|
187
|
+
|
|
188
|
+
{#if conflicts.length > 0}
|
|
189
|
+
<Alert type="error" title="Path conflicts detected">
|
|
190
|
+
<p class="text-xs mb-1"
|
|
191
|
+
>These items already exist at the target. Rename or delete them, or choose a
|
|
192
|
+
different user/folder.</p
|
|
193
|
+
>
|
|
194
|
+
<ul class="text-xs list-disc list-inside max-h-32 overflow-y-auto">
|
|
195
|
+
{#each conflicts as conflict}
|
|
196
|
+
<li>{conflict}</li>
|
|
197
|
+
{/each}
|
|
198
|
+
</ul>
|
|
199
|
+
</Alert>
|
|
200
|
+
{/if}
|
|
201
|
+
</div>
|
|
202
|
+
{/if}
|
|
203
|
+
|
|
204
|
+
<div class="flex items-center space-x-2 flex-row-reverse space-x-reverse mt-4">
|
|
205
|
+
{#if hasItems || deleteUser}
|
|
206
|
+
<Button
|
|
207
|
+
disabled={submitting || !canSubmit}
|
|
208
|
+
onclick={submit}
|
|
209
|
+
variant="accent"
|
|
210
|
+
size="sm"
|
|
211
|
+
destructive
|
|
212
|
+
shortCut={{ Icon: CornerDownLeft, hide: false, withoutModifier: true }}
|
|
213
|
+
>
|
|
214
|
+
{#if submitting}
|
|
215
|
+
<Loader2 class="animate-spin" />
|
|
216
|
+
{/if}
|
|
217
|
+
<span class="min-w-20">
|
|
218
|
+
{deleteUser ? 'Offboard' : 'Reassign'}
|
|
219
|
+
</span>
|
|
220
|
+
</Button>
|
|
221
|
+
{:else if !loading}
|
|
222
|
+
<Button onclick={onClose} variant="accent" size="sm">Close</Button>
|
|
223
|
+
{/if}
|
|
224
|
+
<Button
|
|
225
|
+
disabled={submitting}
|
|
226
|
+
onclick={onClose}
|
|
227
|
+
variant="default"
|
|
228
|
+
size="sm"
|
|
229
|
+
shortCut={{ key: 'Esc', hide: false, withoutModifier: true }}
|
|
230
|
+
>
|
|
231
|
+
Cancel
|
|
232
|
+
</Button>
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
238
|
+
{/if}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
open: boolean;
|
|
3
|
+
username: string;
|
|
4
|
+
reassignOnly?: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onComplete: () => void;
|
|
7
|
+
};
|
|
8
|
+
declare const UserOffboardingModal: import("svelte").Component<Props, {}, "open">;
|
|
9
|
+
type UserOffboardingModal = ReturnType<typeof UserOffboardingModal>;
|
|
10
|
+
export default UserOffboardingModal;
|
|
@@ -24,7 +24,7 @@ let hasSelectableItems = $derived(selectableItems.length > 0);
|
|
|
24
24
|
<!-- Select all row -->
|
|
25
25
|
<div class="px-4 py-2 flex items-center justify-between">
|
|
26
26
|
<div
|
|
27
|
-
class="flex items-center gap-2 text-secondary text-
|
|
27
|
+
class="flex items-center gap-2 text-secondary text-xs"
|
|
28
28
|
class:opacity-50={!hasSelectableItems}
|
|
29
29
|
>
|
|
30
30
|
<input
|
|
@@ -94,13 +94,13 @@ let hasSelectableItems = $derived(selectableItems.length > 0);
|
|
|
94
94
|
</div>
|
|
95
95
|
{:else}
|
|
96
96
|
<div class="flex items-center justify-center h-full">
|
|
97
|
-
<div class="text-
|
|
97
|
+
<div class="text-hint text-xs">{emptyMessage}</div>
|
|
98
98
|
</div>
|
|
99
99
|
{/if}
|
|
100
100
|
|
|
101
101
|
<!-- Footer -->
|
|
102
102
|
{#if footer}
|
|
103
|
-
<div class="
|
|
103
|
+
<div class="pt-4">
|
|
104
104
|
{@render footer()}
|
|
105
105
|
</div>
|
|
106
106
|
{/if}
|
|
@@ -39,7 +39,8 @@ const dispatch = createEventDispatcher();
|
|
|
39
39
|
async function refreshScript(runnable) {
|
|
40
40
|
hubFlowPreview = undefined;
|
|
41
41
|
try {
|
|
42
|
-
|
|
42
|
+
const loaded = await getScriptByPath(runnable.path);
|
|
43
|
+
const schema = loaded.schema ?? emptySchema();
|
|
43
44
|
if (!deepEqual(runnable.schema, schema)) {
|
|
44
45
|
runnable.schema = schema;
|
|
45
46
|
if (!runnable.schema.order) {
|
|
@@ -80,7 +81,8 @@ async function refreshFlow(runnable) {
|
|
|
80
81
|
}
|
|
81
82
|
return;
|
|
82
83
|
}
|
|
83
|
-
const
|
|
84
|
+
const loaded = await loadSchema($workspaceStore ?? '', runnable.path, 'flow');
|
|
85
|
+
const schema = loaded?.schema ?? emptySchema();
|
|
84
86
|
if (!deepEqual(runnable.schema, schema)) {
|
|
85
87
|
runnable.schema = schema;
|
|
86
88
|
if (!runnable.schema.order) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">import { Button, Drawer, DrawerContent, Tab, Tabs } from '../../../../common';
|
|
2
2
|
import PickHubScript from '../../../../flows/pickers/PickHubScript.svelte';
|
|
3
|
+
import PickHubFlow from '../../../../flows/pickers/PickHubFlow.svelte';
|
|
3
4
|
import { Building, Globe2, MousePointer, Plus } from 'lucide-svelte';
|
|
4
5
|
import InlineScriptList from './InlineScriptList.svelte';
|
|
5
6
|
import WorkspaceScriptList from './WorkspaceScriptList.svelte';
|
|
@@ -47,6 +48,14 @@ async function pickHubScript(path) {
|
|
|
47
48
|
fields: selection.fields
|
|
48
49
|
});
|
|
49
50
|
}
|
|
51
|
+
async function pickHubFlow(item) {
|
|
52
|
+
const path = `hub/flows/${item.flow_id}`;
|
|
53
|
+
const selection = buildPathRunnableSelection(path, 'flow', await loadSchemaFromTriggerable(path, 'flow'), defaultUserInput, rawApps);
|
|
54
|
+
dispatch('pick', {
|
|
55
|
+
runnable: selection.runnable,
|
|
56
|
+
fields: selection.fields
|
|
57
|
+
});
|
|
58
|
+
}
|
|
50
59
|
function pickInlineScript(name) {
|
|
51
60
|
const unusedInlineScriptIndex = unusedInlineScripts?.findIndex((script) => script.name === name);
|
|
52
61
|
const unusedInlineScript = unusedInlineScripts?.[unusedInlineScriptIndex];
|
|
@@ -89,6 +98,7 @@ function createScript() {
|
|
|
89
98
|
{#if !onlyFlow}
|
|
90
99
|
<Tab value="hubscripts" label="Hub Scripts" icon={Globe2} />
|
|
91
100
|
{/if}
|
|
101
|
+
<Tab value="hubflows" label="Hub Flows" icon={Globe2} />
|
|
92
102
|
</Tabs>
|
|
93
103
|
<div class="my-2"></div>
|
|
94
104
|
<div class="flex flex-col gap-y-16">
|
|
@@ -106,6 +116,8 @@ function createScript() {
|
|
|
106
116
|
<WorkspaceFlowList on:pick={(e) => pickFlow(e.detail)} />
|
|
107
117
|
{:else if tab == 'hubscripts'}
|
|
108
118
|
<PickHubScript bind:filter on:pick={(e) => pickHubScript(e.detail.path)} />
|
|
119
|
+
{:else if tab == 'hubflows'}
|
|
120
|
+
<PickHubFlow bind:filter on:pick={(e) => pickHubFlow(e.detail)} />
|
|
109
121
|
{/if}
|
|
110
122
|
</div>
|
|
111
123
|
</div>
|
|
@@ -28,7 +28,7 @@ $effect(() => {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
-
let datatables = resource([], () => WorkspaceService.listDataTables({ workspace: $workspaceStore ?? '' }));
|
|
31
|
+
let datatables = resource([], () => WorkspaceService.listDataTables({ workspace: $workspaceStore ?? '' }).then((d) => d.map((d) => d.name)));
|
|
32
32
|
let ducklakes = resource([], () => WorkspaceService.listDucklakes({ workspace: $workspaceStore ?? '' }));
|
|
33
33
|
$effect(() => {
|
|
34
34
|
assets;
|
|
@@ -8,7 +8,7 @@ import Button from '../button/Button.svelte';
|
|
|
8
8
|
import Row from './Row.svelte';
|
|
9
9
|
import DraftBadge from '../../DraftBadge.svelte';
|
|
10
10
|
import Badge from '../badge/Badge.svelte';
|
|
11
|
-
import { ExternalLink, Eye, File, FileJson, FolderOpen, GitFork, ChevronUpSquare, History, Pen,
|
|
11
|
+
import { ExternalLink, Eye, File, FileJson, FolderOpen, GitFork, ChevronUpSquare, History, Pen, Shield, Trash, Copy } from 'lucide-svelte';
|
|
12
12
|
import { goto as gotoUrl } from '$app/navigation';
|
|
13
13
|
import { page } from '$app/state';
|
|
14
14
|
import { DELETE, copyToClipboard } from '../../../utils';
|
|
@@ -192,8 +192,8 @@ async function loadAppJson() {
|
|
|
192
192
|
hide: $userStore?.operator
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
|
-
displayName:
|
|
196
|
-
icon:
|
|
195
|
+
displayName: 'Permissions',
|
|
196
|
+
icon: Shield,
|
|
197
197
|
action: () => {
|
|
198
198
|
shareModal.openDrawer && shareModal.openDrawer(path, 'app')
|
|
199
199
|
},
|
|
@@ -13,7 +13,7 @@ import DraftBadge from '../../DraftBadge.svelte';
|
|
|
13
13
|
import { sendUserToast } from '../../../toast';
|
|
14
14
|
import { DELETE, copyToClipboard, isOwner } from '../../../utils';
|
|
15
15
|
import { isDeployable } from '../../../utils_deployable';
|
|
16
|
-
import { Pen, GitFork, Trash, List, FolderOpen, ChevronUpSquare, Calendar,
|
|
16
|
+
import { Pen, GitFork, Trash, List, FolderOpen, ChevronUpSquare, Calendar, Shield, Archive, Copy, Eye, HistoryIcon } from 'lucide-svelte';
|
|
17
17
|
import FlowHistory from '../../flows/FlowHistory.svelte';
|
|
18
18
|
import { getDeployUiSettings } from '../../home/deploy_ui';
|
|
19
19
|
import { isRuleActive } from '../../../workspaceProtectionRules.svelte';
|
|
@@ -229,8 +229,8 @@ let flowHistory = $state(undefined);
|
|
|
229
229
|
hide: $userStore?.operator
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
|
-
displayName:
|
|
233
|
-
icon:
|
|
232
|
+
displayName: 'Permissions',
|
|
233
|
+
icon: Shield,
|
|
234
234
|
action: () => {
|
|
235
235
|
shareModal.openDrawer && shareModal.openDrawer(path, 'flow')
|
|
236
236
|
},
|
|
@@ -4,7 +4,7 @@ import SharedBadge from '../../SharedBadge.svelte';
|
|
|
4
4
|
import {} from '../../../gen';
|
|
5
5
|
import { workspaceStore } from '../../../stores';
|
|
6
6
|
import Row from './Row.svelte';
|
|
7
|
-
import { Globe,
|
|
7
|
+
import { Globe, Shield } from 'lucide-svelte';
|
|
8
8
|
import { isDeployable } from '../../../utils_deployable';
|
|
9
9
|
import { getDeployUiSettings } from '../../home/deploy_ui';
|
|
10
10
|
let { app, marked, shareModal, deploymentDrawer, depth = 0, menuOpen = $bindable(false) } = $props();
|
|
@@ -26,7 +26,7 @@ let { app, marked, shareModal, deploymentDrawer, depth = 0, menuOpen = $bindable
|
|
|
26
26
|
{#snippet actions()}
|
|
27
27
|
<Dropdown
|
|
28
28
|
items={async () => {
|
|
29
|
-
let { path
|
|
29
|
+
let { path } = app
|
|
30
30
|
|
|
31
31
|
return [
|
|
32
32
|
...(isDeployable('app', path, await getDeployUiSettings())
|
|
@@ -41,8 +41,8 @@ let { app, marked, shareModal, deploymentDrawer, depth = 0, menuOpen = $bindable
|
|
|
41
41
|
]
|
|
42
42
|
: []),
|
|
43
43
|
{
|
|
44
|
-
displayName:
|
|
45
|
-
icon:
|
|
44
|
+
displayName: 'Permissions',
|
|
45
|
+
icon: Shield,
|
|
46
46
|
action: () => {
|
|
47
47
|
shareModal.openDrawer && shareModal.openDrawer(path, 'raw_app')
|
|
48
48
|
}
|
|
@@ -6,7 +6,11 @@ import { twMerge } from 'tailwind-merge';
|
|
|
6
6
|
import { goto } from '../../../navigation';
|
|
7
7
|
import { triggerableByAI } from '../../../actions/triggerableByAI.svelte';
|
|
8
8
|
let { marked, selected = false, disabled = false, canFavorite = true, isSelectable = false, alignWithSelectable = false, errorHandlerMuted = false, aiId = undefined, aiDescription = undefined, kind = 'script', triggerKind = undefined, summary = undefined, path, href = undefined, workspaceId, depth = 0, badges, actions, customSummary, onSelect = () => { } } = $props();
|
|
9
|
-
let displayPath = (untrack(() => depth) === 0
|
|
9
|
+
let displayPath = (untrack(() => depth) === 0
|
|
10
|
+
? untrack(() => path)
|
|
11
|
+
: untrack(() => path)
|
|
12
|
+
?.split('/')
|
|
13
|
+
?.slice(-1)?.[0]) ?? '';
|
|
10
14
|
</script>
|
|
11
15
|
|
|
12
16
|
{#if href}
|
|
@@ -84,7 +88,7 @@ let displayPath = (untrack(() => depth) === 0 ? untrack(() => path) : untrack(()
|
|
|
84
88
|
{!summary || summary.length == 0 ? displayPath : summary}
|
|
85
89
|
{/if}
|
|
86
90
|
</div>
|
|
87
|
-
<div class="text-hint text-3xs truncate text-left font-normal">
|
|
91
|
+
<div class="text-hint text-3xs truncate text-left font-normal" title={path}>
|
|
88
92
|
{path}
|
|
89
93
|
</div>
|
|
90
94
|
</div>
|
|
@@ -14,7 +14,7 @@ import { sendUserToast } from '../../../toast';
|
|
|
14
14
|
import { capitalize, copyToClipboard, DELETE, isOwner } from '../../../utils';
|
|
15
15
|
import { isDeployable } from '../../../utils_deployable';
|
|
16
16
|
import { LanguageIcon } from '../languageIcons';
|
|
17
|
-
import { Archive, Calendar, Code, Copy, Eye, FolderOpen, ChevronUpSquare, GitFork, List, Pen,
|
|
17
|
+
import { Archive, Calendar, Code, Copy, Eye, FolderOpen, ChevronUpSquare, GitFork, List, Pen, Shield, Trash, History, Globe2, FileText } from 'lucide-svelte';
|
|
18
18
|
import ScriptVersionHistory from '../../ScriptVersionHistory.svelte';
|
|
19
19
|
import WacExportDrawer from '../../scripts/WacExportDrawer.svelte';
|
|
20
20
|
import { Drawer, DrawerContent } from '..';
|
|
@@ -96,6 +96,14 @@ let wacExportDrawer = $state(undefined);
|
|
|
96
96
|
<Badge small color="indigo" baseClass="border border-indigo-200">wac</Badge>
|
|
97
97
|
</Popover>
|
|
98
98
|
{/if}
|
|
99
|
+
{#if script.auto_kind === 'test'}
|
|
100
|
+
<Popover notClickable>
|
|
101
|
+
{#snippet text()}
|
|
102
|
+
CI test script
|
|
103
|
+
{/snippet}
|
|
104
|
+
<Badge small color="yellow" baseClass="border">CI test</Badge>
|
|
105
|
+
</Popover>
|
|
106
|
+
{/if}
|
|
99
107
|
{#if script.kind !== 'script'}
|
|
100
108
|
<Badge color="blue" baseClass="border"
|
|
101
109
|
>{script.kind === 'failure' ? 'Error handler' : capitalize(script.kind)}</Badge
|
|
@@ -287,8 +295,8 @@ let wacExportDrawer = $state(undefined);
|
|
|
287
295
|
hide: $userStore?.operator
|
|
288
296
|
},
|
|
289
297
|
{
|
|
290
|
-
displayName:
|
|
291
|
-
icon:
|
|
298
|
+
displayName: 'Permissions',
|
|
299
|
+
icon: Shield,
|
|
292
300
|
action: () => {
|
|
293
301
|
shareModal.openDrawer && shareModal.openDrawer(script.path, 'script')
|
|
294
302
|
},
|
|
@@ -359,7 +359,7 @@ class AIChatManager {
|
|
|
359
359
|
return prepareScriptUserMessage(pendingPrompt, this.contextManager.getSelectedContext());
|
|
360
360
|
}
|
|
361
361
|
else if (this.mode === AIMode.FLOW) {
|
|
362
|
-
return prepareFlowUserMessage(pendingPrompt, this.flowAiChatHelpers.getFlowAndSelectedId());
|
|
362
|
+
return prepareFlowUserMessage(pendingPrompt, this.flowAiChatHelpers.getFlowAndSelectedId(), [], this.flowAiChatHelpers.inlineScriptSession);
|
|
363
363
|
}
|
|
364
364
|
else if (this.mode === AIMode.NAVIGATOR) {
|
|
365
365
|
return prepareNavigatorUserMessage(pendingPrompt);
|
|
@@ -528,7 +528,7 @@ class AIChatManager {
|
|
|
528
528
|
};
|
|
529
529
|
switch (this.mode) {
|
|
530
530
|
case AIMode.FLOW:
|
|
531
|
-
userMessage = prepareFlowUserMessage(oldInstructions, this.flowAiChatHelpers.getFlowAndSelectedId(), oldSelectedContext);
|
|
531
|
+
userMessage = prepareFlowUserMessage(oldInstructions, this.flowAiChatHelpers.getFlowAndSelectedId(), oldSelectedContext, this.flowAiChatHelpers.inlineScriptSession);
|
|
532
532
|
break;
|
|
533
533
|
case AIMode.NAVIGATOR:
|
|
534
534
|
userMessage = prepareNavigatorUserMessage(oldInstructions);
|
|
@@ -5,6 +5,11 @@ import type { MessageParam, TextBlockParam, ToolUnion } from '@anthropic-ai/sdk/
|
|
|
5
5
|
import type { MessageStream } from '@anthropic-ai/sdk/lib/MessageStream';
|
|
6
6
|
import type { AIProviderModel } from '../../../gen';
|
|
7
7
|
import { type Tool, type ToolCallbacks } from './shared';
|
|
8
|
+
import { type ChatTokenUsage } from './tokenUsage';
|
|
9
|
+
interface ParsedCompletionResult {
|
|
10
|
+
shouldContinue: boolean;
|
|
11
|
+
tokenUsage: ChatTokenUsage;
|
|
12
|
+
}
|
|
8
13
|
export declare function getAnthropicCompletion(messages: ChatCompletionMessageParam[], abortController: AbortController, tools?: OpenAI.Chat.Completions.ChatCompletionFunctionTool[], options?: {
|
|
9
14
|
forceModelProvider?: AIProviderModel;
|
|
10
15
|
anthropicClient?: Anthropic;
|
|
@@ -14,9 +19,10 @@ export declare function parseAnthropicCompletion(completion: MessageStream, call
|
|
|
14
19
|
onMessageEnd: () => void;
|
|
15
20
|
}, messages: ChatCompletionMessageParam[], addedMessages: ChatCompletionMessageParam[], tools: Tool<any>[], helpers: any, abortController?: AbortController, options?: {
|
|
16
21
|
workspace?: string;
|
|
17
|
-
}): Promise<
|
|
22
|
+
}): Promise<ParsedCompletionResult>;
|
|
18
23
|
export declare function convertOpenAIToAnthropicMessages(messages: ChatCompletionMessageParam[]): {
|
|
19
24
|
system: TextBlockParam[] | undefined;
|
|
20
25
|
messages: MessageParam[];
|
|
21
26
|
};
|
|
22
27
|
export declare function convertOpenAIToolsToAnthropic(tools?: OpenAI.Chat.Completions.ChatCompletionFunctionTool[]): ToolUnion[] | undefined;
|
|
28
|
+
export {};
|
|
@@ -2,6 +2,7 @@ import { OpenAI } from 'openai';
|
|
|
2
2
|
import Anthropic from '@anthropic-ai/sdk';
|
|
3
3
|
import { getProviderAndCompletionConfig, workspaceAIClients } from '../lib';
|
|
4
4
|
import { processToolCall } from './shared';
|
|
5
|
+
import { anthropicUsageToChatTokenUsage } from './tokenUsage';
|
|
5
6
|
export async function getAnthropicCompletion(messages, abortController, tools, options) {
|
|
6
7
|
const { provider, config } = getProviderAndCompletionConfig({
|
|
7
8
|
messages,
|
|
@@ -147,6 +148,8 @@ export async function parseAnthropicCompletion(completion, callbacks, messages,
|
|
|
147
148
|
if (error) {
|
|
148
149
|
throw error;
|
|
149
150
|
}
|
|
151
|
+
const finalMessage = await completion.finalMessage();
|
|
152
|
+
const tokenUsage = anthropicUsageToChatTokenUsage(finalMessage.usage);
|
|
150
153
|
// Process tool calls if any
|
|
151
154
|
if (toolCallsToProcess.length > 0) {
|
|
152
155
|
const assistantWithTools = {
|
|
@@ -167,9 +170,9 @@ export async function parseAnthropicCompletion(completion, callbacks, messages,
|
|
|
167
170
|
messages.push(messageToAdd);
|
|
168
171
|
addedMessages.push(messageToAdd);
|
|
169
172
|
}
|
|
170
|
-
return
|
|
173
|
+
return { shouldContinue: true, tokenUsage };
|
|
171
174
|
}
|
|
172
|
-
return
|
|
175
|
+
return { shouldContinue: false, tokenUsage };
|
|
173
176
|
}
|
|
174
177
|
export function convertOpenAIToAnthropicMessages(messages) {
|
|
175
178
|
let system;
|