{ "name": "coder-remote", "displayName": "Coder", "version": "1.11.5", "description": "Open any workspace with a single click.", "categories": [ "Other" ], "bugs": { "url": "https://github.com/coder/vscode-coder/issues" }, "repository": { "type": "git", "url": "https://github.com/coder/vscode-coder" }, "license": "MIT", "publisher": "coder", "type": "commonjs", "main": "./dist/extension.js", "scripts": { "build": "webpack", "fmt": "prettier --write .", "lint": "eslint . --ext ts,md,json", "lint:fix": "yarn lint --fix", "package": "webpack --mode production --devtool hidden-source-map", "package:prerelease": "npx vsce package --pre-release", "pretest": "tsc -p . --outDir out && tsc -p test --outDir out && yarn run build && yarn run lint", "test": "ELECTRON_RUN_AS_NODE=1 electron node_modules/vitest/vitest.mjs", "test:ci": "CI=true yarn test", "test:integration": "vscode-test", "vscode:prepublish": "yarn package", "watch": "webpack --watch" }, "contributes": { "configuration": { "title": "Coder", "properties": { "coder.sshConfig": { "markdownDescription": "These values will be included in the ssh config file. Eg: `'ConnectTimeout=10'` will set the timeout to 10 seconds. Any values included here will override anything provided by default or by the deployment. To unset a value that is written by default, set the value to the empty string, Eg: `'ConnectTimeout='` will unset it.", "type": "array", "items": { "title": "SSH Config Value", "type": "string", "pattern": "^[a-zA-Z0-9-]+[=\\s].*$" }, "scope": "machine" }, "coder.insecure": { "markdownDescription": "If true, the extension will not verify the authenticity of the remote host. This is useful for self-signed certificates.", "type": "boolean", "default": false }, "coder.binarySource": { "markdownDescription": "Used to download the Coder CLI which is necessary to make SSH connections. The If-None-Match header will be set to the SHA1 of the CLI and can be used for caching. Absolute URLs will be used as-is; otherwise this value will be resolved against the deployment domain. Defaults to downloading from the Coder deployment.", "type": "string", "default": "" }, "coder.binaryDestination": { "markdownDescription": "The full path of the directory into which the Coder CLI will be downloaded. Defaults to the value of `CODER_BINARY_DESTINATION` if not set, otherwise the extension's global storage directory.", "type": "string", "default": "" }, "coder.enableDownloads": { "markdownDescription": "Allow the plugin to download the CLI when missing or out of date.", "type": "boolean", "default": true }, "coder.headerCommand": { "markdownDescription": "An external command that outputs additional HTTP headers added to all requests. The command must output each header as `key=value` on its own line. The following environment variables will be available to the process: `CODER_URL`. Defaults to the value of `CODER_HEADER_COMMAND` if not set.", "type": "string", "default": "" }, "coder.tlsCertFile": { "markdownDescription": "Path to file for TLS client cert. When specified, token authorization will be skipped. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.", "type": "string", "default": "" }, "coder.tlsKeyFile": { "markdownDescription": "Path to file for TLS client key. When specified, token authorization will be skipped. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.", "type": "string", "default": "" }, "coder.tlsCaFile": { "markdownDescription": "Path to file for TLS certificate authority. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.", "type": "string", "default": "" }, "coder.tlsAltHost": { "markdownDescription": "Alternative hostname to use for TLS verification. This is useful when the hostname in the certificate does not match the hostname used to connect.", "type": "string", "default": "" }, "coder.proxyLogDirectory": { "markdownDescription": "If set, the Coder CLI will output extra SSH information into this directory, which can be helpful for debugging connectivity issues.", "type": "string", "default": "" }, "coder.proxyBypass": { "markdownDescription": "If not set, will inherit from the `no_proxy` or `NO_PROXY` environment variables. `http.proxySupport` must be set to `on` or `off`, otherwise VS Code will override the proxy agent set by the plugin.", "type": "string", "default": "" }, "coder.defaultUrl": { "markdownDescription": "This will be shown in the URL prompt, along with the CODER_URL environment variable if set, for the user to select when logging in.", "type": "string", "default": "" }, "coder.autologin": { "markdownDescription": "Automatically log into the default URL when the extension is activated. coder.defaultUrl is preferred, otherwise the CODER_URL environment variable will be used. This setting has no effect if neither is set.", "type": "boolean", "default": false }, "coder.disableUpdateNotifications": { "markdownDescription": "Disable notifications when workspace template updates are available.", "type": "boolean", "default": false }, "coder.disableSignatureVerification": { "markdownDescription": "Disable Coder CLI signature verification, which can be useful if you run an unsigned fork of the binary.", "type": "boolean", "default": false }, "coder.sshFlags": { "markdownDescription": "Additional flags to pass to the `coder ssh` command when establishing SSH connections. Enter each flag as a separate array item; values are passed verbatim and in order. See the [CLI ssh reference](https://coder.com/docs/reference/cli/ssh) for available flags.\n\nNote: `--network-info-dir` and `--ssh-host-prefix` are ignored (managed internally). Prefer `#coder.proxyLogDirectory#` over `--log-dir`/`-l` for full functionality.", "type": "array", "items": { "type": "string" }, "default": [ "--disable-autostart" ] }, "coder.globalFlags": { "markdownDescription": "Global flags to pass to every Coder CLI invocation. Enter each flag as a separate array item; values are passed verbatim and in order. Do **not** include the `coder` command itself. See the [CLI reference](https://coder.com/docs/reference/cli) for available global flags.\n\nNote that for `--header-command`, precedence is: `#coder.headerCommand#` setting, then `CODER_HEADER_COMMAND` environment variable, then the value specified here. The `--global-config` flag is explicitly ignored.", "type": "array", "items": { "type": "string" } }, "coder.httpClientLogLevel": { "markdownDescription": "Controls the verbosity of HTTP client logging. This affects what details are logged for each HTTP request and response.", "type": "string", "enum": [ "none", "basic", "headers", "body" ], "markdownEnumDescriptions": [ "Disables all HTTP client logging", "Logs the request method, URL, length, and the response status code", "Logs everything from *basic* plus sanitized request and response headers", "Logs everything from *headers* plus request and response bodies (may include sensitive data)" ], "default": "basic" } } }, "viewsContainers": { "activitybar": [ { "id": "coder", "title": "Coder Remote", "icon": "media/logo-white.svg" } ] }, "views": { "coder": [ { "id": "myWorkspaces", "name": "My Workspaces", "visibility": "visible", "icon": "media/logo-white.svg" }, { "id": "allWorkspaces", "name": "All Workspaces", "visibility": "visible", "icon": "media/logo-white.svg", "when": "coder.authenticated && coder.isOwner" } ] }, "viewsWelcome": [ { "view": "myWorkspaces", "contents": "Coder is a platform that provisions remote development environments. \n[Login](command:coder.login)", "when": "!coder.authenticated && coder.loaded" } ], "commands": [ { "command": "coder.login", "title": "Coder: Login" }, { "command": "coder.logout", "title": "Coder: Logout", "when": "coder.authenticated", "icon": "$(sign-out)" }, { "command": "coder.open", "title": "Open Workspace", "icon": "$(play)", "category": "Coder" }, { "command": "coder.openFromSidebar", "title": "Coder: Open Workspace", "icon": "$(play)" }, { "command": "coder.createWorkspace", "title": "Create Workspace", "category": "Coder", "when": "coder.authenticated", "icon": "$(add)" }, { "command": "coder.navigateToWorkspace", "title": "Navigate to Workspace Page", "when": "coder.authenticated", "icon": "$(link-external)" }, { "command": "coder.navigateToWorkspaceSettings", "title": "Edit Workspace Settings", "when": "coder.authenticated", "icon": "$(settings-gear)" }, { "command": "coder.workspace.update", "title": "Coder: Update Workspace", "when": "coder.workspace.updatable" }, { "command": "coder.refreshWorkspaces", "title": "Refresh Workspace", "category": "Coder", "icon": "$(refresh)", "when": "coder.authenticated" }, { "command": "coder.viewLogs", "title": "Coder: View Logs", "icon": "$(list-unordered)", "when": "coder.authenticated" }, { "command": "coder.openAppStatus", "title": "Coder: Open App Status", "icon": "$(robot)", "when": "coder.authenticated" }, { "command": "coder.searchMyWorkspaces", "title": "Search", "category": "Coder", "icon": "$(search)" }, { "command": "coder.searchAllWorkspaces", "title": "Search", "category": "Coder", "icon": "$(search)" } ], "menus": { "commandPalette": [ { "command": "coder.openFromSidebar", "when": "false" }, { "command": "coder.searchMyWorkspaces", "when": "false" }, { "command": "coder.searchAllWorkspaces", "when": "false" } ], "view/title": [ { "command": "coder.logout", "when": "coder.authenticated && view == myWorkspaces" }, { "command": "coder.login", "when": "!coder.authenticated && view == myWorkspaces" }, { "command": "coder.createWorkspace", "when": "coder.authenticated && view == myWorkspaces", "group": "navigation@1" }, { "command": "coder.refreshWorkspaces", "when": "coder.authenticated && view == myWorkspaces", "group": "navigation@2" }, { "command": "coder.searchMyWorkspaces", "when": "coder.authenticated && view == myWorkspaces", "group": "navigation@3" }, { "command": "coder.searchAllWorkspaces", "when": "coder.authenticated && view == allWorkspaces", "group": "navigation@3" } ], "view/item/context": [ { "command": "coder.openFromSidebar", "when": "coder.authenticated && viewItem == coderWorkspaceSingleAgent || coder.authenticated && viewItem == coderAgent", "group": "inline" }, { "command": "coder.navigateToWorkspace", "when": "coder.authenticated && viewItem == coderWorkspaceSingleAgent || coder.authenticated && viewItem == coderWorkspaceMultipleAgents", "group": "inline" }, { "command": "coder.navigateToWorkspaceSettings", "when": "coder.authenticated && viewItem == coderWorkspaceSingleAgent || coder.authenticated && viewItem == coderWorkspaceMultipleAgents", "group": "inline" } ], "statusBar/remoteIndicator": [ { "command": "coder.open", "group": "remote_11_ssh_coder@1" }, { "command": "coder.createWorkspace", "group": "remote_11_ssh_coder@2", "when": "coder.authenticated" } ] } }, "activationEvents": [ "onResolveRemoteAuthority:ssh-remote", "onCommand:coder.connect", "onUri" ], "resolutions": { "semver": "7.7.3", "trim": "0.0.3", "word-wrap": "1.2.5" }, "dependencies": { "@peculiar/x509": "^1.14.0", "axios": "1.12.2", "date-fns": "^3.6.0", "eventsource": "^3.0.6", "find-process": "^2.0.0", "jsonc-parser": "^3.3.1", "openpgp": "^6.2.2", "pretty-bytes": "^7.1.0", "proper-lockfile": "^4.1.2", "proxy-agent": "^6.5.0", "semver": "^7.7.3", "ua-parser-js": "1.0.40", "ws": "^8.18.3", "zod": "^4.1.12" }, "devDependencies": { "@types/eventsource": "^3.0.0", "@types/glob": "^7.1.3", "@types/node": "^22.14.1", "@types/proper-lockfile": "^4.1.4", "@types/semver": "^7.7.1", "@types/ua-parser-js": "0.7.36", "@types/vscode": "^1.73.0", "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^8.44.0", "@typescript-eslint/parser": "^8.46.4", "@vitest/coverage-v8": "^3.2.4", "@vscode/test-cli": "^0.0.12", "@vscode/test-electron": "^2.5.2", "@vscode/vsce": "^3.7.1", "bufferutil": "^4.0.9", "coder": "https://github.com/coder/coder#main", "dayjs": "^1.11.19", "electron": "^39.2.6", "eslint": "^8.57.1", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", "eslint-plugin-md": "^1.0.19", "eslint-plugin-package-json": "^0.59.0", "eslint-plugin-prettier": "^5.5.4", "glob": "^11.1.0", "jsonc-eslint-parser": "^2.4.0", "markdown-eslint-parser": "^1.2.1", "memfs": "^4.49.0", "nyc": "^17.1.0", "prettier": "^3.6.2", "ts-loader": "^9.5.4", "typescript": "^5.9.3", "utf-8-validate": "^6.0.5", "vitest": "^3.2.4", "vscode-test": "^1.5.0", "webpack": "^5.101.3", "webpack-cli": "^6.0.1" }, "extensionPack": [ "ms-vscode-remote.remote-ssh" ], "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e", "engines": { "vscode": "^1.73.0" }, "icon": "media/logo.png", "extensionKind": [ "ui" ], "capabilities": { "untrustedWorkspaces": { "supported": true } }, "__metadata": { "installedTimestamp": 1765760155823, "targetPlatform": "undefined", "size": 2866196 } }