ur-agent 1.28.1 → 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 +20 -0
- package/README.md +47 -10
- package/dist/cli.js +1315 -904
- package/docs/USAGE.md +1 -1
- package/docs/providers.md +5 -1
- package/documentation/index.html +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
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
|
+
|
|
3
23
|
## 1.28.1
|
|
4
24
|
|
|
5
25
|
- 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
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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.
|
|
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
|
-
|
|
276
|
-
|
|
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
|
|