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 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 NIM, or another compatible endpoint restores that
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 Build`), `ollama`,
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 NIM | hosted/server API | UR-native | `NVIDIA_API_KEY` or `ur connect nvidia-nim`; configurable `base_url` |
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. Hosted NVIDIA NIM
408
- intersects its authenticated `/v1/models` response with UR's audited positive
409
- agent contracts, so presence in NVIDIA's mixed inventory never makes an
410
- embedding, parser, VLM, generator, or download-only card an ongoing chat model.
411
- The separate NVCF deployment inventory does not narrow the hosted list. API
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 visibly labelled modes. `AGENT` models own the
418
- ongoing tool-calling conversation. `ONE-SHOT` models run one specialized
419
- job and never replace that agent. The latter come from a checked-in catalog
420
- generated from NVIDIA's current public OpenAPI indexes, not from the chat-only
421
- `/v1/models` feed. This release implements 92 exact task contracts spanning
422
- text/image/video/3D generation, visual analysis, embeddings, reranking,
423
- parsing, safety, translation, biology, molecular modeling, medical imaging,
424
- route optimization, and climate simulation. Broken, staging-only,
425
- status-only, download-only, and undocumented operations stay absent.
426
- Focusing a task model shows what it is for; Enter remembers it for the next
427
- matching NVIDIA task. UR validates its documented schema, routes to the exact
428
- `integrate`, `ai`, `health`, `optimize`, or `climate` host, uploads large or
429
- UUID-based files with NVIDIA Assets, polls asynchronous work, and writes
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 NIM, Ollama, and OpenAI-compatible local/server endpoints are separate
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 NIM agent models on their exact
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 one-shot models use their documented model endpoint across NVIDIA's
501
- AI, retrieval, health, optimization, and climate APIs with the same stored
502
- `NVIDIA_API_KEY`; asynchronous jobs are polled through NVIDIA's request ID
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 NIM, LM Studio, llama.cpp,
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