ur-agent 1.84.3 → 1.84.4

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,42 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.84.4
4
+
5
+ - Corrected NVIDIA Build model discovery so the picker no longer treats the
6
+ hosted `/v1/models` feed as proof that a model can be invoked. UR now
7
+ intersects that feed with the connected account's authenticated ACTIVE NVCF
8
+ functions and removes embedding, safety, parser, translation, retrieval,
9
+ reward, detector, and other non-agent endpoints. Custom enterprise and
10
+ self-hosted NIM gateways remain independent and use their own configured
11
+ catalogs.
12
+ - Made NVIDIA diagnostics and runtime catalog churn actionable. `ur provider
13
+ doctor nvidia-nim` now validates the selected model against the account-active
14
+ inventory; a definitive missing-function 404 removes that model from the
15
+ endpoint-scoped session catalog and reports a model-selection fix without
16
+ displaying or retaining NVIDIA's internal account and function identifiers.
17
+ - Added production regressions for retired hosted models, account inventory
18
+ failures, utility-model filtering, custom gateway isolation, selected-model
19
+ doctor failures, request/stream error redaction, and runtime cache
20
+ invalidation. User, troubleshooting, validation, configuration, and technical
21
+ documentation now describe the executable behavior.
22
+ - Corrected the output-limit diagnostic: a `max_tokens`/`length` finish now
23
+ says that the provider stopped the selected model at a per-response boundary,
24
+ rather than incorrectly claiming that UR's accumulated response exceeded a
25
+ total limit. Long work now continues without a fixed continuation count while
26
+ each response makes novel progress; two consecutive empty/replayed capped
27
+ responses stop only the stalled loop. Practical response chunks preserve
28
+ router capacity and local KV memory, while the selected model's advertised
29
+ limit remains the upper bound for explicit overrides.
30
+ - Updated OpenRouter dispatch to its current routing contract. Tool turns no
31
+ longer force `sort: latency`, which had disabled OpenRouter Auto Exacto;
32
+ they now use the router's live throughput, tool-call reliability, and
33
+ benchmark ordering. Non-tool turns default to end-to-end throughput rather
34
+ than time-to-first-token alone. Stable session affinity remains enabled for
35
+ prompt caching, and CLI settings now expose routing, fallback, parameter,
36
+ latency/throughput preference, service-tier, and supported fast-mode controls.
37
+ OpenRouter's `:nitro`, `:floor`, and `:exacto` virtual model variants now
38
+ validate against the discovered base model and inherit its capabilities.
39
+
3
40
  ## 1.84.3
4
41
 
5
42
  - Updated both production and release artifact uploads to the current official
package/README.md CHANGED
@@ -295,6 +295,9 @@ ur provider select-model ollama qwen2.5-coder:7b --json
295
295
  ur config set base_url ollama http://localhost:11434
296
296
  ur config set base_url llama.cpp http://localhost:9931/v1
297
297
  ur config set provider.fallback ollama
298
+ ur config set openrouter.routing auto
299
+ ur config set openrouter.preferred_min_throughput 40
300
+ ur config set openrouter.preferred_max_latency 3
298
301
  ```
299
302
 
300
303
  `provider.fallback` records a recovery provider for `ur provider doctor`
@@ -328,6 +331,22 @@ store records identifiers and status only. Compacted context is persisted only
328
331
  when `UR_OPENAI_RESPONSES_STATE_KEY` contains a 32-byte encryption key. Return
329
332
  to the default with `ur config set openai_transport chat-completions`.
330
333
 
334
+ OpenRouter `auto` routing leaves tool turns to Auto Exacto and optimizes
335
+ non-tool turns for end-to-end throughput. The routing, fallback,
336
+ strict-parameter, rolling performance preference, service-tier, and supported
337
+ fast-mode controls are configurable; `priority` and `fast` are optional and may
338
+ cost more. Native `:nitro`, `:floor`, and `:exacto` model suffixes are accepted
339
+ and keep the base model's discovered context, output, tool, and reasoning
340
+ capabilities.
341
+
342
+ ```sh
343
+ ur config set openrouter.routing auto # auto | throughput | latency | price
344
+ ur config set openrouter.allow_fallbacks true # true | false | auto
345
+ ur config set openrouter.require_parameters true # true | false | auto
346
+ ur config set openrouter.service_tier priority # auto | default | flex | priority | fast
347
+ ur config set openrouter.speed fast # standard | fast
348
+ ```
349
+
331
350
  Provider config accepts canonical IDs and common aliases. Examples:
332
351
  `openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim` (`NVIDIA Build`), `ollama`,
333
352
  `lmstudio`, `LM Studio`, `llama.cpp`, `vllm`, `unsloth` (`Unsloth Studio`), and the subscription CLIs
@@ -372,7 +391,9 @@ In the interactive app, `/model` is a two-step, provider-first picker:
372
391
  by source: `live` (discovered from the endpoint), `cache` (last discovery),
373
392
  `static` (predefined), or `unavailable` after a failed discovery with no
374
393
  fallback. Local/server providers (Ollama, LM Studio,
375
- llama.cpp, vLLM, Unsloth) and OpenAI-compatible endpoints, including NVIDIA NIM, are discovered live; API
394
+ llama.cpp, vLLM, Unsloth) and OpenAI-compatible endpoints are discovered live. Hosted NVIDIA NIM
395
+ intersects its broad `/v1/models` response with NVIDIA's authenticated ACTIVE
396
+ function inventory and removes non-agent utility endpoints before presenting a model; API
376
397
  providers use live discovery from their `/models` endpoint once a key is
377
398
  connected (with a curated fallback list before that). Subscription CLIs show
378
399
  their curated model list because the official CLIs expose no models API. The
@@ -412,8 +433,12 @@ In the interactive app, `/model` is a two-step, provider-first picker:
412
433
  support, and the full untruncated ID immediately below the focused entry.
413
434
  Its endpoint-scoped catalog is reused for five minutes; Ctrl+R forces an
414
435
  immediate live refresh without substituting stale entries. Interactive
415
- requests prefer OpenRouter's latency routing and reuse a stable session ID
416
- and provider-authored prompt-cache markers for warmer multi-turn streams.
436
+ tool turns preserve OpenRouter Auto Exacto so the router can combine live
437
+ throughput with measured tool-call reliability; ordinary text turns prefer
438
+ end-to-end throughput rather than time-to-first-token alone. UR reuses a
439
+ stable session ID and provider-authored prompt-cache markers for warmer
440
+ multi-turn streams. Configure the policy with `openrouter.routing`, or use
441
+ the native `:nitro`, `:floor`, and `:exacto` model variants.
417
442
  API-key entry is masked, aligned on one row, and stored through the OS
418
443
  keychain flow.
419
444