ur-agent 1.78.8 → 1.78.10

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/docs/USAGE.md CHANGED
@@ -100,11 +100,13 @@ use `ollama.host` in settings if you want plain `ur` to default to a LAN host.
100
100
  Models exposed by the chosen Ollama app are valid, including local models and
101
101
  Ollama Cloud-backed models.
102
102
 
103
- Ollama Cloud models use a 120-second default bound for both response-header
104
- waiting and stream consumption. A deliberate stream deadline is returned
105
- directly instead of being replayed through the non-streaming fallback. Local
106
- Ollama models keep the five-minute default. Set `API_TIMEOUT_MS` to explicitly
107
- override either default for the current process.
103
+ Ollama waits up to 15 minutes for response headers so cold loads and long
104
+ prefill are not mistaken for failure. Once streaming begins, local and Cloud
105
+ models use a five-minute *inactivity* watchdog that resets on every chunk; a
106
+ healthy long answer has no total runtime cutoff. Remote/CCR sessions and Cloud
107
+ non-streaming fallback retain a two-minute bound. Set
108
+ `UR_STREAM_IDLE_TIMEOUT_MS` for the stream-silence window or `API_TIMEOUT_MS`
109
+ for an explicit request-wide override.
108
110
 
109
111
  When project verification requires approval, UR asks once per user turn. The
110
112
  same pending compile/test/lint gate is not presented again after the user has
@@ -388,6 +390,16 @@ in dependency order. `ur exec` materializes this graph deterministically; the
388
390
  interactive agent follows the same lifecycle and its task/agent tools enforce
389
391
  the concurrency boundary.
390
392
 
393
+ A new actionable work board is seeded immediately. If the model creates
394
+ explicit subtasks, its first `TaskCreate` atomically replaces that seed instead
395
+ of duplicating it. A successful simple turn completes the seed automatically.
396
+ Replies such as corrections, approvals, and interruptions reuse the current
397
+ seed or explicit unfinished board; the raw reply is not copied into a new task
398
+ row. The agent reconciles and updates the relevant work rather than starting
399
+ empty. A terminal board is archived only when the next prompt is genuinely new
400
+ work; a corrective follow-up reopens the existing automatic task without
401
+ renaming it.
402
+
391
403
  Independent read-only tasks can run in parallel. A task that may write to the
392
404
  shared checkout is serialized with other possible writers, even when it comes
393
405
  from another top-level prompt or crew worker. Parallel writers require explicit
@@ -398,15 +410,27 @@ on an unrelated remote revision.
398
410
  While the agent works, the `◭ Mashoofing…` row stays visible and its
399
411
  parenthesized phase changes with activity: `thinking`, `requesting`,
400
412
  `responding`, `preparing tool`, or `working`. Elapsed thinking time and token
401
- activity continue to appear when available.
402
-
403
- If a model sends a long internal planning monologue as ordinary answer text,
404
- UR leaves the useful summary visible and replaces the noisy middle with a slim
405
- `Reasoning condensed` rail. Press `ctrl+o` to expand the full trace. The
406
- compaction is presentation-only: session history and the model's next-turn
407
- context retain the original text. Detection is cached per completed message
408
- and uses one linear pass; it does not make another model/API call or reduce the
409
- agent's reasoning budget.
413
+ activity continue to appear when available. The active task follows the
414
+ ellipsis—for example, `◭ Mashoofing… · Fixing timeout handling (thinking)`—and
415
+ is truncated or omitted on narrow terminals instead of wrapping the UI.
416
+
417
+ The normal screen does not mount live assistant drafts. During tool work it
418
+ shows the persistent `Mashoofing` row and compact tool summaries, then presents
419
+ the stable final answer. Completed "I'll inspect..." text paired with a tool
420
+ call is also omitted from the normal projection. Press `ctrl+o` to inspect the
421
+ complete stored trace; verbose diagnostics can expose live text when needed.
422
+ If self-talk is embedded inside a completed answer, UR replaces only that
423
+ region with a slim `Reasoning condensed` rail. All of this is presentation-only:
424
+ session history, exports, and the model's next-turn context retain the original
425
+ text, and no extra model/API call or reduced reasoning budget is involved.
426
+
427
+ When a provider reports that the context limit was reached despite the normal
428
+ proactive threshold, UR withholds that transient error, runs one emergency
429
+ compaction, and retries the interrupted turn automatically. Oversized images or
430
+ documents are replaced with markers only in the emergency summary request so a
431
+ large Computer screenshot cannot block recovery; the original transcript is
432
+ not rewritten. If that single bounded recovery fails—or automatic compaction
433
+ was explicitly disabled—UR shows the manual `/compact` or `/clear` action.
410
434
 
411
435
  ## Status bar
412
436
 
@@ -19,7 +19,7 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.78.8 (UR-Nexus)"
22
+ # expected for this release: "1.78.10 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ## 0.1 First-workspace model selection (1.45.4)
@@ -49,10 +49,12 @@ bun test test/ollamaTimeout.test.ts
49
49
  ```
50
50
 
51
51
  Expected: the cloud-model timeout, override-precedence, stream-deadline, and
52
- fallback-suppression cases pass. A model ending in `:cloud` defaults to 120
53
- seconds for response headers and streaming; a local model retains 300 seconds.
54
- `API_TIMEOUT_MS` wins over both. When a cloud stream reaches its deliberate
55
- deadline, the request fails once instead of starting a non-streaming replay.
52
+ fallback-suppression cases pass. Response headers allow 900 seconds; local and
53
+ `:cloud` streams tolerate 300 seconds of silence, while remote sessions retain
54
+ 120 seconds. `UR_STREAM_IDLE_TIMEOUT_MS`, `API_TIMEOUT_MS`, and explicit request
55
+ options follow their tested precedence. When a Cloud stream reaches its
56
+ deliberate inactivity deadline, the request fails once instead of starting a
57
+ non-streaming replay.
56
58
 
57
59
  ### 0.1.2 Single project-gate approval (1.45.6)
58
60
 
package/docs/providers.md CHANGED
@@ -462,12 +462,14 @@ Local/server providers use their normal endpoints:
462
462
  - llama.cpp server mode: `http://localhost:8080/v1`
463
463
  - vLLM server mode: `http://localhost:8000/v1`
464
464
 
465
- Ollama models whose names end in `:cloud` use a 120-second default for the
466
- response-header phase and a 120-second total stream deadline. UR does not
467
- automatically replay a cloud request after that stream deadline, preventing a
468
- bounded failure from expanding into the shared non-streaming fallback and
469
- retry chain. Local Ollama models retain the five-minute default. A positive
470
- `API_TIMEOUT_MS` or explicit request timeout overrides these defaults.
465
+ Ollama allows up to 15 minutes for response headers so a cold model load or
466
+ large prefill can begin. After headers, local and `:cloud` models use a
467
+ five-minute stream *inactivity* deadline that resets whenever bytes arrive;
468
+ remote/CCR sessions use two minutes. UR does not automatically replay a Cloud
469
+ request after that deadline, preventing a bounded failure from expanding into
470
+ the non-streaming fallback and retry chain; Cloud non-streaming fallback itself
471
+ remains bounded at two minutes. `UR_STREAM_IDLE_TIMEOUT_MS`, `API_TIMEOUT_MS`,
472
+ or an explicit request timeout can override the applicable default.
471
473
 
472
474
  ## Optional Live Provider Smoke
473
475
 
@@ -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.78.8</p>
48
+ <p class="eyebrow">Version 1.78.10</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>
@@ -171,8 +171,8 @@ ur config set responses.store false</code></pre>
171
171
  </article>
172
172
  <article>
173
173
  <h3>Ollama Cloud latency bounds</h3>
174
- <pre><code>API_TIMEOUT_MS=120000 ur</code></pre>
175
- <p>Cloud-tagged Ollama models default to bounded response-header and streaming phases. A stream deadline is surfaced directly instead of starting a non-streaming retry chain. Local models retain their longer default, and <code>API_TIMEOUT_MS</code> remains an explicit override.</p>
174
+ <pre><code>UR_STREAM_IDLE_TIMEOUT_MS=300000 ur</code></pre>
175
+ <p>Ollama allows long cold-load headers, then uses a five-minute inactivity watchdog for local and Cloud streams. The timer resets on every chunk, so healthy long answers continue; remote sessions remain shorter, and a Cloud stream timeout is surfaced without starting a duplicate non-streaming retry. <code>UR_STREAM_IDLE_TIMEOUT_MS</code> and <code>API_TIMEOUT_MS</code> remain explicit overrides.</p>
176
176
  </article>
177
177
  </div>
178
178
  </section>
@@ -7,7 +7,7 @@ plugins {
7
7
  }
8
8
 
9
9
  group = "dev.urnexus"
10
- version = "1.78.8"
10
+ version = "1.78.10"
11
11
 
12
12
  repositories {
13
13
  mavenCentral()
@@ -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.78.8",
5
+ "version": "1.78.10",
6
6
  "publisher": "ur-nexus",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.78.8",
3
+ "version": "1.78.10",
4
4
  "description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",
@@ -49,6 +49,7 @@
49
49
  "bundle": "node scripts/bundle.mjs",
50
50
  "build": "node scripts/bundle.mjs",
51
51
  "release:check": "node scripts/release-check.mjs",
52
+ "release:tag": "node scripts/release-tag.mjs",
52
53
  "release:create-source-zip": "bun scripts/source-zip-create.mjs",
53
54
  "release:check-source-zip": "node scripts/source-zip-check.mjs",
54
55
  "typecheck": "bun run tsc --noEmit && bun run typecheck:strict-core",