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/docs/AGENT_FEATURES.md
CHANGED
|
@@ -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
|
|
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
|
package/docs/AGENT_TRENDS.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -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
|
|
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`
|
|
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
|
|
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
|
|
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
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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
|
-
|
|
296
|
-
|
|
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
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
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:
|
package/docs/TROUBLESHOOTING.md
CHANGED
|
@@ -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
|
|
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:
|
|
216
|
-
|
|
217
|
-
- Fix:
|
|
218
|
-
|
|
219
|
-
|
|
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
|
|
233
|
-
|
|
234
|
-
- Dedicated models
|
|
235
|
-
|
|
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
|
|
239
|
-
|
|
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
|
|
243
|
-
|
|
244
|
-
`
|
|
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`,
|
|
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`.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
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
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
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.
|
package/docs/VALIDATION.md
CHANGED
|
@@ -19,7 +19,7 @@ You need:
|
|
|
19
19
|
|
|
20
20
|
```sh
|
|
21
21
|
ur --version
|
|
22
|
-
# expected for this release: "1.
|
|
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
|
|
273
|
+
NVIDIA Agentic/Special, Ollama, LM Studio, llama.cpp, vLLM, Unsloth, and generic OpenAI-compatible
|
|
262
274
|
request shapes.
|
|
263
275
|
|
|
264
|
-
The NVIDIA
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
internal NVIDIA account/function IDs,
|
|
268
|
-
|
|
269
|
-
`
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
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
|
|