ur-agent 1.83.1 → 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 CHANGED
@@ -1,5 +1,62 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.84.0
4
+
5
+ - Added production npm marketplace sources with scoped-package and version
6
+ selectors, custom registries, isolated installation, atomic cache promotion
7
+ and rollback, actionable failures, and complete installed-plugin cache
8
+ invalidation. Public and technical plugin documentation now describes the
9
+ same executable contract.
10
+ - Made input-token accounting provider-aware. OpenAI Responses, Anthropic,
11
+ Gemini, llama.cpp, and vLLM use native non-generating count paths where
12
+ available; Ollama, OpenRouter, LM Studio, Unsloth, and compatible endpoints
13
+ use request-shaped local estimation without reusing another provider's
14
+ fixture or carrying unreachable Bedrock/Vertex branches.
15
+ - Corrected reasoning controls across dynamic providers. Ollama capability
16
+ discovery now treats ordinary thinking models as native boolean `think`
17
+ models and sends strings only for explicitly advertised graded ladders or
18
+ aliases. Added `/thinking on|off|toggle|status`; boolean-capable model pickers
19
+ use Left for off and Right for on only when the runtime has a real two-state
20
+ transport. `/effort` never claims a fabricated level, and Ultra remains
21
+ limited to an explicit provider-advertised beyond-high value. OpenRouter
22
+ provider selection now reuses its endpoint-scoped live catalogue instead of
23
+ forcing a slow refresh each time.
24
+ - Replaced incomplete runtime scaffolding with working implementations: a
25
+ validated tmux-backed Tungsten tool and live monitor; a buildable KAIROS
26
+ assistant/proactive runtime with transcript persistence, dream lifecycle,
27
+ scheduling, and communication tools; complete tool output/permission
28
+ contracts; and a non-React MCP desired-state controller that handles
29
+ reconnect, authentication, partial failure, and late-connection races.
30
+ - Completed the keybinding and SDK migrations. Shortcut labels now come from
31
+ the typed registry with correct last-write and Alt/Meta behavior, feature
32
+ gates hide unavailable bindings, remote tools receive a full fallback
33
+ contract, and SDK initialization emits canonical `Agent` names while
34
+ retaining compatibility only at the input boundary.
35
+ - Fixed production-shell and test-isolation defects: `getCwd` is always bound,
36
+ spawned zsh sessions pass unmatched globs through instead of aborting,
37
+ missing grep/rg targets become precise model-facing recovery guidance, and
38
+ secondary-model tests no longer inherit cached live provider settings.
39
+ - Synchronized the slash-command reference from the shipped registry, separated
40
+ commands from bundled skills and feature-gated internals, expanded KAIROS and
41
+ provider technical coverage, ignored only runtime-owned `.ur/` state, and
42
+ added pre-build version consistency enforcement across npm, documentation,
43
+ IDE extensions, source fallbacks, and the generated CLI.
44
+
45
+ ## 1.83.2
46
+
47
+ - Synchronized the public guides, static documentation site, examples, and
48
+ source-derived technical specifications with the shipped capability-backed
49
+ effort contract. The docs now cover the complete selector ladder, `/effort`
50
+ and `--effort`, Left/Right model-picker control, provider-neutral `max`, and
51
+ exact Ultra mappings such as `ultra→max`, while clearly excluding models that
52
+ top out at `high`, Boolean-thinking models, and unknown capabilities.
53
+ - Corrected adjacent provider documentation: provider-scoped `base_url`
54
+ persistence, Unsloth's provider-only inference boundary, LM Studio's enabled
55
+ status, and OpenRouter's five-minute endpoint cache and latency-oriented
56
+ request routing. Added regression coverage to keep public and technical
57
+ effort documentation synchronized. This release changes documentation and
58
+ source comments only; runtime behavior remains the 1.83.1 contract.
59
+
3
60
  ## 1.83.1
4
61
 
5
62
  - Made Ultra a capability-driven, visible ceiling selector without inventing a
package/README.md CHANGED
@@ -263,7 +263,8 @@ not fall back to Ollama unless `ollama` is the selected provider.
263
263
  ### Legal Provider Auth
264
264
 
265
265
  UR-Nexus stores only safe provider preferences: provider name, model name,
266
- base URL, fallback preference, and non-secret settings. API keys must stay in
266
+ base URL, fallback preference, and non-secret settings. API keys stay out of
267
+ plaintext settings and are read from the OS keychain after `ur connect` or from
267
268
  environment variables. API, local, and OpenAI-compatible server providers are
268
269
  UR-native runtimes and behave like Ollama: UR owns the conversation loop, tool
269
270
  loop, errors, and output.
@@ -290,7 +291,7 @@ ur config set provider openrouter
290
291
  ur config set provider unsloth
291
292
  ur config set model qwen2.5-coder:7b
292
293
  ur provider select-model ollama qwen2.5-coder:7b --json
293
- ur config set base_url http://localhost:11434
294
+ ur config set base_url ollama http://localhost:11434
294
295
  ur config set base_url llama.cpp http://localhost:9931/v1
295
296
  ur config set provider.fallback ollama
296
297
  ```
@@ -305,7 +306,8 @@ provider before the URL to configure it without switching first, for example
305
306
  provider's address independently, so switching among Ollama, LM Studio,
306
307
  llama.cpp, vLLM, Unsloth, or another compatible endpoint restores that
307
308
  provider's last URL automatically. Existing single-URL settings are migrated
308
- to the previously active provider on the first switch.
309
+ to the previously active provider on the first provider switch or scoped
310
+ base-URL write.
309
311
 
310
312
  OpenAI API traffic uses Chat Completions by default. The Responses transport is
311
313
  an explicit, provider-scoped opt-in with privacy-conscious defaults:
@@ -374,19 +376,28 @@ In the interactive app, `/model` is a two-step, provider-first picker:
374
376
  their curated model list because the official CLIs expose no models API. The
375
377
  generic `subscription` entry is an internal placeholder hidden from listings.
376
378
 
377
- In the model catalog, use **Up/Down** to browse. The effort row updates to
378
- the focused model's exact provider-advertised levels; use **Left/Right** to
379
- cycle only those levels before pressing Enter. `ultra` is UR's visible
379
+ In the model catalog, use **Up/Down** to browse. For graded models, the effort row updates to
380
+ the focused model's capability-backed selectors; use **Left/Right** to cycle
381
+ only values UR can map to provider-native levels before pressing Enter. For
382
+ boolean-thinking models on runtimes with a native two-state mapping (currently
383
+ Ollama and direct Anthropic), Left selects off, Right selects on, and `t`
384
+ toggles. The same state is available directly through `/thinking on|off`.
385
+ Generic OpenAI-compatible runtimes never receive an invented boolean field.
386
+ `ultra` is UR's visible
380
387
  beyond-high ceiling selector. It appears only when the provider/model
381
388
  advertises `ultra`, `max`, `xhigh`, or an explicit equivalent, and the row
382
- shows the exact mapping (for example, `ultra→max`). High-only and
383
- boolean-thinking models do not get Ultra. A generic `max` request is
384
- resolved visibly to that model's actual `max`, `xhigh`, or `high` ceiling,
385
- and the resolved value is the value sent to the provider. llama.cpp models
389
+ shows the exact mapping (for example, `ultra→max`). Models whose graded
390
+ ladder tops out at `high`, plus boolean-thinking models, do not get Ultra. A generic
391
+ `max` request resolves visibly to that model's highest supported non-Ultra tier
392
+ (commonly `max`, `xhigh`, or `high`), and that resolved value is sent to the provider. llama.cpp models
386
393
  are checked lazily through their model-scoped `/props` capability while the
387
- cursor moves. Ollama models are checked through `/api/show`; Kimi K3 exposes
388
- `low`, `high`, and `max`, and the chosen level is sent through Ollama's
389
- native `think` field; Ultra maps to Kimi's advertised `max`. OpenRouter additionally
394
+ cursor moves. Ollama models are checked through `/api/show`; its `thinking`
395
+ capability enables boolean thinking without inventing a graded ladder.
396
+ If `/effort max` or another graded request is used for a boolean-only model,
397
+ UR enables thinking but reports that no graded level was sent.
398
+ GPT-OSS uses its documented `low|medium|high` values, while any other graded
399
+ values or Ultra aliases must be explicitly present in provider metadata.
400
+ The resolved value is sent through Ollama's native `think` field. OpenRouter additionally
390
401
  shows compact model names, FREE/PAID tier, context size, tool/reasoning
391
402
  support, and the full untruncated ID immediately below the focused entry.
392
403
  Its endpoint-scoped catalog is reused for five minutes; Ctrl+R forces an
@@ -613,6 +624,7 @@ validator, and Markdown language-adapter metadata.
613
624
 
614
625
  ```sh
615
626
  ur plugin list
627
+ ur plugin marketplace add npm:@acme/ur-marketplace@latest
616
628
  ur plugin search git
617
629
  ur plugin search --capability skills --json
618
630
  ur plugin show github@ur-plugins-official
@@ -634,6 +646,13 @@ installed, project, and bundled plugin manifest and reports its declared
634
646
  components and capability surface, so you can review what a plugin touches
635
647
  before enabling it.
636
648
 
649
+ Marketplace catalogs can come from GitHub/Git, direct URLs, npm packages,
650
+ local files/directories, or inline settings. npm sources use
651
+ `npm:<package>[@<version-range-or-dist-tag>]`, respect the user's npm registry
652
+ and authentication configuration, and must ship `.ur-plugin/marketplace.json`.
653
+ See the [Plugin Guide](docs/plugins.md) for private-registry configuration and
654
+ refresh behavior.
655
+
637
656
  The npm package includes `README.md`, `QUALITY.md`, `docs/`, `documentation/`,
638
657
  and `plugins/`, so the npm package page and installed artifact both carry the
639
658
  marketplace documentation, core plugins, community staging directory, and