{
  "name": "icube-remote-ssh",
  "displayName": "Remote SSH Extension",
  "description": "Use any remote machine with a SSH server as your development environment.",
  "version": "0.0.16",
  "publisher": "cloudide",
  "repository": {
    "type": "git",
    "url": "https://github.com/Microsoft/vscode-extension-samples"
  },
  "icon": "resources/icon.png",
  "engines": {
    "vscode": "^1.70.2"
  },
  "extensionKind": [
    "ui"
  ],
  "enabledApiProposals": [
    "icube",
    "icubeNative",
    "resolvers",
    "contribViewsRemote"
  ],
  "keywords": [
    "remote development",
    "remote",
    "ssh"
  ],
  "api": "none",
  "activationEvents": [
    "onCommand:trae.openremotessh.openEmptyWindow",
    "onCommand:trae.openremotessh.openEmptyWindowInCurrentWindow",
    "onCommand:trae.openremotessh.openConfigFile",
    "onCommand:trae.openremotessh.showLog",
    "onCommand:trae.openremotewsl.connect",
    "onCommand:trae.openremotewsl.connectInNewWindow",
    "onCommand:trae.openremotewsl.connectUsingDistro",
    "onCommand:trae.openremotewsl.connectUsingDistroInNewWindow",
    "onCommand:trae.openremotewsl.showLog",
    "onCommand:trae.openremotewsl.view.focus",
    "onCommand:trae.openremotessh.view.focus",
    "onResolveRemoteAuthority:ssh-remote",
    "onResolveRemoteAuthority:wsl",
    "onView:sshTraeHosts",
    "onView:wslTraeTargets",
    "onStartupFinished"
  ],
  "main": "./out/extension.js",
  "scripts": {
    "vscode:prepublish": "rimraf out && webpack --mode production && node scripts/save-version.mjs",
    "webpack": "webpack --mode development",
    "compile": "tsc -b",
    "build": "npm run compile",
    "watch": "node -e \"const fs = require('fs'); const path = require('path'); if (!fs.existsSync('out/scripts')) fs.mkdirSync('out/scripts', {recursive: true}); const src = 'src/scripts'; const dest = 'out/scripts'; if (fs.existsSync(src)) { const files = fs.readdirSync(src); files.forEach(file => { const srcFile = path.join(src, file); const destFile = path.join(dest, file); if (fs.statSync(srcFile).isDirectory()) { if (!fs.existsSync(destFile)) fs.mkdirSync(destFile, {recursive: true}); } else { fs.copyFileSync(srcFile, destFile); } }); }\" && webpack --mode development --watch",
    "package": "vsce package --no-dependencies",
    "test": "jest",
    "test:watch": "jest --watch"
  },
  "capabilities": {
    "virtualWorkspaces": true,
    "untrustedWorkspaces": {
      "supported": true
    }
  },
  "contributes": {
    "configuration": {
      "title": "Remote - SSH",
      "properties": {
        "remote.SSH.path": {
          "type": "string",
          "description": "%remote.SSH.path.description%",
          "default": "",
          "scope": "application"
        },
        "remote.SSH.configFile": {
          "type": "string",
          "description": "The absolute file path to a custom SSH config file.",
          "default": "",
          "scope": "application"
        },
        "remote.SSH.connectTimeout": {
          "type": "number",
          "description": "Specifies the timeout in seconds used for the SSH command that connects to the remote.",
          "default": 120,
          "scope": "application",
          "minimum": 1
        },
        "remote.SSH.socksConnectTimeout": {
          "type": "number",
          "description": "Timeout in seconds for local SOCKS bridge connections to the remote server port.",
          "default": 60,
          "scope": "application",
          "minimum": 1
        },
        "remote.SSH.socksReconnectAfterFailures": {
          "type": "number",
          "description": "Number of consecutive SOCKS bridge failures before triggering automatic SSH transport restart. 0 disables recovery.",
          "default": 2,
          "scope": "application",
          "minimum": 0
        },
        "remote.SSH.useDirectConnection": {
          "type": "boolean",
          "description": "Use direct TCP port forwarding (SSH -L) instead of managed SOCKS connection. Enable this if you experience SOCKS connection issues.",
          "default": false,
          "scope": "application"
        },
        "remote.SSH.shutdownWithoutDelay": {
          "type": "boolean",
          "description": "When enabled, the remote server shuts down immediately after the last client disconnects instead of waiting 5 minutes. May cause reconnection failures after network interruptions.",
          "default": false,
          "scope": "application"
        },
        "remote.SSH.remoteServerHost": {
          "type": "string",
          "description": "Override the remote server loopback address used for SOCKS connections. Leave empty for auto-detection (tries localhost, 127.0.0.1, ::1). Set to '127.0.0.1' or '::1' if auto-detection fails.",
          "default": "",
          "scope": "application"
        },
        "remote.SSH.defaultExtensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of extensions that should be installed automatically on all SSH hosts.",
          "scope": "application"
        },
        "remote.SSH.remotePlatform": {
          "type": "object",
          "description": "A map of the remote hostname to the platform for that remote. Valid values: linux, macos, windows.",
          "scope": "application",
          "default": {},
          "additionalProperties": {
            "type": "string",
            "enum": [
              "linux",
              "macos",
              "windows"
            ]
          }
        },
        "remote.SSH.remoteServerListenOnSocket": {
          "type": "boolean",
          "description": "When true, the remote vscode server will listen on a socket path instead of opening a port. Only valid for Linux and macOS remotes. Requires `AllowStreamLocalForwarding` to be enabled for the SSH server.",
          "default": false
        },
        "remote.SSH.useXzCompression": {
          "type": "boolean",
          "description": "Experimental feature: Use tar.xz format for downloaded installation packages, which can reduce file size but may increase decompression time.",
          "default": true,
          "scope": "application"
        },
        "remote.SSH.remoteAIPreferIPv6": {
          "type": "boolean",
          "description": "When true, the AI services running on the remote server will prioritize IPv6 connections over IPv4.",
          "default": false,
          "scope": "application"
        },
        "remote.SSH.enhancedCompatibilityMode": {
          "type": "boolean",
          "description": "Enable enhanced compatibility mode to simplify SSH connection parameters for better compatibility with different OpenSSH versions and shell types.",
          "default": false,
          "scope": "application"
        },
        "remote.SSH.httpProxy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          ],
          "description": "HTTP proxy configuration. Can be a string for global proxy or an object mapping hostnames to proxy URLs.",
          "default": "",
          "scope": "application",
          "examples": [
            "",
            "http://proxy.example.com:8080",
            {
              "myhost": "http://proxy.example.com:8080",
              "myhost2": "http://proxy2.example.com:3128"
            }
          ]
        },
        "remote.SSH.httpsProxy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          ],
          "description": "HTTPS proxy configuration. Can be a string for global proxy or an object mapping hostnames to proxy URLs.",
          "default": "",
          "scope": "application",
          "examples": [
            "",
            "http://proxy.example.com:8080",
            {
              "myhost": "http://proxy.example.com:8080",
              "myhost2": "http://proxy2.example.com:3128"
            }
          ]
        },
        "remote.SSH.cdnHost": {
          "type": "string",
          "description": "CDN base host configuration. It is recommended not to modify this setting unless specifically required by the development team.",
          "default": "",
          "scope": "application"
        },
        "remote.SSH.noUseFetch": {
          "type": "boolean",
          "description": "When true, disables the use of the fetch tool (a multi-thread downloader) to download server package.",
          "default": false,
          "scope": "application"
        },
        "remote.SSH.disableTunnelFactory": {
          "type": "boolean",
          "description": "When true, disables the SOCKS5 direct tunnel factory and reverts to VS Code's built-in tunnel protocol. Enable this if you encounter port forwarding issues.",
          "default": false,
          "scope": "application"
        }
      }
    },
    "views": {
      "remote-icube": [
        {
          "id": "sshTraeHosts",
          "name": "%openremotessh.sshTargets%",
          "group": "icube-targets@1",
          "remoteName": "ssh-remote",
          "restricted": false
        },
        {
          "id": "wslTraeTargets",
          "name": "%openremotessh.wslTargets%",
          "group": "icube-targets@1",
          "when": "(isWindows && !isWeb)",
          "remoteName": "wsl"
        }
      ]
    },
    "commands": [
      {
        "command": "trae.openremotessh.openEmptyWindow",
        "title": "%openremotessh.openEmptyWindow%",
        "category": "Remote-SSH"
      },
      {
        "command": "trae.openremotessh.openEmptyWindowInCurrentWindow",
        "title": "%openremotessh.openEmptyWindowInCurrentWindow%",
        "category": "Remote-SSH"
      },
      {
        "command": "trae.openremotessh.openConfigFile",
        "title": "%openremotessh.openConfigFile%",
        "category": "Remote-SSH"
      },
      {
        "command": "trae.openremotessh.showLog",
        "title": "%openremotessh.showLog%",
        "category": "Remote-SSH"
      },
      {
        "command": "trae.openremotessh.view.focus",
        "title": "%trae.openremotessh.openSSHPanel%",
        "category": "Remote-SSH"
      },
      {
        "command": "trae.openremotessh.explorer.emptyWindowInNewWindow",
        "title": "%openremotessh.explorer.emptyWindowInNewWindow%",
        "icon": "$(icube-RemoteLink)"
      },
      {
        "command": "trae.openremotessh.explorer.emptyWindowInCurrentWindow",
        "title": "%openremotessh.explorer.emptyWindowInCurrentWindow%",
        "icon": "$(arrow-right)"
      },
      {
        "command": "trae.openremotessh.explorer.reopenFolderInCurrentWindow",
        "title": "%openremotessh.explorer.reopenFolderInCurrentWindow%",
        "icon": "$(arrow-right)"
      },
      {
        "command": "trae.openremotessh.explorer.reopenFolderInNewWindow",
        "title": "%openremotessh.explorer.reopenFolderInNewWindow%",
        "icon": "$(icube-ProFile)"
      },
      {
        "command": "trae.openremotessh.explorer.deleteHostItem",
        "title": "%openremotessh.explorer.deleteHostItem%",
        "icon": "$(icube-Delete)"
      },
      {
        "command": "trae.openremotessh.explorer.deleteFolderHistoryItem",
        "title": "%openremotessh.explorer.deleteFolderHistoryItem%",
        "icon": "$(icube-Delete)"
      },
      {
        "command": "trae.openremotessh.explorer.refresh",
        "title": "%openremotessh.explorer.refresh%",
        "icon": "$(icube-Refresh)"
      },
      {
        "command": "trae.openremotessh.explorer.configure",
        "title": "%openremotessh.explorer.configure%",
        "icon": "$(icube-Settings)"
      },
      {
        "command": "trae.openremotessh.explorer.add",
        "title": "%openremotessh.explorer.add%",
        "icon": "$(icube-Plus)"
      },
      {
        "command": "trae.openremotessh.explorer.openHelp",
        "title": "%openremotessh.explorer.openHelp%",
        "icon": "$(icube-Help)"
      },
      {
        "command": "trae.openremotewsl.connect",
        "title": "%trae.openremotewsl.connect%",
        "category": "Remote-WSL"
      },
      {
        "command": "trae.openremotewsl.connectInNewWindow",
        "title": "%trae.openremotewsl.connectInNewWindow%",
        "category": "Remote-WSL"
      },
      {
        "command": "trae.openremotewsl.connectUsingDistro",
        "title": "%trae.openremotewsl.connectUsingDistro%",
        "category": "Remote-WSL"
      },
      {
        "command": "trae.openremotewsl.connectUsingDistroInNewWindow",
        "title": "%trae.openremotewsl.connectUsingDistroInNewWindow%",
        "category": "Remote-WSL"
      },
      {
        "command": "trae.openremotewsl.view.focus",
        "title": "%trae.openremotewsl.openWSLPanel%",
        "category": "Remote-WSL"
      },
      {
        "command": "trae.openremotewsl.showLog",
        "title": "%trae.openremotewsl.showLog%",
        "category": "Remote-WSL"
      },
      {
        "command": "trae.openremotewsl.explorer.emptyWindowInNewWindow",
        "title": "%trae.openremotewsl.explorer.emptyWindowInNewWindow%",
        "icon": "$(empty-window)"
      },
      {
        "command": "trae.openremotewsl.explorer.emptyWindowInCurrentWindow",
        "title": "%trae.openremotewsl.explorer.emptyWindowInCurrentWindow%",
        "icon": "$(arrow-right)"
      },
      {
        "command": "trae.openremotewsl.explorer.reopenFolderInCurrentWindow",
        "title": "%trae.openremotewsl.explorer.reopenFolderInCurrentWindow%",
        "icon": "$(arrow-right)"
      },
      {
        "command": "trae.openremotewsl.explorer.reopenFolderInNewWindow",
        "title": "%trae.openremotewsl.explorer.reopenFolderInNewWindow%",
        "icon": "$(folder-opened)"
      },
      {
        "command": "trae.openremotewsl.explorer.deleteFolderHistoryItem",
        "title": "%trae.openremotewsl.explorer.deleteFolderHistoryItem%",
        "icon": "$(x)"
      },
      {
        "command": "trae.openremotewsl.explorer.refresh",
        "title": "%trae.openremotewsl.explorer.refresh%",
        "icon": "$(refresh)"
      },
      {
        "command": "trae.openremotewsl.explorer.addDistro",
        "title": "%trae.openremotewsl.explorer.addDistro%",
        "icon": "$(plus)"
      },
      {
        "command": "trae.openremotewsl.explorer.openHelp",
        "title": "%openremotewsl.explorer.openHelp%",
        "icon": "$(icube-Help)"
      },
      {
        "command": "trae.openremotewsl.explorer.setDefaultDistro",
        "title": "%trae.openremotewsl.explorer.setDefaultDistro%"
      }
    ],
    "resourceLabelFormatters": [
      {
        "scheme": "vscode-remote",
        "authority": "ssh-remote+*",
        "formatting": {
          "label": "${path}",
          "separator": "/",
          "tildify": true,
          "workspaceSuffix": "SSH"
        }
      },
      {
        "scheme": "vscode-remote",
        "authority": "wsl+*",
        "formatting": {
          "label": "${path}",
          "separator": "/",
          "tildify": true,
          "workspaceSuffix": "WSL"
        }
      }
    ],
    "menus": {
      "statusBar/remoteIndicator": [
        {
          "command": "trae.openremotessh.openEmptyWindow",
          "when": "remoteName =~ /^ssh-remote$/ && remoteConnectionState == connected",
          "group": "remote_20_ssh_1general@1"
        },
        {
          "command": "trae.openremotessh.openEmptyWindowInCurrentWindow",
          "when": "remoteName =~ /^ssh-remote$/ && remoteConnectionState == connected",
          "group": "remote_20_ssh_1general@2"
        },
        {
          "command": "trae.openremotessh.openConfigFile",
          "when": "remoteName =~ /^ssh-remote$/ && remoteConnectionState == connected",
          "group": "remote_20_ssh_1general@3"
        },
        {
          "command": "trae.openremotessh.showLog",
          "when": "remoteName =~ /^ssh-remote$/ && remoteConnectionState == connected",
          "group": "remote_20_ssh_1general@4"
        },
        {
          "command": "trae.openremotessh.openEmptyWindow",
          "when": "remoteConnectionState == disconnected",
          "group": "remote_20_ssh_3local@1"
        },
        {
          "command": "trae.openremotessh.openEmptyWindowInCurrentWindow",
          "when": "remoteConnectionState == disconnected",
          "group": "remote_20_ssh_3local@2"
        },
        {
          "command": "trae.openremotessh.openConfigFile",
          "when": "remoteConnectionState == disconnected",
          "group": "remote_20_ssh_3local@3"
        },
        {
          "command": "trae.openremotessh.openEmptyWindow",
          "when": "!remoteName && !virtualWorkspace",
          "group": "remote_20_ssh_3local@5"
        },
        {
          "command": "trae.openremotessh.openEmptyWindowInCurrentWindow",
          "when": "!remoteName && !virtualWorkspace",
          "group": "remote_20_ssh_3local@6"
        },
        {
          "command": "trae.openremotessh.openConfigFile",
          "when": "!remoteName && !virtualWorkspace",
          "group": "remote_20_ssh_3local@7"
        },
        {
          "command": "trae.openremotessh.view.focus",
          "when": "(isWindows && !isWeb)",
          "group": "remote_20_ssh_3local@8"
        },
        {
          "command": "trae.openremotewsl.connect",
          "when": "(isWindows && !isWeb)",
          "group": "remote_20_wsl_1general@1"
        },
        {
          "command": "trae.openremotewsl.connectUsingDistro",
          "when": "(isWindows && !isWeb)",
          "group": "remote_20_wsl_1general@2"
        },
        {
          "command": "trae.openremotewsl.view.focus",
          "when": "(isWindows && !isWeb)",
          "group": "remote_20_wsl_1general@3"
        },
        {
          "command": "trae.openremotewsl.showLog",
          "when": "remoteName =~ /^wsl$/",
          "group": "remote_20_wsl_1general@4"
        }
      ],
      "commandPalette": [
        {
          "command": "trae.openremotessh.explorer.refresh",
          "when": "false"
        },
        {
          "command": "trae.openremotessh.explorer.configure",
          "when": "false"
        },
        {
          "command": "trae.openremotessh.explorer.add",
          "when": "false"
        },
        {
          "command": "trae.openremotessh.explorer.emptyWindowInNewWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotessh.explorer.emptyWindowInCurrentWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotessh.explorer.reopenFolderInCurrentWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotessh.explorer.reopenFolderInNewWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotessh.explorer.deleteFolderHistoryItem",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.connect",
          "when": "(isWindows && !isWeb)"
        },
        {
          "command": "trae.openremotewsl.connectInNewWindow",
          "when": "(isWindows && !isWeb)"
        },
        {
          "command": "trae.openremotewsl.connectUsingDistro",
          "when": "(isWindows && !isWeb)"
        },
        {
          "command": "trae.openremotewsl.connectUsingDistroInNewWindow",
          "when": "(isWindows && !isWeb)"
        },
        {
          "command": "trae.openremotewsl.view.focus",
          "when": "(isWindows && !isWeb)"
        },
        {
          "command": "trae.openremotessh.view.focus",
          "when": "(isWindows && !isWeb)"
        },
        {
          "command": "trae.openremotewsl.explorer.refresh",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.explorer.addDistro",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.explorer.emptyWindowInNewWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.explorer.emptyWindowInCurrentWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.explorer.reopenFolderInCurrentWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.explorer.reopenFolderInNewWindow",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.explorer.deleteFolderHistoryItem",
          "when": "false"
        },
        {
          "command": "trae.openremotewsl.explorer.setDefaultDistro",
          "when": "false"
        }
      ],
      "view/title": [
        {
          "command": "trae.openremotessh.explorer.openHelp",
          "when": "view == sshTraeHosts",
          "group": "navigation@4"
        },
        {
          "command": "trae.openremotessh.explorer.add",
          "when": "view == sshTraeHosts",
          "group": "navigation@1"
        },
        {
          "command": "trae.openremotessh.explorer.configure",
          "when": "view == sshTraeHosts",
          "group": "navigation@2"
        },
        {
          "command": "trae.openremotessh.explorer.refresh",
          "when": "view == sshTraeHosts",
          "group": "navigation@3"
        },
        {
          "command": "trae.openremotewsl.explorer.addDistro",
          "when": "view == wslTraeTargets",
          "group": "navigation@1"
        },
        {
          "command": "trae.openremotewsl.explorer.refresh",
          "when": "view == wslTraeTargets",
          "group": "navigation@2"
        },
        {
          "command": "trae.openremotewsl.explorer.openHelp",
          "when": "view == wslTraeTargets",
          "group": "navigation@3"
        }
      ],
      "view/item/context": [
        {
          "command": "trae.openremotessh.explorer.emptyWindowInNewWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.host$/",
          "group": "inline@1"
        },
        {
          "command": "trae.openremotessh.explorer.emptyWindowInCurrentWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.host$/",
          "group": "inline@2"
        },
        {
          "command": "trae.openremotessh.explorer.deleteHostItem",
          "when": "viewItem =~ /^trae.openremotessh.explorer.host$/",
          "group": "inline@3"
        },
        {
          "command": "trae.openremotessh.explorer.emptyWindowInNewWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.host$/",
          "group": "navigation@2"
        },
        {
          "command": "trae.openremotessh.explorer.emptyWindowInCurrentWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.host$/",
          "group": "navigation@1"
        },
        {
          "command": "trae.openremotessh.explorer.reopenFolderInNewWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.folder/",
          "group": "inline@1"
        },
        {
          "command": "trae.openremotessh.explorer.reopenFolderInCurrentWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.folder/",
          "group": "inline@2"
        },
        {
          "command": "trae.openremotessh.explorer.deleteFolderHistoryItem",
          "when": "viewItem =~ /^trae.openremotessh.explorer.folder/",
          "group": "inline@3"
        },
        {
          "command": "trae.openremotessh.explorer.reopenFolderInNewWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.folder/",
          "group": "navigation@2"
        },
        {
          "command": "trae.openremotessh.explorer.reopenFolderInCurrentWindow",
          "when": "viewItem =~ /^trae.openremotessh.explorer.folder/",
          "group": "navigation@1"
        },
        {
          "command": "trae.openremotessh.explorer.deleteFolderHistoryItem",
          "when": "viewItem =~ /^trae.openremotessh.explorer.folder/",
          "group": "navigation@3"
        },
        {
          "command": "trae.openremotewsl.explorer.emptyWindowInNewWindow",
          "when": "viewItem =~ /^trae.openremotewsl.explorer.distro$/",
          "group": "inline@1"
        },
        {
          "command": "trae.openremotewsl.explorer.emptyWindowInCurrentWindow",
          "when": "viewItem =~ /^trae.openremotewsl.explorer.distro$/",
          "group": "inline@2"
        },
        {
          "command": "trae.openremotewsl.explorer.emptyWindowInNewWindow",
          "when": "viewItem =~ /^trae.openremotewsl.explorer.distro$/",
          "group": "navigation@2"
        },
        {
          "command": "trae.openremotewsl.explorer.emptyWindowInCurrentWindow",
          "when": "viewItem =~ /^trae.openremotewsl.explorer.distro$/",
          "group": "navigation@1"
        },
        {
          "command": "trae.openremotewsl.explorer.setDefaultDistro",
          "when": "viewItem =~ /^trae.openremotewsl.explorer.distro$/",
          "group": "management@1"
        },
        {
          "command": "trae.openremotewsl.explorer.reopenFolderInNewWindow",
          "when": "viewItem == trae.openremotewsl.explorer.folder",
          "group": "inline@1"
        },
        {
          "command": "trae.openremotewsl.explorer.reopenFolderInCurrentWindow",
          "when": "viewItem == trae.openremotewsl.explorer.folder",
          "group": "inline@2"
        },
        {
          "command": "trae.openremotewsl.explorer.reopenFolderInNewWindow",
          "when": "viewItem == trae.openremotewsl.explorer.folder",
          "group": "navigation@2"
        },
        {
          "command": "trae.openremotewsl.explorer.reopenFolderInCurrentWindow",
          "when": "viewItem == trae.openremotewsl.explorer.folder",
          "group": "navigation@1"
        },
        {
          "command": "trae.openremotewsl.explorer.deleteFolderHistoryItem",
          "when": "viewItem =~ /^trae.openremotewsl.explorer.folder/",
          "group": "navigation@3"
        },
        {
          "command": "trae.openremotewsl.explorer.deleteFolderHistoryItem",
          "when": "viewItem =~ /^trae.openremotewsl.explorer.folder/",
          "group": "inline@2"
        }
      ]
    }
  },
  "devDependencies": {
    "@types/node": "^20.10.0",
    "@vscode/vsce": "2.20.1",
    "@typescript-eslint/eslint-plugin": "^7.7.1",
    "@typescript-eslint/parser": "^7.7.1",
    "eslint": "^8.13.0",
    "eslint-plugin-jsdoc": "^19.1.0",
    "ts-loader": "^9.2.7",
    "typescript": "^5.3.3",
    "webpack": "^5.42.0",
    "webpack-cli": "^4.7.2",
    "@types/shell-quote": "~1.7.5",
    "@types/semver": "~7.5.8",
    "@types/fs-extra": "~11.0.4",
    "jest": "^29.5.0",
    "@types/jest": "^29.5.0",
    "ts-jest": "^29.1.0",
    "rimraf": "^6.1.0",
    "strip-ansi": "~7.1.2",
    "vscode-protocol": "~1.0.6",
    "@byted-icube/hyperfetch-client": "0.1.9"
  },
  "dependencies": {
    "@jeanp413/ssh-config": "^4.3.1",
    "glob": "^9.3.1",
    "simple-socks": "workspace:*",
    "socks": "^2.5.0",
    "posix-getopt": "^1.2.1",
    "shell-quote": "^1.8.1",
    "ssh-config": "~5.0.3",
    "axios": "~1.8.1",
    "fs-extra": "~11.3.0",
    "@byted-icube/devtools-base": "workspace:*",
    "fetch-retry": "~6.0.0",
    "p-retry": "~7.1.0"
  },
  "l10n": "./l10n",
  "__metadata": {
    "size": 97475061
  }
}
