Newer
Older
abysiuscodium / extensions / abysius-ai / package.json
{
  "name": "abysius-ai",
  "displayName": "Abysius AI",
  "description": "Inline completion and AI chat powered by Abysius",
  "version": "0.1.0",
  "publisher": "abysius",
  "license": "MIT",
  "engines": {
    "vscode": "^1.90.0"
  },
  "categories": [
    "Machine Learning",
    "Chat",
    "Programming Languages"
  ],
  "keywords": [
    "ai",
    "inline completion",
    "chat",
    "abysius",
    "copilot",
    "llm"
  ],
  "activationEvents": [
    "onStartupFinished"
  ],
  "main": "./out/extension.js",
  "icon": "assets/icon.png",
  "contributes": {
    "configuration": {
      "title": "Abysius AI",
      "properties": {
        "abysius.enableInlineCompletions": {
          "type": "boolean",
          "default": true,
          "description": "Enable AI-powered inline completions (ghost text)",
          "order": 1
        },
        "abysius.inlineCompletionDelay": {
          "type": "number",
          "default": 300,
          "minimum": 50,
          "maximum": 2000,
          "description": "Delay in ms before requesting inline completions",
          "order": 2
        },
        "abysius.inlineCompletionMaxLength": {
          "type": "number",
          "default": 200,
          "minimum": 50,
          "maximum": 2000,
          "description": "Maximum length of inline completion suggestions",
          "order": 3
        },
        "abysius.chatEndpoint": {
          "type": "string",
          "default": "https://api.abysius.ai/v1/chat",
          "description": "Abysius AI chat API endpoint",
          "order": 4
        },
        "abysius.inlineEndpoint": {
          "type": "string",
          "default": "https://api.abysius.ai/v1/inline",
          "description": "Abysius AI inline completion API endpoint",
          "order": 5
        },
        "abysius.apiKey": {
          "type": "string",
          "default": "",
          "description": "Your Abysius API key",
          "order": 6
        },
        "abysius.model": {
          "type": "string",
          "default": "abysius-coder",
          "description": "Model to use for completions and chat",
          "enum": [
            "abysius-coder",
            "abysius-chat",
            "abysius-fast"
          ],
          "enumDescriptions": [
            "Optimized for code completion",
            "Optimized for conversational chat",
            "Fastest response time"
          ],
          "order": 7
        },
        "abysius.showInlineDiff": {
          "type": "boolean",
          "default": true,
          "description": "Show diff-style highlights in inline completions",
          "order": 8
        },
        "abysius.telemetry": {
          "type": "boolean",
          "default": false,
          "description": "Enable anonymous usage telemetry",
          "order": 9
        }
      }
    },
    "commands": [
      {
        "command": "abysius.openChat",
        "title": "Open Abysius Chat",
        "icon": "$(comment-discussion)",
        "category": "Abysius AI"
      },
      {
        "command": "abysius.acceptInlineCompletion",
        "title": "Accept Inline Completion",
        "keybinding": {
          "command": "abysius.acceptInlineCompletion",
          "key": "tab",
          "when": "abysiusInlineCompletionVisible && editorTextFocus && !editorReadonly"
        },
        "category": "Abysius AI"
      },
      {
        "command": "abysius.rejectInlineCompletion",
        "title": "Reject Inline Completion",
        "keybinding": {
          "command": "abysius.rejectInlineCompletion",
          "key": "escape",
          "when": "abysiusInlineCompletionVisible && editorTextFocus"
        },
        "category": "Abysius AI"
      },
      {
        "command": "abysius.triggerInlineCompletion",
        "title": "Trigger Inline Completion",
        "keybinding": {
          "command": "abysius.triggerInlineCompletion",
          "key": "ctrl+space",
          "mac": "cmd+space",
          "when": "editorTextFocus && !editorReadonly"
        },
        "category": "Abysius AI"
      },
      {
        "command": "abysius.openSettings",
        "title": "Open Abysius Settings",
        "category": "Abysius AI"
      },
      {
        "command": "abysius.clearChat",
        "title": "Clear Chat History",
        "icon": "$(clear-all)",
        "category": "Abysius AI"
      }
    ],
    "viewsContainers": {
      "activitybar": [
        {
          "id": "abysiusChat",
          "title": "Abysius AI",
          "icon": "$(comment-discussion)"
        }
      ]
    },
    "views": {
      "abysiusChat": [
        {
          "id": "abysius.chatPanel",
          "name": "Chat",
          "type": "webview",
          "icon": "$(comment-discussion)"
        }
      ],
      "explorer": [
        {
          "id": "abysius.chatView",
          "name": "Abysius Chat",
          "when": "abysiusChatEnabled",
          "icon": "$(comment-discussion)",
          "contextualTitle": "Abysius Chat"
        }
      ]
    },
    "menus": {
      "commandPalette": [
        {
          "command": "abysius.acceptInlineCompletion",
          "when": "false"
        },
        {
          "command": "abysius.rejectInlineCompletion",
          "when": "false"
        }
      ],
      "editor/context": [
        {
          "command": "abysius.triggerInlineCompletion",
          "group": "9_cutcopypaste@5",
          "when": "editorTextFocus && !editorReadonly"
        }
      ],
      "view/title": [
        {
          "command": "abysius.clearChat",
          "group": "navigation",
          "when": "view == abysius.chatPanel"
        }
      ]
    },
    "keybindings": [
      {
        "command": "abysius.acceptNextWord",
        "key": "ctrl+right",
        "mac": "cmd+right",
        "when": "abysiusInlineCompletionVisible && editorTextFocus && !editorReadonly"
      }
    ]
  },
  "scripts": {
    "vscode:prepublish": "npm run compile",
    "compile": "tsc -p ./",
    "watch": "tsc -watch -p ./",
    "lint": "eslint src --ext ts",
    "package": "vsce package"
  },
  "devDependencies": {
    "@types/node": "^20.14.0",
    "@types/vscode": "^1.90.0",
    "@typescript-eslint/eslint-plugin": "^7.0.0",
    "@typescript-eslint/parser": "^7.0.0",
    "eslint": "^8.57.0",
    "typescript": "^5.4.0"
  },
  "dependencies": {}
}