ur-agent 1.28.1 → 1.30.1
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 +47 -0
- package/README.md +79 -11
- package/dist/cli.js +1755 -1029
- package/docs/ACP.md +85 -0
- package/docs/IDE.md +77 -0
- package/docs/USAGE.md +1 -1
- package/docs/plugins.md +77 -0
- package/docs/providers.md +5 -1
- package/documentation/index.html +2 -2
- package/extensions/vscode-ur-inline-diffs/extension.js +87 -0
- package/extensions/vscode-ur-inline-diffs/package.json +34 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.30.1
|
|
4
|
+
|
|
5
|
+
- Fix Codex CLI runtime dispatch by ignoring stdin when UR already passes the
|
|
6
|
+
prompt as a command argument. This prevents `codex exec` from treating UR's
|
|
7
|
+
closed pipe as extra stdin and exiting after `Reading additional input from
|
|
8
|
+
stdin...`.
|
|
9
|
+
|
|
10
|
+
## 1.30.0
|
|
11
|
+
|
|
12
|
+
- IDE integration commands: `ur ide status`, `ur ide doctor`, and `ur ide config
|
|
13
|
+
<editor>` for VS Code, Cursor, Windsurf, Zed, JetBrains, Neovim, and generic
|
|
14
|
+
ACP clients. Status shows workspace, ACP server, provider/model, plugin count,
|
|
15
|
+
and warnings; config generation states each editor's integration mechanism
|
|
16
|
+
honestly (native extension, stdio ACP, or manual).
|
|
17
|
+
- ACP server completion: `initialize` now advertises capabilities and the
|
|
18
|
+
workspace root; added `session/new`, `session/prompt`, and `session/cancel`;
|
|
19
|
+
`shutdown` actually stops the server; added `--debug` request logging.
|
|
20
|
+
- New stdio Agent Client Protocol agent (`ur acp stdio`) so Zed and ACP-capable
|
|
21
|
+
Neovim clients can launch UR natively, with `session/update` streaming.
|
|
22
|
+
- `ur plugin doctor` validates installed, project, and bundled plugin manifests
|
|
23
|
+
and reports declared components and the capability surface; a broken plugin is
|
|
24
|
+
reported without crashing the scan.
|
|
25
|
+
- VS Code Inline Diffs extension: explicit Apply (confirmed `git apply`) and
|
|
26
|
+
Reject actions plus a status command; no silent writes.
|
|
27
|
+
- New docs: `docs/IDE.md`, `docs/ACP.md`, expanded `docs/plugins.md` (manifest
|
|
28
|
+
reference, doctor, hooks, permissions, troubleshooting), and README quickstarts.
|
|
29
|
+
|
|
30
|
+
## 1.29.1
|
|
31
|
+
|
|
32
|
+
- Replace fabricated Claude Code and Gemini CLI static model names with
|
|
33
|
+
provider-scoped CLI model aliases/names that the official CLIs can receive.
|
|
34
|
+
- Reject stale subscription CLI selections such as `claude-code/sonnet-5` before
|
|
35
|
+
runtime dispatch instead of forwarding `sonnet-5` to Claude Code.
|
|
36
|
+
- Summarize subscription CLI model/account failures with provider, model,
|
|
37
|
+
suggested action, and an explicit no-cross-provider-fallback note.
|
|
38
|
+
|
|
39
|
+
## 1.29.0
|
|
40
|
+
|
|
41
|
+
- Customer release consolidating the multi-provider selection and runtime
|
|
42
|
+
dispatch work (1.27.5–1.28.1) into a single production line.
|
|
43
|
+
- System-prompt identity now reflects the selected provider and runtime backend
|
|
44
|
+
(e.g. "running through the Codex CLI provider"), so the assistant's self-report
|
|
45
|
+
matches the `/model` choice instead of a generic default.
|
|
46
|
+
- Refresh documentation to cover the full provider/model feature set: provider-
|
|
47
|
+
first `/model` flow, provider-scoped discovery, real subscription CLI dispatch,
|
|
48
|
+
native API wire formats, runtime backends, and troubleshooting.
|
|
49
|
+
|
|
3
50
|
## 1.28.1
|
|
4
51
|
|
|
5
52
|
- Keep the status bar synchronized with in-session provider/model changes from
|
package/README.md
CHANGED
|
@@ -194,13 +194,48 @@ Use quotes for shell values with spaces.
|
|
|
194
194
|
| llama.cpp | local/server | local OpenAI-compatible server |
|
|
195
195
|
| vLLM | local/server | OpenAI-compatible server |
|
|
196
196
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
197
|
+
#### Provider-first model selection
|
|
198
|
+
|
|
199
|
+
In the interactive app, `/model` is a two-step, provider-first picker:
|
|
200
|
+
|
|
201
|
+
1. **Choose a provider.** Every provider is listed with its display name,
|
|
202
|
+
internal ID, access type (`subscription`, `api`, `local`, `server`),
|
|
203
|
+
credential type, and a live connection status (`connected`, `missing`,
|
|
204
|
+
`unavailable`, `unknown`).
|
|
205
|
+
2. **Choose a model.** Only the selected provider's models are shown, labelled
|
|
206
|
+
by source: `live` (discovered from the endpoint), `cache` (last discovery),
|
|
207
|
+
or `static` (predefined). Local/server providers (Ollama, LM Studio,
|
|
208
|
+
llama.cpp, vLLM) and OpenAI-compatible endpoints are discovered live; API and
|
|
209
|
+
subscription providers use their curated model list.
|
|
210
|
+
|
|
211
|
+
Model lists never cross providers: OpenAI API vs Codex CLI, Claude API vs Claude
|
|
212
|
+
Code, and Gemini API vs Gemini CLI are separate access paths, and subscription
|
|
213
|
+
logins and API keys are not interchangeable. The provider/model pair is
|
|
214
|
+
validated before it is saved and again before every request; changing provider
|
|
215
|
+
clears an incompatible model. `ur config set provider X` warns and clears an
|
|
216
|
+
incompatible model, and `ur config set model Y` is validated against the active
|
|
217
|
+
provider. The confirmation shows the selected provider, model, model source, and
|
|
218
|
+
the runtime backend that will receive the next request.
|
|
219
|
+
|
|
220
|
+
#### Runtime dispatch
|
|
221
|
+
|
|
222
|
+
The selected provider/model drives every agent request — the assistant's own
|
|
223
|
+
identity line in the system prompt reflects it too:
|
|
224
|
+
|
|
225
|
+
- **Subscription** providers spawn the official CLI (`codex`, `claude`,
|
|
226
|
+
`gemini`, `agy`) in non-interactive mode with the scoped model and prompt; a
|
|
227
|
+
non-zero exit or empty output fails clearly (never placeholder text).
|
|
228
|
+
- **API** providers call each service in its native wire format — Anthropic
|
|
229
|
+
`x-api-key` + `anthropic-version` on `/v1/messages`, OpenAI `Bearer` on
|
|
230
|
+
`/v1/chat/completions`, Gemini `x-goog-api-key` on `:generateContent`,
|
|
231
|
+
OpenRouter on its OpenAI-compatible chat endpoint.
|
|
232
|
+
- **Local/server** providers call the configured endpoint (`/v1/chat/completions`
|
|
233
|
+
for LM Studio/llama.cpp/vLLM; the native API for Ollama).
|
|
234
|
+
|
|
235
|
+
Ollama is used only when Ollama is selected. There is no silent cross-provider
|
|
236
|
+
fallback: if dispatch fails, UR reports the selected provider, model, and runtime
|
|
237
|
+
backend. Use `ur provider status` (or `ur provider doctor <id>`) to inspect the
|
|
238
|
+
active provider, model, access type, and backend.
|
|
204
239
|
|
|
205
240
|
Security policy: UR-AGENT never scrapes browser sessions, extracts OAuth
|
|
206
241
|
tokens, bypasses subscription/quota/region/organization restrictions, proxies a
|
|
@@ -269,11 +304,13 @@ viewer mode.
|
|
|
269
304
|
Example:
|
|
270
305
|
|
|
271
306
|
```text
|
|
272
|
-
UR-AGENT v1.
|
|
307
|
+
UR-AGENT v1.30.1 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle
|
|
273
308
|
```
|
|
274
309
|
|
|
275
|
-
|
|
276
|
-
|
|
310
|
+
The bar reflects the active in-session provider/model immediately after a
|
|
311
|
+
`/model`, `/model <model>`, or `/provider` change — it does not wait for
|
|
312
|
+
persisted settings to reload. If a custom status-line hook is configured,
|
|
313
|
+
UR-AGENT uses that hook output instead of the built-in bar.
|
|
277
314
|
|
|
278
315
|
### IDE Integration
|
|
279
316
|
|
|
@@ -290,7 +327,31 @@ ur ide diff show <id>
|
|
|
290
327
|
```
|
|
291
328
|
|
|
292
329
|
The extension is local-only. It reads and writes diff metadata inside the
|
|
293
|
-
current workspace and does not call model providers or network services.
|
|
330
|
+
current workspace and does not call model providers or network services. In the
|
|
331
|
+
UR Inline Diffs view you can preview a bundle, **Apply** it (a confirmed
|
|
332
|
+
`git apply`, never a silent write), **Reject** it, or run **UR: Show Status**.
|
|
333
|
+
|
|
334
|
+
Inspect and configure integration per editor:
|
|
335
|
+
|
|
336
|
+
```sh
|
|
337
|
+
ur ide status # workspace, ACP server, provider/model, plugin count
|
|
338
|
+
ur ide doctor # pass/warn/fail checks; reports missing config clearly
|
|
339
|
+
ur ide config zed # print the .zed/settings.json ACP block
|
|
340
|
+
ur ide config vscode # VS Code / Cursor / Windsurf setup
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Editors connect either through the native UR extension/plugin (VS Code family,
|
|
344
|
+
JetBrains) or the stdio Agent Client Protocol (Zed, ACP Neovim, generic ACP
|
|
345
|
+
clients). Start an ACP surface with:
|
|
346
|
+
|
|
347
|
+
```sh
|
|
348
|
+
ur acp stdio # stdio ACP agent for editors (Zed, Neovim)
|
|
349
|
+
ur acp serve --port 8123 [--debug] # HTTP JSON-RPC server for scripts/clients
|
|
350
|
+
ur acp status
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
See the [IDE Guide](docs/IDE.md) and [ACP Guide](docs/ACP.md) for per-editor
|
|
354
|
+
setup, supported features, and limitations.
|
|
294
355
|
|
|
295
356
|
New slash skills run agentic work in isolated git worktrees with clean commits and PR output:
|
|
296
357
|
`/debug-v2`, `/refactor`, `/paper-implementation`, `/benchmark`, `/security-review`, `/dockerize`, `/latex-paper`.
|
|
@@ -310,12 +371,17 @@ validator, and Markdown language-adapter metadata.
|
|
|
310
371
|
|
|
311
372
|
```sh
|
|
312
373
|
ur plugin list
|
|
374
|
+
ur plugin doctor
|
|
313
375
|
ur plugin install engineering-discipline@ur-plugins-official
|
|
314
376
|
ur plugin install hello@ur-plugins-official
|
|
315
377
|
ur plugin update <plugin>
|
|
316
378
|
ur plugin disable <plugin>
|
|
317
379
|
```
|
|
318
380
|
|
|
381
|
+
`ur plugin doctor` validates every installed, project, and bundled plugin
|
|
382
|
+
manifest and reports its declared components and capability surface, so you can
|
|
383
|
+
review what a plugin touches before enabling it.
|
|
384
|
+
|
|
319
385
|
The npm package includes `README.md`, `QUALITY.md`, `docs/`, `documentation/`,
|
|
320
386
|
and `plugins/`, so the npm package page and installed artifact both carry the
|
|
321
387
|
marketplace documentation, core plugins, community staging directory, and
|
|
@@ -497,6 +563,8 @@ release until that GitHub run is green.
|
|
|
497
563
|
- [1.18.0 Upgrade Notes](docs/AGENT_UPGRADE_1.18.0.md)
|
|
498
564
|
- [1.17.0 Upgrade Notes](docs/AGENT_UPGRADE_1.17.0.md)
|
|
499
565
|
- [Development Guide](docs/DEVELOPMENT.md)
|
|
566
|
+
- [IDE Guide](docs/IDE.md)
|
|
567
|
+
- [ACP Guide](docs/ACP.md)
|
|
500
568
|
- [Plugin Guide](docs/plugins.md)
|
|
501
569
|
- [Validation Runbook](docs/VALIDATION.md)
|
|
502
570
|
- [Release Runbook](RELEASE.md)
|