ur-agent 1.46.0 → 1.47.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 +51 -0
- package/README.md +62 -9
- package/dist/cli.js +30626 -11299
- package/docs/A2A.md +54 -17
- package/docs/ACP.md +21 -13
- package/docs/AGENT_FEATURES.md +44 -5
- package/docs/AGENT_TRENDS.md +48 -44
- package/docs/AG_UI.md +132 -0
- package/docs/CONFIGURATION.md +92 -9
- package/docs/USAGE.md +34 -4
- package/docs/VALIDATION.md +31 -1
- package/docs/providers.md +11 -1
- package/documentation/app.js +18 -6
- package/documentation/index.html +27 -8
- package/examples/agent_features.md +18 -0
- package/examples/agent_trends.md +5 -0
- package/examples/mcp.md +4 -0
- package/examples/memory.md +5 -2
- package/extensions/jetbrains-ur/build.gradle.kts +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +9 -2
- package/plugins/core/engineering-discipline/skills/reproducible-release/SKILL.md +2 -1
- package/plugins/core/github/skills/github-workflow/SKILL.md +2 -1
- package/plugins/core/gitlab/skills/gitlab-workflow/SKILL.md +2 -1
- package/plugins/core/huggingface/skills/huggingface-workflow/SKILL.md +2 -1
- package/plugins/core/miro/skills/miro-workflow/SKILL.md +2 -1
- package/plugins/core/obsidian/skills/second-brain/SKILL.md +2 -1
- package/plugins/core/powerpoint/skills/deck-craft/SKILL.md +2 -1
- package/plugins/core/skill-forge/skills/skill-authoring/SKILL.md +2 -1
- package/plugins/core/word/skills/document-craft/SKILL.md +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.47.1
|
|
4
|
+
|
|
5
|
+
- Hardened file downloads, filesystem permission checks, and signed skill
|
|
6
|
+
trees against traversal and chained-symlink escapes.
|
|
7
|
+
- Fixed task-memory integrity validation, prompt-plan file locking and change
|
|
8
|
+
evidence, multi-prompt legacy execution, tool cancellation, and invalid
|
|
9
|
+
concurrency handling.
|
|
10
|
+
- Made OAuth callbacks, remote session WebSockets, relay buffering, provider
|
|
11
|
+
body timeouts, and macOS keychain fallback behavior fail safely and recover
|
|
12
|
+
from transient errors.
|
|
13
|
+
- Updated vulnerable transitive dependencies and added focused regression
|
|
14
|
+
coverage for each corrected path.
|
|
15
|
+
|
|
16
|
+
## 1.47.0
|
|
17
|
+
|
|
18
|
+
- Added a secure, opt-in AG-UI HTTP/SSE adapter with official schema/encoder
|
|
19
|
+
integration, truthful capability discovery, ordered text/tool/state events,
|
|
20
|
+
cancellation, exact CORS, bearer protection for network exposure, resource
|
|
21
|
+
limits, redacted errors, and explicit rejection of unsupported capabilities.
|
|
22
|
+
- Added a dual-stack A2A server: the stable v0.3 SDK binding remains available,
|
|
23
|
+
while strict v1 ProtoJSON JSON-RPC and HTTP+JSON routes provide versioned
|
|
24
|
+
discovery, pagination, artifacts, cancellation, tenant isolation, durable
|
|
25
|
+
state, and compatibility coverage against the official A2A TCK.
|
|
26
|
+
- Completed the ACP v1 stdio lifecycle with private durable history,
|
|
27
|
+
`session/list`, `session/load`, `session/delete`, bounded ordered replay,
|
|
28
|
+
session modes, configuration options, available-command updates, and
|
|
29
|
+
cancellation-safe concurrent transport behavior.
|
|
30
|
+
- Added an opt-in MCP 2026-07-28 stateless HTTP adapter with strict request
|
|
31
|
+
metadata, negotiated Tasks and Apps extensions, owner-isolated durable tasks,
|
|
32
|
+
schema-referenced extension headers, cache/TTL discovery metadata, CORS,
|
|
33
|
+
bearer authentication, rate/concurrency limits, and corruption quarantine.
|
|
34
|
+
- Added an opt-in OpenAI Responses transport while retaining Chat Completions
|
|
35
|
+
as the default. It supports multimodal/tool translation, structured output,
|
|
36
|
+
semantic SSE streaming, background create/poll/resume/cancel, WebSocket
|
|
37
|
+
continuation, server compaction, deferred tool search, and privacy-first
|
|
38
|
+
`store: false` state handling. No paid API calls are required by its tests.
|
|
39
|
+
- Added explicit OpenTelemetry OTLP/console exporters and current GenAI
|
|
40
|
+
inference, agent, workflow, tool, memory, token, cache, latency,
|
|
41
|
+
time-to-first-chunk, inter-output-chunk latency, and error semantics. Export
|
|
42
|
+
and message-content capture remain disabled by default.
|
|
43
|
+
- Added strict Agent Skills validation, deterministic permission/tree digests,
|
|
44
|
+
Ed25519 signing and trusted-key verification, invocation-time integrity
|
|
45
|
+
rechecks, `ur skill verify|sign|keygen` commands, and deterministic discovery
|
|
46
|
+
from the cross-client `.agents/skills/` project/user locations.
|
|
47
|
+
- Upgraded project task memory to a tamper-evident provenance chain with atomic
|
|
48
|
+
private writes, cross-process locking, legacy anchoring, fail-closed reads,
|
|
49
|
+
verification, quarantine, and rollback commands.
|
|
50
|
+
- Hardened all new durable stores with bounded input/state, symlink rejection,
|
|
51
|
+
private permissions, atomic replacement, corruption handling, and focused
|
|
52
|
+
concurrency/adversarial tests.
|
|
53
|
+
|
|
3
54
|
## 1.46.0
|
|
4
55
|
|
|
5
56
|
- Added a stable, official-SDK ACP v1 stdio agent with resumable sessions,
|
package/README.md
CHANGED
|
@@ -265,6 +265,24 @@ ur config set provider.fallback ollama
|
|
|
265
265
|
guidance. UR never switches providers automatically: inspect the failure and
|
|
266
266
|
select the recovery provider explicitly with `ur config set provider <id>`.
|
|
267
267
|
|
|
268
|
+
OpenAI API traffic uses Chat Completions by default. The Responses transport is
|
|
269
|
+
an explicit, provider-scoped opt-in with privacy-conscious defaults:
|
|
270
|
+
|
|
271
|
+
```sh
|
|
272
|
+
ur config set provider openai-api
|
|
273
|
+
ur config set openai_transport responses
|
|
274
|
+
ur config set responses.store false
|
|
275
|
+
ur config set responses.compact_threshold 20000
|
|
276
|
+
ur config set responses.tool_search hosted
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
The Responses adapter supports semantic SSE streaming, background
|
|
280
|
+
create/retrieve/poll/cancel, WebSocket continuation, server compaction, and
|
|
281
|
+
deferred tool discovery. `store` defaults to `false`; the durable local cursor
|
|
282
|
+
store records identifiers and status only. Compacted context is persisted only
|
|
283
|
+
when `UR_OPENAI_RESPONSES_STATE_KEY` contains a 32-byte encryption key. Return
|
|
284
|
+
to the default with `ur config set openai_transport chat-completions`.
|
|
285
|
+
|
|
268
286
|
Provider config accepts canonical IDs and common aliases. Examples:
|
|
269
287
|
`openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `ollama`,
|
|
270
288
|
`lmstudio`, `LM Studio`, `llama.cpp`, `vllm`, and the subscription CLIs
|
|
@@ -329,8 +347,9 @@ identity line in the system prompt reflects it too:
|
|
|
329
347
|
|
|
330
348
|
- **API** providers call each service in its native wire format — Anthropic
|
|
331
349
|
`x-api-key` + `anthropic-version` on `/v1/messages`, OpenAI `Bearer` on
|
|
332
|
-
`/v1/chat/completions
|
|
333
|
-
|
|
350
|
+
`/v1/chat/completions` by default or `/v1/responses` when explicitly
|
|
351
|
+
selected, Gemini `x-goog-api-key` on `:generateContent`, and OpenRouter on its
|
|
352
|
+
OpenAI-compatible chat endpoint.
|
|
334
353
|
- **Local/server** providers call the configured endpoint (`/v1/chat/completions`
|
|
335
354
|
for LM Studio/llama.cpp/vLLM; the native API for Ollama).
|
|
336
355
|
- **Subscription CLIs** (Codex, Claude Code, Gemini, Antigravity) are external
|
|
@@ -369,7 +388,7 @@ as first-class subcommands in the shipped CLI.
|
|
|
369
388
|
| `ur test-first` | Detect the project stack, run compile/test/lint commands, store failure traces, and install edit-time verify gates. |
|
|
370
389
|
| `ur safety` | Inspect or initialize project shell safety policy and evaluate command risk before execution. |
|
|
371
390
|
| `ur sandbox` | Inspect and manage the sandbox/permission architecture: status, dependency check, policy init, and command approval levels. |
|
|
372
|
-
| `ur context-pack` | Write project architecture context, task memory, and compressed context under `.ur
|
|
391
|
+
| `ur context-pack` | Write project architecture context, tamper-evident task memory, and compressed context under `.ur/`; verify, quarantine, or roll back the memory chain. |
|
|
373
392
|
| `/hooks` | Inspect lifecycle hooks (`BeforeEdit`, `AfterEdit`, `BeforeCommand`, `AfterCommand`, `BeforeCommit`, `OnFailure`) configured via settings files. |
|
|
374
393
|
| `ur bg` | Run and manage detached local background agents with optional worktrees and PR creation. |
|
|
375
394
|
| `ur worktree` | List, inspect, and clean up UR agent worktrees. |
|
|
@@ -402,14 +421,16 @@ as first-class subcommands in the shipped CLI.
|
|
|
402
421
|
| `ur auth gemini` | Use the official Gemini CLI login flow where supported. |
|
|
403
422
|
| `ur auth antigravity` | Use the official Antigravity CLI login flow where supported. |
|
|
404
423
|
| `ur config set` | Persist safe non-secret provider settings such as provider, model, base URL, command path, and fallback. |
|
|
405
|
-
| `ur mcp` | Configure MCP servers
|
|
424
|
+
| `ur mcp` | Configure MCP servers, expose fail-closed built-in tools over stdio, or run the opt-in stateless MCP 2026 HTTP adapter with Tasks and Apps. |
|
|
425
|
+
| `ur skill` | Initialize, run, strictly verify, Ed25519-sign, and create trusted signing keys for portable skills. |
|
|
426
|
+
| `ur ag-ui serve` | Start the secure AG-UI HTTP/SSE adapter for user-facing applications with truthful capability discovery. |
|
|
406
427
|
| `ur plugin` | Install, update, enable, disable, and validate UR plugins that can add MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, output styles, and commands. |
|
|
407
428
|
| `ur role-mode` | Install built-in Architect, Code, Debug, and Ask role modes. |
|
|
408
429
|
| `ur acp` | Run official-SDK ACP v1 over stdio, or manage the separate UR HTTP JSON-RPC server. |
|
|
409
430
|
| `ur exec` | Run one or more prompts in non-interactive mode with optional concurrency. |
|
|
410
431
|
| `ur ide diff` | Capture editor-readable inline diff bundles. |
|
|
411
|
-
| `ur a2a card` | Print
|
|
412
|
-
| `ur a2a serve` | Start
|
|
432
|
+
| `ur a2a card` | Print the v0.3 Agent Card preview; the live server negotiates a separate strict v1 card. |
|
|
433
|
+
| `ur a2a serve` | Start opt-in A2A v0.3 plus v1 JSON-RPC/HTTP+JSON bindings and the separate UR compatibility task API. |
|
|
413
434
|
| `ur sdk` | Show programmatic headless usage and scaffold SDK examples. |
|
|
414
435
|
| `ur trigger` | Parse a GitHub/Slack webhook payload and optionally launch a headless UR run. |
|
|
415
436
|
| `ur agent-templates` | List or install reusable project agent templates. |
|
|
@@ -558,6 +579,9 @@ ur context-pack remember --preference "Use bun test over jest"
|
|
|
558
579
|
ur context-pack remember --accepted "Use p-map for bounded concurrency" --scope project
|
|
559
580
|
ur context-pack remember --rejected "Switch to esbuild" --alternative-to "Keep bun bundle"
|
|
560
581
|
ur context-pack remember --attempt "Tried Deno runtime" --status superseded
|
|
582
|
+
ur context-pack memory verify
|
|
583
|
+
ur context-pack memory quarantine
|
|
584
|
+
ur context-pack memory rollback --to <entry-id>
|
|
561
585
|
ur context-pack compress
|
|
562
586
|
ur ci-loop --command "bun test" --cwd . --max-attempts 3 --dry-run
|
|
563
587
|
ur bg run "fix the flaky parser test" --worktree --dry-run
|
|
@@ -569,6 +593,10 @@ ur code-index repo build
|
|
|
569
593
|
ur code-index repo search "rate limiter"
|
|
570
594
|
ur skill init security-review
|
|
571
595
|
ur skill run security-review "src/auth.ts"
|
|
596
|
+
ur skill verify security-review --require-trusted
|
|
597
|
+
ur skill keygen release --out ~/.ur/keys/release.pem
|
|
598
|
+
ur skill sign security-review --key ~/.ur/keys/release.pem --key-id release
|
|
599
|
+
UR_MCP_HTTP_TOKEN='<secret>' ur mcp serve-http --port 8976
|
|
572
600
|
ur artifacts capture-tests --command "bun test"
|
|
573
601
|
ur artifacts serve --port 4180
|
|
574
602
|
ur agent-task pr --create --dry-run
|
|
@@ -585,14 +613,18 @@ UR reads repository instructions and local runtime state from project files:
|
|
|
585
613
|
|
|
586
614
|
- `AGENTS.md` and `UR.md` provide shared project instructions.
|
|
587
615
|
- `UR.local.md` is for private local instructions.
|
|
588
|
-
- `.ur/skills/` stores project skills
|
|
616
|
+
- `.ur/skills/` stores native project skills; `.agents/skills/` is the
|
|
617
|
+
cross-client Agent Skills location. User equivalents live under `~/.ur/skills/`
|
|
618
|
+
and `~/.agents/skills/`, with deterministic project/native precedence.
|
|
589
619
|
- `.ur/agents/` stores custom agents and role modes.
|
|
590
620
|
- `.ur/safety-policy.json` configures project shell safety rules for read,
|
|
591
621
|
write, execute, and network command classes.
|
|
592
622
|
- `.ur/project-manifest.json` and `.ur/context/` hold architecture summaries,
|
|
593
623
|
task memory, compressed context, and project memory including architecture
|
|
594
|
-
decisions, preferred commands, failed attempts, accepted patterns, and
|
|
595
|
-
approaches.
|
|
624
|
+
decisions, preferred commands, failed attempts, accepted patterns, and
|
|
625
|
+
rejected approaches. Task-memory v2 entries include provenance and an
|
|
626
|
+
integrity chain; corrupt tails can be quarantined without discarding the
|
|
627
|
+
verified prefix.
|
|
596
628
|
- `.ur/specs/`, `.ur/artifacts/`, `.ur/automations/`, `.ur/test-first/`,
|
|
597
629
|
`.ur/memory/`, and `.ur/index/` hold workflow state, review artifacts,
|
|
598
630
|
scheduled jobs, failure traces, memory, and indexes.
|
|
@@ -624,6 +656,26 @@ settings, generated indexes, memory, logs, and secrets out of Git.
|
|
|
624
656
|
- `plugins/community/` stages contributed plugins.
|
|
625
657
|
- `plugins/examples/` contains plugin templates users can copy.
|
|
626
658
|
|
|
659
|
+
## OpenTelemetry
|
|
660
|
+
|
|
661
|
+
Telemetry export is off unless an operator explicitly configures a signal:
|
|
662
|
+
|
|
663
|
+
```sh
|
|
664
|
+
OTEL_TRACES_EXPORTER=otlp \
|
|
665
|
+
OTEL_METRICS_EXPORTER=otlp \
|
|
666
|
+
OTEL_LOGS_EXPORTER=otlp \
|
|
667
|
+
OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318 \
|
|
668
|
+
ur
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
UR emits bounded OpenTelemetry GenAI inference, agent, workflow, tool, and
|
|
672
|
+
memory spans plus duration, token, streaming time-to-first-chunk, and
|
|
673
|
+
inter-output-chunk latency metrics. Raw prompts, system instructions, tool
|
|
674
|
+
arguments/results, and memory records are omitted by default; set
|
|
675
|
+
`OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true` only inside an
|
|
676
|
+
appropriately secured telemetry environment. `OTEL_SDK_DISABLED=true` is the
|
|
677
|
+
global kill switch.
|
|
678
|
+
|
|
627
679
|
## Safety Model
|
|
628
680
|
|
|
629
681
|
UR can read files, edit code, execute commands, and call configured tools, so
|
|
@@ -747,6 +799,7 @@ release until that GitHub run is green.
|
|
|
747
799
|
- [IDE Guide](docs/IDE.md)
|
|
748
800
|
- [ACP Guide](docs/ACP.md)
|
|
749
801
|
- [A2A Guide](docs/A2A.md)
|
|
802
|
+
- [AG-UI Guide](docs/AG_UI.md)
|
|
750
803
|
- [Plugin Guide](docs/plugins.md)
|
|
751
804
|
- [Validation Runbook](docs/VALIDATION.md)
|
|
752
805
|
- [Release Runbook](RELEASE.md)
|