@aragon-agent/cli 0.6.42 → 0.6.44
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/dist/agent/controller.js +9 -12
- package/dist/agent/headless.js +6 -2
- package/dist/exec/runner.js +2 -1
- package/dist/proc/kill-tree.d.ts +19 -1
- package/dist/proc/kill-tree.js +32 -5
- package/dist/proc/limits.d.ts +19 -0
- package/dist/proc/limits.js +19 -0
- package/dist/proc/supervisor.js +8 -1
- package/dist/team/bus.d.ts +4 -0
- package/dist/team/bus.js +12 -2
- package/dist/team/comm-tools.js +3 -0
- package/dist/team/limits.d.ts +1 -1
- package/dist/team/limits.js +1 -1
- package/dist/team/model.d.ts +17 -1
- package/dist/team/model.js +14 -0
- package/dist/team/overseer.d.ts +4 -0
- package/dist/team/overseer.js +38 -6
- package/dist/team/prompt.js +3 -3
- package/dist/team/report.d.ts +21 -0
- package/dist/team/report.js +40 -9
- package/dist/team/runtime.d.ts +3 -0
- package/dist/team/runtime.js +61 -5
- package/dist/team/subagent.js +25 -7
- package/dist/tools/bounded-spawn.d.ts +56 -0
- package/dist/tools/bounded-spawn.js +76 -0
- package/dist/tools/search-tools.js +52 -44
- package/dist/ui/App.js +24 -10
- package/dist/ui/ScrollbackShell.d.ts +35 -7
- package/dist/ui/ScrollbackShell.js +1 -1
- package/dist/ui/scrollback/LiveTail.d.ts +3 -1
- package/dist/ui/scrollback/budget.d.ts +12 -6
- package/dist/ui/scrollback/budget.js +11 -4
- package/dist/ui/scrollback/tail-anchor.d.ts +5 -2
- package/dist/ui/scrollback/tail-anchor.js +3 -1
- package/package.json +2 -2
|
@@ -12,15 +12,20 @@
|
|
|
12
12
|
* and every row it did not ask for became `gap` - blank rows ABOVE the content, which
|
|
13
13
|
* is what the user reported as "the app starts halfway down the screen" and as "a big
|
|
14
14
|
* blank between the result and the running card". The band now takes the whole pool
|
|
15
|
-
* (`fill`), so the region is `[
|
|
15
|
+
* (`fill`), so the region is `[band][composer][identity][status]` top to bottom and
|
|
16
16
|
* `gap` cannot exist: `resolveCanvasLayout` is given `frameRows === capacity` and
|
|
17
17
|
* derives `gap = 0` (see the spec's §5.5 proof, which is why the writer needs no
|
|
18
18
|
* change at all).
|
|
19
19
|
*
|
|
20
20
|
* The composer, popup and status rows come from the SAME `buildFrameBudget` the
|
|
21
21
|
* full-screen layout uses, so the two modes cannot disagree about how tall the
|
|
22
|
-
* editor is. What differs is the top: the
|
|
23
|
-
* row it occupies is spent from the region, not from the printed transcript.
|
|
22
|
+
* editor is. What differs is the top: the identity row is a real slot here (D3), and
|
|
23
|
+
* the row it occupies is spent from the region, not from the printed transcript.
|
|
24
|
+
* THE COUNT IS ALL THIS MODULE OWNS, NOT THE POSITION: since
|
|
25
|
+
* `tui-header-leaks-into-scrollback` the identity row is drawn between the composer and
|
|
26
|
+
* the status group (`ScrollbackShell.tsx`), because region row 0 is necessarily the
|
|
27
|
+
* successor of the newest printed row and chrome there lands inside the conversation.
|
|
28
|
+
* Moving it changed no number below: it is still 1 row, still taken out of `remaining`.
|
|
24
29
|
*
|
|
25
30
|
* THIS IS THE ONLY CALL SITE OF `buildLiveBand` (I-8). `remaining` is computed here
|
|
26
31
|
* once and handed to the band; an `App` that computed its own copy would make
|
|
@@ -56,9 +61,11 @@ export function buildScrollbackBudget(input) {
|
|
|
56
61
|
}
|
|
57
62
|
// D1 · H = C. `frameRows` is `rows - 1` by construction (`layout/budget.ts`), so the
|
|
58
63
|
// region ends exactly on the row above the writer's parked cursor.
|
|
64
|
+
// The identity row is drawn at the BOTTOM now; it is still one row and still deducted
|
|
65
|
+
// here, which is why `liveRows`, `bandRows` and `previewRows` did not move with it.
|
|
59
66
|
const headerRows = 1;
|
|
60
67
|
const liveRows = Math.max(1, base.frameRows);
|
|
61
|
-
// The whole pool: everything
|
|
68
|
+
// The whole pool: everything above the composer slot. Two independent
|
|
62
69
|
// derivations put its floor at 1, so `max(0, ...)` is defensive only:
|
|
63
70
|
// 1. `composerSlotRows = 2 + clampDraftRows(rows, draftRows)` and
|
|
64
71
|
// `draftMaxRows(rows) = max(1, min(6, floor(rows / 4)))`, so on the narrowest
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* `justifyContent="flex-end"` therefore pushed those four rows against the composer and
|
|
8
8
|
* left every unused row ABOVE the conversation - the "the first reply starts at the
|
|
9
9
|
* bottom of the screen" report. The answer is conditional anchoring: top while the
|
|
10
|
-
* content fits, so the conversation is written downwards from
|
|
10
|
+
* content fits, so the conversation is written downwards from the region's top row
|
|
11
|
+
* (`tui-header-leaks-into-scrollback` took the identity row off that row and put it
|
|
12
|
+
* below the composer, so the first line of the band is now the first line of the screen).
|
|
11
13
|
*
|
|
12
14
|
* WHY THE FALLBACK IS `bottom` AND NOT THE OTHER WAY ROUND. `flex-start` inside an
|
|
13
15
|
* `overflow="hidden"` box clips the NEWEST rows (Ink's clip rectangle is the box's
|
|
@@ -26,7 +28,8 @@
|
|
|
26
28
|
* parameters and a unit test can drive it with any table it likes.
|
|
27
29
|
*/
|
|
28
30
|
import type { Entry } from '../../agent/reducer.js';
|
|
29
|
-
/** `top` = content grows down from the
|
|
31
|
+
/** `top` = content grows down from the region's top row; `bottom` = newest row hugs the
|
|
32
|
+
* composer. */
|
|
30
33
|
export type TailAnchor = 'top' | 'bottom';
|
|
31
34
|
/**
|
|
32
35
|
* Which alignment the live tail should use for the entries it is about to render.
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* `justifyContent="flex-end"` therefore pushed those four rows against the composer and
|
|
8
8
|
* left every unused row ABOVE the conversation - the "the first reply starts at the
|
|
9
9
|
* bottom of the screen" report. The answer is conditional anchoring: top while the
|
|
10
|
-
* content fits, so the conversation is written downwards from
|
|
10
|
+
* content fits, so the conversation is written downwards from the region's top row
|
|
11
|
+
* (`tui-header-leaks-into-scrollback` took the identity row off that row and put it
|
|
12
|
+
* below the composer, so the first line of the band is now the first line of the screen).
|
|
11
13
|
*
|
|
12
14
|
* WHY THE FALLBACK IS `bottom` AND NOT THE OTHER WAY ROUND. `flex-start` inside an
|
|
13
15
|
* `overflow="hidden"` box clips the NEWEST rows (Ink's clip rectangle is the box's
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aragon-agent/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.44",
|
|
4
4
|
"description": "AragonAgent CLI — a Claude-Code / Codex-style interactive terminal UI (TUI) on top of the @aragon-agent/core engine. Installable and runnable via npm / npx.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "AragonAgent contributors",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"prepublishOnly": "npm run build"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aragon-agent/core": "^0.2.
|
|
59
|
+
"@aragon-agent/core": "^0.2.56",
|
|
60
60
|
"chalk": "^5.6.2",
|
|
61
61
|
"cli-highlight": "^2.0.0",
|
|
62
62
|
"commander": "^12.1.0",
|