codeep 2.1.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1296,3 +1296,25 @@ The chat sidebar now surfaces two extra ACP signals that previously only the TUI
1296
1296
  - **Diff preview on permission prompts** — manual-mode permission cards now show a `-` / `+` diff for `edit_file`, a content preview for `write_file`, and the full `$ command` + `cwd` for `execute_command`, so users can verify before clicking *Allow*. Payload is truncated (~4 KB per field, 200 lines per file) with a visible marker. Other ACP clients (Zed, etc.) ignore the extra fields silently.
1297
1297
  - **`@file` mentions** — type `@` in the chat input to open a workspace-wide file picker. Pick with arrow keys + Enter; the file's content is inlined into the prompt as an `[Attached files]` preamble. Files over 200 KB are skipped with a marker. Multiple mentions in one message are deduplicated.
1298
1298
  - **Auto-reconnect** — if the CLI process exits unexpectedly (crash, OOM kill, parent restart), the extension reconnects on its own with exponential backoff (1s → 2s → 4s → 8s → 16s → 30s, capped at 6 attempts). The status bar shows the countdown. Configurable idle-watchdog timeout (`codeep.requestTimeoutMinutes`, default 5 min) replaces the old fixed cap so slow reasoning models don't get killed mid-thought.
1299
+
1300
+ ### Editor-native actions (new in 2.2)
1301
+
1302
+ - **Code Actions (lightbulb)** — select code and press `Ctrl+.` for **Explain**, **Improve / refactor**, **Add tests**, and **Add doc comment**. On a line with an error/warning, a **Fix this problem** quick-fix sends the diagnostic plus the code to Codeep. Everything routes through the chat, so the full agent (file edits via the diff preview, MCP tools) is available.
1303
+ - **Model picker in the status bar** — click `Codeep · <model>` (or run **Codeep: Select Provider & Model**) to switch provider + model from a quick-pick. Providers with open-ended catalogs (OpenRouter, Ollama, custom endpoints) let you type a model id.
1304
+ - **Self-hosted endpoints from settings** — point the extension at vLLM / LiteLLM / LM Studio / text-generation-webui with `codeep.baseUrl` (e.g. `http://localhost:8000/v1`), plus `codeep.provider` (`custom` or `openai`) and `codeep.model`. The `codeep.provider` / `codeep.model` settings are applied on every connect, so they stay authoritative.
1305
+ - **Get Started walkthrough** — a native VS Code walkthrough (Help → Get Started) covering CLI install, opening the chat, editor actions, and choosing a model.
1306
+
1307
+ > The 2.2 model picker and `custom`-provider settings need CLI **2.1.2+**; they degrade gracefully on older CLIs (free-text model input, and `codeep.baseUrl` still works for the `openai` provider via `OPENAI_BASE_URL`).
1308
+
1309
+ ### Native chat & agent integration (new in 2.3)
1310
+
1311
+ - **`@codeep` chat participant** — invoke Codeep from VS Code's built-in Chat view: type `@codeep` and ask, or `@codeep /explain` / `@codeep /review` with a selection. Answers come from your configured Codeep provider/model via the CLI (not VS Code's model picker), on an independent session.
1312
+ - **`#codeepSkills` language-model tool** — exposes your workspace's Codeep skill bundles (`.codeep/skills/*/SKILL.md`) to VS Code agent mode and `#`-references, so the native agent can follow your project's own workflows.
1313
+ - Requires VS Code **1.95+** (for the stable Chat Participant + Language Model Tools APIs).
1314
+
1315
+ ### Source control & sidebar (new in 2.3)
1316
+
1317
+ - **Generate Commit Message** — a sparkle button in the Source Control panel (and `Codeep: Generate Commit Message` in the palette) reads your staged diff and writes a Conventional Commits message into the commit box. Falls back to the working-tree diff if nothing is staged; asks before replacing a message you've already typed.
1318
+ - **Sessions tree view** — a native **Sessions** view in the Codeep sidebar lists saved conversations (title + age). Click to load into the chat, inline-delete, or start a New Session from the title bar.
1319
+ - **MCP config validation** — `.codeep/mcp_servers.json` (project and global) gets JSON schema validation + autocomplete, so a mistyped `command` / `args` / `env` is caught before a session starts.
1320
+ - **Workspace Trust** — declares limited support for untrusted workspaces, with a reminder to review permission prompts carefully (Codeep runs a local agent that can edit files and run commands).
@@ -752,6 +752,18 @@ export function startAcpServer() {
752
752
  config.set('model', value);
753
753
  }
754
754
  }
755
+ else if (configId === 'provider' && typeof value === 'string') {
756
+ // Switch provider without specifying a model — picks the provider's
757
+ // default model + protocol. Used by editor clients that pin a provider
758
+ // in their settings (e.g. the VS Code `codeep.provider` setting).
759
+ setProvider(value);
760
+ }
761
+ else if (configId === 'customBaseUrl' && typeof value === 'string') {
762
+ // Base URL for the `custom` (OpenAI-compatible) provider — lets editor
763
+ // clients point Codeep at a self-hosted endpoint (vLLM/LiteLLM/LM Studio)
764
+ // without hand-editing ~/.codeep/config.json.
765
+ config.set('customBaseUrl', value);
766
+ }
755
767
  else if (configId === 'language' && typeof value === 'string') {
756
768
  config.set('language', value);
757
769
  }
@@ -837,6 +849,14 @@ export function startAcpServer() {
837
849
  hint: p.hint ?? p.description,
838
850
  requiresKey: !p.noApiKey,
839
851
  subscribeUrl: p.subscribeUrl,
852
+ // Model metadata so ACP clients (e.g. the VS Code model picker) can
853
+ // offer a provider → model selector without hardcoding a catalog.
854
+ // `dynamicModels` flags providers whose model list is open-ended
855
+ // (OpenRouter, Ollama, custom endpoints) — clients should let the
856
+ // user type a model id rather than only pick from `models`.
857
+ models: p.models.map((m) => ({ id: m.id, name: m.name })),
858
+ defaultModel: p.defaultModel,
859
+ dynamicModels: p.dynamicModels ?? false,
840
860
  }));
841
861
  transport.respond(msg.id, { providers });
842
862
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeep",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "AI-powered coding assistant built for the terminal. Multiple LLM providers, project-aware context, and a seamless development workflow.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",