@aragon-agent/cli 0.6.8 → 0.6.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.
Files changed (97) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +89 -44
  3. package/dist/agent/controller.d.ts +1 -1
  4. package/dist/agent/reducer.d.ts +31 -113
  5. package/dist/agent/reducer.js +41 -63
  6. package/dist/cli.js +53 -155
  7. package/dist/commands/builtins.d.ts +2 -1
  8. package/dist/commands/builtins.js +47 -2
  9. package/dist/commands/perf.d.ts +32 -2
  10. package/dist/commands/perf.js +32 -2
  11. package/dist/commands/registry.d.ts +2 -2
  12. package/dist/config/env.js +0 -130
  13. package/dist/config/load.d.ts +0 -2
  14. package/dist/config/load.js +2 -31
  15. package/dist/config/schema.d.ts +1 -14
  16. package/dist/config/schema.js +0 -1
  17. package/dist/config/store.js +2 -0
  18. package/dist/input/enter-sequences.d.ts +63 -0
  19. package/dist/input/enter-sequences.js +151 -0
  20. package/dist/input/limits.d.ts +11 -0
  21. package/dist/input/limits.js +11 -0
  22. package/dist/input/stdin-filter.js +19 -1
  23. package/dist/logging/install.d.ts +2 -2
  24. package/dist/logging/install.js +2 -2
  25. package/dist/session/persist.js +20 -0
  26. package/dist/todo/follow-through.d.ts +0 -4
  27. package/dist/todo/follow-through.js +0 -4
  28. package/dist/todo/limits.d.ts +0 -10
  29. package/dist/todo/limits.js +0 -10
  30. package/dist/todo/prompt.d.ts +0 -15
  31. package/dist/ui/ActivityLine.d.ts +26 -34
  32. package/dist/ui/ActivityLine.js +30 -19
  33. package/dist/ui/App.d.ts +1 -41
  34. package/dist/ui/App.js +94 -129
  35. package/dist/ui/BottomStatusRow.d.ts +1 -3
  36. package/dist/ui/BottomStatusRow.js +4 -8
  37. package/dist/ui/Composer.d.ts +28 -1
  38. package/dist/ui/Composer.js +46 -17
  39. package/dist/ui/Header.d.ts +2 -16
  40. package/dist/ui/Header.js +3 -18
  41. package/dist/ui/Logo.d.ts +1 -17
  42. package/dist/ui/Logo.js +0 -16
  43. package/dist/ui/ModeChip.d.ts +7 -18
  44. package/dist/ui/ModeChip.js +9 -0
  45. package/dist/ui/PromptInput.d.ts +2 -28
  46. package/dist/ui/PromptInput.js +38 -9
  47. package/dist/ui/StatusBar.d.ts +0 -11
  48. package/dist/ui/ToastStack.d.ts +2 -18
  49. package/dist/ui/ToastStack.js +4 -11
  50. package/dist/ui/Transcript.d.ts +5 -71
  51. package/dist/ui/Transcript.js +15 -199
  52. package/dist/ui/enter-frames.d.ts +63 -0
  53. package/dist/ui/enter-frames.js +136 -0
  54. package/dist/ui/entries/AssistantEntry.d.ts +0 -23
  55. package/dist/ui/entries/AssistantEntry.js +3 -4
  56. package/dist/ui/entries/DiffView.d.ts +1 -7
  57. package/dist/ui/entries/DiffView.js +2 -2
  58. package/dist/ui/entries/QueuedEntry.d.ts +27 -0
  59. package/dist/ui/entries/QueuedEntry.js +30 -0
  60. package/dist/ui/entries/ToolCard.d.ts +0 -6
  61. package/dist/ui/entries/ToolCard.js +4 -13
  62. package/dist/ui/frame-differ.d.ts +13 -0
  63. package/dist/ui/frame-differ.js +36 -6
  64. package/dist/ui/glyphs.d.ts +9 -0
  65. package/dist/ui/glyphs.js +2 -0
  66. package/dist/ui/ink-runtime.d.ts +1 -0
  67. package/dist/ui/ink-runtime.js +21 -0
  68. package/dist/ui/layout/AppShell.d.ts +1 -10
  69. package/dist/ui/layout/AppShell.js +2 -5
  70. package/dist/ui/layout/OverlayFrame.d.ts +1 -25
  71. package/dist/ui/layout/OverlayFrame.js +0 -24
  72. package/dist/ui/layout/ScrollViewport.d.ts +3 -0
  73. package/dist/ui/layout/ScrollViewport.js +17 -5
  74. package/dist/ui/layout/frame.d.ts +0 -22
  75. package/dist/ui/layout/frame.js +0 -36
  76. package/dist/ui/layout/todo-layout.d.ts +1 -3
  77. package/dist/ui/layout/todo-layout.js +7 -8
  78. package/dist/ui/layout/viewport-geometry.d.ts +1 -1
  79. package/dist/ui/layout/viewport-geometry.js +1 -1
  80. package/dist/ui/live-clamp.d.ts +1 -29
  81. package/dist/ui/live-clamp.js +1 -29
  82. package/dist/ui/overlays/HelpOverlay.js +3 -1
  83. package/dist/ui/overlays/PlanReviewOverlay.js +5 -1
  84. package/dist/ui/overlays/QuestionOverlay.js +7 -2
  85. package/dist/ui/overlays/SettingsScreen.js +8 -1
  86. package/dist/ui/run-status-row.d.ts +61 -0
  87. package/dist/ui/run-status-row.js +70 -0
  88. package/dist/ui/selection/selection-controller.d.ts +23 -7
  89. package/dist/ui/selection/selection-controller.js +68 -16
  90. package/dist/ui/transcript-text.d.ts +0 -8
  91. package/dist/ui/transcript-text.js +0 -8
  92. package/dist/ui/use-startup-notices.d.ts +6 -58
  93. package/dist/ui/use-startup-notices.js +10 -57
  94. package/dist/ui/use-wheel-routing.d.ts +1 -1
  95. package/package.json +2 -2
  96. package/dist/ui/TodoStrip.d.ts +0 -36
  97. package/dist/ui/TodoStrip.js +0 -32
@@ -1,36 +0,0 @@
1
- /**
2
- * TodoStrip — the inline-mode plan surface (todo-plan-followthrough §3.7 / W2).
3
- *
4
- * ASCII ONLY: every glyph comes from `pickGlyphs`; a literal here bypasses the
5
- * capability probe and shows mojibake on a legacy console. This file is inside
6
- * the glyph scanner's scope because it is under `ui/`, NOT because of the
7
- * `todo/` clause (C-4) — moving it would not move the guard rail with it.
8
- *
9
- * WHY A STRIP AND NOT THE RAIL. `decideRenderMode` picks inline for every pipe,
10
- * every `CI=1`, every `TERM=dumb` and every terminal under 12 rows, and inline
11
- * has no fixed frame to hang a column off (round 1's non-goal 4). Before this,
12
- * such a session had the tool and a `todo 3/7` counter in the status bar, and no
13
- * way at all to see WHICH step was running (OQ-1).
14
- *
15
- * WHY NOT IN THE STATUS BAR. The bar's left cluster is `flexShrink={0}` and its
16
- * own comment records what happens when the row over-subscribes: Ink drops a
17
- * character from EACH cluster and it renders `idl` / `? hel`. A variable-length
18
- * step title cannot go there (C-7), which is what forces this into its own row.
19
- *
20
- * EXACTLY ONE RENDERED ROW, ALWAYS (AC-29). A strip that wrapped would push the
21
- * composer down by an unpredictable number of rows on every keystroke, which is
22
- * the worst possible behaviour for the mode with no frame to absorb it — hence
23
- * `wrap="truncate"` inside a `flexGrow`/`flexShrink` box and no exceptions.
24
- */
25
- import React from 'react';
26
- import type { Theme } from './theme.js';
27
- import type { TermCapabilities } from './capabilities.js';
28
- import type { TodoSnapshot } from '../todo/types.js';
29
- export interface TodoStripProps {
30
- snapshot: TodoSnapshot;
31
- /** Full terminal width; the strip spans the row in inline mode. */
32
- cols: number;
33
- theme: Theme;
34
- caps: TermCapabilities;
35
- }
36
- export declare function TodoStrip({ snapshot, cols, theme, caps }: TodoStripProps): React.ReactElement;
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- import { pickGlyphs } from './glyphs.js';
4
- import { TODO_LIMITS } from '../todo/limits.js';
5
- import { todoAnchorIndex } from '../todo/panel-rows.js';
6
- export function TodoStrip({ snapshot, cols, theme, caps }) {
7
- const glyphs = pickGlyphs(caps);
8
- // THE SAME FUNCTION THE RAIL USES (R-9 / AC-30). Two surfaces that each decide
9
- // for themselves which step is "current" is two surfaces that disagree, and
10
- // this one is on screen in exactly the mode where the rail is not, so the
11
- // disagreement would never be seen side by side and never be reported.
12
- const anchor = todoAnchorIndex(snapshot.items);
13
- const item = snapshot.items[anchor];
14
- const active = item?.status === 'in_progress';
15
- // `activeForm` while in progress, `content` otherwise — `TodoPanel`'s rule.
16
- const label = item ? (active ? item.activeForm : item.content) : '';
17
- // The same degradation the status bar already applies, so the two counters can
18
- // never disagree about how much room they need.
19
- const counter = cols >= TODO_LIMITS.statusCompactCols
20
- ? `todo ${snapshot.doneCount}/${snapshot.total}`
21
- : `[${snapshot.doneCount}/${snapshot.total}]`;
22
- const showDone = snapshot.doneCount > 0 && cols >= TODO_LIMITS.stripDoneCols;
23
- return (
24
- // `width` IS LOAD-BEARING, exactly as it is on `TodoPanel` and for a related
25
- // reason. Inline mode has no fixed frame, so nothing upstream constrains
26
- // this row: without an explicit width the flexible middle cell is sized by
27
- // whatever the parent offers, and a long item overflows the terminal and
28
- // WRAPS — the one thing this component exists not to do. Pinning it here
29
- // makes the truncation deterministic and self-contained rather than a
30
- // property of the tree above.
31
- _jsxs(Box, { flexDirection: "row", width: cols, overflow: "hidden", children: [_jsx(Box, { flexShrink: 0, children: _jsx(Text, { wrap: "truncate", color: theme.accent, children: counter }) }), _jsx(Box, { flexShrink: 0, children: _jsxs(Text, { wrap: "truncate", color: theme.muted, children: [' ', glyphs.arrowRight, ' '] }) }), _jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsx(Text, { wrap: "truncate", color: active ? theme.primary : theme.muted, bold: active, children: label }) }), showDone && (_jsx(Box, { flexShrink: 0, children: _jsxs(Text, { wrap: "truncate", color: theme.muted, children: [' ', "+", snapshot.doneCount, " done"] }) }))] }));
32
- }