ur-agent 1.84.4 → 1.84.6
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 +62 -0
- package/README.md +36 -6
- package/dist/cli.js +2829 -2117
- package/docs/AGENT_FEATURES.md +2 -1
- package/docs/CONFIGURATION.md +35 -4
- package/docs/TROUBLESHOOTING.md +35 -8
- package/docs/USAGE.md +37 -6
- package/docs/VALIDATION.md +32 -6
- package/docs/providers.md +77 -19
- package/documentation/app.js +2 -2
- package/documentation/index.html +5 -4
- package/extensions/jetbrains-ur/build.gradle.kts +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -349,7 +349,8 @@ automatically changes the active provider.
|
|
|
349
349
|
| Provider-aware status bar | Interactive bottom status bar, `src/components/StatusLine.tsx`, `src/utils/statusBar.ts` | Shows only important runtime state: active provider, selected model, mode, git branch, active task state, checks/build state when known, and update availability. Hidden in CI, dumb terminals, and non-interactive mode; custom status-line hooks still override it. |
|
|
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
|
-
| Professional clarification dialogs | `AskUserQuestion`, `src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx` |
|
|
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 | `nvidiaHostedModels.ts`, `NvidiaNimTask`, `/model` | Positively audits hosted agent contracts and exposes a one-shot model only when the live account catalog returns it and a complete adapter exists (FLUX.1 Schnell, Stable Video Diffusion, or PaliGemma). Task selection shows purpose and never replaces the ongoing agent. |
|
|
353
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. |
|
|
354
355
|
|
|
355
356
|
## v1.24.0 Additions
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -164,6 +164,25 @@ default `auto`/`standard` values add no premium request. Explicit request-level
|
|
|
164
164
|
provider preferences still win. Set either performance threshold to `auto` to
|
|
165
165
|
remove it and return to OpenRouter's own routing data.
|
|
166
166
|
|
|
167
|
+
Direct Anthropic requests preserve UR's prompt-cache breakpoints using
|
|
168
|
+
Anthropic's supported cache-control shape. Streaming requests also set
|
|
169
|
+
`eager_input_streaming: true` on user-defined tools, so large tool arguments
|
|
170
|
+
arrive as Claude generates them instead of waiting for server-side buffering.
|
|
171
|
+
Both behaviors use Anthropic's documented native fields and require no setting.
|
|
172
|
+
|
|
173
|
+
Anthropic fast mode is a separate, premium research-preview tier. It is off by
|
|
174
|
+
default and can be requested explicitly:
|
|
175
|
+
|
|
176
|
+
```sh
|
|
177
|
+
ur config set anthropic.speed fast # standard | fast
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
UR adds `speed: "fast"` and Anthropic's required
|
|
181
|
+
`fast-mode-2026-02-01` beta only for Claude Opus 5 and Opus 4.8. The account
|
|
182
|
+
must be enabled by Anthropic. Other Claude models remain on standard speed;
|
|
183
|
+
UR does not send a field the selected model does not support. Return to normal
|
|
184
|
+
billing with `ur config set anthropic.speed standard`.
|
|
185
|
+
|
|
167
186
|
`provider.fallback` is diagnostic recovery metadata, not automatic routing.
|
|
168
187
|
When the active provider fails, `ur provider doctor` shows the configured
|
|
169
188
|
recovery command; changing providers remains an explicit user action.
|
|
@@ -263,14 +282,26 @@ UNSLOTH_API_KEY=...
|
|
|
263
282
|
|
|
264
283
|
NVIDIA NIM defaults to `https://integrate.api.nvidia.com/v1`, discovers the
|
|
265
284
|
connected account's models live, and accepts a provider-scoped override for an
|
|
266
|
-
enterprise or self-hosted NIM. On NVIDIA's hosted endpoint,
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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
|
|
290
|
+
`openai-compatible` authentication is
|
|
270
291
|
optional: `ur connect openai-compatible` or the picker's `K` key stores a
|
|
271
292
|
credential when the chosen gateway needs one, without breaking anonymous
|
|
272
293
|
local endpoints.
|
|
273
294
|
|
|
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,
|
|
298
|
+
`nvidia/nemotron-3.5-lightning-30b-a3b`, first. Its thinking toggle maps to
|
|
299
|
+
NVIDIA's model-specific `chat_template_kwargs.enable_thinking` field.
|
|
300
|
+
The same key also authorizes the separately labelled one-shot FLUX.1 Schnell,
|
|
301
|
+
Stable Video Diffusion, and PaliGemma adapters. Those use their exact
|
|
302
|
+
`ai.api.nvidia.com` paths, never replace `provider.model`, and write generated
|
|
303
|
+
media under `.ur/artifacts/nvidia/` unless an output path is supplied.
|
|
304
|
+
|
|
274
305
|
Unsloth is an inference-provider integration only. Start Unsloth Studio and
|
|
275
306
|
load the model outside UR, connect its generated key with `ur connect unsloth`,
|
|
276
307
|
then select a model discovered from `http://localhost:8888/v1` (or your
|
package/docs/TROUBLESHOOTING.md
CHANGED
|
@@ -212,19 +212,46 @@ custom `base_url` scoped to that provider.
|
|
|
212
212
|
|
|
213
213
|
### NVIDIA lists a model but inference returns `Function … Not found for account`
|
|
214
214
|
|
|
215
|
-
- Cause: NVIDIA's hosted `/v1/models` feed can
|
|
216
|
-
|
|
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
217
|
- Fix: upgrade UR, run `ur provider doctor nvidia-nim`, then open `/model` and
|
|
218
|
-
press `Ctrl+R`. Hosted discovery
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
endpoint-scoped session
|
|
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.
|
|
222
223
|
- Privacy: UR does not display or retain the internal NVIDIA function UUID and
|
|
223
224
|
account identifier from this error response.
|
|
224
225
|
|
|
225
|
-
If `
|
|
226
|
+
If `chat_models` fails, reconnect a current build.nvidia.com key with
|
|
226
227
|
`ur connect nvidia-nim`. A configured enterprise/self-hosted NIM endpoint is
|
|
227
|
-
validated only against that gateway
|
|
228
|
+
validated only against that gateway's own `/models` response.
|
|
229
|
+
|
|
230
|
+
### An NVIDIA image/video/vision model is missing from `/model`
|
|
231
|
+
|
|
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 appear only in the `ONE-SHOT` section after UR implements
|
|
235
|
+
their endpoint, request, response, media constraints, and artifact handling.
|
|
236
|
+
The current set is FLUX.1 Schnell, Stable Video Diffusion, and PaliGemma.
|
|
237
|
+
- Download-only Build cards and unadapted endpoints are intentionally absent;
|
|
238
|
+
UR does not present a model that it cannot execute correctly.
|
|
239
|
+
- Stable Video Diffusion's hosted inline-image contract accepts JPEG/PNG files
|
|
240
|
+
smaller than 200 KB. Compress larger input before retrying.
|
|
241
|
+
|
|
242
|
+
### A provider says the previous answer was empty after successful tool calls
|
|
243
|
+
|
|
244
|
+
Some OpenAI-compatible models scope generated tool-call IDs to one response
|
|
245
|
+
and reuse values such as `TaskCreate:0` on a later response. Older UR releases
|
|
246
|
+
mistook the later completed pair for transcript corruption, removed it before
|
|
247
|
+
the next API request, and could make the model believe that the user sent an
|
|
248
|
+
empty continuation.
|
|
249
|
+
|
|
250
|
+
Upgrade UR and retry the turn. UR now canonicalizes only later, independently
|
|
251
|
+
completed call/result pairs before provider dispatch. Same-message duplicates,
|
|
252
|
+
unmatched calls, and orphaned results still go through normal transcript
|
|
253
|
+
repair. The saved transcript remains faithful to the provider response; only
|
|
254
|
+
the API-bound copy receives conversation-unique IDs.
|
|
228
255
|
|
|
229
256
|
### `The provider reported that model … reached its per-response output boundary`
|
|
230
257
|
|
package/docs/USAGE.md
CHANGED
|
@@ -56,8 +56,11 @@ macOS, Autodesk 3ds Max is expected to be missing because it is a Windows
|
|
|
56
56
|
application. Use Blender locally, or run the 3ds Max project on a Windows host.
|
|
57
57
|
|
|
58
58
|
When UR needs a focused clarification, it uses the `AskUserQuestion` dialog.
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
Every real question with two or more plausible concrete answers must use this
|
|
60
|
+
dialog; plain text is reserved for genuinely open-ended questions where no
|
|
61
|
+
meaningful choices can be formed. UR prefers 2-8 focused choices but preserves
|
|
62
|
+
larger legitimate menus instead of rejecting or truncating them, and always
|
|
63
|
+
accepts a custom "Other" answer. If a model supplies only one concrete
|
|
61
64
|
suggestion, UR keeps it and adds a neutral `Different answer` rejection path
|
|
62
65
|
instead of showing an internal validation error or inventing another choice.
|
|
63
66
|
|
|
@@ -190,6 +193,19 @@ features and are effective only for models that OpenRouter supports. Append
|
|
|
190
193
|
`:nitro`, `:floor`, or `:exacto` to an OpenRouter model ID for its native
|
|
191
194
|
throughput-, price-, or tool-quality-first virtual route.
|
|
192
195
|
|
|
196
|
+
Direct Anthropic sessions preserve prompt-cache breakpoints and stream large
|
|
197
|
+
tool arguments with Anthropic's per-tool `eager_input_streaming` control.
|
|
198
|
+
Accounts admitted to Anthropic's premium fast-mode research preview can opt in
|
|
199
|
+
for its supported Opus models:
|
|
200
|
+
|
|
201
|
+
```sh
|
|
202
|
+
ur config set anthropic.speed fast
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
UR sends that tier only to Claude Opus 5 and Opus 4.8; all other Claude models
|
|
206
|
+
remain on standard speed. Use `ur config set anthropic.speed standard` to turn
|
|
207
|
+
the premium tier off.
|
|
208
|
+
|
|
193
209
|
`provider.fallback` only controls the recovery suggestion printed by provider
|
|
194
210
|
diagnostics. UR does not switch or retry across providers automatically; use
|
|
195
211
|
`ur config set provider <id>` after reviewing the failure.
|
|
@@ -257,10 +273,25 @@ API-key access, and an API key does not grant subscription CLI access.
|
|
|
257
273
|
NVIDIA NIM uses the build.nvidia.com key and hosted
|
|
258
274
|
`https://integrate.api.nvidia.com/v1` endpoint by default. Connect it with
|
|
259
275
|
`ur connect nvidia-nim`; use `ur config set base_url nvidia-nim <url>` for a
|
|
260
|
-
different NIM deployment. For the hosted endpoint, `/model`
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
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.
|
|
282
|
+
Download-only cards from the Build web catalog are not inserted into the
|
|
283
|
+
hosted picker. NVIDIA's live `nemotron-3.5-lightning-30b-a3b` endpoint is
|
|
284
|
+
focused first as its documented fastest 30B agent model; Left/Right controls
|
|
285
|
+
that model's advertised on/off thinking switch.
|
|
286
|
+
Verified specialized models returned by the connected account appear
|
|
287
|
+
separately as `ONE-SHOT`, with their purpose visible before selection. FLUX.1
|
|
288
|
+
Schnell generates a JPEG from text, Stable Video Diffusion generates an MP4
|
|
289
|
+
from a sub-200-KB JPEG/PNG, and PaliGemma analyzes one image with one prompt.
|
|
290
|
+
Selecting one leaves the ongoing agent unchanged; describe the task normally
|
|
291
|
+
and UR uses `NvidiaNimTask` with the same stored NVIDIA key and exact model
|
|
292
|
+
endpoint. Generated media defaults to `.ur/artifacts/nvidia/`. Other
|
|
293
|
+
download-only, utility, and dedicated models remain hidden until UR has a
|
|
294
|
+
complete executable adapter for their contract.
|
|
264
295
|
On the `/model` model screen, `K` adds or replaces a
|
|
265
296
|
provider API key and `E` edits its endpoint. This also makes optional
|
|
266
297
|
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.84.
|
|
22
|
+
# expected for this release: "1.84.6 (UR-Nexus)"
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
### 0.0 Redteam mode and Reverse Skills (1.81.0)
|
|
@@ -122,6 +122,20 @@ fallback/threshold settings must use OpenRouter's snake-case wire keys;
|
|
|
122
122
|
validate against the discovered base model and inherit its context, output,
|
|
123
123
|
tool, and reasoning metadata.
|
|
124
124
|
|
|
125
|
+
For direct Anthropic, inspect one streaming request with tools. Valid
|
|
126
|
+
`cache_control` markers must remain while URHQ-only `scope` is absent, each user
|
|
127
|
+
tool must include `eager_input_streaming: true`, and no legacy fine-grained
|
|
128
|
+
streaming beta header is required. Then run:
|
|
129
|
+
|
|
130
|
+
```sh
|
|
131
|
+
ur config set anthropic.speed fast
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Opus 5/4.8 must receive `speed="fast"` and
|
|
135
|
+
`anthropic-beta: fast-mode-2026-02-01`; Sonnet, Fable, Haiku, and unsupported
|
|
136
|
+
Opus versions must receive neither. A non-stream response must retain
|
|
137
|
+
`usage.speed`.
|
|
138
|
+
|
|
125
139
|
Deterministic coverage:
|
|
126
140
|
|
|
127
141
|
```sh
|
|
@@ -129,9 +143,15 @@ bun test test/providerPickerPresentation.test.ts \
|
|
|
129
143
|
test/openRouterEffort.test.ts test/providerModelDiscovery.test.ts \
|
|
130
144
|
test/secondaryModelFallback.test.ts test/providerToolCalls.test.ts \
|
|
131
145
|
test/providerContextWindow.test.ts test/outputLimitRecovery.test.ts \
|
|
132
|
-
test/usageAccounting.test.ts test/providerRouting.test.ts
|
|
146
|
+
test/usageAccounting.test.ts test/providerRouting.test.ts \
|
|
147
|
+
test/reusedToolUseIds.test.ts
|
|
133
148
|
```
|
|
134
149
|
|
|
150
|
+
The repeated-ID fixture contains two sequential completed calls that both
|
|
151
|
+
arrive as `TaskCreate:0`. Both call/results must survive the provider-bound
|
|
152
|
+
history pass with the later pair renamed deterministically; same-message or
|
|
153
|
+
unmatched duplicates must remain visible to corruption repair.
|
|
154
|
+
|
|
135
155
|
### 0.0.0a Provider output-boundary continuation (1.84.4)
|
|
136
156
|
|
|
137
157
|
Use a provider fixture that returns `max_tokens`/`length` after non-empty
|
|
@@ -229,6 +249,7 @@ Run the deterministic adapter and shell coverage:
|
|
|
229
249
|
```sh
|
|
230
250
|
bun test test/bashCommandExecution.test.ts \
|
|
231
251
|
test/providerNvidiaNim.test.ts \
|
|
252
|
+
test/nvidiaTaskRuntime.test.ts \
|
|
232
253
|
test/providerMultimodal.test.ts \
|
|
233
254
|
test/openaiResponses.test.ts \
|
|
234
255
|
test/ollamaToolResultImages.test.ts
|
|
@@ -241,10 +262,15 @@ NVIDIA NIM, Ollama, LM Studio, llama.cpp, vLLM, Unsloth, and generic OpenAI-comp
|
|
|
241
262
|
request shapes.
|
|
242
263
|
|
|
243
264
|
The NVIDIA fixture also verifies hosted/default and overridden endpoints,
|
|
244
|
-
Bearer discovery
|
|
245
|
-
|
|
246
|
-
internal NVIDIA account/function IDs, endpoint-scoped invalidation,
|
|
247
|
-
dispatch,
|
|
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 the exact FLUX, Stable Video Diffusion,
|
|
271
|
+
and PaliGemma endpoints and payloads; Bearer reuse; async request-ID polling;
|
|
272
|
+
artifact decoding; media constraints; and rejection of every model without an
|
|
273
|
+
implemented adapter. In
|
|
248
274
|
`/model`, select `openai-compatible` and verify `K` can
|
|
249
275
|
add or replace its optional key while `E` continues to edit only its endpoint.
|
|
250
276
|
|
package/docs/providers.md
CHANGED
|
@@ -217,6 +217,10 @@ NVIDIA's current model API reference documents that exact model's
|
|
|
217
217
|
`reasoning_effort` values. Documented `none` appears as Minimal and `max`
|
|
218
218
|
appears as Ultra while the request preserves NVIDIA's wire values. An unknown
|
|
219
219
|
NIM model never inherits an invented graded ladder.
|
|
220
|
+
Hosted discovery is also a positive agent-contract intersection: a row in the
|
|
221
|
+
mixed NVIDIA `/v1/models` inventory is not sufficient by itself to enter the
|
|
222
|
+
ongoing agent picker. Verified dedicated media/VLM endpoints are exposed only
|
|
223
|
+
as one-shot task contracts and cannot pass provider/model validation.
|
|
220
224
|
|
|
221
225
|
For an unknown or newly released model, UR waits for provider-authored model
|
|
222
226
|
metadata or a supported model-scoped probe before adding thinking parameters.
|
|
@@ -273,6 +277,29 @@ remain authoritative. See OpenRouter's
|
|
|
273
277
|
[provider routing](https://openrouter.ai/docs/guides/routing/provider-selection),
|
|
274
278
|
[Auto Exacto](https://openrouter.ai/docs/guides/routing/auto-exacto), and
|
|
275
279
|
[prompt caching](https://openrouter.ai/docs/guides/best-practices/prompt-caching).
|
|
280
|
+
|
|
281
|
+
Direct Anthropic requests retain supported prompt-cache breakpoints and enable
|
|
282
|
+
per-tool `eager_input_streaming` on streaming turns. This reduces repeated
|
|
283
|
+
prefill work and avoids waiting for a complete large tool argument before its
|
|
284
|
+
deltas arrive. Anthropic's premium fast tier remains explicit:
|
|
285
|
+
|
|
286
|
+
```sh
|
|
287
|
+
ur config set anthropic.speed fast
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
UR sends `speed: "fast"` with the `fast-mode-2026-02-01` beta only for Claude
|
|
291
|
+
Opus 5 and Opus 4.8, and retains `usage.speed` so accounting can distinguish the
|
|
292
|
+
tier actually served. Enabled account access is still required. Unsupported
|
|
293
|
+
models stay on standard speed. See Anthropic's
|
|
294
|
+
[prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching),
|
|
295
|
+
[fine-grained tool streaming](https://platform.claude.com/docs/en/agents-and-tools/tool-use/fine-grained-tool-streaming),
|
|
296
|
+
and [fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode).
|
|
297
|
+
|
|
298
|
+
UR uses only provider-documented acceleration controls. OpenAI Responses
|
|
299
|
+
already has native streaming and WebSocket continuation; Gemini 2.5+ implicit
|
|
300
|
+
caching is automatic. Google's Priority tier requires the Interactions API and
|
|
301
|
+
is not a valid `generateContent` option. NVIDIA NIM and local servers publish
|
|
302
|
+
no universal OpenRouter-style routing field, so UR does not invent one.
|
|
276
303
|
API-key entry for
|
|
277
304
|
OpenAI, Claude, Gemini, OpenRouter, NVIDIA NIM, and authenticated compatible
|
|
278
305
|
endpoints is a single aligned masked row; the key is stored in the OS keychain
|
|
@@ -284,8 +311,9 @@ OpenAI-compatible endpoints may remain anonymous.
|
|
|
284
311
|
|
|
285
312
|
UR uses each provider's non-generating count endpoint when one covers the full
|
|
286
313
|
request: OpenAI Responses input tokens, Anthropic Messages token counting,
|
|
287
|
-
Gemini `countTokens`, llama.cpp chat input tokens, and vLLM
|
|
288
|
-
|
|
314
|
+
Gemini `countTokens`, llama.cpp chat input tokens, and vLLM Messages token
|
|
315
|
+
counting. NVIDIA's hosted NIM API has no documented token-count route;
|
|
316
|
+
NVIDIA NIM, Ollama, OpenRouter, LM Studio, Unsloth, and subscription CLIs use a
|
|
289
317
|
provider-wire local estimate because those runtimes do not share a dependable
|
|
290
318
|
preflight tokenizer for complete chat history plus tools. UR never launches a
|
|
291
319
|
hidden completion for token counting. If a native count call is unavailable,
|
|
@@ -427,7 +455,7 @@ ur config set provider anthropic-api
|
|
|
427
455
|
| --- | --- | --- |
|
|
428
456
|
| API providers (openai-api, anthropic-api, gemini-api) | Live discovery from the provider's `/models` endpoint using your connected key (curated fallback until connected) | live |
|
|
429
457
|
| OpenRouter | Live `/models` discovery with an endpoint-scoped five-minute cache; Ctrl+R forces a fresh request with no stale fallback | live/cache |
|
|
430
|
-
| NVIDIA NIM | Hosted: live `/models` intersected with
|
|
458
|
+
| NVIDIA NIM | Hosted: live `/models` availability intersected with audited agent contracts, plus separately labelled one-shot models with implemented adapters. Configured NIM gateway: its own live `/models` catalog | live |
|
|
431
459
|
| Local/server providers (ollama, lmstudio, llama.cpp, vllm, unsloth) | Dynamic discovery from the selected provider endpoint | live |
|
|
432
460
|
| OpenAI-compatible | Dynamic discovery from configured endpoint | live |
|
|
433
461
|
| Subscription CLIs (codex-cli, claude-code-cli, gemini-cli, antigravity-cli) | Curated list (the official CLIs expose no models API); first-class in `/model`, dispatched via the official CLI. External CLI behavior depends on the vendor CLI. Log in with `ur auth <provider>` | static |
|
|
@@ -664,28 +692,58 @@ ur provider doctor nvidia-nim
|
|
|
664
692
|
ur config set base_url nvidia-nim https://nim-gateway.example/v1
|
|
665
693
|
```
|
|
666
694
|
|
|
667
|
-
The default is `https://integrate.api.nvidia.com/v1`. NVIDIA's
|
|
668
|
-
`/v1/models` response
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
695
|
+
The default is `https://integrate.api.nvidia.com/v1`. NVIDIA's authenticated
|
|
696
|
+
`/v1/models` response proves current account availability but mixes agents,
|
|
697
|
+
utilities, VLMs, and generation functions. UR intersects it with a reviewed
|
|
698
|
+
positive agent registry before allowing a model to own the multi-turn tool
|
|
699
|
+
loop. It does not intersect the result with NVCF's separate deployment-function
|
|
700
|
+
inventory. A custom enterprise or self-hosted NIM remains independent and uses
|
|
673
701
|
only that configured gateway's `/models` response.
|
|
674
702
|
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
703
|
+
The Build web catalog also contains download-only NIMs. UR does not add those
|
|
704
|
+
cards to the hosted picker: only IDs returned by the authenticated hosted
|
|
705
|
+
`/v1/models` endpoint can appear. UR focuses
|
|
706
|
+
`nvidia/nemotron-3.5-lightning-30b-a3b` first because NVIDIA documents it as
|
|
707
|
+
its fastest 30B model for long-running agents. Left/Right can turn that exact
|
|
708
|
+
model's thinking off/on through NVIDIA's documented
|
|
709
|
+
`chat_template_kwargs.enable_thinking`; other NIM models receive only their
|
|
710
|
+
own advertised reasoning contract.
|
|
711
|
+
|
|
712
|
+
UR calls `/models` and `/chat/completions`. It counts NVIDIA requests with a
|
|
713
|
+
provider-wire local estimate instead of first calling the unsupported hosted
|
|
714
|
+
`/messages/count_tokens` route, and never launches a hidden completion.
|
|
715
|
+
Streaming, standard tool calls, and image input use the
|
|
678
716
|
same OpenAI-compatible adapter. Vision and tools remain model-dependent. For
|
|
679
717
|
documented Nemotron coding-agent models, UR includes NVIDIA's
|
|
680
718
|
`force_nonempty_content` template option when tools are present. See NVIDIA's
|
|
681
719
|
[NIM LLM API reference](https://docs.api.nvidia.com/nim/reference/llm-apis)
|
|
682
|
-
and [
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
720
|
+
and [NIM endpoint guide](https://docs.nvidia.com/nim/large-language-models/latest/tutorials.html).
|
|
721
|
+
|
|
722
|
+
NVIDIA's dedicated APIs are a separate one-shot surface. `/model` labels them
|
|
723
|
+
`ONE-SHOT`, shows the task purpose, and keeps the current agent model when one
|
|
724
|
+
is selected. `NvidiaNimTask` currently implements three exact contracts:
|
|
725
|
+
|
|
726
|
+
- [FLUX.1 Schnell](https://docs.api.nvidia.com/nim/reference/black-forest-labs-flux_1-schnell-infer)
|
|
727
|
+
→ text-to-JPEG at
|
|
728
|
+
`https://ai.api.nvidia.com/v1/genai/black-forest-labs/flux.1-schnell`.
|
|
729
|
+
- [Stable Video Diffusion](https://docs.api.nvidia.com/nim/reference/stabilityai-stable-video-diffusion-infer)
|
|
730
|
+
→ JPEG/PNG-to-MP4 at
|
|
731
|
+
`https://ai.api.nvidia.com/v1/genai/stabilityai/stable-video-diffusion`;
|
|
732
|
+
NVIDIA's inline input contract requires a source smaller than 200 KB.
|
|
733
|
+
- [PaliGemma](https://docs.api.nvidia.com/nim/reference/google-paligemma-infer)
|
|
734
|
+
→ one-image visual analysis at
|
|
735
|
+
`https://ai.api.nvidia.com/v1/vlm/google/paligemma`.
|
|
736
|
+
|
|
737
|
+
They reuse `NVIDIA_API_KEY`, poll documented asynchronous responses when
|
|
738
|
+
necessary, save generated files under `.ur/artifacts/nvidia/` by default, and
|
|
739
|
+
return only text/path metadata to the enclosing agent. Unsupported,
|
|
740
|
+
download-only, and unadapted dedicated models never appear as usable choices.
|
|
741
|
+
|
|
742
|
+
`ur provider doctor nvidia-nim` verifies the hosted catalog and selected model
|
|
743
|
+
against the live `/v1/models` response. If NVIDIA rejects a listed model after
|
|
744
|
+
selection, UR redacts NVIDIA's internal function/account IDs, removes that
|
|
745
|
+
model from the current endpoint-scoped session catalog, and asks the user to
|
|
746
|
+
select another model. `Ctrl+R` explicitly retries discovery.
|
|
689
747
|
|
|
690
748
|
Local/server providers use their normal endpoints:
|
|
691
749
|
|
package/documentation/app.js
CHANGED
|
@@ -68,8 +68,8 @@ const featureGroups = [
|
|
|
68
68
|
{
|
|
69
69
|
title: 'Providers and auth',
|
|
70
70
|
tags: ['subscription', 'API', 'local', 'effort', 'status bar'],
|
|
71
|
-
text: 'UR-native API/local/OpenAI-compatible runtimes, provider-scoped endpoints,
|
|
72
|
-
commands: ['ur provider list', 'ur provider status', 'ur provider doctor
|
|
71
|
+
text: 'UR-native API/local/OpenAI-compatible runtimes, provider-scoped endpoints, audited NVIDIA agent discovery plus exact one-shot image/video/vision adapters, provider-only Unsloth inference, optional compatible-gateway keys, capability-driven reasoning effort, responsive OpenRouter routing, first-class subscription CLI providers dispatched through the official vendor CLIs, provider doctor checks, secure API-key connect, non-secret config, fallback hints, and provider-aware status-bar output.',
|
|
72
|
+
commands: ['ur provider list', 'ur provider status', 'ur provider doctor nvidia-nim', 'ur connect status', 'ur config set provider nvidia-nim', 'ur config set provider openai-api', 'ur config set provider ollama', 'ur config set base_url llama.cpp http://localhost:9931/v1', '/model', '/effort ultra', '/thinking on'],
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
title: 'Security and operations',
|
package/documentation/index.html
CHANGED
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<main id="content" class="content">
|
|
46
46
|
<header class="topbar">
|
|
47
47
|
<div>
|
|
48
|
-
<p class="eyebrow">Version 1.84.
|
|
48
|
+
<p class="eyebrow">Version 1.84.6</p>
|
|
49
49
|
<h1>UR-Nexus Documentation</h1>
|
|
50
50
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
|
|
51
51
|
</div>
|
|
@@ -172,8 +172,9 @@ ur config set provider unsloth
|
|
|
172
172
|
ur config set model qwen3-coder:480b-cloud
|
|
173
173
|
ur config set provider.fallback ollama
|
|
174
174
|
ur config set openai_transport responses
|
|
175
|
-
ur config set responses.store false
|
|
176
|
-
|
|
175
|
+
ur config set responses.store false
|
|
176
|
+
ur config set anthropic.speed fast</code></pre>
|
|
177
|
+
<p>API providers require explicit selection and read keys from a key stored via <code>ur connect</code> (OS keychain) or from environment variables. Each configurable provider keeps its own <code>base_url</code>, so switching among Ollama, LM Studio, llama.cpp, vLLM, Unsloth, NVIDIA NIM, and API gateways restores the matching address. OpenAI Responses is opt-in and privacy-first; Chat Completions remains the default. Direct Anthropic preserves prompt-cache breakpoints, streams tool inputs with its per-tool control, and enables the documented premium fast tier only when explicitly configured for a supported model. Unsloth is an authenticated inference provider only.</p>
|
|
177
178
|
</article>
|
|
178
179
|
<article>
|
|
179
180
|
<h3>Capability-driven reasoning effort</h3>
|
|
@@ -195,7 +196,7 @@ ur --model kimi-k3:cloud --effort high
|
|
|
195
196
|
ur config set provider nvidia-nim
|
|
196
197
|
ur config set base_url nvidia-nim https://integrate.api.nvidia.com/v1
|
|
197
198
|
/model # K API key · E endpoint</code></pre>
|
|
198
|
-
<p>NVIDIA NIM
|
|
199
|
+
<p>NVIDIA NIM separates ongoing agents from specialized one-shot models. Hosted agent discovery intersects the live <code>/v1/models</code> inventory with audited tool-loop contracts; download-only, utility, and unadapted models stay hidden. The separately labelled one-shot section shows a model only when the connected account returns it and UR has a complete adapter: FLUX.1 Schnell text-to-image, Stable Video Diffusion image-to-video, and PaliGemma image understanding use their exact documented endpoints and the same stored NVIDIA key. Their purpose appears before selection, generated media is saved under <code>.ur/artifacts/nvidia/</code>, and the ongoing agent never changes. Nemotron 3.5 Lightning retains its documented on/off thinking field; unknown models inherit no fabricated effort. Generic OpenAI-compatible endpoints can store an optional dedicated key, while anonymous endpoints remain valid.</p>
|
|
199
200
|
</article>
|
|
200
201
|
<article>
|
|
201
202
|
<h3>Portable shell deadlines</h3>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ur-inline-diffs",
|
|
3
3
|
"displayName": "UR Inline Diffs",
|
|
4
4
|
"description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
|
|
5
|
-
"version": "1.84.
|
|
5
|
+
"version": "1.84.6",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED