ur-agent 1.84.5 → 1.84.7

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.
@@ -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` | Supports up to eight concrete options, infers labels from description-only option objects, accepts prompt aliases, deduplicates equivalent labels, safely repairs single-suggestion payloads with a neutral rejection choice, and is loaded without ToolSearch preloading so typed schemas are available before use. |
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
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
@@ -282,10 +282,11 @@ UNSLOTH_API_KEY=...
282
282
 
283
283
  NVIDIA NIM defaults to `https://integrate.api.nvidia.com/v1`, discovers the
284
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, UR treats the
286
- documented `/v1/models` response as authoritative and omits non-agent utility
287
- endpoints. It does not narrow hosted models using the separate NVCF deployment
288
- inventory; a configured NIM gateway uses its own model feed. Generic
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
289
290
  `openai-compatible` authentication is
290
291
  optional: `ur connect openai-compatible` or the picker's `K` key stores a
291
292
  credential when the chosen gateway needs one, without breaking anonymous
@@ -296,6 +297,12 @@ hosted choices unless the authenticated `/v1/models` endpoint returns them.
296
297
  For the hosted service, UR focuses NVIDIA's documented fastest 30B agent model,
297
298
  `nvidia/nemotron-3.5-lightning-30b-a3b`, first. Its thinking toggle maps to
298
299
  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.
299
306
 
300
307
  Unsloth is an inference-provider integration only. Start Unsloth Studio and
301
308
  load the model outside UR, connect its generated key with `ur connect unsloth`,
@@ -215,8 +215,8 @@ custom `base_url` scoped to that provider.
215
215
  - Cause: NVIDIA's hosted `/v1/models` feed can change, or a listed model's
216
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 uses NVIDIA's documented `/v1/models`
219
- endpoint and excludes non-agent utility endpoints. It does not intersect the
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
220
  catalog with the separate NVCF deployment-function inventory. A definitive
221
221
  runtime 404 removes only that model from the current endpoint-scoped session
222
222
  catalog until the next explicit refresh.
@@ -227,6 +227,22 @@ If `chat_models` fails, reconnect a current build.nvidia.com key with
227
227
  `ur connect nvidia-nim`. A configured enterprise/self-hosted NIM endpoint is
228
228
  validated only against that gateway's own `/models` response.
229
229
 
230
+ ### An NVIDIA specialized 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 come from UR's generated NVIDIA OpenAPI catalog and appear
235
+ in the `ONE-SHOT` section without relying on the chat `/v1/models` response.
236
+ Run `bun run provider:nvidia-catalog` in a source checkout to refresh the
237
+ 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.
240
+ - UR inlines small supported media and automatically uses NVIDIA's Asset API
241
+ 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.
245
+
230
246
  ### A provider says the previous answer was empty after successful tool calls
231
247
 
232
248
  Some OpenAI-compatible models scope generated tool-call IDs to one response
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
- Professional clarification prompts can provide up to eight concrete options;
60
- UR also accepts custom "Other" answers. If a model supplies only one concrete
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
 
@@ -270,15 +273,27 @@ API-key access, and an API key does not grant subscription CLI access.
270
273
  NVIDIA NIM uses the build.nvidia.com key and hosted
271
274
  `https://integrate.api.nvidia.com/v1` endpoint by default. Connect it with
272
275
  `ur connect nvidia-nim`; use `ur config set base_url nvidia-nim <url>` for a
273
- different NIM deployment. For the hosted endpoint, `/model` shows only models
274
- returned by NVIDIA's authoritative `/v1/models` feed, excluding non-agent
275
- utility endpoints such as embeddings, guards, and parsers. NVCF deployment
276
- functions are a separate API and do not narrow this hosted catalog. A custom
277
- NIM gateway retains its own independent catalog.
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.
278
282
  Download-only cards from the Build web catalog are not inserted into the
279
283
  hosted picker. NVIDIA's live `nemotron-3.5-lightning-30b-a3b` endpoint is
280
284
  focused first as its documented fastest 30B agent model; Left/Right controls
281
285
  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.
282
297
  On the `/model` model screen, `K` adds or replaces a
283
298
  provider API key and `E` edits its endpoint. This also makes optional
284
299
  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.5 (UR-Nexus)"
22
+ # expected for this release: "1.84.7 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ### 0.0 Redteam mode and Reverse Skills (1.81.0)
@@ -249,6 +249,7 @@ Run the deterministic adapter and shell coverage:
249
249
  ```sh
250
250
  bun test test/bashCommandExecution.test.ts \
251
251
  test/providerNvidiaNim.test.ts \
252
+ test/nvidiaTaskRuntime.test.ts \
252
253
  test/providerMultimodal.test.ts \
253
254
  test/openaiResponses.test.ts \
254
255
  test/ollamaToolResultImages.test.ts
@@ -261,11 +262,16 @@ NVIDIA NIM, Ollama, LM Studio, llama.cpp, vLLM, Unsloth, and generic OpenAI-comp
261
262
  request shapes.
262
263
 
263
264
  The NVIDIA fixture also verifies hosted/default and overridden endpoints,
264
- Bearer discovery from NVIDIA's authoritative `/v1/models` endpoint, removal
265
- of non-agent utility models, selected-model doctor diagnostics, redaction of
265
+ Bearer discovery from NVIDIA's live `/v1/models` endpoint, positive agent
266
+ contract intersection, selected-model doctor diagnostics, redaction of
266
267
  internal NVIDIA account/function IDs, endpoint-scoped runtime invalidation,
267
268
  native dispatch, the preferred Lightning endpoint and its model-scoped
268
- `enable_thinking` switch, documented effort aliases, and no Ultra on an unknown model. In
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
269
275
  `/model`, select `openai-compatible` and verify `K` can
270
276
  add or replace its optional key while `E` continues to edit only its endpoint.
271
277
 
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.
@@ -451,7 +455,7 @@ ur config set provider anthropic-api
451
455
  | --- | --- | --- |
452
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 |
453
457
  | OpenRouter | Live `/models` discovery with an endpoint-scoped five-minute cache; Ctrl+R forces a fresh request with no stale fallback | live/cache |
454
- | NVIDIA NIM | Hosted: authoritative live `/models`, restricted to agent/chat endpoints. Configured NIM gateway: its own live `/models` catalog | live |
458
+ | NVIDIA NIM | Hosted: live `/models` availability intersected with audited agent contracts, plus a generated official OpenAPI catalog for dedicated one-shot APIs. Configured NIM gateway: its own live `/models` catalog | live agents + official task contracts |
455
459
  | Local/server providers (ollama, lmstudio, llama.cpp, vllm, unsloth) | Dynamic discovery from the selected provider endpoint | live |
456
460
  | OpenAI-compatible | Dynamic discovery from configured endpoint | live |
457
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 |
@@ -688,11 +692,11 @@ ur provider doctor nvidia-nim
688
692
  ur config set base_url nvidia-nim https://nim-gateway.example/v1
689
693
  ```
690
694
 
691
- The default is `https://integrate.api.nvidia.com/v1`. NVIDIA documents
692
- `/v1/models` as the management endpoint for models available for inference, so
693
- UR uses that authenticated response as the live hosted catalog. It removes
694
- embedding, guard, parser, translation, reward, and similar non-agent endpoints,
695
- but does not intersect the result with NVCF's separate deployment-function
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
696
700
  inventory. A custom enterprise or self-hosted NIM remains independent and uses
697
701
  only that configured gateway's `/models` response.
698
702
 
@@ -715,11 +719,32 @@ documented Nemotron coding-agent models, UR includes NVIDIA's
715
719
  [NIM LLM API reference](https://docs.api.nvidia.com/nim/reference/llm-apis)
716
720
  and [NIM endpoint guide](https://docs.nvidia.com/nim/large-language-models/latest/tutorials.html).
717
721
 
718
- `ur provider doctor nvidia-nim` verifies the hosted catalog and selected model
719
- against the live `/v1/models` response. If NVIDIA rejects a listed model after
720
- selection, UR redacts NVIDIA's internal function/account IDs, removes that
721
- model from the current endpoint-scoped session catalog, and asks the user to
722
- select another model. `Ctrl+R` explicitly retries discovery.
722
+ NVIDIA's dedicated APIs are a separate one-shot surface. `/model` labels them
723
+ `ONE-SHOT`, shows each task's real purpose, and keeps the current agent model
724
+ when one is selected. UR generates the executable catalog from NVIDIA's
725
+ official LLM, retrieval, visual, multimodal, healthcare, route-optimization,
726
+ and climate OpenAPI indexes. The current catalog has 92 tasks and routes each
727
+ one to its documented endpoint on `integrate.api.nvidia.com`,
728
+ `ai.api.nvidia.com`, `health.api.nvidia.com`, `optimize.api.nvidia.com`, or
729
+ `climate.api.nvidia.com`.
730
+
731
+ `NvidiaNimTask` accepts convenience prompt/image/query/passages fields, or its
732
+ `describe` action exposes the exact request schema before an advanced
733
+ `payload_json` call. `file_inputs` can bind local files into that payload by
734
+ JSON pointer. UR automatically inlines small media or creates an NVIDIA Asset
735
+ UUID/reference for larger and asset-based contracts, polls documented
736
+ asynchronous responses, and saves binary or large JSON results under
737
+ `.ur/artifacts/nvidia/`. It reuses `NVIDIA_API_KEY` and returns text/path
738
+ metadata to the enclosing agent. Download-only cards, status routes,
739
+ staging-only URLs, broken references, and operations without a documented
740
+ public hosted POST endpoint never appear as usable choices.
741
+
742
+ `ur provider doctor nvidia-nim` verifies the hosted agent catalog and selected
743
+ agent model against live `/v1/models`, and reports the generated task-contract
744
+ count. Dedicated API entitlement can be verified only with that task's valid
745
+ payload. If NVIDIA rejects a listed model after selection, UR redacts internal
746
+ function/account IDs and removes only that endpoint-scoped model until
747
+ `Ctrl+R` explicitly retries discovery.
723
748
 
724
749
  Local/server providers use their normal endpoints:
725
750
 
@@ -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, live NVIDIA NIM and 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 agy', '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', '/effort ultra', '/thinking on'],
71
+ text: 'UR-native API/local/OpenAI-compatible runtimes, provider-scoped endpoints, audited NVIDIA agent discovery plus a generated official OpenAPI catalog for 92 exact one-shot AI/retrieval/health/optimization/climate contracts, 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',
@@ -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.5</p>
48
+ <p class="eyebrow">Version 1.84.7</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>
@@ -196,7 +196,7 @@ ur --model kimi-k3:cloud --effort high
196
196
  ur config set provider nvidia-nim
197
197
  ur config set base_url nvidia-nim https://integrate.api.nvidia.com/v1
198
198
  /model # K API key · E endpoint</code></pre>
199
- <p>NVIDIA NIM is a UR-native provider with live models, streaming, tools, images, configurable endpoints, and only NVIDIA-documented effort ladders. Its authenticated hosted <code>/v1/models</code> response is authoritative: UR filters utility endpoints but does not narrow the catalog through the unrelated NVCF deployment inventory, and download-only Build cards are not presented as hosted endpoints. Nemotron 3.5 Lightning is preferred when live and receives 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
+ <p>NVIDIA NIM separates ongoing agents from specialized one-shot models. Hosted agent discovery intersects live <code>/v1/models</code> inventory with audited tool-loop contracts. The separately labelled one-shot catalog is generated from NVIDIA's official public OpenAPI indexes and currently covers 92 executable AI, retrieval, health, optimization, and climate contracts. Each entry shows its purpose and routes to its exact documented endpoint with the same stored NVIDIA key; schema validation, NVIDIA Asset upload, asynchronous polling, and binary/large-JSON artifact saving are built in. Download-only, staging-only, broken, and non-executable operations stay hidden, and choosing a task never changes the ongoing agent. 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>
200
200
  </article>
201
201
  <article>
202
202
  <h3>Portable shell deadlines</h3>
@@ -7,7 +7,7 @@ plugins {
7
7
  }
8
8
 
9
9
  group = "dev.urnexus"
10
- version = "1.84.5"
10
+ version = "1.84.7"
11
11
 
12
12
  repositories {
13
13
  mavenCentral()
@@ -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",
5
+ "version": "1.84.7",
6
6
  "publisher": "ur-nexus",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.84.5",
3
+ "version": "1.84.7",
4
4
  "description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",
@@ -68,6 +68,7 @@
68
68
  "benchmark:aider-polyglot": "node scripts/benchmark-external.mjs aider-polyglot",
69
69
  "safety:matrix": "bun scripts/generate-safety-matrix.mjs",
70
70
  "provider:smoke": "bun scripts/provider-smoke.mjs",
71
+ "provider:nvidia-catalog": "node scripts/update-nvidia-hosted-catalog.mjs",
71
72
  "package:check": "node scripts/package-check.mjs",
72
73
  "prepack": "bun run build && bun run release:check"
73
74
  },