@aiwayds/dsh-tui-pi 0.3.0 → 0.4.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/lib/agents.js CHANGED
@@ -385,7 +385,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect)
385
385
  };
386
386
  const showBody = (agent) => {
387
387
  host.open(new ViewerPanel(theme, {
388
- title: `ⓘ ${agent.meta.name} · system prompt`,
388
+ title: `ⓘ ${agent.meta.displayName ?? agent.meta.name} · system prompt`,
389
389
  lines: agent.body.split('\n'),
390
390
  footer: ' Esc to close',
391
391
  onClose: () => showFields(agent),
@@ -401,20 +401,27 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect)
401
401
  const fields = [
402
402
  { key: 'maxAgents', value: `${limits.maxAgents} · concurrent live children (0 = unlimited)`, editable: true },
403
403
  { key: 'maxRounds', value: `${limits.maxRounds} · completed turns before wrap-up (0 = unlimited)`, editable: true },
404
+ { key: 'disableSubagent', value: `${limits.disableSubagent ? 'on' : 'off'} · native subagent tool`, editable: true },
404
405
  ];
405
406
  const content = [
406
- 'subagent delegation caps — read live at every spawn / turn decision',
407
+ 'subagent delegation knobs — read live at every spawn / turn decision',
407
408
  ...(agents.length === 0
408
409
  ? [`no agents in ${dir} yet — drop a markdown file to define one`, ...(broken.length > 0 ? [`${broken.length} broken file(s) ignored`] : [])]
409
410
  : []),
410
411
  ];
411
412
  const panel = new FieldPanel(theme, {
412
- title: ansiFg(theme.palette.accent) + BOLD + '⚙ subagent limits' + RESET,
413
+ title: ansiFg(theme.palette.accent) + BOLD + '⚙ subagent' + RESET,
413
414
  content,
414
415
  fields,
415
416
  status: () => limitsStatus,
416
- footer: '↑↓ field · Enter edit (0 = unlimited) · Esc back',
417
- onEdit: index => editLimit(index === 0 ? 'maxAgents' : 'maxRounds'),
417
+ footer: '↑↓ field · Enter edit (0 = unlimited) · d toggle subagent · Esc back',
418
+ shortcuts: { d: () => void toggleDisableSubagent() },
419
+ onEdit: index => {
420
+ if (index === 2)
421
+ toggleDisableSubagent();
422
+ else
423
+ editLimit(index === 0 ? 'maxAgents' : 'maxRounds');
424
+ },
418
425
  // With no agent files the table has nothing to go back to — Esc then
419
426
  // closes the whole manager (mirroring the old empty-directory reply).
420
427
  onCancel: () => (agents.length === 0 ? closeManager() : showTable()),
@@ -457,6 +464,20 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect)
457
464
  }, theme);
458
465
  host.open(field);
459
466
  };
467
+ /**
468
+ * Toggle the native `subagent` tool on/off (Enter on the disableSubagent
469
+ * row, or the `d` shortcut). Flips the live setting — the guard reads it
470
+ * at the next subagent call, and the tool-hide applies to agents created
471
+ * afterwards. The status line flashes the committed state.
472
+ */
473
+ const toggleDisableSubagent = async () => {
474
+ const next = !readSubagentLimits(ctx).disableSubagent;
475
+ const error = await writeSubagentLimit(ctx, 'disableSubagent', next);
476
+ limitsStatus = error !== undefined
477
+ ? `✘ ${error}`
478
+ : `subagent tool ${next ? 'disabled' : 'enabled'} — applies to future subagent spawns`;
479
+ showLimits();
480
+ };
460
481
  // No agent files? The manager still opens — straight into the limits
461
482
  // panel, so maxAgents/maxRounds stay configurable before any agent exists.
462
483
  if (agents.length === 0)
package/lib/agents.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
package/lib/footer.d.ts CHANGED
@@ -13,14 +13,52 @@
13
13
  */
14
14
  import { type Component } from '@earendil-works/pi-tui';
15
15
  import type { BridgeStats } from './session.ts';
16
+ import { type TuiTheme } from './theme/index.ts';
16
17
  /**
17
- * The footer keybinding hint plain text (no ANSI), exactly 103 visible
18
- * columns. This is the pre-feature README-documented width; the ANSI wrapping
19
- * lives in `paintFooterHint` (index.ts). The unit test in test/history.test.mjs
20
- * guards it against future length regressions (a longer hint word-wraps on
21
- * 105–118-column terminals and hides its suffix on ≤104).
18
+ * The footer keybinding hint, assembled from the user's `dsh-tui.footerHints`
19
+ * selection (see buildFooterHint) - the pre-feature full string is what the
20
+ * all-true default produces, and stays exactly 103 visible columns. The
21
+ * no-wrap rendering lives in `FooterHint` (a width-clipping component, not a
22
+ * word-wrapping Text). The unit test in test/history.test.mjs guards the
23
+ * default against future length regressions (a longer hint word-wraps on
24
+ * 105-118-column terminals and hides its suffix on <=104).
22
25
  */
23
26
  export declare const FOOTER_HINT = "\u2328 Enter: send \u00B7 Esc \u00D72: stop \u00B7 Ctrl+C \u00D72: quit \u00B7 Ctrl+D: quit (empty) \u00B7 Ctrl+G: subagents \u00B7 \u2191\u2193: history";
27
+ /** The toggleable footer hint segments, keyed as in the `dsh-tui` settings. */
28
+ export interface FooterHints {
29
+ send: boolean;
30
+ stop: boolean;
31
+ quit: boolean;
32
+ quitEmpty: boolean;
33
+ subagents: boolean;
34
+ history: boolean;
35
+ }
36
+ /** Every hint off - the footer hint bar renders nothing. */
37
+ export declare const DEFAULT_FOOTER_HINTS: FooterHints;
38
+ /** The hint segments in display order, each without the `⌨ ` lead. */
39
+ export declare const FOOTER_HINT_ITEMS: ReadonlyArray<{
40
+ id: keyof FooterHints;
41
+ label: string;
42
+ }>;
43
+ /**
44
+ * Assemble the footer hint from the user's per-segment on/off selection, in
45
+ * the fixed display order. `''` when every segment is off.
46
+ */
47
+ export declare function buildFooterHint(shown: FooterHints): string;
48
+ /**
49
+ * The footer hint bar - a single width-clipped row, never word-wrapped. The
50
+ * old `Text` wrapped the 103-column hint on narrow terminals; this component
51
+ * clips it to the current width every frame (and re-reads the live hints
52
+ * selection through the getter, so a /settings change applies on the next
53
+ * repaint). Renders zero rows when the user turned every hint off.
54
+ */
55
+ export declare class FooterHint implements Component {
56
+ private readonly getTheme;
57
+ private readonly getHints;
58
+ constructor(getTheme: () => TuiTheme, getHints: () => FooterHints);
59
+ invalidate(): void;
60
+ render(width: number): string[];
61
+ }
24
62
  export interface FooterDataSource {
25
63
  /** O(1) incremental counters. */
26
64
  getStats(): BridgeStats;
package/lib/footer.js CHANGED
@@ -15,13 +15,70 @@ import { truncateToWidth, visibleWidth } from '@earendil-works/pi-tui';
15
15
  import { ansiBg, ansiFg, BOLD, POWERLINE, RESET } from "./theme/index.js";
16
16
  import { clipToWidth } from "./text.js";
17
17
  /**
18
- * The footer keybinding hint plain text (no ANSI), exactly 103 visible
19
- * columns. This is the pre-feature README-documented width; the ANSI wrapping
20
- * lives in `paintFooterHint` (index.ts). The unit test in test/history.test.mjs
21
- * guards it against future length regressions (a longer hint word-wraps on
22
- * 105–118-column terminals and hides its suffix on ≤104).
18
+ * The footer keybinding hint, assembled from the user's `dsh-tui.footerHints`
19
+ * selection (see buildFooterHint) - the pre-feature full string is what the
20
+ * all-true default produces, and stays exactly 103 visible columns. The
21
+ * no-wrap rendering lives in `FooterHint` (a width-clipping component, not a
22
+ * word-wrapping Text). The unit test in test/history.test.mjs guards the
23
+ * default against future length regressions (a longer hint word-wraps on
24
+ * 105-118-column terminals and hides its suffix on <=104).
23
25
  */
24
26
  export const FOOTER_HINT = '⌨ Enter: send · Esc ×2: stop · Ctrl+C ×2: quit · Ctrl+D: quit (empty) · Ctrl+G: subagents · ↑↓: history';
27
+ /** Every hint off - the footer hint bar renders nothing. */
28
+ export const DEFAULT_FOOTER_HINTS = Object.freeze({
29
+ send: true,
30
+ stop: true,
31
+ quit: true,
32
+ quitEmpty: true,
33
+ subagents: true,
34
+ history: true,
35
+ });
36
+ /** The hint segments in display order, each without the `⌨ ` lead. */
37
+ export const FOOTER_HINT_ITEMS = [
38
+ { id: 'send', label: 'Enter: send' },
39
+ { id: 'stop', label: 'Esc ×2: stop' },
40
+ { id: 'quit', label: 'Ctrl+C ×2: quit' },
41
+ { id: 'quitEmpty', label: 'Ctrl+D: quit (empty)' },
42
+ { id: 'subagents', label: 'Ctrl+G: subagents' },
43
+ { id: 'history', label: '↑↓: history' },
44
+ ];
45
+ /**
46
+ * Assemble the footer hint from the user's per-segment on/off selection, in
47
+ * the fixed display order. `''` when every segment is off.
48
+ */
49
+ export function buildFooterHint(shown) {
50
+ const parts = FOOTER_HINT_ITEMS.filter(item => shown[item.id]).map(item => item.label);
51
+ if (parts.length === 0)
52
+ return '';
53
+ return `⌨ ${parts.join(' · ')}`;
54
+ }
55
+ /**
56
+ * The footer hint bar - a single width-clipped row, never word-wrapped. The
57
+ * old `Text` wrapped the 103-column hint on narrow terminals; this component
58
+ * clips it to the current width every frame (and re-reads the live hints
59
+ * selection through the getter, so a /settings change applies on the next
60
+ * repaint). Renders zero rows when the user turned every hint off.
61
+ */
62
+ export class FooterHint {
63
+ getTheme;
64
+ getHints;
65
+ constructor(getTheme, getHints) {
66
+ this.getTheme = getTheme;
67
+ this.getHints = getHints;
68
+ }
69
+ invalidate() { }
70
+ render(width) {
71
+ const hint = buildFooterHint(this.getHints());
72
+ if (hint === '')
73
+ return [];
74
+ // paddingX 1 on each side, matching the powerline segments' leading space.
75
+ const inner = Math.max(1, width - 2);
76
+ const clipped = clipToWidth(hint, inner);
77
+ const styled = ansiFg(this.getTheme().palette.fgSubtle) + clipped + RESET;
78
+ const pad = ' '.repeat(Math.max(0, width - visibleWidth(clipped) - 2));
79
+ return [` ${styled}${pad} `];
80
+ }
81
+ }
25
82
  const ARROW_RIGHT = '\uE0B0';
26
83
  const WHITE = ansiFg('#FFFFFF');
27
84
  export function fmtNum(n) {
package/lib/footer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../src/footer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../src/footer.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -11,17 +11,17 @@
11
11
  import { mkdir, writeFile } from 'node:fs/promises';
12
12
  import { homedir } from 'node:os';
13
13
  import { dirname, join, resolve } from 'node:path';
14
- import { Loader, Text } from '@earendil-works/pi-tui';
14
+ import { Loader } from '@earendil-works/pi-tui';
15
15
  import { CommandService } from "./commands.js";
16
- import { FOOTER_HINT, PowerlineFooter } from "./footer.js";
16
+ import { FooterHint, PowerlineFooter } from "./footer.js";
17
17
  import { GitBranchWatcher } from "./git.js";
18
- import { ensureAppendSystemFile, dshHome, migrateAgentsMdTodoSection, readAppendSystem } from "./append-system.js";
18
+ import { ensureAppendSystemFile, dshHome, migrateAgentsMdTodoSection } from "./append-system.js";
19
19
  import { TranscriptRenderer } from "./messages.js";
20
20
  import { AGENT_TICK_MS, LiveWidgets } from "./live-widgets.js";
21
21
  import { displayPermissionPreset } from "./permission.js";
22
22
  import { pickEffort, pickModel, pickPermission, pickTheme } from "./selectors.js";
23
23
  import { DshSessionBridge, persistDefaultModel, stashSessionIdForReload, takeStashedSessionId } from "./session.js";
24
- import { currentThemePreference, readPanelHeightPreference, readThemePreference, registerThemeSettings, writeThemePreference, } from "./theme-settings.js";
24
+ import { currentThemePreference, readFooterHintsPreference, readPanelHeightPreference, readThemePreference, registerThemeSettings, writeThemePreference, } from "./theme-settings.js";
25
25
  import { openAgentManager } from "./agents.js";
26
26
  import { openSettingsBrowser } from "./settings.js";
27
27
  import { reloadPlugin } from "./reload.js";
@@ -52,19 +52,18 @@ const QUIT_CONFIRM_MS = 200;
52
52
  */
53
53
  const STOP_CONFIRM_MS = 200;
54
54
  /** The TUI drives the agent factory and registers slash commands. */
55
- export const inject = ['agents', 'commands', 'systemPrompt'];
55
+ export const inject = ['agents', 'commands'];
56
56
  export function apply(ctx) {
57
57
  let handle;
58
58
  // APPEND_SYSTEM.md (pi's convention; dsh side ~/.dsh/APPEND_SYSTEM.md): a
59
- // user-editable file appended to the system prompt of every agent this TUI
60
- // creates. The section text provider reads the file at each assembly, so
61
- // edits apply to the next request without a restart or watcher. Empty
62
- // content contributes nothing.
63
- ctx.effect(() => ctx.systemPrompt.section({
64
- name: 'dsh-tui-pi:append-system',
65
- order: 200,
66
- text: () => readAppendSystem(),
67
- }), 'dsh-tui-pi: append-system');
59
+ // user-editable file appended to the system prompt of the MAIN agent this
60
+ // TUI creates - and to no subagent (an orchestrator identity riding on the
61
+ // children defeats its own purpose). The section is registered on the
62
+ // agent's scoped context inside DshSessionBridge's create/resume setup
63
+ // (see installAppendSystem in session.ts); the text provider reads the
64
+ // file at each assembly, so edits apply to the next request without a
65
+ // restart or watcher, and empty content contributes nothing.
66
+ //
68
67
  // The TUI's own todo-lifecycle guidance rides the same file (idempotent
69
68
  // marker); a fresh file is seeded with the orchestrator template. The
70
69
  // legacy AGENTS.md delivery is migrated out. All best-effort.
@@ -83,6 +82,12 @@ export function apply(ctx) {
83
82
  * the new row budget. Armed inside runTui once the renderer exists.
84
83
  */
85
84
  let applyPanelHeightRef;
85
+ /**
86
+ * Live footer-hints hot-reload sink, wired to the same watch hook: a
87
+ * committed `dsh-tui` footerHints change repaints the footer hint bar with
88
+ * the new segment selection. Armed inside runTui once the TUI exists.
89
+ */
90
+ let applyFooterHintsRef;
86
91
  ctx.effect(async () => {
87
92
  // The theme bundle is built once at TUI startup and held by every
88
93
  // component, so the persisted preference must land before startTui — the
@@ -90,7 +95,8 @@ export function apply(ctx) {
90
95
  // awaits it (bounded, degrades to the defaults without a settings
91
96
  // service). The registration also watches the namespace: `applies:
92
97
  // 'live'`, so later commits (the /theme picker, the /settings browser, an
93
- // external edit) hot-apply through applyThemeRef / applyPanelHeightRef.
98
+ // external edit) hot-apply through applyThemeRef / applyPanelHeightRef /
99
+ // applyFooterHintsRef.
94
100
  // Panel height FIRST, theme second: a single commit of both fields (a
95
101
  // namespace-level reset, an external edit) must not replay twice at the
96
102
  // wrong height. setPanelHeight + relayout repaint the transcript at the
@@ -98,15 +104,17 @@ export function apply(ctx) {
98
104
  // that new height, so the theme rebuild is the one complete rebuild.
99
105
  // applyTheme carries the theme-bundle identity guard, so a height-only
100
106
  // commit never triggers a second rebuild.
101
- registerThemeSettings(ctx, (pref, height) => {
107
+ registerThemeSettings(ctx, (pref, height, footerHints) => {
102
108
  applyPanelHeightRef?.(height);
103
109
  applyThemeRef?.(pref);
110
+ applyFooterHintsRef?.(footerHints);
104
111
  });
105
112
  const themePreference = await readThemePreference(ctx);
106
113
  const panelHeight = await readPanelHeightPreference(ctx);
114
+ const footerHints = await readFooterHintsPreference(ctx);
107
115
  let disposer;
108
116
  try {
109
- disposer = runTui(themePreference, panelHeight);
117
+ disposer = runTui(themePreference, panelHeight, footerHints);
110
118
  }
111
119
  catch (error) {
112
120
  // An async-effect failure after startTui would otherwise orphan the
@@ -120,13 +128,14 @@ export function apply(ctx) {
120
128
  return disposer;
121
129
  }, 'dsh-tui-pi.render');
122
130
  /**
123
- * Build the TUI and its slash commands for the resolved theme preference
124
- * and panel height. Declared as a hoisted function so the effect body stays
125
- * a thin wrapper: the whole build runs inside the try/catch above, so any
126
- * failure disposes the TUI handle before the error reaches cordis. Returns
127
- * the effect disposer handed back to cordis on teardown.
131
+ * Build the TUI and its slash commands for the resolved theme preference,
132
+ * panel height and footer-hint selection. Declared as a hoisted function so
133
+ * the effect body stays a thin wrapper: the whole build runs inside the
134
+ * try/catch above, so any failure disposes the TUI handle before the error
135
+ * reaches cordis. Returns the effect disposer handed back to cordis on
136
+ * teardown.
128
137
  */
129
- function runTui(themePreference, panelHeight) {
138
+ function runTui(themePreference, panelHeight, footerHints) {
130
139
  // User keybindings (`~/.dsh/keybindings.json`): a partial map of the app
131
140
  // keys, read once per TUI start — `/reload` re-runs apply() and re-reads
132
141
  // it. Broken entries surface as notices instead of breaking startup.
@@ -865,18 +874,18 @@ export function apply(ctx) {
865
874
  };
866
875
  ui.footer.clear();
867
876
  ui.footer.addChild(new PowerlineFooter(footerSource));
868
- // Keybinding hint, added *after* the clear above: the placeholder line in
869
- // tui.ts used to be wiped before first render. paddingX 1 aligns the text
870
- // with the powerline segment labels (each starts with a leading space).
871
- // The hint is the footer stack's only theme-dependent piece (the powerline
872
- // segments carry fixed theme-agnostic colors) — `paintFooterHint` re-colors
873
- // it under a theme hot-swap; the PowerlineFooter itself needs no rebuild.
874
- const footerHint = new Text('', 1, 0);
875
- const paintFooterHint = () => {
876
- footerHint.setText(ansiFg(ui.theme.palette.fgSubtle) + FOOTER_HINT + RESET);
877
- };
878
- paintFooterHint();
877
+ // Keybinding hint, added *after* the clear above: a single width-clipped
878
+ // row (never word-wraps) reading the live footer-hints selection through
879
+ // its getter a /settings toggle applies on the next repaint, and the
880
+ // theme colors follow `ui.theme` (see FooterHint in footer.ts).
881
+ let footerHintsRef = footerHints;
882
+ const footerHint = new FooterHint(() => ui.theme, () => footerHintsRef);
879
883
  ui.footer.addChild(footerHint);
884
+ // Arm the footer-hints watch sink now that the TUI exists (see apply()).
885
+ applyFooterHintsRef = (hints) => {
886
+ footerHintsRef = hints;
887
+ ui.requestRender();
888
+ };
880
889
  /**
881
890
  * Hot-apply a theme bundle to the running TUI: the transcript rebuilds
882
891
  * from its replay buffer, the dock/editor swap to the new bundle, and the
@@ -892,7 +901,6 @@ export function apply(ctx) {
892
901
  renderer.setTheme(theme);
893
902
  liveWidgets.setTheme(theme);
894
903
  ui.applyTheme(theme);
895
- paintFooterHint();
896
904
  if (loader !== undefined) {
897
905
  loader.stop();
898
906
  ui.status.removeChild(loader);
@@ -1057,6 +1065,7 @@ export function apply(ctx) {
1057
1065
  git.dispose();
1058
1066
  applyThemeRef = undefined;
1059
1067
  applyPanelHeightRef = undefined;
1068
+ applyFooterHintsRef = undefined;
1060
1069
  // Stop the TUI FIRST, before the (possibly slow) agent teardown: the
1061
1070
  // terminal must be released while the fiber is still alone with it.
1062
1071
  // Deferring tui.stop() until after `await bridge.dispose()` lets any