diff --git a/web/app/components/base/icons/assets/vender/workflow/command.svg b/web/app/components/base/icons/assets/vender/workflow/command.svg
new file mode 100644
index 0000000000..7ab88d7cf0
--- /dev/null
+++ b/web/app/components/base/icons/assets/vender/workflow/command.svg
@@ -0,0 +1,6 @@
+
diff --git a/web/app/components/base/icons/assets/vender/workflow/file-upload.svg b/web/app/components/base/icons/assets/vender/workflow/file-upload.svg
new file mode 100644
index 0000000000..be603172b5
--- /dev/null
+++ b/web/app/components/base/icons/assets/vender/workflow/file-upload.svg
@@ -0,0 +1,5 @@
+
diff --git a/web/app/components/base/icons/src/vender/workflow/Command.json b/web/app/components/base/icons/src/vender/workflow/Command.json
new file mode 100644
index 0000000000..23e712ea0c
--- /dev/null
+++ b/web/app/components/base/icons/src/vender/workflow/Command.json
@@ -0,0 +1,53 @@
+{
+ "icon": {
+ "type": "element",
+ "isRootNode": true,
+ "name": "svg",
+ "attributes": {
+ "xmlns": "http://www.w3.org/2000/svg",
+ "width": "16",
+ "height": "16",
+ "viewBox": "0 0 16 16",
+ "fill": "none"
+ },
+ "children": [
+ {
+ "type": "element",
+ "name": "path",
+ "attributes": {
+ "d": "M12.6667 7.33333V3.33333H3.33333V12.6667H7.33333C7.70152 12.6667 8 12.9651 8 13.3333C8 13.7015 7.70152 14 7.33333 14H2.66667C2.29848 14 2 13.7015 2 13.3333V2.66667C2 2.29848 2.29848 2 2.66667 2H13.3333C13.7015 2 14 2.29848 14 2.66667V7.33333C14 7.70152 13.7015 8 13.3333 8C12.9651 8 12.6667 7.70152 12.6667 7.33333Z",
+ "fill": "currentColor"
+ },
+ "children": []
+ },
+ {
+ "type": "element",
+ "name": "path",
+ "attributes": {
+ "d": "M4.52865 4.86198C4.789 4.60163 5.211 4.60163 5.47135 4.86198L6.63802 6.02865C6.89837 6.289 6.89837 6.711 6.63802 6.97135L5.47135 8.13802C5.211 8.39837 4.789 8.39837 4.52865 8.13802C4.2683 7.87767 4.2683 7.45566 4.52865 7.19531L5.22396 6.5L4.52865 5.80469C4.2683 5.54434 4.2683 5.12233 4.52865 4.86198Z",
+ "fill": "currentColor"
+ },
+ "children": []
+ },
+ {
+ "type": "element",
+ "name": "path",
+ "attributes": {
+ "d": "M9 7C9.36819 7 9.66667 7.29848 9.66667 7.66667C9.66667 8.03486 9.36819 8.33333 9 8.33333H7.66667C7.29848 8.33333 7 8.03486 7 7.66667C7 7.29848 7.29848 7 7.66667 7H9Z",
+ "fill": "currentColor"
+ },
+ "children": []
+ },
+ {
+ "type": "element",
+ "name": "path",
+ "attributes": {
+ "d": "M12.827 10.7901L12.3624 9.5822C12.3047 9.43227 12.1607 9.33333 12 9.33333C11.8393 9.33333 11.6953 9.43227 11.6376 9.5822L11.173 10.7901C11.1053 10.9662 10.9662 11.1053 10.7901 11.173L9.5822 11.6376C9.43227 11.6953 9.33333 11.8393 9.33333 12C9.33333 12.1607 9.43227 12.3047 9.5822 12.3624L10.7901 12.827C10.9662 12.8947 11.1053 13.0338 11.173 13.2099L11.6376 14.4178C11.6953 14.5677 11.8393 14.6667 12 14.6667C12.1607 14.6667 12.3047 14.5677 12.3624 14.4178L12.827 13.2099C12.8947 13.0338 13.0338 12.8947 13.2099 12.827L14.4178 12.3624C14.5677 12.3047 14.6667 12.1607 14.6667 12C14.6667 11.8393 14.5677 11.6953 14.4178 11.6376L13.2099 11.173C13.0338 11.1053 12.8947 10.9662 12.827 10.7901Z",
+ "fill": "currentColor"
+ },
+ "children": []
+ }
+ ]
+ },
+ "name": "Command"
+}
diff --git a/web/app/components/base/icons/src/vender/workflow/Command.tsx b/web/app/components/base/icons/src/vender/workflow/Command.tsx
new file mode 100644
index 0000000000..0d8419e389
--- /dev/null
+++ b/web/app/components/base/icons/src/vender/workflow/Command.tsx
@@ -0,0 +1,20 @@
+// GENERATE BY script
+// DON NOT EDIT IT MANUALLY
+
+import type { IconData } from '@/app/components/base/icons/IconBase'
+import * as React from 'react'
+import IconBase from '@/app/components/base/icons/IconBase'
+import data from './Command.json'
+
+const Icon = (
+ {
+ ref,
+ ...props
+ }: React.SVGProps & {
+ ref?: React.RefObject>
+ },
+) =>
+
+Icon.displayName = 'Command'
+
+export default Icon
diff --git a/web/app/components/base/icons/src/vender/workflow/FileUpload.json b/web/app/components/base/icons/src/vender/workflow/FileUpload.json
new file mode 100644
index 0000000000..a37418f30d
--- /dev/null
+++ b/web/app/components/base/icons/src/vender/workflow/FileUpload.json
@@ -0,0 +1,44 @@
+{
+ "icon": {
+ "type": "element",
+ "isRootNode": true,
+ "name": "svg",
+ "attributes": {
+ "xmlns": "http://www.w3.org/2000/svg",
+ "width": "14",
+ "height": "12",
+ "viewBox": "0 0 14 12",
+ "fill": "none"
+ },
+ "children": [
+ {
+ "type": "element",
+ "name": "path",
+ "attributes": {
+ "d": "M0 9.33333V2C0 0.89543 0.89543 0 2 0H4.61979C5.28848 1.27097e-05 5.91294 0.33421 6.28385 0.890625L7.02344 2H11.3333C12.4379 2 13.3333 2.89544 13.3333 4V9.33333C13.3333 10.4379 12.4379 11.3333 11.3333 11.3333H10C9.63181 11.3333 9.33333 11.0349 9.33333 10.6667C9.33333 10.2985 9.63181 10 10 10H11.3333C11.7015 10 12 9.70154 12 9.33333V4C12 3.6318 11.7015 3.33333 11.3333 3.33333H7.02344C6.6054 3.33332 6.21336 3.13745 5.96224 2.80729L5.91406 2.73958L5.17448 1.63021C5.05087 1.44478 4.84269 1.33335 4.61979 1.33333H2C1.63181 1.33333 1.33333 1.63181 1.33333 2V9.33333C1.33333 9.70154 1.6318 10 2 10H3.33333C3.70152 10 4 10.2985 4 10.6667C4 11.0349 3.70152 11.3333 3.33333 11.3333H2C0.895437 11.3333 0 10.4379 0 9.33333Z",
+ "fill": "currentColor"
+ },
+ "children": []
+ },
+ {
+ "type": "element",
+ "name": "path",
+ "attributes": {
+ "d": "M6 10.6667V7C6 6.63181 6.29848 6.33333 6.66667 6.33333C7.03486 6.33333 7.33333 6.63181 7.33333 7V10.6667C7.33333 11.0349 7.03486 11.3333 6.66667 11.3333C6.29848 11.3333 6 11.0349 6 10.6667Z",
+ "fill": "currentColor"
+ },
+ "children": []
+ },
+ {
+ "type": "element",
+ "name": "path",
+ "attributes": {
+ "d": "M6.24609 6.14974C6.50794 5.93617 6.89394 5.95123 7.13802 6.19531L8.80469 7.86198C9.06504 8.12233 9.06504 8.54434 8.80469 8.80469C8.54434 9.06504 8.12233 9.06504 7.86198 8.80469L6.66667 7.60937L5.47135 8.80469C5.211 9.06504 4.789 9.06504 4.52865 8.80469C4.2683 8.54434 4.2683 8.12233 4.52865 7.86198L6.19531 6.19531L6.24609 6.14974Z",
+ "fill": "currentColor"
+ },
+ "children": []
+ }
+ ]
+ },
+ "name": "FileUpload"
+}
diff --git a/web/app/components/base/icons/src/vender/workflow/FileUpload.tsx b/web/app/components/base/icons/src/vender/workflow/FileUpload.tsx
new file mode 100644
index 0000000000..a91e8ac4b2
--- /dev/null
+++ b/web/app/components/base/icons/src/vender/workflow/FileUpload.tsx
@@ -0,0 +1,20 @@
+// GENERATE BY script
+// DON NOT EDIT IT MANUALLY
+
+import type { IconData } from '@/app/components/base/icons/IconBase'
+import * as React from 'react'
+import IconBase from '@/app/components/base/icons/IconBase'
+import data from './FileUpload.json'
+
+const Icon = (
+ {
+ ref,
+ ...props
+ }: React.SVGProps & {
+ ref?: React.RefObject>
+ },
+) =>
+
+Icon.displayName = 'FileUpload'
+
+export default Icon
diff --git a/web/app/components/base/icons/src/vender/workflow/index.ts b/web/app/components/base/icons/src/vender/workflow/index.ts
index 571c203d59..b7ee3b0834 100644
--- a/web/app/components/base/icons/src/vender/workflow/index.ts
+++ b/web/app/components/base/icons/src/vender/workflow/index.ts
@@ -6,9 +6,11 @@ export { default as Asterisk } from './Asterisk'
export { default as AtSign } from './AtSign'
export { default as CalendarCheckLine } from './CalendarCheckLine'
export { default as Code } from './Code'
+export { default as Command } from './Command'
export { default as Datasource } from './Datasource'
export { default as DocsExtractor } from './DocsExtractor'
export { default as End } from './End'
+export { default as FileUpload } from './FileUpload'
export { default as FolderSpark } from './FolderSpark'
export { default as Home } from './Home'
export { default as Http } from './Http'
diff --git a/web/app/components/header/account-setting/sandbox-provider-page/constants.ts b/web/app/components/header/account-setting/sandbox-provider-page/constants.ts
index 99c70b657c..4fa4531af1 100644
--- a/web/app/components/header/account-setting/sandbox-provider-page/constants.ts
+++ b/web/app/components/header/account-setting/sandbox-provider-page/constants.ts
@@ -5,7 +5,7 @@ export const PROVIDER_ICONS: Record = {
daytona: '/sandbox-providers/daytona.svg',
docker: '/sandbox-providers/docker.svg',
local: '/sandbox-providers/local.svg',
- ssh: '/sandbox-providers/docker.svg',
+ ssh: '/sandbox-providers/ssh.svg',
}
export const PROVIDER_LABEL_KEYS = {
diff --git a/web/app/components/header/account-setting/sandbox-provider-page/provider-icon.tsx b/web/app/components/header/account-setting/sandbox-provider-page/provider-icon.tsx
index 82767146b0..b780555ba5 100644
--- a/web/app/components/header/account-setting/sandbox-provider-page/provider-icon.tsx
+++ b/web/app/components/header/account-setting/sandbox-provider-page/provider-icon.tsx
@@ -1,4 +1,3 @@
-import { RiTerminalBoxLine } from '@remixicon/react'
import DockerMarkWhite from '@/app/components/base/icons/src/public/common/DockerMarkWhite'
import E2B from '@/app/components/base/icons/src/public/common/E2B'
import SandboxLocal from '@/app/components/base/icons/src/public/common/SandboxLocal'
@@ -13,6 +12,7 @@ type ProviderIconProps = {
const DOCKER_BRAND_BLUE = '#1D63ED'
const SSH_CONSOLE_BG = '#0F172A'
+const SSH_ICON_SRC = '/sandbox-providers/ssh.svg'
const ProviderIcon = ({
providerType,
@@ -20,6 +20,7 @@ const ProviderIcon = ({
withBorder = false,
}: ProviderIconProps) => {
const sizeClass = size === 'sm' ? 'h-4 w-4' : 'h-6 w-6'
+ const sshIconClass = size === 'sm' ? 'h-[5px] w-auto max-w-[70%]' : 'h-[6px] w-auto max-w-[70%]'
if (providerType === 'docker') {
const inner = (
@@ -94,7 +95,7 @@ const ProviderIcon = ({
)}
style={{ backgroundColor: SSH_CONSOLE_BG }}
>
-
+
)
if (withBorder) {
diff --git a/web/app/components/workflow/block-icon.tsx b/web/app/components/workflow/block-icon.tsx
index 76817012ca..6634ee0825 100644
--- a/web/app/components/workflow/block-icon.tsx
+++ b/web/app/components/workflow/block-icon.tsx
@@ -14,9 +14,11 @@ import {
Answer,
Assigner,
Code,
+ Command,
Datasource,
DocsExtractor,
End,
+ FileUpload,
Home,
Http,
HumanInLoop,
@@ -34,7 +36,6 @@ import {
TemplatingTransform,
VariableX,
WebhookLine,
- WindowCursor,
} from '@/app/components/base/icons/src/vender/workflow'
import { STORAGE_KEYS } from '@/config/storage-keys'
import { cn } from '@/utils/classnames'
@@ -57,8 +58,8 @@ const DEFAULT_ICON_MAP: Record = {
[BlockEnum.LLM]: 'bg-util-colors-indigo-indigo-500',
[BlockEnum.Code]: 'bg-util-colors-blue-blue-500',
[BlockEnum.Command]: 'bg-util-colors-blue-blue-500',
- [BlockEnum.FileUpload]: 'bg-util-colors-green-green-500',
+ [BlockEnum.FileUpload]: 'bg-util-colors-blue-blue-500',
[BlockEnum.End]: 'bg-util-colors-warning-warning-500',
[BlockEnum.IfElse]: 'bg-util-colors-cyan-cyan-500',
[BlockEnum.Iteration]: 'bg-util-colors-cyan-cyan-500',
diff --git a/web/public/sandbox-providers/ssh.svg b/web/public/sandbox-providers/ssh.svg
new file mode 100644
index 0000000000..8f426a8755
--- /dev/null
+++ b/web/public/sandbox-providers/ssh.svg
@@ -0,0 +1,3 @@
+