ur-agent 1.28.0 → 1.29.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,33 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.29.1
4
+
5
+ - Replace fabricated Claude Code and Gemini CLI static model names with
6
+ provider-scoped CLI model aliases/names that the official CLIs can receive.
7
+ - Reject stale subscription CLI selections such as `claude-code/sonnet-5` before
8
+ runtime dispatch instead of forwarding `sonnet-5` to Claude Code.
9
+ - Summarize subscription CLI model/account failures with provider, model,
10
+ suggested action, and an explicit no-cross-provider-fallback note.
11
+
12
+ ## 1.29.0
13
+
14
+ - Customer release consolidating the multi-provider selection and runtime
15
+ dispatch work (1.27.5–1.28.1) into a single production line.
16
+ - System-prompt identity now reflects the selected provider and runtime backend
17
+ (e.g. "running through the Codex CLI provider"), so the assistant's self-report
18
+ matches the `/model` choice instead of a generic default.
19
+ - Refresh documentation to cover the full provider/model feature set: provider-
20
+ first `/model` flow, provider-scoped discovery, real subscription CLI dispatch,
21
+ native API wire formats, runtime backends, and troubleshooting.
22
+
23
+ ## 1.28.1
24
+
25
+ - Keep the status bar synchronized with in-session provider/model changes from
26
+ `/model`, `/model <model>`, and `/provider`, instead of waiting for persisted
27
+ settings to reload.
28
+ - Add a regression test proving the status bar prefers the active in-session
29
+ provider/model over stale persisted settings.
30
+
3
31
  ## 1.28.0
4
32
 
5
33
  - Subscription CLI providers (Codex, Claude Code, Gemini, Antigravity) now
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.29.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