ur-agent 1.84.1 → 1.84.2
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 +30 -0
- package/README.md +18 -6
- package/dist/cli.js +319 -106
- package/docs/AGENT_TRENDS.md +2 -2
- package/docs/CONFIGURATION.md +25 -6
- package/docs/TROUBLESHOOTING.md +6 -0
- package/docs/USAGE.md +11 -4
- package/docs/VALIDATION.md +24 -1
- package/docs/providers.md +58 -6
- package/documentation/app.js +2 -2
- package/documentation/index.html +22 -2
- 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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.84.2
|
|
4
|
+
|
|
5
|
+
- Added NVIDIA NIM as a real UR-native provider for build.nvidia.com. It uses
|
|
6
|
+
NVIDIA's hosted `https://integrate.api.nvidia.com/v1` default, live model
|
|
7
|
+
discovery, Bearer authentication from `NVIDIA_API_KEY` or `ur connect
|
|
8
|
+
nvidia-nim`, configurable provider-scoped endpoints, streaming, tool calls,
|
|
9
|
+
multimodal input, NIM token counting with a local-estimate fallback, and an
|
|
10
|
+
optional live smoke target. Only NVIDIA-documented per-model effort ladders
|
|
11
|
+
are overlaid; future/unknown models do not inherit Ultra.
|
|
12
|
+
- Made authentication fully usable on the generic `openai-compatible`
|
|
13
|
+
provider. `/connect openai-compatible` stores its optional key, and the
|
|
14
|
+
`/model` screen now exposes `K API key` to add or replace one without making
|
|
15
|
+
anonymous local endpoints key-required. Stored endpoints and credentials
|
|
16
|
+
remain provider-scoped across switches.
|
|
17
|
+
- Added a real GNU-compatible `timeout` command inside UR's spawned macOS
|
|
18
|
+
shell when neither native `timeout` nor Homebrew `gtimeout` is available.
|
|
19
|
+
It uses the Bash tool's current Node/Bun runtime, supervises an isolated
|
|
20
|
+
process group, supports the common GNU duration/signal/kill-after flags, and
|
|
21
|
+
returns status 124 on expiry. The Bash prompt now prefers its native
|
|
22
|
+
millisecond timeout field, while generated Linux-style commands remain
|
|
23
|
+
executable on macOS instead of failing with `command not found: timeout`.
|
|
24
|
+
- Made image-bearing tool results portable across every UR-native provider.
|
|
25
|
+
OpenAI Chat Completions, OpenRouter, NVIDIA NIM, LM Studio, llama.cpp, vLLM, Unsloth,
|
|
26
|
+
and generic compatible endpoints keep a textual `role: tool` result and send
|
|
27
|
+
the image bytes in the immediately following multimodal user turn; Gemini
|
|
28
|
+
nests the image parts in its function response; OpenAI Responses, Anthropic,
|
|
29
|
+
and Ollama retain their native rich-result paths. Added a provider matrix and
|
|
30
|
+
real shell deadline regressions so screenshots are neither rejected nor
|
|
31
|
+
silently discarded.
|
|
32
|
+
|
|
3
33
|
## 1.84.1
|
|
4
34
|
|
|
5
35
|
- Made dynamic reasoning discovery capability-truthful across local and
|
package/README.md
CHANGED
|
@@ -288,6 +288,7 @@ ur config set provider openai-api
|
|
|
288
288
|
ur config set provider anthropic-api
|
|
289
289
|
ur config set provider gemini-api
|
|
290
290
|
ur config set provider openrouter
|
|
291
|
+
ur config set provider nvidia-nim
|
|
291
292
|
ur config set provider unsloth
|
|
292
293
|
ur config set model qwen2.5-coder:7b
|
|
293
294
|
ur provider select-model ollama qwen2.5-coder:7b --json
|
|
@@ -304,7 +305,7 @@ select the recovery provider explicitly with `ur config set provider <id>`.
|
|
|
304
305
|
provider before the URL to configure it without switching first, for example
|
|
305
306
|
`ur config set base_url llama.cpp http://localhost:9931/v1`. UR remembers each
|
|
306
307
|
provider's address independently, so switching among Ollama, LM Studio,
|
|
307
|
-
llama.cpp, vLLM, Unsloth, or another compatible endpoint restores that
|
|
308
|
+
llama.cpp, vLLM, Unsloth, NVIDIA NIM, or another compatible endpoint restores that
|
|
308
309
|
provider's last URL automatically. Existing single-URL settings are migrated
|
|
309
310
|
to the previously active provider on the first provider switch or scoped
|
|
310
311
|
base-URL write.
|
|
@@ -328,7 +329,7 @@ when `UR_OPENAI_RESPONSES_STATE_KEY` contains a 32-byte encryption key. Return
|
|
|
328
329
|
to the default with `ur config set openai_transport chat-completions`.
|
|
329
330
|
|
|
330
331
|
Provider config accepts canonical IDs and common aliases. Examples:
|
|
331
|
-
`openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `ollama`,
|
|
332
|
+
`openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `nvidia-nim` (`NVIDIA Build`), `ollama`,
|
|
332
333
|
`lmstudio`, `LM Studio`, `llama.cpp`, `vllm`, `unsloth` (`Unsloth Studio`), and the subscription CLIs
|
|
333
334
|
`codex-cli` (`chatgpt`), `claude-code-cli` (`claude`), `gemini-cli` (`gemini`),
|
|
334
335
|
and `antigravity-cli` (`agy`). Use quotes for shell values with spaces.
|
|
@@ -348,6 +349,7 @@ ur connect logout openai-api # clear a stored key
|
|
|
348
349
|
| Claude API | API key | UR-native | `ANTHROPIC_API_KEY` or `ur connect anthropic-api` |
|
|
349
350
|
| Gemini API | API key | UR-native | `GEMINI_API_KEY` or `ur connect gemini-api` |
|
|
350
351
|
| OpenRouter | API/router | UR-native | `OPENROUTER_API_KEY` or `ur connect openrouter` |
|
|
352
|
+
| NVIDIA NIM | hosted/server API | UR-native | `NVIDIA_API_KEY` or `ur connect nvidia-nim`; configurable `base_url` |
|
|
351
353
|
| Ollama | local/server | UR-native | configurable local, LAN, or hosted endpoint; optional `OLLAMA_API_KEY` |
|
|
352
354
|
| LM Studio | local/server | UR-native | configurable endpoint; optional `LMSTUDIO_API_KEY` |
|
|
353
355
|
| llama.cpp | local/server | UR-native | configurable endpoint; optional `LLAMA_CPP_API_KEY` |
|
|
@@ -370,7 +372,7 @@ In the interactive app, `/model` is a two-step, provider-first picker:
|
|
|
370
372
|
by source: `live` (discovered from the endpoint), `cache` (last discovery),
|
|
371
373
|
`static` (predefined), or `unavailable` after a failed discovery with no
|
|
372
374
|
fallback. Local/server providers (Ollama, LM Studio,
|
|
373
|
-
llama.cpp, vLLM, Unsloth) and OpenAI-compatible endpoints are discovered live; API
|
|
375
|
+
llama.cpp, vLLM, Unsloth) and OpenAI-compatible endpoints, including NVIDIA NIM, are discovered live; API
|
|
374
376
|
providers use live discovery from their `/models` endpoint once a key is
|
|
375
377
|
connected (with a curated fallback list before that). Subscription CLIs show
|
|
376
378
|
their curated model list because the official CLIs expose no models API. The
|
|
@@ -420,7 +422,7 @@ In the interactive app, `/model` is a two-step, provider-first picker:
|
|
|
420
422
|
provider's address untouched.
|
|
421
423
|
|
|
422
424
|
Model lists never cross providers: OpenAI API, Claude API, Gemini API,
|
|
423
|
-
OpenRouter, Ollama, and OpenAI-compatible local/server endpoints are separate
|
|
425
|
+
OpenRouter, NVIDIA NIM, Ollama, and OpenAI-compatible local/server endpoints are separate
|
|
424
426
|
access paths. API keys, local runtimes, and subscription logins are not
|
|
425
427
|
interchangeable. The provider/model pair is validated before it is saved and
|
|
426
428
|
again before every request; changing provider clears an incompatible model.
|
|
@@ -437,8 +439,9 @@ identity line in the system prompt reflects it too:
|
|
|
437
439
|
- **API** providers call each service in its native wire format — Anthropic
|
|
438
440
|
`x-api-key` + `anthropic-version` on `/v1/messages`, OpenAI `Bearer` on
|
|
439
441
|
`/v1/chat/completions` by default or `/v1/responses` when explicitly
|
|
440
|
-
selected, Gemini `x-goog-api-key` on `:generateContent`,
|
|
441
|
-
OpenAI-compatible chat endpoint
|
|
442
|
+
selected, Gemini `x-goog-api-key` on `:generateContent`, OpenRouter on its
|
|
443
|
+
OpenAI-compatible chat endpoint, and NVIDIA NIM on its official hosted or
|
|
444
|
+
user-selected OpenAI-compatible endpoint.
|
|
442
445
|
- **Local/server** providers call the configured endpoint (`/v1/chat/completions`
|
|
443
446
|
for LM Studio/llama.cpp/vLLM/Unsloth; the native API for Ollama). Unsloth is
|
|
444
447
|
provider-only: UR never starts, installs, updates, trains, or loads models in
|
|
@@ -454,6 +457,15 @@ identity line in the system prompt reflects it too:
|
|
|
454
457
|
subscription backend is configured, `/model` marks it unavailable and asks you
|
|
455
458
|
to choose a connected local, server, or API provider.
|
|
456
459
|
|
|
460
|
+
Image-bearing tool results use each UR-native provider's valid multimodal wire
|
|
461
|
+
shape. OpenAI Chat Completions, OpenRouter, NVIDIA NIM, LM Studio, llama.cpp,
|
|
462
|
+
vLLM, Unsloth, and generic compatible endpoints keep the tool response textual and
|
|
463
|
+
place its image in the immediately following user turn; Gemini nests the image
|
|
464
|
+
parts in its function response; OpenAI Responses, Anthropic, and Ollama use their
|
|
465
|
+
native rich-result forms. The selected model must still support vision.
|
|
466
|
+
External subscription CLIs remain text-only because their official prompt
|
|
467
|
+
interfaces do not expose a portable binary-image channel.
|
|
468
|
+
|
|
457
469
|
Ollama is used only when Ollama is selected. There is no silent cross-provider
|
|
458
470
|
fallback: if dispatch fails, UR reports the selected provider, model, and runtime
|
|
459
471
|
backend. Use `ur provider status` (or `ur provider doctor <id>`) to inspect the
|