{
  "name": "fabelous-autocoder",
  "version": "0.2.0",
  "displayName": "Fabelous Autocoder",
  "description": "A simple to use Ollama autocompletion Plugin",
  "icon": "icon.png",
  "publisher": "Falko Habel",
  "license": "CC BY-ND 4.0",
  "bugs": {
    "url": "https://gitea.fabelous.app/fabel/Fabelous-Autocoder/issues"
  },
  "repository": {
    "type": "git",
    "url": "https://gitea.fabelous.app/fabel/Fabelous-Autocoder.git"
  },
  "engines": {
    "vscode": "^1.89.0"
  },
  "categories": [
    "Machine Learning",
    "Snippets",
    "Programming Languages"
  ],
  "keywords": [
    "ollama",
    "coding",
    "autocomplete",
    "open source",
    "assistant",
    "ai",
    "llm"
  ],
  "galleryBanner": {
    "color": "#133773"
  },
  "activationEvents": [
    "onStartupFinished"
  ],
  "main": "./out/extension.js",
  "contributes": {
    "configuration": {
      "title": "Fabelous Autocoder",
      "properties": {
        "fabelous-autocoder.endpoint": {
          "type": "string",
          "default": "http://localhost:11434/api/generate",
          "description": "The endpoint of the ollama REST API"
        },
        "fabelous-autocoder.authentication": {
          "type": "string",
          "default": "",
          "description": "Authorization Token for Ollama"
        },
        "fabelous-autocoder.model": {
          "type": "string",
          "default": "",
          "description": "The model to use for generating completions"
        },
        "fabelous-autocoder.max tokens predicted": {
          "type": "integer",
          "default": 1000,
          "description": "The maximum number of tokens generated by the model."
        },
        "fabelous-autocoder.prompt window size": {
          "type": "integer",
          "default": 2000,
          "description": "The size of the prompt in characters. NOT tokens, so can be set about 1.5-2x the max tokens of the model (varies)."
        },
        "fabelous-autocoder.completion keys": {
          "type": "string",
          "default": " ",
          "description": "Character that the autocompletion item provider appear on. Multiple characters will be treated as different entries. REQUIRES RELOAD"
        },
        "fabelous-autocoder.response preview": {
          "type": "boolean",
          "default": true,
          "description": "Inline completion label will be the first line of response. Max is 10 tokens, but this is unlikely to be reached. If the first line is empty, the default label will be used. Not streamable, disable on slow devices."
        },
        "fabelous-autocoder.preview max tokens": {
          "type": "integer",
          "default": 50,
          "description": "The maximum number of tokens generated by the model for the response preview. Typically not reached as the preview stops on newline. Recommended to keep very low due to computational cost."
        },
        "fabelous-autocoder.preview delay": {
          "type": "number",
          "default": 1,
          "description": "Time to wait in seconds before starting inline preview generation. Prevents Ollama server from running briefly every time the completion key is pressed, which causes unnecessary compute usage. If you are not on a battery powered device, set this to 0 for a more responsive experience."
        },
        "fabelous-autocoder.continue inline": {
          "type": "boolean",
          "default": true,
          "description": "Ollama continues autocompletion after what is previewed inline. Disabling disables that feature as some may find it irritating. Multiline completion is still accessible through the shortcut even after disabling."
        },
        "fabelous-autocoder.temperature": {
          "type": "number",
          "default": 0.5,
          "description": "Temperature of the model. It is recommended to set it lower than you would for dialogue."
        },
        "fabelous-autocoder.keep alive": {
          "type": "number",
          "default": 10,
          "description": "Time in minutes before Ollama unloads the model."
        },
        "fabelous-autocoder.top p": {
          "type": "number",
          "default": 1,
          "description": "Top p sampling for the model."
        },
        "fabelous-autocoder.enableLineByLineAcceptance": {
          "type": "boolean",
          "default": false,
          "description": "Enable line-by-line acceptance of the generated code."
        }
      }
    },
    "keybindings": [
        {
          "command": "fabelous-autocoder.handleTab",
          "key": "tab",
          "when": "editorTextFocus && !editorTabMovesFocus"
        },
        {
          "command": "fabelous-autocoder.handleBackspace",
          "key": "backspace",
          "when": "editorTextFocus"
        }
    ],
    "commands": [
      {
        "command": "fabelous-autocoder.autocomplete",
        "title": "Fabelous Autocompletion"
      },
      {
        "command": "fabelous-autocoder.handleTab",
        "title": "Handle Tab"
      }
    ]
  },
  "scripts": {
    "vscode:prepublish": "npm run compile",
    "compile": "tsc --skipLibCheck -p ./",
    "package": "npm run compile && vsce package",
    "lint": "eslint \"src/**/*.ts\"",
    "watch": "tsc --skipLibCheck -watch -p ./"
  },
  "devDependencies": {
    "@types/node": "^20.12.8",
    "@types/vscode": "^1.89.0",
    "@typescript-eslint/eslint-plugin": "^7.8.0",
    "@typescript-eslint/parser": "^7.8.0",
    "eslint": "^8.57.0",
    "typescript": "^5.4.5"
  },
  "dependencies": {
    "axios": "^1.6.8"
  }
}
