Files
openchamber/packages/vscode/package.json
T
Bohdan Triapitsyn a2dc5021bc fix: stabilize model and task UI hints
Keep thinking shortcut hint visible without layout shift
Restore JSON file icons across shared file lists
Use task status icons in the input status row
2026-04-26 14:27:06 +03:00

254 lines
7.0 KiB
JSON

{
"name": "openchamber",
"displayName": "OpenChamber",
"description": "AI coding assistant powered by OpenCode",
"version": "1.9.8",
"publisher": "fedaykindev",
"private": true,
"repository": {
"type": "git",
"url": "https://github.com/btriapitsyn/openchamber.git"
},
"qna": "https://discord.gg/ZYRSdnwwKA",
"license": "MIT",
"engines": {
"vscode": "^1.85.0"
},
"categories": [
"Programming Languages",
"Machine Learning",
"Other"
],
"keywords": [
"ai",
"claude",
"gpt",
"agent",
"coding",
"chatgpt",
"groq",
"assistant",
"opencode",
"openchamber"
],
"icon": "assets/app-icon.png",
"main": "./dist/extension.js",
"activationEvents": [
"onCommand:openchamber.openSidebar",
"onCommand:openchamber.attachExplorerToChat",
"onView:openchamber.chatView"
],
"contributes": {
"viewsContainers": {
"activitybar": [
{
"id": "openchamber",
"title": "OpenChamber",
"icon": "assets/icon.svg"
}
]
},
"views": {
"openchamber": [
{
"type": "webview",
"id": "openchamber.chatView",
"name": "Chat"
}
]
},
"commands": [
{
"command": "openchamber.openSidebar",
"category": "OpenChamber",
"title": "Open Sidebar",
"icon": {
"light": "assets/icon.svg",
"dark": "assets/icon-titlebar.svg"
}
},
{
"command": "openchamber.focusChat",
"category": "OpenChamber",
"title": "Focus Chat"
},
{
"command": "openchamber.restartApi",
"category": "OpenChamber",
"title": "Restart API Connection"
},
{
"command": "openchamber.showOpenCodeStatus",
"category": "OpenChamber",
"title": "Show OpenCode Status"
},
{
"command": "openchamber.openAgentManager",
"category": "OpenChamber",
"title": "Open Agent Manager",
"icon": "$(circuit-board)"
},
{
"command": "openchamber.openActiveSessionInEditor",
"category": "OpenChamber",
"title": "Open Active Session in Editor",
"icon": "$(link-external)"
},
{
"command": "openchamber.openNewSessionInEditor",
"category": "OpenChamber",
"title": "Open New Session in Editor",
"icon": {
"light": "assets/icon.svg",
"dark": "assets/icon-titlebar.svg"
}
},
{
"command": "openchamber.openCurrentOrNewSessionInEditor",
"category": "OpenChamber",
"title": "Open Session in Editor",
"icon": "$(link-external)"
},
{
"command": "openchamber.addToContext",
"category": "OpenChamber",
"title": "Add to Context"
},
{
"command": "openchamber.explain",
"category": "OpenChamber",
"title": "Explain"
},
{
"command": "openchamber.improveCode",
"category": "OpenChamber",
"title": "Improve Code"
},
{
"command": "openchamber.newSession",
"category": "OpenChamber",
"title": "New Session",
"icon": "$(add)"
},
{
"command": "openchamber.showSettings",
"category": "OpenChamber",
"title": "Settings",
"icon": "$(settings-gear)"
},
{
"command": "openchamber.attachExplorerToChat",
"category": "OpenChamber",
"title": "Attach to OpenChamber Chat"
}
],
"submenus": [
{
"id": "openchamber.submenu",
"label": "OpenChamber"
}
],
"menus": {
"editor/context": [
{
"submenu": "openchamber.submenu",
"group": "navigation"
}
],
"explorer/context": [
{
"command": "openchamber.attachExplorerToChat",
"when": "resourceScheme == file && explorerResourceIsFolder == false",
"group": "navigation@50"
}
],
"editor/title": [
{
"command": "openchamber.openNewSessionInEditor",
"group": "navigation@1"
}
],
"view/title": [
{
"command": "openchamber.newSession",
"when": "view == openchamber.chatView",
"group": "navigation@1"
},
{
"command": "openchamber.openCurrentOrNewSessionInEditor",
"when": "view == openchamber.chatView",
"group": "navigation@2"
},
{
"command": "openchamber.openAgentManager",
"when": "view == openchamber.chatView",
"group": "navigation@3"
},
{
"command": "openchamber.showSettings",
"when": "view == openchamber.chatView",
"group": "navigation@4"
}
],
"openchamber.submenu": [
{
"command": "openchamber.explain"
},
{
"command": "openchamber.improveCode"
},
{
"command": "openchamber.addToContext"
}
]
},
"configuration": {
"title": "OpenChamber",
"properties": {
"openchamber.apiUrl": {
"type": "string",
"default": "",
"description": "URL of an external OpenCode API server. Leave empty to auto-start a local instance."
},
"openchamber.opencodeBinary": {
"type": "string",
"default": "",
"description": "Optional absolute path to the opencode CLI binary. Useful if PATH lookup fails. Requires window reload or API restart to apply."
}
}
}
},
"scripts": {
"vscode:prepublish": "bun run build",
"build": "bun run build:extension && bun run build:webview",
"build:extension": "esbuild src/extension.ts --bundle --outfile=dist/extension.js --external:vscode --format=cjs --platform=node --minify --main-fields=module,main",
"build:webview": "VITE_OPENCODE_URL=/api vite build",
"dev": "concurrently -n \"ext,web\" -c \"cyan,magenta\" \"bun run watch:extension\" \"bun run dev:webview\"",
"dev:webview": "vite --host localhost --port 5173 --strictPort",
"watch:extension": "esbuild src/extension.ts --bundle --outfile=dist/extension.js --external:vscode --format=cjs --platform=node --watch --sourcemap --main-fields=module,main",
"watch:webview": "vite build --watch",
"type-check": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.webview.json",
"lint": "bunx eslint --ext .ts,.tsx src webview",
"package": "vsce package --no-dependencies"
},
"devDependencies": {
"@types/adm-zip": "^0.5.7",
"@types/vscode": "^1.85.0",
"@vitejs/plugin-react": "^5.0.0",
"@vscode/vsce": "^3.2.1",
"concurrently": "^9.2.1",
"esbuild": "^0.24.2",
"typescript": "~5.8.3",
"vite": "^7.1.2"
},
"dependencies": {
"@openchamber/ui": "workspace:*",
"@opencode-ai/sdk": "^1.4.25",
"adm-zip": "^0.5.16",
"jsonc-parser": "^3.3.1",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"yaml": "^2.8.1"
}
}