ur-agent 1.65.14 → 1.66.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 +31 -0
- package/dist/cli.js +398 -253
- package/docs/VALIDATION.md +1 -1
- package/documentation/index.html +1 -1
- 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/technical/04-tools.md +7 -0
- package/technical/06-configuration.md +21 -0
- package/technical/07-memory-and-context.md +29 -1
- package/technical/09-multi-agent.md +6 -0
- package/technical/README.md +1 -1
package/docs/VALIDATION.md
CHANGED
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.66.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>
|
|
@@ -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.66.0",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED
package/technical/04-tools.md
CHANGED
|
@@ -103,6 +103,13 @@ positive safe-integer JSON number; the tool boundary normalizes it to the
|
|
|
103
103
|
canonical decimal string. Zero, negative, fractional, non-finite, Boolean, and
|
|
104
104
|
precision-losing numeric IDs are rejected.
|
|
105
105
|
|
|
106
|
+
The Kimi/Ollama compatibility parser applies the same task schema instead of a
|
|
107
|
+
smaller parallel implementation. A clearly delimited bare `TaskCreate` object
|
|
108
|
+
may contain `blocks`, `blockedBy`, `addBlocks`, or `addBlockedBy`; a bare
|
|
109
|
+
`TaskUpdate` accepts the live terminal `failed` and `skipped` statuses as well
|
|
110
|
+
as numeric IDs. IDs are normalized to canonical strings, while unknown fields,
|
|
111
|
+
invalid IDs/statuses, ambiguous prose, and unavailable tools fail closed.
|
|
112
|
+
|
|
106
113
|
Task-gate recovery names the tracking surface that is actually present:
|
|
107
114
|
interactive Task V2 sessions use `TaskCreate`, while default headless sessions
|
|
108
115
|
use `TodoWrite`. It never instructs a model to recover by calling a tool absent
|
|
@@ -105,6 +105,27 @@ Fan-out limits clamp rather than disable: out-of-range, negative and
|
|
|
105
105
|
non-numeric values fall back to the default or the ceiling, so a settings file
|
|
106
106
|
cannot switch the governor off.
|
|
107
107
|
|
|
108
|
+
### Global app compaction controls
|
|
109
|
+
|
|
110
|
+
`autoCompactEnabled` and `compaction.autoThreshold` are global app controls
|
|
111
|
+
managed by `/config` or the `Config` tool and persisted in the global UR
|
|
112
|
+
configuration (`~/.ur.json`, or `.config.json` in a legacy UR config home).
|
|
113
|
+
They are not keys in the project `settings.json` schema.
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
autoCompactEnabled = true
|
|
117
|
+
compaction.autoThreshold = 80
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
The threshold accepts an inclusive percentage from 50 through 95. It is
|
|
121
|
+
applied to the effective model context window and retains a 3,000-token manual
|
|
122
|
+
compaction reserve. `UR_AUTOCOMPACT_PCT_OVERRIDE` has higher precedence for
|
|
123
|
+
the current process; `DISABLE_AUTO_COMPACT` or `DISABLE_COMPACT` disables the
|
|
124
|
+
proactive trigger. `/context` and the prompt notification report an
|
|
125
|
+
approximate percentage left to this same resolved threshold; the active query
|
|
126
|
+
may free additional context through bounded pruning immediately before the
|
|
127
|
+
trigger.
|
|
128
|
+
|
|
108
129
|
Rule syntax: `ToolName` (blanket) or `ToolName(specifier)` — e.g. `Bash(npm run *)`,
|
|
109
130
|
`Edit(src/**)`, `mcp__server__tool`. Managed via `/permissions` UI as well.
|
|
110
131
|
|
|
@@ -104,12 +104,40 @@ rollback preserve a private copy of the full original before replacement.
|
|
|
104
104
|
|---|---|
|
|
105
105
|
| Visualize usage | `/context` (colored grid); `/files` is an ant-only command and is absent from the standard npm CLI |
|
|
106
106
|
| Manual compaction | `/compact [focus instructions]` |
|
|
107
|
-
| Auto-compaction | `src/services/compact` — triggers
|
|
107
|
+
| Auto-compaction | `src/services/compact` — triggers at one canonical model-aware threshold; `DISABLE_AUTO_COMPACT` env disables; PreCompact/PostCompact hooks fire |
|
|
108
108
|
| Context collapse | `src/services/contextCollapse` and `CtxInspect` are behind the compile-time `CONTEXT_COLLAPSE` feature, which the standard npm bundle does not include |
|
|
109
109
|
| Micro-compaction | session-memory compact (`sessionMemoryCompact.ts`): force on with `ENABLE_UR_CODE_SM_COMPACT=1`, force off with `DISABLE_UR_CODE_SM_COMPACT=1`; otherwise both `tengu_session_memory` and `tengu_sm_compact` runtime gates must be on |
|
|
110
110
|
| Clear | `/clear` (aliases `/reset`, `/new`) |
|
|
111
111
|
| Read caps | Read tool truncates large files/lines; `/read`, `/analyze`, `/summarize` for deliberate loads |
|
|
112
112
|
|
|
113
|
+
The effective context window always stays positive, including for small local
|
|
114
|
+
models. By default proactive compaction reserves a scaled output buffer (up to
|
|
115
|
+
20,000 tokens) plus a 13,000-token compact/manual safety band. The global
|
|
116
|
+
`compaction.autoThreshold` setting can instead select 50–95% of the effective
|
|
117
|
+
window while retaining a 3,000-token manual reserve;
|
|
118
|
+
`UR_AUTOCOMPACT_PCT_OVERRIDE` is the explicit environment override. Trigger
|
|
119
|
+
logic, prompt notifications, `/context`, and the SDK all use this same
|
|
120
|
+
threshold and estimated live usage, including messages added after the last
|
|
121
|
+
provider response.
|
|
122
|
+
|
|
123
|
+
When proactive auto-compaction is active, the prompt notification and
|
|
124
|
+
`/context` show a clamped approximate 0–100% value remaining until the actual
|
|
125
|
+
trigger, with separate warning and final-error bands. The estimate uses the
|
|
126
|
+
same live token counter, while the query may conservatively improve it by
|
|
127
|
+
snipping or pruning immediately before the trigger. Reactive-compaction and
|
|
128
|
+
context-collapse modes own their thresholds and therefore do not display a
|
|
129
|
+
misleading proactive countdown. A successful compaction suppresses the stale
|
|
130
|
+
pre-compact warning.
|
|
131
|
+
|
|
132
|
+
Full, partial, and session-memory compaction restore the authoritative live
|
|
133
|
+
task state after the boundary. Task V2 snapshots retain exact IDs, statuses,
|
|
134
|
+
owners, and dependency edges; legacy TodoWrite snapshots retain order and
|
|
135
|
+
status. The snapshot is bounded to 64 actionable-first records and an
|
|
136
|
+
estimated 6,000-token budget. If more exist, the model is required to call
|
|
137
|
+
`TaskList` before task mutation rather than guessing omitted IDs. Compact
|
|
138
|
+
boundaries also permanently consume the task-gate's initial trivial-call
|
|
139
|
+
allowance so compaction cannot reopen an implementation bypass.
|
|
140
|
+
|
|
113
141
|
## Repo wiki & map
|
|
114
142
|
|
|
115
143
|
```
|
|
@@ -184,6 +184,12 @@ use legacy `TodoWrite` by default, or Task V2 when
|
|
|
184
184
|
alone outside live plan mode are not exempt.
|
|
185
185
|
- Configure the behavior at
|
|
186
186
|
`tasks.requireBeforeChanges.{enabled,freeReads}`.
|
|
187
|
+
- Full, partial, and session-memory compaction restore the live task board as
|
|
188
|
+
an authoritative bounded snapshot, including exact Task V2 IDs, statuses,
|
|
189
|
+
owners, and dependency edges. In-process workers do not run a second private
|
|
190
|
+
compaction algorithm: they use the same `runAgent` query-loop policy,
|
|
191
|
+
feature gates, session-memory-first behavior, threshold, circuit breaker,
|
|
192
|
+
and compact-boundary handling as the main agent.
|
|
187
193
|
|
|
188
194
|
The prompt contract, plan-file structure, plan-agent output, approval handoff,
|
|
189
195
|
task-tool result, and gate recovery text all reinforce the same decomposition
|
package/technical/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UR-Nexus — Technical Specifications
|
|
2
2
|
|
|
3
|
-
> Audited against the executable source and tests for `ur-agent` v1.
|
|
3
|
+
> Audited against the executable source and tests for `ur-agent` v1.66.0.
|
|
4
4
|
> Command, tool, flag, provider, and setting claims are checked against the
|
|
5
5
|
> implementation rather than copied from product prose. Release validation
|
|
6
6
|
> keeps this version synchronized and packages the complete `technical/`
|