tabby/clients/vscode/package.json

198 lines
6.5 KiB
JSON

{
"name": "vscode-tabby",
"publisher": "TabbyML",
"displayName": "Tabby",
"description": "Tabby is a self-hosted AI coding assistant that can suggest multi-line code or full functions in real-time.",
"repository": "https://github.com/TabbyML/tabby",
"license": "Apache-2.0",
"version": "0.1.1",
"keywords": [
"ai",
"autocomplete",
"code completion",
"copilot",
"intellisense",
"intellicode",
"snippets",
"tabby"
],
"icon": "assets/logo.png",
"engines": {
"vscode": "^1.70.0"
},
"categories": [
"Programming Languages",
"Machine Learning",
"Other"
],
"activationEvents": [
"onStartupFinished"
],
"main": "./dist/node/extension.js",
"browser": "./dist/web/extension.js",
"contributes": {
"commands": [
{
"command": "tabby.toggleEnabled",
"title": "Tabby: Toggle Code Suggestion On/Off"
},
{
"command": "tabby.setApiEndpoint",
"title": "Tabby: Specify API Endpoint of Tabby"
},
{
"command": "tabby.openSettings",
"title": "Tabby: Open Settings"
},
{
"command": "tabby.gettingStarted",
"title": "Tabby: Getting Started"
}
],
"walkthroughs": [
{
"id": "gettingStarted",
"title": "Getting Started with Tabby",
"description": "Set up your own AI coding assistant",
"steps": [
{
"id": "getTabbyServerReady",
"title": "Get Tabby Server Ready",
"description": "The Tabby VSCode extension requires a Tabby server to work. Please follow this guide to get your Tabby server ready.",
"media": {
"markdown": "assets/walkthroughs/server.md"
}
},
{
"id": "connectToTabbyServer",
"title": "Connect to Tabby Server",
"description": "Once your Tabby server is ready, specify the server API endpoint here. If you are using a Tabby Cloud endpoint, please follow the popup messages to complete authorization. \n[Specify API Endpoint](command:tabby.setApiEndpoint)",
"media": {
"image": "assets/walkthroughs/setApiEndpoint.png",
"altText": "Tabby: Specify API Endpoint of Tabby"
}
},
{
"id": "codeCompletion",
"title": "Code Completion",
"description": "Tabby provides inline suggestions automatically, and you can accept suggestions by just pressing the Tab key. Follow this guide to find more useful actions.",
"media": {
"markdown": "assets/walkthroughs/codeCompletion.md"
}
},
{
"id": "commands",
"title": "Commands",
"description": "Type `>Tabby:` in quick open prompt to list all Tabby commands. \n[Tabby commands](command:workbench.action.quickOpen?%5B%22%3ETabby%3A%22%5D)",
"media": {
"image": "assets/walkthroughs/commands.png",
"altText": "Tabby Commands"
}
}
]
}
],
"configuration": {
"title": "Tabby",
"properties": {
"tabby.api.endpoint": {
"type": "string",
"default": "http://localhost:8080",
"format": "uri",
"pattern": "^https?:\\/\\/[^\\s]+$",
"patternErrorMessage": "Please enter a validate http or https URL.",
"description": "Specify API Endpoint of Tabby."
},
"tabby.codeCompletion": {
"type": "boolean",
"default": true,
"description": "Enable Tabby code completion or not."
},
"tabby.developerOptions": {
"type": "object",
"description": "Developer options for Tabby.",
"properties": {
"maxPrefixLines": {
"type": "number",
"default": 20,
"description": "Number of lines to include in the Prefix for completion requests"
},
"maxSuffixLines": {
"type": "number",
"default": 20,
"description": "Number of lines to include in the Suffix for completion requests"
},
"suggestionDelay": {
"type": "number",
"default": 150,
"minimum": 0,
"description": "Specifies the delay in milliseconds after which the request is sent to the tabby."
},
"agent": {
"type": "object",
"properties": {
"logs": {
"type": "string",
"enum": [
"debug",
"error",
"silent"
],
"default": "error",
"markdownDescription": "Specifies the log level for tabby-agent."
}
}
}
}
},
"tabby.usage.anonymousUsageTracking": {
"type": "boolean",
"default": false,
"description": "Disable anonymous usage tracking."
}
}
}
},
"scripts": {
"vscode:prepublish": "yarn package",
"compile": "webpack",
"watch": "webpack --watch",
"dev": "code --extensionDevelopmentPath=$PWD --disable-extensions && yarn watch",
"dev:web": "code --extensionDevelopmentPath=$PWD --extensionDevelopmentKind=web --disable-extensions && yarn watch",
"dev:web-browser": "vscode-test-web --extensionDevelopmentPath=$PWD --browserType=chromium --port=3000 && yarn watch",
"package": "webpack --mode production --devtool hidden-source-map",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "yarn compile-tests && yarn compile && yarn lint",
"lint": "eslint src --ext ts",
"test": "node ./out/test/runTest.js",
"vscode:package": "vsce package",
"vscode:publish": "vsce publish"
},
"devDependencies": {
"@types/glob": "^7.2.0",
"@types/mocha": "^10.0.1",
"@types/node": "16.x",
"@types/vscode": "^1.70.0",
"@typescript-eslint/eslint-plugin": "^5.31.0",
"@typescript-eslint/parser": "^5.31.0",
"@vscode/test-electron": "^2.1.5",
"@vscode/test-web": "^0.0.44",
"assert": "^2.0.0",
"eslint": "^8.20.0",
"glob": "^8.0.3",
"mocha": "^10.0.0",
"process": "^0.11.10",
"ts-loader": "^9.3.1",
"typescript": "^4.7.4",
"vsce": "^2.15.0",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0"
},
"dependencies": {
"@sapphire/duration": "^1.1.0",
"@xstate/fsm": "^2.0.1",
"tabby-agent": "file:../tabby-agent"
}
}