{
	"name": "codeium",
	"displayName": "Windsurf Plugin (formerly Codeium): AI Coding Autocomplete and Chat for Python, JavaScript, TypeScript, and more",
	"description": "The modern coding superpower: free AI code acceleration plugin for your favorite languages. Type less. Code more. Ship faster.",
	"version": "1.49.2",
	"publisher": "Codeium",
	"icon": "assets/icon.jpg",
	"galleryBanner": {
		"color": "#191919",
		"theme": "dark"
	},
	"engines": {
		"vscode": "^1.68.0"
	},
	"bugs": {
		"url": "https://discord.gg/3XFf78nAx5",
		"email": "support@windsurf.com"
	},
	"categories": [
		"AI",
		"Chat",
		"Programming Languages",
		"Machine Learning",
		"Snippets",
		"Education"
	],
	"keywords": [
		"ai",
		"autocomplete",
		"intellicode",
		"intellisense",
		"code completion",
		"chatgpt",
		"bash",
		"c",
		"cpp",
		"c++",
		"css",
		"go",
		"golang",
		"html",
		"java",
		"javascript",
		"jupyter",
		"kotlin",
		"node",
		"nodejs",
		"php",
		"python",
		"react",
		"ruby",
		"rust",
		"swift",
		"typescript"
	],
	"activationEvents": [
		"onStartupFinished"
	],
	"main": "./dist/extension.js",
	"contributes": {
		"configuration": {
			"title": "Windsurf",
			"properties": {
				"codeium.enableConfig": {
					"type": "object",
					"default": {
						"*": true
					},
					"description": "Enable / disable Windsurf globally or for specific languages"
				},
				"codeium.detectProxy": {
					"type": "boolean",
					"default": true,
					"description": "Enable automatic proxy detection."
				},
				"codeium.enableSearch": {
					"type": [
						"boolean",
						"string"
					],
					"default": "default",
					"description": "Enable the Windsurf Indexing Engine. This feature allows chat and autocomplete models to have full codebase awareness, significantly improving autocomplete and chat quality. It also allows natural language search of your codebase. \n\n When first enabled, Windsurf will consume about 25% of CPU while it indexes the workspace. This should take < 10 minutes depending on your workspace size, once per workspace. CPU usage will return to normal automatically.",
					"enum": [
						true,
						"default",
						false
					],
					"enumDescriptions": [
						"On",
						"Default (defer to Windsurf's judgement)",
						"Off"
					]
				},
				"codeium.searchMaxWorkspaceFileCount": {
					"type": "integer",
					"default": 5000,
					"description": "Conditional on indexing being enabled, Windsurf will attempt to index workspaces that have up to this many files. This file count ignores .gitignore and binary files. Raising this limit from default may lead to performance issues. Values 0 or below will be treated as unlimited."
				},
				"codeium.indexingRetentionPeriod": {
					"type": "integer",
					"default": 30,
					"description": "Indexed files that have not been accessed within this retention period in days will be removed."
				},
				"codeium.snoozeTime": {
					"type": "integer",
					"default": 60,
					"description": "Snooze time in minutes. After this amount of time, Windsurf autocomplete will resume globally."
				},
				"codeium.languageServerStartupTimeout": {
					"type": "integer",
					"default": 15,
					"description": "Time in seconds the language server will have to start before timeout."
				},
				"codeium.enableCommandSideHintEducation": {
					"type": "boolean",
					"default": true,
					"description": "Show the Windsurf Command shortcut upon selecting multiple lines of text"
				},
				"codeium.enableCodeLens": {
					"type": [
						"boolean",
						"string"
					],
					"default": true,
					"description": "AI-powered inline action buttons in your editor.",
					"enum": [
						true,
						"hide_x",
						false
					],
					"enumDescriptions": [
						"Always show",
						"Always show, but hide the x",
						"Never show"
					]
				},
				"codeium.useSecretStorage": {
					"type": "boolean",
					"default": true,
					"description": "Prefer using VS Code secrets over local storage for credentials."
				},
				"codeium.aggressiveShutdown": {
					"type": "boolean",
					"default": false,
					"description": "Use this setting if the language server process doesn't exit after VS Code closes."
				},
				"codeium.enableExplainProblem": {
					"type": "boolean",
					"default": true,
					"description": "AI Powered `Windsurf: Explain Problem` hover pop-up."
				},
				"codeium.enableInComments": {
					"type": "boolean",
					"default": true,
					"description": "If true, Windsurf will provide autocomplete suggestions in comments."
				},
				"codeium.indexStoragePath": {
					"type": "string",
					"default": "",
					"description": "Custom absolute path to store Windsurf index data. Use in cases when the home directory is an NFS mount so the path is on local disk."
				},
				"codeium.disableSupercomplete": {
					"type": "boolean",
					"default": false,
					"description": "Whether to disable Windsurf Supercomplete (Beta)."
				},
				"codeium.disableTabJump": {
					"type": "boolean",
					"default": false,
					"description": "Disable tab to jump functionality."
				}
			}
		},
		"viewsContainers": {
			"activitybar": [
				{
					"id": "codeium",
					"title": "Windsurf",
					"icon": "assets/windsurf.svg"
				}
			]
		},
		"views": {
			"codeium": [
				{
					"type": "webview",
					"id": "codeium.chatPanelView",
					"name": "Windsurf",
					"visibility": "visible"
				}
			]
		},
		"commands": [
			{
				"command": "codeium.provideAuthToken",
				"title": "Windsurf: Provide Authentication Token"
			},
			{
				"command": "codeium.refreshUnauthedPanel",
				"title": "Windsurf: Refresh Unauthed Panel"
			},
			{
				"command": "codeium.showPreviousCompletion",
				"title": "Windsurf: Show Previous Completion"
			},
			{
				"command": "codeium.showNextCompletion",
				"title": "Windsurf: Show Next Completion"
			},
			{
				"command": "codeium.toggleAutocompleteForCurrentLanguage",
				"title": "Windsurf: Toggle Autocomplete for Current Language"
			},
			{
				"command": "codeium.toggleAutocompleteGlobally",
				"title": "Windsurf: Toggle Autocomplete Globally"
			},
			{
				"command": "codeium.toggleSupercomplete",
				"title": "Windsurf: Toggle Supercomplete"
			},
			{
				"command": "codeium.copyStatusToClipboard",
				"title": "Windsurf: Copy Status to Clipboard"
			},
			{
				"command": "codeium.openProfile",
				"title": "Windsurf: Open Profile",
				"icon": "$(accounts-view-bar-icon)"
			},
			{
				"command": "codeium.popoutChat",
				"title": "Windsurf: Popout Chat",
				"icon": "$(default-view-icon)"
			},
			{
				"command": "codeium.generateCommitMessage",
				"title": "Windsurf: Generate Commit Message (beta)",
				"icon": "$(sparkle)"
			},
			{
				"command": "codeium.openChatView",
				"title": "Windsurf: Open Chat"
			},
			{
				"command": "codeium.openChatInPane",
				"title": "Windsurf: Open Chat in Editor",
				"icon": "$(preferences-open-settings)"
			},
			{
				"command": "codeium.refactorCodeBlock",
				"title": "Windsurf: Refactor Selected Code Block"
			},
			{
				"command": "codeium.explainCodeBlock",
				"title": "Windsurf: Explain Selected Code Block"
			},
			{
				"command": "codeium.openUniversityView",
				"title": "Windsurf: Open University",
				"when": "codeium.universityEnabled",
				"icon": "$(extensions-info-message)"
			},
			{
				"command": "codeium.explainProblem",
				"title": "Windsurf: Explain Problem"
			},
			{
				"command": "codeium.openCodeiumCommand",
				"title": "Windsurf: Command ✨"
			},
			{
				"command": "codeium.pasteAndTranslate",
				"title": "Windsurf: Smart Paste 🧠"
			},
			{
				"command": "codeium.cancelCommandComment",
				"title": "Cancel Command"
			},
			{
				"command": "codeium.submitCodeiumCommand",
				"title": "Windsurf: Submit ✨"
			},
			{
				"command": "codeium.openAutocompleteCommandPalette",
				"title": "Windsurf: Open Autocomplete Command Palette"
			},
			{
				"command": "codeium.snoozeAutocomplete",
				"title": "Windsurf: Snooze Autocomplete"
			},
			{
				"command": "codeium.cancelSnooze",
				"title": "Windsurf: Cancel Snooze"
			},
			{
				"command": "codeium.restartLanguageServer",
				"title": "Windsurf: Restart Language Server"
			},
			{
				"command": "codeium.testNetworkConnection",
				"title": "Windsurf: Test Network Connection"
			}
		],
		"menus": {
			"commandPalette": [
				{
					"command": "codeium.showPreviousCompletion",
					"when": "inlineSuggestionVisible && !editorReadonly"
				},
				{
					"command": "codeium.showNextCompletion",
					"when": "inlineSuggestionVisible && !editorReadonly"
				},
				{
					"command": "codeium.openCodeiumCommand",
					"when": "codeium.commandEnabled"
				},
				{
					"command": "codeium.pasteAndTranslate",
					"when": "codeium.commandEnabled && !(hasSpeechProvider && !editorReadonly && !speechToTextInProgress)"
				}
			],
			"editor/context": [
				{
					"command": "codeium.refactorCodeBlock",
					"group": "CodeiumGroup@1",
					"when": "editorTextFocus && editorHasSelection"
				},
				{
					"command": "codeium.explainCodeBlock",
					"group": "CodeiumGroup@2",
					"when": "editorTextFocus && editorHasSelection"
				}
			],
			"comments/commentThread/context": [
				{
					"command": "codeium.submitCodeiumCommand",
					"group": "inline",
					"when": "codeium.commandEnabled && commentController =~ /^codeium-command-comment-thread/"
				}
			],
			"comments/comment/context": [
				{
					"command": "codeium.cancelCommandComment",
					"group": "inline@1",
					"when": "codeium.commandEnabled && commentController =~ /^codeium-command-using-comment/"
				},
				{
					"command": "codeium.submitCodeiumCommand",
					"group": "inline@0",
					"when": "codeium.commandEnabled && commentController =~ /^codeium-command-using-comment/"
				}
			],
			"scm/title": [
				{
					"command": "codeium.generateCommitMessage",
					"when": "scmProvider == git",
					"group": "navigation"
				}
			]
		},
		"keybindings": [
			{
				"key": "alt+[",
				"command": "codeium.showPreviousCompletion"
			},
			{
				"key": "alt+]",
				"command": "codeium.showNextCompletion"
			},
			{
				"key": "alt+.",
				"command": "codeium.showNextCortexStep"
			},
			{
				"key": "alt+,",
				"command": "codeium.showPreviousCortexStep"
			},
			{
				"key": "ctrl+shift+a",
				"mac": "shift+cmd+a",
				"command": "codeium.openChatView",
				"when": "isMac || isWindows"
			},
			{
				"key": "ctrl+alt+v",
				"mac": "cmd+alt+v",
				"command": "codeium.pasteAndTranslate"
			},
			{
				"key": "ctrl+alt+a",
				"command": "codeium.openChatView",
				"when": "isLinux"
			},
			{
				"command": "editor.action.inlineSuggest.trigger",
				"key": "alt+\\",
				"when": "editorTextFocus && !editorHasSelection && !inlineSuggestionsVisible"
			},
			{
				"command": "codeium.openCodeiumCommand",
				"key": "ctrl+i",
				"mac": "cmd+i",
				"when": "editorTextFocus && !inlineSuggestionsVisible && codeium.commandEnabled"
			},
			{
				"command": "codeium.smartCopy",
				"key": "ctrl+c",
				"mac": "cmd+c",
				"when": "editorTextFocus && codeium.enableSmartCopy"
			},
			{
				"command": "codeium.openCodeiumCommand",
				"key": "ctrl+shift+i",
				"mac": "cmd+shift+i",
				"when": "editorTextFocus && !inlineSuggestionsVisible && codeium.commandEnabled"
			},
			{
				"command": "codeium.cancelCodeiumCommand",
				"key": "alt+c",
				"mac": "alt+c",
				"when": "editorTextFocus && codeium.commandEnabled"
			},
			{
				"command": "codeium.diffActionAccept",
				"key": "alt+a",
				"mac": "alt+a",
				"when": "editorTextFocus && !inlineSuggestionsVisible"
			},
			{
				"command": "codeium.diffActionFollowup",
				"key": "alt+f",
				"mac": "alt+f",
				"when": "editorTextFocus && !inlineSuggestionsVisible"
			},
			{
				"command": "codeium.diffActionReject",
				"key": "alt+r",
				"mac": "alt+r",
				"when": "editorTextFocus && !inlineSuggestionsVisible"
			},
			{
				"command": "editor.action.submitComment",
				"key": "ctrl+shift+enter",
				"mac": "cmd+shift+enter",
				"when": "commentEditorFocused"
			},
			{
				"command": "codeium.supercompleteAccept",
				"key": "tab",
				"mac": "tab",
				"when": "editorTextFocus && !inlineSuggestionsVisible && codeium.supercompleteShown && codeium.supercompleteOnTab"
			},
			{
				"command": "codeium.forceSupercomplete",
				"key": "alt+.",
				"mac": "alt+.",
				"when": "editorTextFocus"
			},
			{
				"command": "codeium.supercompleteEscape",
				"key": "escape",
				"mac": "escape",
				"when": "editorTextFocus && codeium.supercompleteShown"
			},
			{
				"command": "codeium.tabJumpAccept",
				"key": "tab",
				"mac": "tab",
				"when": "editorTextFocus && !inlineSuggestionsVisible && codeium.tabJumpShown && codeium.tabJumpEnabled"
			},
			{
				"command": "codeium.chatAboutBlock",
				"key": "alt+l",
				"mac": "alt+l",
				"when": "editorTextFocus && !inlineSuggestionsVisible"
			}
		]
	},
	"scripts": {
		"vscode:prepublish": "pnpm webpack-prod && pnpm lint",
		"webpack": "pnpm protoc && webpack --mode development --progress",
		"webpack-watch": "pnpm webpack --mode development --watch",
		"webpack-prod": "pnpm webpack --mode production && pnpm postbuild",
		"postbuild": "rimraf --glob \"**/*.map\"",
		"compile": "tsc -p ./",
		"watch": "tsc -watch -p ./",
		"pretest": "pnpm webpack && pnpm lint",
		"lint": "pnpm protoc && eslint src --ext .ts,.tsx --cache",
		"lint:fix": "pnpm protoc && eslint src --ext .ts,.tsx --fix --cache",
		"test": "pnpm protoc && jest",
		"test:watch": "jest --watchAll",
		"test-compile": "tsc -p ./",
		"prettier": "prettier --write .",
		"prettier:check": "prettier --check .",
		"protoc": "rm -rf ./src/generated && buf generate ../../.. --path ../../language_server_pb/language_server.proto --path ../../product_analytics_pb/product_analytics.proto --path ../../chat_web_server_pb/chat_web_server.proto --path ../../auto_cascade_common_pb/auto_cascade_common.proto --path ../../opensearch_clients_pb/opensearch_clients.proto --path ../../seat_management_pb/seat_management.proto --path ../../dev_pb/dev.proto --path ../../extension_server_pb/extension_server.proto --path ../../knowledge_base_pb/knowledge_base.proto --include-imports --disable-symlinks",
		"clean": "rm -rf node_modules && rm -rf src/generated && rm -rf dist",
		"build": "pnpm webpack-prod"
	},
	"devDependencies": {
		"@babel/preset-env": "^7.21.4",
		"@babel/preset-react": "^7.18.6",
		"@babel/preset-typescript": "^7.21.4",
		"@bufbuild/buf": "1.36.0",
		"@bufbuild/protoc-gen-es": "1.9.0",
		"@connectrpc/protoc-gen-connect-es": "1.4.0",
		"@sentry/types": "7.107.0",
		"@tailwindcss/typography": "^0.5.12",
		"@types/autosize": "^4.0.1",
		"@types/glob": "^7.2.0",
		"@types/jest": "^29.5.12",
		"@types/lodash": "4.17.4",
		"@types/mocha": "^10.0.1",
		"@types/node": "^20.4.2",
		"@types/react": "18.2.9",
		"@types/react-dom": "18.2.9",
		"@types/showdown": "^2.0.0",
		"@types/triple-beam": "^1.3.2",
		"@types/uuid": "^9.0.0",
		"@types/vscode": "^1.68.0",
		"@types/vscode-webview": "^1.57.1",
		"@typescript-eslint/eslint-plugin": "^6.11.0",
		"@typescript-eslint/parser": "^6.11.0",
		"@vscode/test-electron": "^2.1.5",
		"@vscode/vsce": "^2.29.0",
		"bufferutil": "^4.0.8",
		"copy-webpack-plugin": "^11.0.0",
		"css-loader": "^6.7.3",
		"eslint": "^8.53.0",
		"eslint-plugin-import": "^2.27.5",
		"eslint-plugin-react-hooks": "^4.6.2",
		"glob": "^8.0.3",
		"jest": "^29.7.0",
		"jest-mock-vscode": "^3.0.5",
		"mocha": "^10.2.0",
		"node-loader": "^2.0.0",
		"os-browserify": "^0.3.0",
		"postcss": "^8.4.31",
		"postcss-loader": "^7.2.4",
		"postcss-preset-env": "^8.3.0",
		"prettier": "^2.8.8",
		"rimraf": "^5.0.7",
		"sentry-webpack-2": "npm:@sentry/webpack-plugin@3.2.0",
		"style-loader": "4.0.0",
		"tailwindcss": "^3.4.1",
		"ts-jest": "^29.1.2",
		"ts-loader": "^9.4.1",
		"tty-browserify": "^0.0.1",
		"typescript": "5.4.5",
		"utf-8-validate": "^6.0.4",
		"webpack": "^5.74.0",
		"webpack-cli": "^4.10.0"
	},
	"dependencies": {
		"@bufbuild/protobuf": "1.9.0",
		"@connectrpc/connect": "1.4.0",
		"@connectrpc/connect-node": "1.4.0",
		"@connectrpc/connect-web": "1.4.0",
		"@exa/chat-client": "workspace:*",
		"@exa/design-system": "workspace:*",
		"@exa/university": "workspace:*",
		"@headlessui/react": "^1.7.14",
		"@heroicons/react": "2.1.3",
		"@highlightjs/cdn-assets": "^11.7.0",
		"@sentry/integrations": "7.107.0",
		"@sentry/node": "7.107.0",
		"@types/ws": "^8.5.5",
		"@vscode/codicons": "^0.0.32",
		"@vscode/webview-ui-toolkit": "^1.2.1",
		"autosize": "^6.0.1",
		"axios": "^1.3.6",
		"babel-loader": "^9.1.2",
		"bluebird": "^3.7.2",
		"crc-32": "^1.2.2",
		"got": "^11.8.6",
		"headers-polyfill": "^3.1.2",
		"hpagent": "^1.2.0",
		"js-confetti": "^0.11.0",
		"lodash": "4.17.21",
		"moment": "2.30.1",
		"os-browserify": "^0.3.0",
		"os-proxy-config": "^1.1.1",
		"quill-mention": "^4.0.0",
		"react": "^18.3.1",
		"react-dom": "^18.3.1",
		"react-quill": "^2.0.0",
		"showdown": "^2.1.0",
		"showdown-highlight": "^3.1.0",
		"triple-beam": "^1.3.0",
		"unleash-client": "^5.5.2",
		"uuid": "^9.0.0",
		"vscode-languageclient": "^8.0.2",
		"winston": "^3.8.2",
		"winston-transport": "^4.5.0",
		"ws": "^8.13.0"
	},
	"__metadata": {
		"installedTimestamp": 1756551097140,
		"targetPlatform": "undefined",
		"size": 17538585
	}
}