@wrongstack/tui 0.303.0 → 0.305.1

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.
@@ -85,7 +85,7 @@ export type Settings = {
85
85
  * live-settings coercion always fills in a full map.
86
86
  */
87
87
  panelPositions?: Partial<PanelPositionMap>;
88
- /** Show SAGE Memory Inject blocks in tool results. Default: false (hidden). */
88
+ /** Show SAGE Memory Inject chips in tool results. Default: true (compact). */
89
89
  showSageMemoryInject: boolean;
90
90
  /** Minimum relation strength for SAGE memory injection. Default: 0.85. */
91
91
  sageMemoryInjectThreshold: number;
@@ -116,18 +116,20 @@ export declare function formatDiffStats(added: number, removed: number): string
116
116
  /**
117
117
  * Return the token list to render on a diff wash (`diffAddBg` /
118
118
  * `diffDelBg`). When `onWash` is false the input is returned unchanged —
119
- * plain-background rendering keeps the conventional dim/gray comment
120
- * look and there is no contrast reason to intervene.
119
+ * plain-background rendering keeps the conventional dim comment look and
120
+ * there is no contrast reason to intervene.
121
121
  *
122
- * When `onWash` is true, comment tokens (color `gray`, conventionally
123
- * `dim: true`) are promoted to a brighter foreground (`grayBright`) and
124
- * lose their dim flag. The diff wash is dark enough that `dim gray`
125
- * (`pastel.gray`) falls below WCAG AA contrast on either `theme.diffAddBg`
126
- * (ratio ≈ 2.91) or `theme.diffDelBg` (ratio ≈ 3.47) and reads as near-
127
- * invisible noise; `grayBright` clears both wash backgrounds (≥ 4.5) and
128
- * keeps the comment visually secondary without becoming unreadable.
129
- * Non-comment tokens pass through unchanged so the rest of the line keeps
130
- * its existing syntax palette on the wash.
122
+ * When `onWash` is true, comment tokens are re-pointed from the
123
+ * `syntax.comment` role to `syntax.commentOnWash` and lose their dim flag.
124
+ * `syntax.comment` resolves to `theme.textMuted`, which is chosen to recede
125
+ * against `theme.surface` and therefore falls below WCAG AA on either wash;
126
+ * `syntax.commentOnWash` resolves to `theme.textSecondary`, which clears both
127
+ * (≥ 4.5) while keeping the comment visually secondary. Because both sides
128
+ * are ROLES, the promotion follows `/theme` automatically instead of pinning
129
+ * one hardcoded grey for all 35 presets.
130
+ *
131
+ * Non-comment tokens pass through unchanged so the rest of the line keeps its
132
+ * syntax palette on the wash.
131
133
  *
132
134
  * Exported for unit testing — `renderTokens` calls it before mapping to
133
135
  * `<Text>` elements so the override logic itself stays a pure function.
@@ -38,6 +38,15 @@ export declare function computeBoardColumnLayout(totalColumns: number, terminalW
38
38
  columnWidth: number;
39
39
  overflow: number;
40
40
  };
41
+ /**
42
+ * The next stage a managed card may advance to, or null when the card is
43
+ * already at the terminal `done` stage (or the current stage is unknown).
44
+ * The domain only allows one-step forward transitions; callers must keep
45
+ * this in lockstep with `KANBAN_AGENT_STAGES` in `@wrongstack/kanban`.
46
+ *
47
+ * Exported so unit tests can pin the stage order without rendering the panel.
48
+ */
49
+ export declare function nextManagedStage(current: KanbanLifecycleStage): KanbanLifecycleStage | null;
41
50
  /**
42
51
  * Look up the lifecycle stage that owns the given column under a managed
43
52
  * Kanban Agent board. Returns null when the board is not managed, or when
@@ -58,9 +58,8 @@ export declare const MULTI_DIFF_SUMMARY_THRESHOLD_PRESETS: number[];
58
58
  export declare const ENHANCE_LANGUAGES: readonly ['original', 'english'];
59
59
  export type EnhanceLanguage = (typeof ENHANCE_LANGUAGES)[number];
60
60
  /** Token-saving tier options — cyclable via ←/→ in the settings picker.
61
- * `auto` is the default: it keeps all tools and picks a leaner PROMPT only on
62
- * small context windows (cache-safe). The concrete tiers below force a fixed
63
- * level regardless of window. */
61
+ * `auto` is the default: it keeps the executable catalog, uses the medium
62
+ * direct surface, and adapts prompt trimming to the model window. */
64
63
  export declare const TOKEN_SAVING_TIERS: readonly ['auto', 'off', 'minimal', 'light', 'medium', 'aggressive'];
65
64
  export type TokenSavingTierTui = (typeof TOKEN_SAVING_TIERS)[number];
66
65
  export declare const TOKEN_SAVING_TIER_DESCS: Record<TokenSavingTierTui, string>;
@@ -4,6 +4,7 @@ export interface ToolPickerItem {
4
4
  owner: string;
5
5
  category: string;
6
6
  enabled: boolean;
7
+ exposure: 'direct' | 'lazy' | 'disabled';
7
8
  mutating: boolean;
8
9
  permission: string;
9
10
  descMode: 'extend' | 'simple';