ur-agent 1.84.7 → 1.85.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 +49 -0
- package/README.md +53 -30
- package/dist/cli.js +134953 -120802
- package/docs/AGENT_FEATURES.md +1 -1
- package/docs/AGENT_TRENDS.md +2 -2
- package/docs/CONFIGURATION.md +44 -20
- package/docs/TROUBLESHOOTING.md +46 -18
- package/docs/USAGE.md +37 -23
- package/docs/VALIDATION.md +23 -13
- package/docs/providers.md +77 -62
- package/documentation/app.js +2 -2
- package/documentation/index.html +7 -5
- package/extensions/jetbrains-ur/build.gradle.kts +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.85.1
|
|
4
|
+
|
|
5
|
+
- Added complete Anthropic workspace routing for identity-linked Claude API
|
|
6
|
+
keys. A validated workspace ID can be configured with
|
|
7
|
+
`anthropic.workspace_id`, `ANTHROPIC_WORKSPACE_ID`, or
|
|
8
|
+
`ur connect anthropic-api --workspace-id`; UR applies the matching header to
|
|
9
|
+
model discovery, diagnostics, streaming and non-streaming Messages requests,
|
|
10
|
+
and token counting while leaving workspace-scoped keys unchanged.
|
|
11
|
+
- Preserved Anthropic's real missing-workspace response and replaced the
|
|
12
|
+
misleading provider/model compatibility failure with an actionable setup
|
|
13
|
+
instruction. Live model caches are partitioned by workspace so one workspace
|
|
14
|
+
cannot reuse another workspace's catalog.
|
|
15
|
+
- Made OpenAI permanent account failures fail immediately instead of looking
|
|
16
|
+
like slow inference. Streaming HTTP error bodies are decoded safely, exact
|
|
17
|
+
provider error codes such as `billing_not_active` and `insufficient_quota`
|
|
18
|
+
are treated as non-retryable, and genuine transient rate limits continue to
|
|
19
|
+
use retry and backoff behavior.
|
|
20
|
+
- Isolated provider-discovery tests from live keychain credentials and updated
|
|
21
|
+
public, configuration, troubleshooting, validation, provider, and technical
|
|
22
|
+
documentation for both behaviors.
|
|
23
|
+
|
|
24
|
+
## 1.85.0
|
|
25
|
+
|
|
26
|
+
- Split NVIDIA Build into two truthful provider surfaces backed by one saved
|
|
27
|
+
`NVIDIA_API_KEY`: **NVIDIA Agentic** for continuous tool-capable agent models
|
|
28
|
+
and **NVIDIA Special** for focused inference such as image, video, audio,
|
|
29
|
+
vision, retrieval, healthcare, climate, and optimization tasks. The generated
|
|
30
|
+
catalog currently mirrors all 36 Build cards marked Free Endpoint: 13
|
|
31
|
+
Agentic and 23 Special.
|
|
32
|
+
- Rebuilt NVIDIA routing from each card's published inference contract. Every
|
|
33
|
+
executable model now uses its own documented HTTP endpoint and method or its
|
|
34
|
+
exact NVCF gRPC package, service, method, metadata, and streaming shape; direct
|
|
35
|
+
NVCF functions, Assets uploads, asynchronous polling, JSON-schema validation,
|
|
36
|
+
and binary artifact decoding are handled natively instead of being forced
|
|
37
|
+
through the shared chat-completions URL.
|
|
38
|
+
- Added native execution for NVIDIA's five current public gRPC contracts,
|
|
39
|
+
including active-speaker detection, background-noise removal, Magpie TTS,
|
|
40
|
+
Studio Voice, and synthetic-video detection. Model descriptions expose their
|
|
41
|
+
purpose, expected input and output, transport, and contract before execution.
|
|
42
|
+
- Made the official catalog non-destructive: account or invocation errors no
|
|
43
|
+
longer remove models. A card without a published API or proto contract remains
|
|
44
|
+
visible and explicitly unavailable rather than receiving an invented route.
|
|
45
|
+
Custom NVIDIA enterprise gateways retain their configurable endpoint and live
|
|
46
|
+
model discovery independently of the public Build catalog.
|
|
47
|
+
- Updated provider diagnostics, `/model`, the `NvidiaSpecial` tool, public and
|
|
48
|
+
technical documentation, generated-catalog tooling, and regression coverage
|
|
49
|
+
for exact endpoint parity, shared credentials, non-pruning behavior, native
|
|
50
|
+
gRPC descriptors, assets, async results, artifacts, and focused-task dispatch.
|
|
51
|
+
|
|
3
52
|
## 1.84.7
|
|
4
53
|
|
|
5
54
|
- Replaced NVIDIA's three-model one-shot allowlist with a generated catalog
|
package/README.md
CHANGED
|
@@ -289,6 +289,7 @@ ur config set provider anthropic-api
|
|
|
289
289
|
ur config set provider gemini-api
|
|
290
290
|
ur config set provider openrouter
|
|
291
291
|
ur config set provider nvidia-nim
|
|
292
|
+
ur config set provider nvidia-special
|
|
292
293
|
ur config set provider unsloth
|
|
293
294
|
ur config set model qwen2.5-coder:7b
|
|
294
295
|
ur provider select-model ollama qwen2.5-coder:7b --json
|
|
@@ -298,6 +299,7 @@ ur config set provider.fallback ollama
|
|
|
298
299
|
ur config set openrouter.routing auto
|
|
299
300
|
ur config set openrouter.preferred_min_throughput 40
|
|
300
301
|
ur config set openrouter.preferred_max_latency 3
|
|
302
|
+
ur config set anthropic.workspace_id wrkspc_...
|
|
301
303
|
```
|
|
302
304
|
|
|
303
305
|
`provider.fallback` records a recovery provider for `ur provider doctor`
|
|
@@ -308,7 +310,7 @@ select the recovery provider explicitly with `ur config set provider <id>`.
|
|
|
308
310
|
provider before the URL to configure it without switching first, for example
|
|
309
311
|
`ur config set base_url llama.cpp http://localhost:9931/v1`. UR remembers each
|
|
310
312
|
provider's address independently, so switching among Ollama, LM Studio,
|
|
311
|
-
llama.cpp, vLLM, Unsloth, NVIDIA
|
|
313
|
+
llama.cpp, vLLM, Unsloth, NVIDIA Agentic, or another compatible endpoint restores that
|
|
312
314
|
provider's last URL automatically. Existing single-URL settings are migrated
|
|
313
315
|
to the previously active provider on the first provider switch or scoped
|
|
314
316
|
base-URL write.
|
|
@@ -331,6 +333,11 @@ store records identifiers and status only. Compacted context is persisted only
|
|
|
331
333
|
when `UR_OPENAI_RESPONSES_STATE_KEY` contains a 32-byte encryption key. Return
|
|
332
334
|
to the default with `ur config set openai_transport chat-completions`.
|
|
333
335
|
|
|
336
|
+
Both OpenAI transports retry genuine temporary rate limits. Permanent
|
|
337
|
+
machine-coded account or billing responses such as `billing_not_active` and
|
|
338
|
+
`insufficient_quota` are reported immediately, so an inactive project does not
|
|
339
|
+
look like minute-long model latency.
|
|
340
|
+
|
|
334
341
|
OpenRouter `auto` routing leaves tool turns to Auto Exacto and optimizes
|
|
335
342
|
non-tool turns for end-to-end throughput. The routing, fallback,
|
|
336
343
|
strict-parameter, rolling performance preference, service-tier, and supported
|
|
@@ -350,6 +357,21 @@ ur config set openrouter.speed fast # standard | fast
|
|
|
350
357
|
Direct Anthropic requests automatically preserve UR's prompt-cache
|
|
351
358
|
breakpoints and enable per-tool fine-grained input streaming, reducing repeat
|
|
352
359
|
prefill work and exposing large tool arguments as Claude generates them.
|
|
360
|
+
Anthropic identity-linked keys that can act across workspaces also require a
|
|
361
|
+
workspace on discovery, inference, streaming, and token-count calls. Configure
|
|
362
|
+
the Console workspace ID once (it is not a secret):
|
|
363
|
+
|
|
364
|
+
```sh
|
|
365
|
+
ur config set anthropic.workspace_id wrkspc_...
|
|
366
|
+
# or for one environment:
|
|
367
|
+
export ANTHROPIC_WORKSPACE_ID=wrkspc_...
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
UR sends `anthropic-workspace-id` only when configured. Workspace-scoped keys
|
|
371
|
+
continue to work without it. Use `auto` to clear the saved selection. If the
|
|
372
|
+
key and workspace are being connected together, `ur connect anthropic-api
|
|
373
|
+
--workspace-id wrkspc_...` accepts the same value.
|
|
374
|
+
|
|
353
375
|
Anthropic's premium research-preview fast tier is opt-in and is sent only for
|
|
354
376
|
Claude Opus 5 or Opus 4.8:
|
|
355
377
|
|
|
@@ -361,7 +383,8 @@ The account must have Anthropic fast-mode access. Unsupported Claude models
|
|
|
361
383
|
stay on standard speed instead of receiving a fabricated provider option.
|
|
362
384
|
|
|
363
385
|
Provider config accepts canonical IDs and common aliases. Examples:
|
|
364
|
-
`openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim` (`NVIDIA
|
|
386
|
+
`openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim` (`NVIDIA Agentic`),
|
|
387
|
+
`nvidia-special` (`NVIDIA Special`), `ollama`,
|
|
365
388
|
`lmstudio`, `LM Studio`, `llama.cpp`, `vllm`, `unsloth` (`Unsloth Studio`), and the subscription CLIs
|
|
366
389
|
`codex-cli` (`chatgpt`), `claude-code-cli` (`claude`), `gemini-cli` (`gemini`),
|
|
367
390
|
and `antigravity-cli` (`agy`). Use quotes for shell values with spaces.
|
|
@@ -378,10 +401,11 @@ ur connect logout openai-api # clear a stored key
|
|
|
378
401
|
| Provider | Access type | Runtime kind | Legal path |
|
|
379
402
|
| --- | --- | --- | --- |
|
|
380
403
|
| OpenAI API | API key | UR-native | `OPENAI_API_KEY` or `ur connect openai-api` |
|
|
381
|
-
| Claude API | API key | UR-native | `ANTHROPIC_API_KEY` or `ur connect anthropic-api` |
|
|
404
|
+
| Claude API | API key | UR-native | `ANTHROPIC_API_KEY` or `ur connect anthropic-api`; identity-linked keys also use `ANTHROPIC_WORKSPACE_ID` or `anthropic.workspace_id` |
|
|
382
405
|
| Gemini API | API key | UR-native | `GEMINI_API_KEY` or `ur connect gemini-api` |
|
|
383
406
|
| OpenRouter | API/router | UR-native | `OPENROUTER_API_KEY` or `ur connect openrouter` |
|
|
384
|
-
| NVIDIA
|
|
407
|
+
| NVIDIA Agentic | hosted/server API | UR-native | `NVIDIA_API_KEY` or `ur connect nvidia-nim`; configurable `base_url` |
|
|
408
|
+
| NVIDIA Special | hosted/focused-task API | UR-native | the same `NVIDIA_API_KEY`; exact per-card HTTP/NVCF/gRPC inference contract |
|
|
385
409
|
| Ollama | local/server | UR-native | configurable local, LAN, or hosted endpoint; optional `OLLAMA_API_KEY` |
|
|
386
410
|
| LM Studio | local/server | UR-native | configurable endpoint; optional `LMSTUDIO_API_KEY` |
|
|
387
411
|
| llama.cpp | local/server | UR-native | configurable endpoint; optional `LLAMA_CPP_API_KEY` |
|
|
@@ -404,30 +428,30 @@ In the interactive app, `/model` is a two-step, provider-first picker:
|
|
|
404
428
|
by source: `live` (discovered from the endpoint), `cache` (last discovery),
|
|
405
429
|
`static` (predefined), or `unavailable` after a failed discovery with no
|
|
406
430
|
fallback. Local/server providers (Ollama, LM Studio,
|
|
407
|
-
llama.cpp, vLLM, Unsloth) and OpenAI-compatible endpoints are discovered live.
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
431
|
+
llama.cpp, vLLM, Unsloth) and OpenAI-compatible endpoints are discovered live. Public
|
|
432
|
+
NVIDIA Agentic discovery is generated from each current Build Free Endpoint
|
|
433
|
+
card that explicitly advertises agent/tool use; NVIDIA's account `/v1/models`
|
|
434
|
+
inventory does not narrow it, and a runtime entitlement error never removes a
|
|
435
|
+
model. A configured enterprise/self-hosted NIM gateway continues to use that
|
|
436
|
+
gateway's live `/models` response. API
|
|
412
437
|
providers use live discovery from their `/models` endpoint once a key is
|
|
413
438
|
connected (with a curated fallback list before that). Subscription CLIs show
|
|
414
439
|
their curated model list because the official CLIs expose no models API. The
|
|
415
440
|
generic `subscription` entry is an internal placeholder hidden from listings.
|
|
416
441
|
|
|
417
|
-
NVIDIA is split into two
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
binary/large JSON results under `.ur/artifacts/nvidia/`.
|
|
442
|
+
NVIDIA is split into two provider entries. NVIDIA Agentic owns the ongoing
|
|
443
|
+
tool-calling conversation. NVIDIA Special selects one focused task and never
|
|
444
|
+
replaces that agent. The checked-in catalog is regenerated from all 100
|
|
445
|
+
currently visible Build cards and preserves all 36 cards labelled Free
|
|
446
|
+
Endpoint: 13 Agentic and 23 Special. Thirty-five publish executable
|
|
447
|
+
inference contracts; the one card whose invocation protocol is unpublished
|
|
448
|
+
remains visible and is labelled accordingly instead of being guessed or
|
|
449
|
+
removed. Every row shows its purpose, accepted input, and produced output.
|
|
450
|
+
Each executable Special model uses the URL, HTTP/RPC method, function ID,
|
|
451
|
+
request schema, and response schema in that model's own inference reference.
|
|
452
|
+
UR supports direct HTTP, model-specific NVCF invocation, NVIDIA Assets,
|
|
453
|
+
asynchronous polling, and the five documented Maxine/Riva gRPC services;
|
|
454
|
+
artifacts are written under `.ur/artifacts/nvidia/` unless a path is supplied.
|
|
431
455
|
|
|
432
456
|
In the model catalog, use **Up/Down** to browse. For graded models, the effort row updates to
|
|
433
457
|
the focused model's capability-backed selectors; use **Left/Right** to cycle
|
|
@@ -477,7 +501,7 @@ In the interactive app, `/model` is a two-step, provider-first picker:
|
|
|
477
501
|
provider's address untouched.
|
|
478
502
|
|
|
479
503
|
Model lists never cross providers: OpenAI API, Claude API, Gemini API,
|
|
480
|
-
OpenRouter, NVIDIA
|
|
504
|
+
OpenRouter, NVIDIA Agentic, NVIDIA Special, Ollama, and OpenAI-compatible local/server endpoints are separate
|
|
481
505
|
access paths. API keys, local runtimes, and subscription logins are not
|
|
482
506
|
interchangeable. The provider/model pair is validated before it is saved and
|
|
483
507
|
again before every request; changing provider clears an incompatible model.
|
|
@@ -495,12 +519,11 @@ identity line in the system prompt reflects it too:
|
|
|
495
519
|
`x-api-key` + `anthropic-version` on `/v1/messages`, OpenAI `Bearer` on
|
|
496
520
|
`/v1/chat/completions` by default or `/v1/responses` when explicitly
|
|
497
521
|
selected, Gemini `x-goog-api-key` on `:generateContent`, OpenRouter on its
|
|
498
|
-
OpenAI-compatible chat endpoint, and NVIDIA
|
|
522
|
+
OpenAI-compatible chat endpoint, and NVIDIA Agentic models on their exact
|
|
499
523
|
documented hosted chat endpoint or a user-selected compatible NIM gateway.
|
|
500
|
-
NVIDIA
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
until completion or user cancellation.
|
|
524
|
+
NVIDIA Special uses each card's documented HTTP, direct NVCF, or gRPC
|
|
525
|
+
endpoint with the same stored `NVIDIA_API_KEY`; asynchronous jobs are polled
|
|
526
|
+
through NVIDIA's request ID until completion or user cancellation.
|
|
504
527
|
- **Local/server** providers call the configured endpoint (`/v1/chat/completions`
|
|
505
528
|
for LM Studio/llama.cpp/vLLM/Unsloth; the native API for Ollama). Unsloth is
|
|
506
529
|
provider-only: UR never starts, installs, updates, trains, or loads models in
|
|
@@ -517,7 +540,7 @@ identity line in the system prompt reflects it too:
|
|
|
517
540
|
to choose a connected local, server, or API provider.
|
|
518
541
|
|
|
519
542
|
Image-bearing tool results use each UR-native provider's valid multimodal wire
|
|
520
|
-
shape. OpenAI Chat Completions, OpenRouter, NVIDIA
|
|
543
|
+
shape. OpenAI Chat Completions, OpenRouter, NVIDIA Agentic, LM Studio, llama.cpp,
|
|
521
544
|
vLLM, Unsloth, and generic compatible endpoints keep the tool response textual and
|
|
522
545
|
place its image in the immediately following user turn; Gemini nests the image
|
|
523
546
|
parts in its function response; OpenAI Responses, Anthropic, and Ollama use their
|