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.
@@ -350,7 +350,7 @@ automatically changes the active provider.
350
350
  | Clean update checks | `ur upgrade`, `ur update`, `src/cli/update.ts` | Detects development/source checkouts and prints a short pull-or-install message instead of attempting self-mutation. npm-installed builds compare the local version with `ur-agent` on npm and print update, latest, registry failure, and malformed-response states without stale planning text. |
351
351
  | Bundled IDE extension install | `extensions/vscode-ur-inline-diffs/`, `src/utils/ide.ts`, `ur ide diff` | Public VS Code install now packages the repo's bundled inline-diffs extension as a local VSIX instead of trying an unpublished marketplace ID. The extension remains local-only and reviews `.ur/ide/diffs` bundles from the current workspace. |
352
352
  | Professional clarification dialogs | `AskUserQuestion`, `src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx` | Mandatory for every question with concrete choices; plain text is reserved for genuinely open-ended answers. Prefers 2-8 focused options but preserves larger legitimate menus, infers labels from description-only objects, accepts prompt aliases, deduplicates equivalent labels, safely repairs single suggestions with a neutral rejection choice, and is loaded without ToolSearch preloading. |
353
- | NVIDIA agent/task split | generated NVIDIA OpenAPI catalog, `nvidiaHostedModels.ts`, `NvidiaNimTask`, `/model` | Intersects live chat inventory with positive agent contracts and exposes 92 public hosted one-shot contracts across NVIDIA's AI, retrieval, health, optimization, and climate APIs. Task selection shows purpose, validates the documented schema, supports NVIDIA Assets and asynchronous/binary results, and never replaces the ongoing agent. |
353
+ | NVIDIA Agentic/Special providers | live Build-card generator, `nvidiaHostedModels.ts`, `NvidiaSpecial`, `/model` | Audits 100 current Build cards and preserves every Free Endpoint card: 13 Agentic and 23 Special. Uses each card's exact HTTP/NVCF/gRPC route, method, function ID, request/response schema, input/output hints, Assets/async handling, and artifact decoding. Runtime errors never remove models; focused selection never replaces the ongoing agent. |
354
354
  | Documentation release sync | `README.md`, `docs/`, `documentation/`, `CHANGELOG.md` | Keeps the npm README, static documentation site, provider guide, usage guide, feature ledger, validation runbook, and release notes aligned with current release behavior. |
355
355
 
356
356
  ## v1.24.0 Additions
@@ -80,7 +80,7 @@ Inside an interactive session:
80
80
 
81
81
  | Trend | UR status | Current coverage | Professional next step |
82
82
  | --- | --- | --- | --- |
83
- | Provider-flexible, local-first runtime | Covered | Local Ollama; direct OpenAI, Anthropic, Gemini, OpenRouter, NVIDIA NIM, and OpenAI-compatible APIs; authenticated subscription-CLI adapters; explicit provider selection | Normalize capability discovery across providers and make automatic per-step routing opt-in |
83
+ | Provider-flexible, local-first runtime | Covered | Local Ollama; direct OpenAI, Anthropic, Gemini, OpenRouter, NVIDIA Agentic/Special, and OpenAI-compatible APIs; authenticated subscription-CLI adapters; explicit provider selection | Normalize capability discovery across providers and make automatic per-step routing opt-in |
84
84
  | Model Context Protocol ecosystem | Covered | Stable TypeScript SDK v2 split client/server/core runtime; `ur mcp`, OAuth/XAA, fail-closed bounded tools, final `input_required` continuation, all workspace roots with change notifications, and the opt-in stateless web server | Broaden independent-client interoperability fixtures |
85
85
  | Protocol Tasks and Apps | Covered | Negotiated Tasks lifecycle, owner-isolated durable state, and a self-contained Apps resource through `ur mcp serve-web` | Broaden independent-client interoperability fixtures |
86
86
  | A2A / Agent Card interoperability | Covered | Stable official v1.1 SDK, native ProtoJSON JSON-RPC/HTTP+JSON, SSE streaming, task resubscription, authenticated push delivery with validated destinations, negotiated cards, tenant isolation, durable artifacts, and explicit v0.3 compatibility | Broaden independent-client/TCK fixtures; keep gRPC and extended cards unadvertised until deployed and tested |
@@ -168,7 +168,7 @@ compatibility transport rather than relabeling either wire schema.
168
168
  ## Model Runtime Position
169
169
 
170
170
  UR is local-first, not local-only. Ollama supports private on-device execution;
171
- direct adapters support OpenAI, Anthropic, Gemini, OpenRouter, NVIDIA NIM, and compatible
171
+ direct adapters support OpenAI, Anthropic, Gemini, OpenRouter, NVIDIA Agentic/Special, and compatible
172
172
  endpoints; subscription adapters use the provider's authenticated CLI. Provider
173
173
  and model selection are explicit, credentials are resolved through the
174
174
  credential layer, and the optional fallback setting is diagnostic advice rather
@@ -88,7 +88,8 @@ receives general-purpose tools through this path.
88
88
 
89
89
  UR-Nexus supports official provider access paths only:
90
90
 
91
- - Explicit API providers: OpenAI, Anthropic, Gemini, OpenRouter, NVIDIA NIM, and
91
+ - Explicit API providers: OpenAI, Anthropic, Gemini, OpenRouter, NVIDIA
92
+ Agentic/Special, and
92
93
  OpenAI-compatible endpoints.
93
94
  - Local/server providers: Ollama, LM Studio, llama.cpp, vLLM, and Unsloth OpenAI-compatible
94
95
  server mode.
@@ -133,6 +134,7 @@ ur config set provider anthropic-api
133
134
  ur config set provider gemini-api
134
135
  ur config set provider openrouter
135
136
  ur config set provider nvidia-nim
137
+ ur config set provider nvidia-special
136
138
  ur config set provider openai-compatible
137
139
  ur config set provider unsloth
138
140
  ur provider doctor agy
@@ -170,6 +172,22 @@ Anthropic's supported cache-control shape. Streaming requests also set
170
172
  arrive as Claude generates them instead of waiting for server-side buffering.
171
173
  Both behaviors use Anthropic's documented native fields and require no setting.
172
174
 
175
+ An Anthropic identity-linked API key can act across more than one workspace and
176
+ requires `anthropic-workspace-id` on every API call. Set its non-secret Console
177
+ workspace ID once:
178
+
179
+ ```sh
180
+ ur config set anthropic.workspace_id wrkspc_...
181
+ # environment-only alternative
182
+ export ANTHROPIC_WORKSPACE_ID=wrkspc_...
183
+ ```
184
+
185
+ The selected ID is applied consistently to `/v1/models`, `/v1/messages`,
186
+ streaming messages, `/v1/messages/count_tokens`, and provider diagnostics.
187
+ Workspace-scoped keys need no extra setting. Clear the saved value with
188
+ `ur config set anthropic.workspace_id auto`. When adding a key and workspace
189
+ together, use `ur connect anthropic-api --workspace-id wrkspc_...`.
190
+
173
191
  Anthropic fast mode is a separate, premium research-preview tier. It is off by
174
192
  default and can be requested explicitly:
175
193
 
@@ -188,7 +206,8 @@ When the active provider fails, `ur provider doctor` shows the configured
188
206
  recovery command; changing providers remains an explicit user action.
189
207
 
190
208
  Provider values accept canonical IDs and common aliases. Examples:
191
- `openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim` (`NVIDIA Build`), `ollama`,
209
+ `openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim`
210
+ (`NVIDIA Agentic`), `nvidia-special` (`NVIDIA Special`), `ollama`,
192
211
  `lmstudio`, `LM Studio`, `llama.cpp`, `vllm`, `unsloth` (`Unsloth Studio`), and the subscription CLI
193
212
  providers `codex-cli` (`chatgpt`), `claude-code-cli` (`claude`), `gemini-cli`
194
213
  (`gemini`), and `antigravity-cli` (`agy`). Values with spaces should be quoted
@@ -203,14 +222,14 @@ saved provider/model pair controls the runtime backend for the next agent
203
222
  request; Ollama is only used when `ollama` is the selected provider.
204
223
 
205
224
  The configured `base_url` is provider-scoped. Setting an address while vLLM is
206
- active does not replace the saved Ollama, llama.cpp, Unsloth, or NVIDIA NIM address;
225
+ active does not replace the saved Ollama, llama.cpp, Unsloth, or NVIDIA Agentic address;
207
226
  returning to any provider restores its own URL. Legacy `provider.baseUrl`
208
227
  settings are migrated to the old active provider on the first provider switch
209
228
  or scoped base-URL write.
210
229
  To configure a provider that is not active, use
211
230
  `ur config set base_url <provider> <url>`; the success message names the target
212
231
  provider. This applies to direct API providers and gateways (OpenAI, Anthropic,
213
- Gemini, OpenRouter, and NVIDIA NIM) as well as local/server providers; built-in vendor URLs
232
+ Gemini, OpenRouter, and NVIDIA Agentic) as well as local/server providers; built-in vendor URLs
214
233
  are fallbacks only. Discovery, doctor output, and request dispatch all resolve
215
234
  the same per-provider override. `/model` also opens an endpoint field when a
216
235
  disconnected local/server provider is selected.
@@ -270,6 +289,7 @@ it in the environment when you explicitly choose API mode:
270
289
  OPENAI_API_KEY=...
271
290
  OPENAI_COMPATIBLE_API_KEY=...
272
291
  ANTHROPIC_API_KEY=...
292
+ ANTHROPIC_WORKSPACE_ID=wrkspc_... # identity-linked Anthropic keys only
273
293
  GEMINI_API_KEY=...
274
294
  OPENROUTER_API_KEY=...
275
295
  NVIDIA_API_KEY=...
@@ -280,29 +300,28 @@ VLLM_API_KEY=... # optional when required by the endpoint
280
300
  UNSLOTH_API_KEY=...
281
301
  ```
282
302
 
283
- NVIDIA NIM defaults to `https://integrate.api.nvidia.com/v1`, discovers the
284
- connected account's models live, and accepts a provider-scoped override for an
285
- enterprise or self-hosted NIM. On NVIDIA's hosted endpoint, `/v1/models`
286
- establishes account availability and UR's audited positive contract registry
287
- establishes agent compatibility; only their intersection can become the
288
- ongoing model. It does not narrow hosted models using the separate NVCF
289
- deployment inventory; a configured NIM gateway uses its own model feed. Generic
303
+ NVIDIA Agentic defaults to `https://integrate.api.nvidia.com/v1` and accepts a
304
+ provider-scoped override for an enterprise or self-hosted NIM. Public Build
305
+ models come from the current per-card Agentic contracts and are never filtered
306
+ or removed by an account inventory or entitlement failure. A configured NIM
307
+ gateway uses its own live model feed. Generic
290
308
  `openai-compatible` authentication is
291
309
  optional: `ur connect openai-compatible` or the picker's `K` key stores a
292
310
  credential when the chosen gateway needs one, without breaking anonymous
293
311
  local endpoints.
294
312
 
295
- The broader Build web page includes download-only NIMs; those are not valid
296
- hosted choices unless the authenticated `/v1/models` endpoint returns them.
297
- For the hosted service, UR focuses NVIDIA's documented fastest 30B agent model,
313
+ Download-only Build cards are not hosted choices. For the public Agentic
314
+ service, UR focuses NVIDIA's documented fastest 30B agent model,
298
315
  `nvidia/nemotron-3.5-lightning-30b-a3b`, first. Its thinking toggle maps to
299
316
  NVIDIA's model-specific `chat_template_kwargs.enable_thinking` field.
300
- The same key authorizes the separately labelled one-shot catalog generated from
301
- NVIDIA's public OpenAPI reference. Its 92 task contracts use the exact
302
- `integrate.api`, `ai.api`, `health.api`, `optimize.api`, or `climate.api`
303
- NVIDIA path for each model. They never replace `provider.model`; large inputs
304
- use NVIDIA Assets and binary or large JSON output is saved under
305
- `.ur/artifacts/nvidia/` unless an output path is supplied.
317
+ The same key authorizes NVIDIA Special. The current generator audits 100 Build
318
+ cards and preserves all 36 Free Endpoint entries across both providers: 13
319
+ Agentic and 23 Special. Every executable entry uses that card's exact URL,
320
+ HTTP/RPC method, function ID, and request/response schema. Twenty-two Special
321
+ entries are executable through HTTP, direct NVCF, or five native gRPC services;
322
+ the one unpublished protocol stays visible and labelled. Special selection
323
+ never replaces `provider.model`; large inputs use NVIDIA Assets and returned
324
+ artifacts are saved under `.ur/artifacts/nvidia/` unless a path is supplied.
306
325
 
307
326
  Unsloth is an inference-provider integration only. Start Unsloth Studio and
308
327
  load the model outside UR, connect its generated key with `ur connect unsloth`,
@@ -333,6 +352,11 @@ opaque compacted window, set `UR_OPENAI_RESPONSES_STATE_KEY` to exactly 32
333
352
  bytes encoded as 64 hexadecimal characters or base64. Without that key UR
334
353
  refuses to persist compacted context.
335
354
 
355
+ HTTP 429 remains retryable for real transient rate limits. Machine-readable
356
+ account, billing, and exhausted-quota failures such as `billing_not_active` and
357
+ `insufficient_quota` are permanent for the unchanged request, so UR reports
358
+ them immediately instead of spending the retry window in `requesting`.
359
+
336
360
  ### Reconfiguring the Ollama host
337
361
 
338
362
  The endpoint can be changed from UR in four ways, in order of precedence:
@@ -207,19 +207,46 @@ ur provider doctor
207
207
 
208
208
  For an authenticated generic gateway, run `ur connect openai-compatible` or
209
209
  press `K` on its `/model` screen; the key is optional and stored separately
210
- from `OPENAI_API_KEY`. NVIDIA NIM uses `ur connect nvidia-nim` and keeps any
210
+ from `OPENAI_API_KEY`. NVIDIA Agentic/Special use one key stored with
211
+ `ur connect nvidia-nim` or `ur connect nvidia-special`; Agentic keeps any
211
212
  custom `base_url` scoped to that provider.
212
213
 
214
+ ### Anthropic says `anthropic-workspace-id is required`
215
+
216
+ - Cause: the API key is identity-linked and can act across workspaces. Anthropic
217
+ requires the target workspace on model discovery and every runtime request.
218
+ - Fix: copy the `wrkspc_...` ID from Claude Console → Settings → Workspaces,
219
+ then configure it and re-run doctor. The workspace ID is not the API key.
220
+
221
+ ```sh
222
+ ur config set anthropic.workspace_id wrkspc_...
223
+ ur provider doctor anthropic-api
224
+ ```
225
+
226
+ `ANTHROPIC_WORKSPACE_ID` is the environment-only alternative. If the key was
227
+ created inside one workspace and is already workspace-scoped, no header is
228
+ needed. `auto` clears an incorrect saved selection. UR cannot safely infer the
229
+ Default Workspace ID because Anthropic omits that workspace from its list API.
230
+
231
+ ### OpenAI stays on `requesting` and then reports a billing 429
232
+
233
+ - Cause: older retry classification treated every HTTP 429 as a temporary rate
234
+ limit. OpenAI also uses 429 for permanent request-state failures such as
235
+ `billing_not_active` and `insufficient_quota`.
236
+ - Current behavior: UR reads the machine error code, reports permanent account
237
+ or billing failures immediately, and still retries genuine transient rate
238
+ limits. The same rule applies to Chat Completions and Responses.
239
+ - Fix for `billing_not_active`: activate API billing for the project/account or
240
+ connect a key belonging to an active billed project. Changing models or
241
+ transports cannot activate the account.
242
+
213
243
  ### NVIDIA lists a model but inference returns `Function … Not found for account`
214
244
 
215
- - Cause: NVIDIA's hosted `/v1/models` feed can change, or a listed model's
216
- backing function can become unavailable for the connected account.
217
- - Fix: upgrade UR, run `ur provider doctor nvidia-nim`, then open `/model` and
218
- press `Ctrl+R`. Hosted discovery intersects NVIDIA's live `/v1/models`
219
- availability with UR's audited agent contracts. It does not intersect the
220
- catalog with the separate NVCF deployment-function inventory. A definitive
221
- runtime 404 removes only that model from the current endpoint-scoped session
222
- catalog until the next explicit refresh.
245
+ - Cause: the card is documented by NVIDIA, but its backing function is not
246
+ entitled or temporarily available for this API key/account.
247
+ - Fix: verify the model card and key with `ur provider doctor nvidia-nim`, then
248
+ retry. UR uses the exact per-card endpoint and keeps the model visible. A 404
249
+ never removes it from the current or future catalog.
223
250
  - Privacy: UR does not display or retain the internal NVIDIA function UUID and
224
251
  account identifier from this error response.
225
252
 
@@ -229,19 +256,20 @@ validated only against that gateway's own `/models` response.
229
256
 
230
257
  ### An NVIDIA specialized model is missing from `/model`
231
258
 
232
- - Ongoing models appear only when NVIDIA returns them live and their exact
233
- documented contract supports UR's multi-turn streaming tool loop.
234
- - Dedicated models come from UR's generated NVIDIA OpenAPI catalog and appear
235
- in the `ONE-SHOT` section without relying on the chat `/v1/models` response.
259
+ - Ongoing public models come from exact Build cards that advertise agent/tool
260
+ use; a configured enterprise NIM uses its own live `/models` feed.
261
+ - Dedicated models appear under NVIDIA Special without relying on a chat
262
+ `/v1/models` response.
236
263
  Run `bun run provider:nvidia-catalog` in a source checkout to refresh the
237
264
  checked-in contracts from NVIDIA's current public reference.
238
- - Download-only cards, status-only routes, staging URLs, broken documentation,
239
- and operations without a public hosted POST contract are intentionally absent.
265
+ - Download-only cards are absent. Every Free Endpoint card is preserved. If a
266
+ card lacks a published invocation protocol, it remains visible with
267
+ `unpublished` status rather than receiving a guessed endpoint.
240
268
  - UR inlines small supported media and automatically uses NVIDIA's Asset API
241
269
  for larger files or contracts that require an asset UUID/reference.
242
- - A task-specific entitlement failure removes only that model until `Ctrl+R`;
243
- the exact endpoint and documentation link are available through the
244
- `NvidiaNimTask` describe action.
270
+ - A task-specific entitlement failure never removes the model. Exact endpoint,
271
+ HTTP/RPC method, function ID, request/response schemas, and documentation are
272
+ available through the `NvidiaSpecial` describe action.
245
273
 
246
274
  ### A provider says the previous answer was empty after successful tool calls
247
275
 
package/docs/USAGE.md CHANGED
@@ -186,6 +186,7 @@ ur config set openrouter.preferred_min_throughput 40
186
186
  ur config set openrouter.preferred_max_latency 3
187
187
  ur config set openrouter.service_tier priority
188
188
  ur config set openrouter.speed fast
189
+ ur config set anthropic.workspace_id wrkspc_...
189
190
  ```
190
191
 
191
192
  `auto` is the recommended default. `priority`/`fast` are optional paid upstream
@@ -195,6 +196,17 @@ throughput-, price-, or tool-quality-first virtual route.
195
196
 
196
197
  Direct Anthropic sessions preserve prompt-cache breakpoints and stream large
197
198
  tool arguments with Anthropic's per-tool `eager_input_streaming` control.
199
+ If Anthropic identifies the key as identity-linked, select the Console
200
+ workspace before refreshing models or sending a turn:
201
+
202
+ ```sh
203
+ ur config set anthropic.workspace_id wrkspc_...
204
+ # or: export ANTHROPIC_WORKSPACE_ID=wrkspc_...
205
+ ```
206
+
207
+ The selection is shared by discovery, doctor, inference, streaming, and token
208
+ counting. Workspace-scoped keys require no extra value; use
209
+ `ur config set anthropic.workspace_id auto` to clear it.
198
210
  Accounts admitted to Anthropic's premium fast-mode research preview can opt in
199
211
  for its supported Opus models:
200
212
 
@@ -216,6 +228,9 @@ background/poll/cancel support, WebSocket continuation, server compaction, and
216
228
  deferred tool search. Remote storage is off by default. Local state contains
217
229
  only bounded identifiers/status/cursors unless a 32-byte
218
230
  `UR_OPENAI_RESPONSES_STATE_KEY` is supplied for AES-256-GCM compacted context.
231
+ Permanent billing/account 429s are shown immediately on both OpenAI transports;
232
+ UR retries only responses that can plausibly succeed without configuration or
233
+ billing changes.
219
234
 
220
235
  In the interactive app, `/model` chooses a provider first and then a model from
221
236
  that provider only. The saved pair controls the runtime backend for the next
@@ -240,7 +255,8 @@ Use `ur provider status` or `ur provider doctor <provider>` to see provider
240
255
  kind, external CLI usage, native tool/streaming support, and the boundary text.
241
256
 
242
257
  Provider values accept canonical IDs and common aliases. For example,
243
- `openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim`, `ollama`,
258
+ `openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim`,
259
+ `nvidia-special`, `ollama`,
244
260
  `lmstudio`, `llama.cpp`, `vllm`, and `unsloth` are UR-native runtime providers, and
245
261
  `codex-cli` (`chatgpt`), `claude-code-cli` (`claude`), `gemini-cli` (`gemini`),
246
262
  and `antigravity-cli` (`agy`) are subscription CLI providers.
@@ -248,7 +264,9 @@ and `antigravity-cli` (`agy`) are subscription CLI providers.
248
264
  API modes are explicit. Keys are read from a key stored via
249
265
  `ur connect <provider>` (OS keychain) or from the environment variables
250
266
  `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`,
251
- `OPENROUTER_API_KEY`, `NVIDIA_API_KEY`, and `UNSLOTH_API_KEY`. Subscription CLIs are optional, never required
267
+ `OPENROUTER_API_KEY`, `NVIDIA_API_KEY`, and `UNSLOTH_API_KEY`.
268
+ `ANTHROPIC_WORKSPACE_ID` selects a workspace for identity-linked Anthropic
269
+ keys. Subscription CLIs are optional, never required
252
270
  dependencies, and never used as a silent fallback. UR-Nexus never scrapes
253
271
  browser sessions, extracts OAuth tokens, or bypasses provider restrictions.
254
272
  OpenAI-compatible local or cloud endpoints use `base_url` plus `model`.
@@ -257,7 +275,7 @@ and is inference-only: UR does not manage Unsloth and disables its server-side
257
275
  tools while retaining standard function calls inside UR's guarded tool loop.
258
276
 
259
277
  UR stores `base_url` per provider. You can set different addresses for
260
- Ollama, LM Studio, llama.cpp, vLLM, Unsloth, and NVIDIA NIM once, then switch providers without
278
+ Ollama, LM Studio, llama.cpp, vLLM, Unsloth, and NVIDIA Agentic once, then switch providers without
261
279
  re-entering any of them. `ur config get base_url` reports the active provider's
262
280
  saved scoped override when one exists; use `ur provider status` or
263
281
  `ur provider doctor <provider>` to inspect the effective endpoint.
@@ -266,34 +284,30 @@ without making it active first. The `/model` picker offers the same endpoint
266
284
  entry flow for a disconnected local/server provider.
267
285
 
268
286
  Use `/model` in an interactive session to select provider first and model
269
- second. OpenAI API, Claude API, Gemini API, OpenRouter, NVIDIA NIM, Ollama, and
287
+ second. OpenAI API, Claude API, Gemini API, OpenRouter, NVIDIA Agentic, Ollama, and
270
288
  OpenAI-compatible endpoints stay separate; a subscription login does not grant
271
289
  API-key access, and an API key does not grant subscription CLI access.
272
290
 
273
- NVIDIA NIM uses the build.nvidia.com key and hosted
291
+ NVIDIA Agentic and NVIDIA Special share the build.nvidia.com key. Agentic uses
274
292
  `https://integrate.api.nvidia.com/v1` endpoint by default. Connect it with
275
- `ur connect nvidia-nim`; use `ur config set base_url nvidia-nim <url>` for a
276
- different NIM deployment. For the hosted endpoint, `/model` intersects the
277
- account's live `/v1/models` feed with exact NVIDIA-documented agent contracts.
278
- This excludes utility endpoints and dedicated single-use APIs from the ongoing
279
- agent list even when NVIDIA returns them. NVCF deployment functions are a
280
- separate API and do not narrow this hosted catalog. A custom NIM gateway
281
- retains its own independent catalog.
293
+ `ur connect nvidia-nim` (or `ur connect nvidia-special`); use
294
+ `ur config set base_url nvidia-nim <url>` for a
295
+ different NIM deployment. Public Agentic entries come from exact per-card
296
+ contracts and are not filtered or removed by NVIDIA account inventory errors.
297
+ A custom NIM gateway retains its own independent live catalog.
282
298
  Download-only cards from the Build web catalog are not inserted into the
283
299
  hosted picker. NVIDIA's live `nemotron-3.5-lightning-30b-a3b` endpoint is
284
300
  focused first as its documented fastest 30B agent model; Left/Right controls
285
301
  that model's advertised on/off thinking switch.
286
- Specialized public hosted contracts appear separately as `ONE-SHOT`, with
287
- their purpose visible before selection. The catalog is generated from
288
- NVIDIA's official OpenAPI indexes and currently covers 92 task models across
289
- generation, vision, retrieval, safety, translation, biology, molecular and
290
- medical inference, optimization, and climate APIs. Selecting one leaves the
291
- ongoing agent unchanged; describe the task normally and UR uses
292
- `NvidiaNimTask` with the same stored NVIDIA key and exact model endpoint. For
293
- advanced schemas the tool can describe required fields before running exact
294
- JSON and file bindings. Large inputs use NVIDIA Assets; binary or large JSON
295
- output defaults to `.ur/artifacts/nvidia/`. Download-only and non-executable
296
- cards remain hidden.
302
+ NVIDIA Special appears as its own provider, with purpose and input/output hints
303
+ before selection. The current Build audit preserves all 23 focused Free
304
+ Endpoint cards. `NvidiaSpecial` describes or runs each card's exact inference
305
+ URL, HTTP/RPC method, function ID, and request/response schema using the shared
306
+ key. It supports HTTP, direct NVCF, async polling, NVIDIA Assets, and five
307
+ documented Maxine/Riva gRPC services. Selecting one leaves the ongoing agent
308
+ unchanged. Returned media/binary/JSON defaults to `.ur/artifacts/nvidia/`.
309
+ Cards are never removed; an unpublished protocol remains visible and clearly
310
+ cannot be invoked until NVIDIA publishes its contract.
297
311
  On the `/model` model screen, `K` adds or replaces a
298
312
  provider API key and `E` edits its endpoint. This also makes optional
299
313
  authentication practical for generic OpenAI-compatible gateways.
@@ -19,7 +19,7 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.84.7 (UR-Nexus)"
22
+ # expected for this release: "1.85.1 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ### 0.0 Redteam mode and Reverse Skills (1.81.0)
@@ -136,6 +136,18 @@ Opus 5/4.8 must receive `speed="fast"` and
136
136
  Opus versions must receive neither. A non-stream response must retain
137
137
  `usage.speed`.
138
138
 
139
+ With an identity-linked test key, first omit the workspace. Discovery and
140
+ doctor must preserve Anthropic's `anthropic-workspace-id is required` detail
141
+ and show the `anthropic.workspace_id` fix. Then configure a `wrkspc_...` value
142
+ and verify the same header on model pagination, streaming/non-streaming
143
+ Messages, and token counting. A workspace-scoped key must remain valid with no
144
+ workspace setting.
145
+
146
+ For OpenAI retry classification, mock a 429 `billing_not_active` streaming body
147
+ and verify exactly one transport call plus the provider's actionable message.
148
+ A 429 `rate_limit_exceeded` fixture must remain retryable. The deterministic
149
+ coverage is in `test/providerReliability.test.ts`.
150
+
139
151
  Deterministic coverage:
140
152
 
141
153
  ```sh
@@ -258,20 +270,18 @@ bun test test/bashCommandExecution.test.ts \
258
270
  Expected: macOS can execute `timeout 0.1 …` without GNU coreutils and reports
259
271
  124 when the deadline expires. Image-bearing tool results retain their text and
260
272
  image bytes across OpenAI Chat/Responses, Anthropic, Gemini, OpenRouter,
261
- NVIDIA NIM, Ollama, LM Studio, llama.cpp, vLLM, Unsloth, and generic OpenAI-compatible
273
+ NVIDIA Agentic/Special, Ollama, LM Studio, llama.cpp, vLLM, Unsloth, and generic OpenAI-compatible
262
274
  request shapes.
263
275
 
264
- The NVIDIA fixture also verifies hosted/default and overridden endpoints,
265
- Bearer discovery from NVIDIA's live `/v1/models` endpoint, positive agent
266
- contract intersection, selected-model doctor diagnostics, redaction of
267
- internal NVIDIA account/function IDs, endpoint-scoped runtime invalidation,
268
- native dispatch, the preferred Lightning endpoint and its model-scoped
269
- `enable_thinking` switch, documented effort aliases, and no Ultra on an unknown model.
270
- `nvidiaTaskRuntime.test.ts` verifies exact AI, retrieval, and healthcare
271
- endpoint routing; generated-schema defaults and validation; FLUX, Stable Video
272
- Diffusion, and PaliGemma conveniences; Bearer reuse; NVIDIA Asset upload and
273
- cleanup; async request-ID polling; artifact decoding; and rejection of models
274
- without a generated public hosted contract. In
276
+ The NVIDIA fixtures verify the 100-card/36-Free-Endpoint audit, the 13 Agentic
277
+ and 23 Special split, shared credential ownership, exact per-card endpoint
278
+ routing, public-catalog preservation after entitlement failures, enterprise
279
+ gateway isolation, redaction of internal NVIDIA account/function IDs, native
280
+ dispatch, Lightning thinking, documented effort aliases, and no Ultra on an
281
+ unknown model. `nvidiaTaskRuntime.test.ts` verifies PaliGemma, Cosmos Transfer,
282
+ Cosmos3 async polling, direct-function BEV multi-artifacts, embeddings,
283
+ NVIDIA Asset upload/cleanup, generated-schema validation, and all five exact
284
+ public gRPC service/method and streaming shapes. In
275
285
  `/model`, select `openai-compatible` and verify `K` can
276
286
  add or replace its optional key while `E` continues to edit only its endpoint.
277
287