* fix: preserve unsent prompt when adding editor context in VS Code * fix: append Add to chat selections as markdown blocks with stable spacing Convert selected assistant content to markdown before appending Wrap each Add to chat selection in an `md` fenced block Preserve multiline composer formatting across repeated appends * fix: normalize persisted Windows paths to prevent identity mismatches * fix: hide Windows subprocess console popups across server tasks Hide OpenCode startup and shell command child windows in the web server Apply windowsHide to cloudflared and skills-catalog git subprocesses Cover remaining git service exec paths that could surface console windows * fix: restore chat auto re-pin when reaching bottom Re-pin now triggers when scrolling back into the bottom zone, not only via the button. Upward user scroll intent still unpins immediately and is not overridden by re-pin. Unified bottom/re-pin threshold logic to reduce sensitivity mismatches. * fix: restore chat scroll release on mobile during streaming Restores pinned-scroll release on touch scroll up so mobile users can leave auto-follow while streaming. Improves re-pin behavior near bottom to avoid sticky or inconsistent pin states. Includes related chat UI and dependency updates in the same change set. * fix: hide daemon startup probe consoles on Windows * fix: prevent pinned scroll tug-of-war during streaming * fix: prefer git.exe to avoid Windows diff popup flashes * fix: prefer git.exe discovery in Windows git flows * fix: avoid where probes in Windows git resolution * fix: avoid update-check subprocess flashes on Windows * fix: normalize read file path labels * feat: add OpenChamber defaults and improve theme ports Add new OpenChamber light and dark themes Regenerate imported themes with stronger surface mapping Set OpenChamber themes as the default top options * fix: stabilize chat pin and unpin behavior during streaming Restores reliable unpin on upward wheel and touch gestures while auto-follow is active. Prevents immediate re-pin while the user is actively scrolling upward near the bottom. Keeps smooth follow-to-bottom behavior while reducing scroll tug-of-war. * fix: suppress Windows command popups in VSCode runtime processes Hide spawned git and server process windows in VS Code runtime Extend hidden-window handling to server port cleanup and reveal commands Keep behavior unchanged on non-Windows platforms
240 lines
6.5 KiB
JSON
240 lines
6.5 KiB
JSON
{
|
|
"name": "openchamber",
|
|
"displayName": "OpenChamber",
|
|
"description": "AI coding assistant powered by OpenCode",
|
|
"version": "1.8.7",
|
|
"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",
|
|
"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)"
|
|
}
|
|
],
|
|
"submenus": [
|
|
{
|
|
"id": "openchamber.submenu",
|
|
"label": "OpenChamber"
|
|
}
|
|
],
|
|
"menus": {
|
|
"editor/context": [
|
|
{
|
|
"submenu": "openchamber.submenu",
|
|
"group": "navigation"
|
|
}
|
|
],
|
|
"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 watch:webview\"",
|
|
"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.2.26",
|
|
"adm-zip": "^0.5.16",
|
|
"jsonc-parser": "^3.3.1",
|
|
"react": "^19.1.1",
|
|
"react-dom": "^19.1.1",
|
|
"yaml": "^2.8.1"
|
|
}
|
|
}
|