ur-agent 1.28.1 → 1.30.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.30.1
4
+
5
+ - Fix Codex CLI runtime dispatch by ignoring stdin when UR already passes the
6
+ prompt as a command argument. This prevents `codex exec` from treating UR's
7
+ closed pipe as extra stdin and exiting after `Reading additional input from
8
+ stdin...`.
9
+
10
+ ## 1.30.0
11
+
12
+ - IDE integration commands: `ur ide status`, `ur ide doctor`, and `ur ide config
13
+ <editor>` for VS Code, Cursor, Windsurf, Zed, JetBrains, Neovim, and generic
14
+ ACP clients. Status shows workspace, ACP server, provider/model, plugin count,
15
+ and warnings; config generation states each editor's integration mechanism
16
+ honestly (native extension, stdio ACP, or manual).
17
+ - ACP server completion: `initialize` now advertises capabilities and the
18
+ workspace root; added `session/new`, `session/prompt`, and `session/cancel`;
19
+ `shutdown` actually stops the server; added `--debug` request logging.
20
+ - New stdio Agent Client Protocol agent (`ur acp stdio`) so Zed and ACP-capable
21
+ Neovim clients can launch UR natively, with `session/update` streaming.
22
+ - `ur plugin doctor` validates installed, project, and bundled plugin manifests
23
+ and reports declared components and the capability surface; a broken plugin is
24
+ reported without crashing the scan.
25
+ - VS Code Inline Diffs extension: explicit Apply (confirmed `git apply`) and
26
+ Reject actions plus a status command; no silent writes.
27
+ - New docs: `docs/IDE.md`, `docs/ACP.md`, expanded `docs/plugins.md` (manifest
28
+ reference, doctor, hooks, permissions, troubleshooting), and README quickstarts.
29
+
30
+ ## 1.29.1
31
+
32
+ - Replace fabricated Claude Code and Gemini CLI static model names with
33
+ provider-scoped CLI model aliases/names that the official CLIs can receive.
34
+ - Reject stale subscription CLI selections such as `claude-code/sonnet-5` before
35
+ runtime dispatch instead of forwarding `sonnet-5` to Claude Code.
36
+ - Summarize subscription CLI model/account failures with provider, model,
37
+ suggested action, and an explicit no-cross-provider-fallback note.
38
+
39
+ ## 1.29.0
40
+
41
+ - Customer release consolidating the multi-provider selection and runtime
42
+ dispatch work (1.27.5–1.28.1) into a single production line.
43
+ - System-prompt identity now reflects the selected provider and runtime backend
44
+ (e.g. "running through the Codex CLI provider"), so the assistant's self-report
45
+ matches the `/model` choice instead of a generic default.
46
+ - Refresh documentation to cover the full provider/model feature set: provider-
47
+ first `/model` flow, provider-scoped discovery, real subscription CLI dispatch,
48
+ native API wire formats, runtime backends, and troubleshooting.
49
+
3
50
  ## 1.28.1
4
51
 
5
52
  - Keep the status bar synchronized with in-session provider/model changes from
package/README.md CHANGED
@@ -194,13 +194,48 @@ Use quotes for shell values with spaces.
194
194
  | llama.cpp | local/server | local OpenAI-compatible server |
195
195
  | vLLM | local/server | OpenAI-compatible server |
196
196
 
197
- In the interactive app, `/model` shows providers first and then shows only the
198
- selected provider's models. OpenAI API and Codex CLI, Claude API and Claude
199
- Code, and Gemini API and Gemini CLI are separate access paths; subscription
200
- logins and API keys are not interchangeable. The final confirmation includes
201
- the runtime backend that will receive the next agent request. Use
202
- `ur provider status` to show the active provider, model, access type, and
203
- runtime backend.
197
+ #### Provider-first model selection
198
+
199
+ In the interactive app, `/model` is a two-step, provider-first picker:
200
+
201
+ 1. **Choose a provider.** Every provider is listed with its display name,
202
+ internal ID, access type (`subscription`, `api`, `local`, `server`),
203
+ credential type, and a live connection status (`connected`, `missing`,
204
+ `unavailable`, `unknown`).
205
+ 2. **Choose a model.** Only the selected provider's models are shown, labelled
206
+ by source: `live` (discovered from the endpoint), `cache` (last discovery),
207
+ or `static` (predefined). Local/server providers (Ollama, LM Studio,
208
+ llama.cpp, vLLM) and OpenAI-compatible endpoints are discovered live; API and
209
+ subscription providers use their curated model list.
210
+
211
+ Model lists never cross providers: OpenAI API vs Codex CLI, Claude API vs Claude
212
+ Code, and Gemini API vs Gemini CLI are separate access paths, and subscription
213
+ logins and API keys are not interchangeable. The provider/model pair is
214
+ validated before it is saved and again before every request; changing provider
215
+ clears an incompatible model. `ur config set provider X` warns and clears an
216
+ incompatible model, and `ur config set model Y` is validated against the active
217
+ provider. The confirmation shows the selected provider, model, model source, and
218
+ the runtime backend that will receive the next request.
219
+
220
+ #### Runtime dispatch
221
+
222
+ The selected provider/model drives every agent request — the assistant's own
223
+ identity line in the system prompt reflects it too:
224
+
225
+ - **Subscription** providers spawn the official CLI (`codex`, `claude`,
226
+ `gemini`, `agy`) in non-interactive mode with the scoped model and prompt; a
227
+ non-zero exit or empty output fails clearly (never placeholder text).
228
+ - **API** providers call each service in its native wire format — Anthropic
229
+ `x-api-key` + `anthropic-version` on `/v1/messages`, OpenAI `Bearer` on
230
+ `/v1/chat/completions`, Gemini `x-goog-api-key` on `:generateContent`,
231
+ OpenRouter on its OpenAI-compatible chat endpoint.
232
+ - **Local/server** providers call the configured endpoint (`/v1/chat/completions`
233
+ for LM Studio/llama.cpp/vLLM; the native API for Ollama).
234
+
235
+ Ollama is used only when Ollama is selected. There is no silent cross-provider
236
+ fallback: if dispatch fails, UR reports the selected provider, model, and runtime
237
+ backend. Use `ur provider status` (or `ur provider doctor <id>`) to inspect the
238
+ active provider, model, access type, and backend.
204
239
 
205
240
  Security policy: UR-AGENT never scrapes browser sessions, extracts OAuth
206
241
  tokens, bypasses subscription/quota/region/organization restrictions, proxies a
@@ -269,11 +304,13 @@ viewer mode.
269
304
  Example:
270
305
 
271
306
  ```text
272
- UR-AGENT v1.25.3 | Provider: Ollama | Auth: local | model: qwen3-coder:480b-cloud | mode: ask | branch: main | tasks: idle | Update: 1.25.2 -> 1.25.3 available
307
+ UR-AGENT v1.30.1 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle
273
308
  ```
274
309
 
275
- If a custom status-line hook is configured, UR-AGENT uses that hook output
276
- instead of the built-in bar.
310
+ The bar reflects the active in-session provider/model immediately after a
311
+ `/model`, `/model <model>`, or `/provider` change — it does not wait for
312
+ persisted settings to reload. If a custom status-line hook is configured,
313
+ UR-AGENT uses that hook output instead of the built-in bar.
277
314
 
278
315
  ### IDE Integration
279
316
 
@@ -290,7 +327,31 @@ ur ide diff show <id>
290
327
  ```
291
328
 
292
329
  The extension is local-only. It reads and writes diff metadata inside the
293
- current workspace and does not call model providers or network services.
330
+ current workspace and does not call model providers or network services. In the
331
+ UR Inline Diffs view you can preview a bundle, **Apply** it (a confirmed
332
+ `git apply`, never a silent write), **Reject** it, or run **UR: Show Status**.
333
+
334
+ Inspect and configure integration per editor:
335
+
336
+ ```sh
337
+ ur ide status # workspace, ACP server, provider/model, plugin count
338
+ ur ide doctor # pass/warn/fail checks; reports missing config clearly
339
+ ur ide config zed # print the .zed/settings.json ACP block
340
+ ur ide config vscode # VS Code / Cursor / Windsurf setup
341
+ ```
342
+
343
+ Editors connect either through the native UR extension/plugin (VS Code family,
344
+ JetBrains) or the stdio Agent Client Protocol (Zed, ACP Neovim, generic ACP
345
+ clients). Start an ACP surface with:
346
+
347
+ ```sh
348
+ ur acp stdio # stdio ACP agent for editors (Zed, Neovim)
349
+ ur acp serve --port 8123 [--debug] # HTTP JSON-RPC server for scripts/clients
350
+ ur acp status
351
+ ```
352
+
353
+ See the [IDE Guide](docs/IDE.md) and [ACP Guide](docs/ACP.md) for per-editor
354
+ setup, supported features, and limitations.
294
355
 
295
356
  New slash skills run agentic work in isolated git worktrees with clean commits and PR output:
296
357
  `/debug-v2`, `/refactor`, `/paper-implementation`, `/benchmark`, `/security-review`, `/dockerize`, `/latex-paper`.
@@ -310,12 +371,17 @@ validator, and Markdown language-adapter metadata.
310
371
 
311
372
  ```sh
312
373
  ur plugin list
374
+ ur plugin doctor
313
375
  ur plugin install engineering-discipline@ur-plugins-official
314
376
  ur plugin install hello@ur-plugins-official
315
377
  ur plugin update <plugin>
316
378
  ur plugin disable <plugin>
317
379
  ```
318
380
 
381
+ `ur plugin doctor` validates every installed, project, and bundled plugin
382
+ manifest and reports its declared components and capability surface, so you can
383
+ review what a plugin touches before enabling it.
384
+
319
385
  The npm package includes `README.md`, `QUALITY.md`, `docs/`, `documentation/`,
320
386
  and `plugins/`, so the npm package page and installed artifact both carry the
321
387
  marketplace documentation, core plugins, community staging directory, and
@@ -497,6 +563,8 @@ release until that GitHub run is green.
497
563
  - [1.18.0 Upgrade Notes](docs/AGENT_UPGRADE_1.18.0.md)
498
564
  - [1.17.0 Upgrade Notes](docs/AGENT_UPGRADE_1.17.0.md)
499
565
  - [Development Guide](docs/DEVELOPMENT.md)
566
+ - [IDE Guide](docs/IDE.md)
567
+ - [ACP Guide](docs/ACP.md)
500
568
  - [Plugin Guide](docs/plugins.md)
501
569
  - [Validation Runbook](docs/VALIDATION.md)
502
570
  - [Release Runbook](RELEASE.md)