ur-agent 1.65.12 → 1.65.14
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/dist/cli.js +556 -395
- 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 +51 -5
- package/technical/09-multi-agent.md +11 -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.65.
|
|
48
|
+
<p class="eyebrow">Version 1.65.14</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.65.
|
|
5
|
+
"version": "1.65.14",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED
package/technical/04-tools.md
CHANGED
|
@@ -74,6 +74,29 @@ constraints. Mutually independent tasks with no conflicting shared mutations
|
|
|
74
74
|
can be delegated together, while dependent or conflicting work stays
|
|
75
75
|
sequential.
|
|
76
76
|
|
|
77
|
+
The proactive model lifecycle is explicit:
|
|
78
|
+
`TaskCreate` → inspect successful result → `TaskUpdate(in_progress)` → inspect
|
|
79
|
+
successful result → `Write`/`Edit`/mutating `Bash`/worker. Task setup and its
|
|
80
|
+
dependent mutation are never one parallel batch. A feature-rich one-file build
|
|
81
|
+
is non-trivial even if implementation uses one `Write`; classification follows
|
|
82
|
+
the requested outcomes and verification burden, not the file or tool-call
|
|
83
|
+
count. Approved-plan handoffs require task creation as their next
|
|
84
|
+
state-changing action, and Ollama/Kimi receives the same ordered rule in its
|
|
85
|
+
compact tool-discipline section. If earlier tasks are all terminal, the model
|
|
86
|
+
must create a new cohesive outcome or reopen the relevant task before new
|
|
87
|
+
workspace work.
|
|
88
|
+
|
|
89
|
+
The runtime gate accepts an actionable `pending` or `in_progress` record; the
|
|
90
|
+
stricter model-facing sequence keeps status truthful before work begins.
|
|
91
|
+
`TodoWrite` is the equivalent single-call setup in legacy/headless pools, with
|
|
92
|
+
the selected item already `in_progress`. Partial Task V2 exposure never masks
|
|
93
|
+
an available `TodoWrite`. Bare/simple, REPL-simple, coordinator, custom-agent,
|
|
94
|
+
and override-prompt paths retain a usable planner and capability-aware task
|
|
95
|
+
contract, so the gate never instructs those modes to call a missing tool.
|
|
96
|
+
If a user explicitly filters every planner from a custom tool pool, runtime
|
|
97
|
+
fails closed and tells the user to enable Task V2/`TodoWrite` or explicitly
|
|
98
|
+
disable the gate; it never tells the model to call a tool that is absent.
|
|
99
|
+
|
|
77
100
|
Task IDs remain strings in storage and tool output. Model inputs for
|
|
78
101
|
`TaskCreate` dependencies and `TaskGet`/`TaskUpdate` identifiers may also use a
|
|
79
102
|
positive safe-integer JSON number; the tool boundary normalizes it to the
|
|
@@ -92,6 +115,24 @@ redirection, backgrounding, sandbox overrides, and permission-time rewrites to
|
|
|
92
115
|
mutating commands fail closed. The preview command remains a Bash side effect
|
|
93
116
|
and still follows normal permission, sandbox, and plan-worker rules.
|
|
94
117
|
|
|
118
|
+
Control-plane operations that establish or tear down tracking cannot depend on
|
|
119
|
+
an already-actionable task: `TeamCreate`, `TeamDelete`, `TaskStop`/`KillShell`,
|
|
120
|
+
and structured team shutdown/plan-response messages are narrow task-gate
|
|
121
|
+
exceptions. Their own schemas, mode checks, active-member checks, and normal
|
|
122
|
+
permissions remain authoritative. Loading a `Skill` and taking a desktop
|
|
123
|
+
screenshot are read-only wrappers; downstream skill actions, desktop
|
|
124
|
+
click/type, API/database/browser/MCP mutations, and future tools classified
|
|
125
|
+
state-changing at runtime remain task-gated.
|
|
126
|
+
|
|
127
|
+
Syntax verification has the same task-gate-only separation. A strictly parsed
|
|
128
|
+
`node --check <single-file>` or the bounded HTML checker that reads one file,
|
|
129
|
+
constructs but never invokes its first `<script>` body, and prints only a fixed
|
|
130
|
+
syntax result may run after a task-free one-shot Write. Generic `node -e`,
|
|
131
|
+
additional statements or invocation, mismatched files, flags, redirects,
|
|
132
|
+
expansion, backgrounding, sandbox overrides, and permission-time rewrites do
|
|
133
|
+
not qualify. Node remains non-read-only for Bash permission and sandbox
|
|
134
|
+
purposes, so this compatibility path cannot become a general execution bypass.
|
|
135
|
+
|
|
95
136
|
Task completion also protects that lifecycle boundary. When the final
|
|
96
137
|
actionable `in_progress` task has a successful `Write`/`Edit`/`MultiEdit`/
|
|
97
138
|
`NotebookEdit` after its recorded start but no later successful inspection,
|
|
@@ -117,7 +158,11 @@ Descriptions are optional and are never fabricated from labels. The runtime
|
|
|
117
158
|
accepts only lossless compatibility forms such as string choices and recognized
|
|
118
159
|
question-text aliases; it does not turn arbitrary prose or flat option rows into
|
|
119
160
|
invented questions. More than four blocking decisions are asked in later
|
|
120
|
-
rounds.
|
|
161
|
+
rounds. The sole presentation-only repair compacts a safe explicit header of at
|
|
162
|
+
most 500 characters to one bounded first-word chip when it exceeds 12
|
|
163
|
+
characters. The question, options, labels, descriptions, previews, metadata,
|
|
164
|
+
and selection mode remain byte-for-byte unchanged. Control/ANSI-bearing or
|
|
165
|
+
grossly oversized headers still fail validation.
|
|
121
166
|
|
|
122
167
|
One narrow end-turn recovery exists for weak models that clearly attempted this
|
|
123
168
|
tool but failed to emit a native call. On an interactive main-agent turn with
|
|
@@ -126,10 +171,11 @@ no existing tool use, the runtime may recover either one canonical
|
|
|
126
171
|
to invoke `AskUserQuestion`, or one standalone Markdown decision menu with
|
|
127
172
|
exactly one bold question, 2–8 bold labeled options with descriptions, and a
|
|
128
173
|
terminal instruction to select an option. The recovered object must pass the
|
|
129
|
-
live `AskUserQuestion` schema unchanged
|
|
130
|
-
the UI. JSON repair,
|
|
131
|
-
|
|
132
|
-
|
|
174
|
+
live `AskUserQuestion` schema unchanged except for that same deterministic
|
|
175
|
+
UI-header compaction before the normal tool executor opens the UI. JSON repair,
|
|
176
|
+
question/choice truncation, duplicate/ambiguous candidates, casual “A or B?”
|
|
177
|
+
prose, examples, incomplete menus, background workers, headless sessions, and
|
|
178
|
+
unavailable/disabled tools all fail closed.
|
|
133
179
|
|
|
134
180
|
Answers and annotations are not model input fields. They are accepted only
|
|
135
181
|
during post-permission validation after the interactive UI has returned one
|
|
@@ -18,6 +18,13 @@ The main agent can spawn subagents. Built-in agent types
|
|
|
18
18
|
| `Explore`, `Plan` | built-in read-only search and planning agents; registered in the standard npm bundle so plan-mode instructions never advertise missing worker types |
|
|
19
19
|
|
|
20
20
|
Ordinary `Agent` subagents do not require experimental Teams/swarm mode.
|
|
21
|
+
Every ordinary worker launch does require successful task setup and an
|
|
22
|
+
`in_progress` parent task first; the exact built-in read-only `Explore`/`Plan`
|
|
23
|
+
plan-mode path below is the only exception. Coordinator mode exposes Task V2
|
|
24
|
+
tools (or `TodoWrite` in a legacy pool) instead of directing workers through an
|
|
25
|
+
unsatisfiable gate. Independent tasks may launch in one worker wave only after
|
|
26
|
+
their task records exist and the tasks actually launching are marked
|
|
27
|
+
`in_progress`.
|
|
21
28
|
Approved-plan handoff checks the actual tool pool, agent-type allowlist, live
|
|
22
29
|
`Agent(type)` deny rules, and active built-in definitions. It can fan out
|
|
23
30
|
independent ready tasks only when a selectable implementation worker remains.
|
|
@@ -33,6 +40,10 @@ Custom agents reusing those names, generic agents, teammates, background
|
|
|
33
40
|
launches, custom working directories, and worktree launches remain mutating and
|
|
34
41
|
task-gated. `TeamCreate` and `TeamDelete` also reject plan mode explicitly;
|
|
35
42
|
team lifecycle state starts only after the plan is approved.
|
|
43
|
+
Outside plan mode, team creation/deletion, structured shutdown responses, and
|
|
44
|
+
emergency `TaskStop` are task-control transitions exempt from the workspace
|
|
45
|
+
task gate so team bootstrap and teardown cannot deadlock. Their tool-specific
|
|
46
|
+
validation still applies, including refusing deletion while members are active.
|
|
36
47
|
|
|
37
48
|
In the standard bundle, `Explore` and `Plan` receive only `Glob`, `Grep`, and
|
|
38
49
|
`Read`, use `dontAsk` permission mode, and have a second runtime boundary that
|
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.65.
|
|
3
|
+
> Audited against the executable source and tests for `ur-agent` v1.65.14.
|
|
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/`
|