ur-agent 1.83.2 → 1.84.0
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 +42 -0
- package/README.md +22 -5
- package/dist/cli.js +383936 -382723
- package/docs/CONFIGURATION.md +7 -0
- package/docs/USAGE.md +4 -0
- package/docs/VALIDATION.md +5 -1
- package/docs/plugins.md +44 -0
- package/docs/providers.md +38 -8
- package/documentation/app.js +6 -6
- package/documentation/index.html +7 -6
- 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/CONFIGURATION.md
CHANGED
|
@@ -192,6 +192,12 @@ provider values. Ultra appears only when metadata advertises `ultra`, `max`,
|
|
|
192
192
|
exactly. Models that top out at `high`, boolean-thinking models, and unknown
|
|
193
193
|
capabilities omit Ultra. See [Reasoning effort](providers.md#reasoning-effort).
|
|
194
194
|
|
|
195
|
+
Boolean-thinking models on runtimes with a native toggle expose a two-state
|
|
196
|
+
control instead: Left selects off, Right selects on, and `t` toggles in
|
|
197
|
+
`/model`; `/thinking on|off|status` is the direct command. This updates the live
|
|
198
|
+
session and `alwaysThinkingEnabled`. Generic OpenAI-compatible transports do
|
|
199
|
+
not receive an invented boolean field.
|
|
200
|
+
|
|
195
201
|
The same provider-first picker is mandatory on the first interactive run in a
|
|
196
202
|
workspace with no model in `.ur/settings.json` or `.ur/settings.local.json`.
|
|
197
203
|
The result is validated and written to the gitignored local settings file.
|
|
@@ -719,6 +725,7 @@ Plugins can add commands, tools, and skills:
|
|
|
719
725
|
|
|
720
726
|
```sh
|
|
721
727
|
ur plugin list
|
|
728
|
+
ur plugin marketplace add npm:@scope/catalog@latest
|
|
722
729
|
ur plugin search [query] [--capability <name>] [--marketplace <name>] [--installed] [--json]
|
|
723
730
|
ur plugin show <name-or-name@marketplace> [--json]
|
|
724
731
|
ur plugin install <plugin>
|
package/docs/USAGE.md
CHANGED
|
@@ -349,6 +349,10 @@ UR includes slash commands and CLI subcommands for common workflows:
|
|
|
349
349
|
`ur plugin search [query]` for ranked cross-catalog discovery and
|
|
350
350
|
`ur plugin show <name@marketplace>` to inspect provenance and capabilities
|
|
351
351
|
before installation.
|
|
352
|
+
Add an npm-hosted catalog with
|
|
353
|
+
`ur plugin marketplace add npm:@scope/catalog@latest`; npm sources respect
|
|
354
|
+
the user's registry/authentication configuration and are refreshed with the
|
|
355
|
+
normal marketplace update command.
|
|
352
356
|
- `ur agents` to list configured agents
|
|
353
357
|
- `ur agent-trends` to inspect coverage for current agent technology trends
|
|
354
358
|
- `ur a2a card` to print legacy Agent Card metadata, or
|
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.84.0 (UR-Nexus)"
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
### 0.0 Redteam mode and Reverse Skills (1.81.0)
|
|
@@ -82,6 +82,10 @@ between models that top out at high, xhigh, max, and native-ultra models; the le
|
|
|
82
82
|
selected ceiling must update immediately. Models that top out at high must omit Ultra, while
|
|
83
83
|
xhigh/max entries must show `ultra→xhigh` or `ultra→max`, and the
|
|
84
84
|
confirmation must match `/effort status` and the request wire value. For
|
|
85
|
+
an Ollama model that advertises boolean thinking without a ladder, verify that
|
|
86
|
+
Left selects off, Right selects on, `t` toggles, and `/effort max` reports that
|
|
87
|
+
max was not sent while enabling `think: true`; `/thinking off` must produce
|
|
88
|
+
`think: false`. For
|
|
85
89
|
llama.cpp, verify focus requests
|
|
86
90
|
`/props?model=<focused-id>` and that a template reporting
|
|
87
91
|
`supports_reasoning_effort: false` has no graded selector. Open the OpenAI API or Claude
|
package/docs/plugins.md
CHANGED
|
@@ -51,6 +51,50 @@ ur --plugin-dir ./plugins/community/my-plugin
|
|
|
51
51
|
Plugins are loaded from local UR-Nexus paths first. Network marketplace installs
|
|
52
52
|
remain explicit user actions and are subject to plugin policy checks.
|
|
53
53
|
|
|
54
|
+
## Marketplace sources
|
|
55
|
+
|
|
56
|
+
UR accepts GitHub shorthand, Git URLs, direct marketplace JSON URLs, npm
|
|
57
|
+
packages, local files/directories, and inline settings manifests. Add an npm
|
|
58
|
+
marketplace with the explicit `npm:` prefix:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
ur plugin marketplace add npm:acme-ur-marketplace
|
|
62
|
+
ur plugin marketplace add npm:@acme/ur-marketplace@latest
|
|
63
|
+
ur plugin marketplace add npm:@acme/ur-marketplace@^2.0.0
|
|
64
|
+
ur plugin marketplace update <marketplace-name>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
The package must ship `.ur-plugin/marketplace.json`. An omitted version follows
|
|
68
|
+
the registry's `latest` dist-tag; a version, semver range, or another dist-tag
|
|
69
|
+
can be supplied after the package name, using npm's
|
|
70
|
+
[package-spec syntax](https://docs.npmjs.com/cli/v11/using-npm/package-spec/).
|
|
71
|
+
Refreshing the marketplace re-resolves
|
|
72
|
+
that selector. UR uses the installed npm client, so standard `.npmrc`
|
|
73
|
+
authentication, scoped registries, proxies, and registry settings continue to
|
|
74
|
+
work. Package lifecycle scripts are disabled during marketplace download, and
|
|
75
|
+
only the requested package—not its staging dependency tree—is retained.
|
|
76
|
+
|
|
77
|
+
For a private registry selected in project or user settings:
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"extraKnownMarketplaces": {
|
|
82
|
+
"acme": {
|
|
83
|
+
"source": {
|
|
84
|
+
"source": "npm",
|
|
85
|
+
"package": "@acme/ur-marketplace",
|
|
86
|
+
"version": "^2.0.0",
|
|
87
|
+
"registry": "https://registry.example.com"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
After an install, removal, or external registry-file change,
|
|
95
|
+
`/reload-plugins` clears both plugin discovery caches and the installed-plugin
|
|
96
|
+
snapshot before reloading.
|
|
97
|
+
|
|
54
98
|
## Manifest reference
|
|
55
99
|
|
|
56
100
|
A plugin is a directory containing `.ur-plugin/plugin.json`. UR uses a
|
package/docs/providers.md
CHANGED
|
@@ -182,8 +182,14 @@ For OpenRouter, UR preserves the live `/models` reasoning metadata and sends
|
|
|
182
182
|
the unified `reasoning.effort` request. OpenAI-compatible servers receive the
|
|
183
183
|
resolved value as `reasoning_effort`. The command confirmation, status
|
|
184
184
|
indicator, active-work spinner, SDK settings response, and provider request all
|
|
185
|
-
use the same resolved value. If a provider advertises only boolean thinking
|
|
186
|
-
UR does not invent a graded effort
|
|
185
|
+
use the same resolved value. If a provider advertises only boolean thinking and
|
|
186
|
+
its runtime has a real native on/off mapping, UR does not invent a graded effort
|
|
187
|
+
selector. Use `/thinking on|off` directly;
|
|
188
|
+
in `/model`, Left selects off, Right selects on, and `t` toggles. A graded
|
|
189
|
+
`/effort` request on that model enables boolean thinking while clearly reporting
|
|
190
|
+
that the requested level was not sent.
|
|
191
|
+
Generic OpenAI-compatible endpoints have no universal boolean thinking field,
|
|
192
|
+
so metadata alone does not make this toggle appear and UR sends no invented parameter.
|
|
187
193
|
`ultra` is UR's visible beyond-high ceiling selector. It is selectable only
|
|
188
194
|
when the provider/model advertises `ultra`, `max`, `xhigh`, or an explicit
|
|
189
195
|
provider-authored equivalent. UR shows the native mapping (for example,
|
|
@@ -192,11 +198,21 @@ whose graded ladder tops out at `high`, boolean thinking, or unknown capability
|
|
|
192
198
|
labels such as `deep` still require an explicit provider alias because UR
|
|
193
199
|
cannot infer their rank.
|
|
194
200
|
|
|
201
|
+
For an unknown or newly released model, UR waits for provider-authored model
|
|
202
|
+
metadata or a supported model-scoped probe before adding thinking parameters.
|
|
203
|
+
If the provider does not establish support, thinking stays off for request
|
|
204
|
+
shaping; UR does not optimistically send an unknown parameter and treat an API
|
|
205
|
+
error as capability discovery. Boolean thinking metadata enables the thinking
|
|
206
|
+
toggle only and never invents a graded effort ladder. On OpenRouter, UR sends
|
|
207
|
+
the provider-default `reasoning.enabled` control, or the exact token budget when
|
|
208
|
+
the model advertises `supports_max_tokens`.
|
|
209
|
+
|
|
195
210
|
For Ollama, UR lazily reads the focused model's `/api/show` capabilities and
|
|
196
|
-
sends the
|
|
197
|
-
|
|
198
|
-
`low|medium|high` and does not expose Ultra
|
|
199
|
-
|
|
211
|
+
sends the resolved control through native `think`. A generic `thinking`
|
|
212
|
+
capability means boolean thinking only. GPT-OSS uses Ollama's documented
|
|
213
|
+
`low|medium|high` ladder and does not expose Ultra. Other graded ladders and
|
|
214
|
+
Ultra aliases are used only when the endpoint explicitly returns them in model
|
|
215
|
+
reasoning metadata. Direct OpenAI,
|
|
200
216
|
Anthropic, and Gemini models use curated model-specific ladders from their
|
|
201
217
|
official documentation; live discovery rows are merged with those contracts.
|
|
202
218
|
See [Ollama thinking](https://docs.ollama.com/capabilities/thinking),
|
|
@@ -205,8 +221,10 @@ See [Ollama thinking](https://docs.ollama.com/capabilities/thinking),
|
|
|
205
221
|
and [Gemini thinking](https://ai.google.dev/gemini-api/docs/thinking).
|
|
206
222
|
|
|
207
223
|
The provider-first `/model` picker supports the same control directly: use
|
|
208
|
-
Left/Right to move through the capability-backed selectors UR can map to
|
|
209
|
-
|
|
224
|
+
Left/Right to move through the capability-backed selectors UR can map to a
|
|
225
|
+
graded model's native levels, or to choose off/on for a boolean-thinking model
|
|
226
|
+
when its runtime has a native two-state mapping, then Enter to apply the model
|
|
227
|
+
and reasoning control together. OpenRouter's live catalog
|
|
210
228
|
shows pricing tier, context size, tool capability, reasoning capability, and
|
|
211
229
|
the full, untruncated model ID immediately below the focused entry. Opening the
|
|
212
230
|
OpenRouter catalog reuses its endpoint-scoped five-minute cache; Ctrl+R forces
|
|
@@ -218,6 +236,18 @@ provider prompt-cache markers. Explicit routing preferences and the `:nitro`,
|
|
|
218
236
|
OpenAI, Claude, Gemini, and OpenRouter is a single aligned masked row; the key
|
|
219
237
|
is stored in the OS keychain flow and is never written to settings.
|
|
220
238
|
|
|
239
|
+
### Token counting
|
|
240
|
+
|
|
241
|
+
UR uses each provider's non-generating count endpoint when one covers the full
|
|
242
|
+
request: OpenAI Responses input tokens, Anthropic Messages token counting,
|
|
243
|
+
Gemini `countTokens`, llama.cpp chat input tokens, and vLLM Messages token
|
|
244
|
+
counting. Ollama, OpenRouter, LM Studio, Unsloth, and subscription CLIs use a
|
|
245
|
+
provider-wire local estimate because those runtimes do not share a dependable
|
|
246
|
+
preflight tokenizer for complete chat history plus tools. UR never launches a
|
|
247
|
+
hidden completion for token counting. If a native count call is unavailable,
|
|
248
|
+
file and MCP size checks retain the local estimate rather than disabling their
|
|
249
|
+
limits.
|
|
250
|
+
|
|
221
251
|
For llama.cpp, `/v1/models` metadata is preserved when the server supplies it.
|
|
222
252
|
Because stock llama.cpp exposes chat-template effort support per loaded model,
|
|
223
253
|
UR also resolves the model currently under the Up/Down cursor through
|
package/documentation/app.js
CHANGED
|
@@ -69,7 +69,7 @@ const featureGroups = [
|
|
|
69
69
|
title: 'Providers and auth',
|
|
70
70
|
tags: ['subscription', 'API', 'local', 'effort', 'status bar'],
|
|
71
71
|
text: 'UR-native API/local/OpenAI-compatible runtimes, provider-scoped endpoints, provider-only Unsloth inference, 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 openai-api', 'ur config set provider ollama', 'ur config set base_url llama.cpp http://localhost:9931/v1', '/effort ultra'],
|
|
72
|
+
commands: ['ur provider list', 'ur provider status', 'ur provider doctor agy', 'ur connect status', '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'],
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
title: 'Security and operations',
|
|
@@ -85,7 +85,7 @@ const commands = [
|
|
|
85
85
|
category: 'Core',
|
|
86
86
|
aliases: [],
|
|
87
87
|
summary: 'Start an interactive session; a fresh workspace must choose and locally persist a validated provider/model pair first.',
|
|
88
|
-
examples: ['ur', 'ur --model
|
|
88
|
+
examples: ['ur', 'ur --model gpt-5.6-sol --effort ultra', 'ur --continue', 'ur --resume'],
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
name: 'ur -p',
|
|
@@ -378,8 +378,8 @@ const commands = [
|
|
|
378
378
|
name: 'plugin',
|
|
379
379
|
category: 'Interop',
|
|
380
380
|
aliases: ['plugins'],
|
|
381
|
-
summary: 'Manage UR plugins and marketplaces for MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, output styles, and commands.',
|
|
382
|
-
examples: ['ur plugin search git', 'ur plugin search --capability skills --json', 'ur plugin show github@ur-plugins-official', 'ur plugin list', 'ur plugin install hello@ur-plugins-official', 'ur plugin update <plugin>'],
|
|
381
|
+
summary: 'Manage UR plugins and GitHub, Git, URL, npm, local, or settings-backed marketplaces for MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, output styles, and commands.',
|
|
382
|
+
examples: ['ur plugin marketplace add npm:@scope/catalog@latest', 'ur plugin search git', 'ur plugin search --capability skills --json', 'ur plugin show github@ur-plugins-official', 'ur plugin list', 'ur plugin install hello@ur-plugins-official', 'ur plugin update <plugin>'],
|
|
383
383
|
},
|
|
384
384
|
{
|
|
385
385
|
name: 'provider',
|
|
@@ -547,8 +547,8 @@ const slashGroups = [
|
|
|
547
547
|
},
|
|
548
548
|
{
|
|
549
549
|
title: 'Models, tools, and interop',
|
|
550
|
-
items: ['/model', '/provider', '/effort', '/fast', '/model-doctor', '/model-route', '/escalate', '/mcp', '/plugin', '/skills', '/skill', '/sdk', '/a2a-card'],
|
|
551
|
-
text: 'Pick providers and models, cycle only capability-backed effort selectors
|
|
550
|
+
items: ['/model', '/provider', '/effort', '/thinking', '/fast', '/model-doctor', '/model-route', '/escalate', '/mcp', '/plugin', '/skills', '/skill', '/sdk', '/a2a-card'],
|
|
551
|
+
text: 'Pick providers and models, cycle only capability-backed effort selectors or provider-native boolean thinking, inspect capabilities, manage MCP/plugin extensions, browse prompt skills with /skills, run executable workflows with /skill, and expose interop surfaces.',
|
|
552
552
|
},
|
|
553
553
|
{
|
|
554
554
|
title: 'Security 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.
|
|
48
|
+
<p class="eyebrow">Version 1.84.0</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>
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
</article>
|
|
77
77
|
<article>
|
|
78
78
|
<strong>Plugin marketplace</strong>
|
|
79
|
-
<span>
|
|
79
|
+
<span>GitHub, Git, URL, npm, local, and settings-backed catalogs can add MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, and output styles.</span>
|
|
80
80
|
</article>
|
|
81
81
|
<article>
|
|
82
82
|
<strong>Legal provider routing</strong>
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
</article>
|
|
101
101
|
<article>
|
|
102
102
|
<strong>Deterministic commands</strong>
|
|
103
|
-
<span>The external runtime exposes
|
|
103
|
+
<span>The external runtime exposes a source-derived command catalog; registry tests reject ambiguous names, broken loaders, undocumented visible aliases, and documented commands without implementations.</span>
|
|
104
104
|
</article>
|
|
105
105
|
<article>
|
|
106
106
|
<strong>Safety and context</strong>
|
|
@@ -177,9 +177,10 @@ ur config set responses.store false</code></pre>
|
|
|
177
177
|
<article>
|
|
178
178
|
<h3>Capability-driven reasoning effort</h3>
|
|
179
179
|
<pre><code>/effort ultra
|
|
180
|
+
/thinking on
|
|
180
181
|
ur --model kimi-k3:cloud --effort high
|
|
181
|
-
/model # Up/Down model · Left/Right effort · Enter apply</code></pre>
|
|
182
|
-
<p>The normalized vocabulary is <code>minimal</code>, <code>low</code>, <code>medium</code>, <code>high</code>, <code>xhigh</code>, <code>max</code>, and <code>ultra</code>; <code>/effort auto</code> clears an explicit choice. UR lists only capability-backed selectors it can map to the focused model's provider-native levels. <code>max</code> resolves to the highest supported non-Ultra tier. Ultra appears only for native <code>ultra</code>, advertised <code>max</code>/<code>xhigh</code>, or an explicit provider alias; the picker shows translations such as <code>ultra→max</code> and sends that exact provider value. Models that top out at <code>high</code>, boolean-thinking models, and unknown capabilities do not get Ultra.</p>
|
|
182
|
+
/model # Up/Down model · Left/Right effort or boolean thinking · Enter apply</code></pre>
|
|
183
|
+
<p>The normalized vocabulary is <code>minimal</code>, <code>low</code>, <code>medium</code>, <code>high</code>, <code>xhigh</code>, <code>max</code>, and <code>ultra</code>; <code>/effort auto</code> clears an explicit choice. UR lists only capability-backed selectors it can map to the focused model's provider-native levels. <code>max</code> resolves to the highest supported non-Ultra tier. Ultra appears only for native <code>ultra</code>, advertised <code>max</code>/<code>xhigh</code>, or an explicit provider alias; the picker shows translations such as <code>ultra→max</code> and sends that exact provider value. Models that top out at <code>high</code>, boolean-thinking models, and unknown capabilities do not get Ultra. For boolean-thinking models on runtimes with a native toggle, Left selects off, Right selects on, and <code>t</code> toggles; <code>/thinking on|off</code> is the direct control. A graded <code>/effort</code> request on such a model enables thinking while reporting that no graded value was sent. Generic OpenAI-compatible runtimes receive no invented boolean field.</p>
|
|
183
184
|
</article>
|
|
184
185
|
<article>
|
|
185
186
|
<h3>OpenRouter responsive routing</h3>
|
|
@@ -189,7 +190,7 @@ ur --model kimi-k3:cloud --effort high
|
|
|
189
190
|
</article>
|
|
190
191
|
<article>
|
|
191
192
|
<h3>Status bar and updates</h3>
|
|
192
|
-
<pre><code>Ollama | llama3 | ask | main | update
|
|
193
|
+
<pre><code>Ollama | llama3 | ask | main | update available</code></pre>
|
|
193
194
|
<p>The interactive status bar shows only important runtime state: provider, model, mode, branch, active tasks, checks status when known, and update availability. It is hidden in CI, dumb terminals, and print mode.</p>
|
|
194
195
|
</article>
|
|
195
196
|
<article>
|
|
@@ -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.
|
|
5
|
+
"version": "1.84.0",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED