@wrongstack/tui 0.313.1 → 0.316.2

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 (171) hide show
  1. package/dist/app-action-type.d.ts +56 -0
  2. package/dist/app-initial-state.d.ts +2 -1
  3. package/dist/app-props.d.ts +45 -2
  4. package/dist/app-settings-type.d.ts +7 -0
  5. package/dist/app-state-core-types.d.ts +18 -0
  6. package/dist/app-state.d.ts +42 -0
  7. package/dist/app-status-region.d.ts +1 -1
  8. package/dist/app-view-contract.d.ts +2 -1
  9. package/dist/app-view-pickers.d.ts +2 -1
  10. package/dist/app-view-sidebar.d.ts +2 -1
  11. package/dist/brain-panel-model.d.ts +0 -2
  12. package/dist/checkpoint-retention.d.ts +2 -3
  13. package/dist/components/agents-monitor.d.ts +3 -3
  14. package/dist/components/auth-panel.d.ts +2 -1
  15. package/dist/components/brain-decision-prompt.d.ts +2 -1
  16. package/dist/components/clear-confirm-panel.d.ts +4 -3
  17. package/dist/components/composer-status-chip.d.ts +3 -2
  18. package/dist/components/confirm-prompt.d.ts +2 -1
  19. package/dist/components/context-panel.d.ts +2 -1
  20. package/dist/components/continue-confirm-panel.d.ts +3 -2
  21. package/dist/components/coordinator-panel.d.ts +2 -1
  22. package/dist/components/cron-jobs.d.ts +2 -1
  23. package/dist/components/design-picker.d.ts +2 -1
  24. package/dist/components/enhance-panel.d.ts +4 -3
  25. package/dist/components/esc-confirm-prompt.d.ts +2 -1
  26. package/dist/components/exit-confirm-panel.d.ts +3 -2
  27. package/dist/components/f-key-picker.d.ts +1 -2
  28. package/dist/components/fallback-overlay.d.ts +2 -1
  29. package/dist/components/fleet-monitor.d.ts +2 -1
  30. package/dist/components/fleet-panel.d.ts +4 -4
  31. package/dist/components/goal-kanban-panel.d.ts +2 -1
  32. package/dist/components/help-overlay.d.ts +2 -1
  33. package/dist/components/help-panel.d.ts +2 -1
  34. package/dist/components/history/code-block-diff-helpers.d.ts +1 -6
  35. package/dist/components/history/code-block.d.ts +0 -2
  36. package/dist/components/history/copy-registry.d.ts +2 -1
  37. package/dist/components/history/index.d.ts +2 -2
  38. package/dist/components/history/replay.d.ts +2 -1
  39. package/dist/components/history/sage-memory-block.d.ts +0 -6
  40. package/dist/components/history/scroll-controller-types.d.ts +7 -12
  41. package/dist/components/history/selection-band-store.d.ts +3 -2
  42. package/dist/components/history/selection-helpers.d.ts +24 -65
  43. package/dist/components/history/tool-card.d.ts +2 -1
  44. package/dist/components/history/tool-group.d.ts +0 -7
  45. package/dist/components/history/use-history-controller.d.ts +2 -1
  46. package/dist/components/history/utils.d.ts +1 -1
  47. package/dist/components/history/wrap-geometry.d.ts +18 -125
  48. package/dist/components/history.d.ts +1 -1
  49. package/dist/components/kanban-panel.d.ts +7 -25
  50. package/dist/components/live-activity-strip.d.ts +2 -1
  51. package/dist/components/mailbox-panel.d.ts +2 -1
  52. package/dist/components/mcp-picker.d.ts +2 -1
  53. package/dist/components/mode-picker.d.ts +2 -1
  54. package/dist/components/model-picker.d.ts +2 -1
  55. package/dist/components/monitor-shell.d.ts +3 -2
  56. package/dist/components/phase-monitor.d.ts +2 -1
  57. package/dist/components/plan-panel.d.ts +3 -2
  58. package/dist/components/plugin-picker.d.ts +2 -1
  59. package/dist/components/powerline-rail.d.ts +2 -1
  60. package/dist/components/project-picker.d.ts +2 -1
  61. package/dist/components/prompt-picker.d.ts +2 -1
  62. package/dist/components/refine-countdown-panel.d.ts +3 -2
  63. package/dist/components/refine-failure-panel.d.ts +2 -1
  64. package/dist/components/resource-menu.d.ts +2 -1
  65. package/dist/components/resume-picker.d.ts +2 -1
  66. package/dist/components/scrollable-history.d.ts +2 -2
  67. package/dist/components/send-mode-picker.d.ts +3 -2
  68. package/dist/components/sessions-panel.d.ts +2 -1
  69. package/dist/components/settings-picker-filter.d.ts +2 -1
  70. package/dist/components/settings-picker.d.ts +3 -1
  71. package/dist/components/shadow-panel.d.ts +2 -1
  72. package/dist/components/shell-command-warning.d.ts +2 -1
  73. package/dist/components/sidebar-content.d.ts +4 -9
  74. package/dist/components/sidebar-panel-frame.d.ts +2 -13
  75. package/dist/components/sidebar.d.ts +2 -1
  76. package/dist/components/skill-picker.d.ts +2 -1
  77. package/dist/components/slash-confirm-panel.d.ts +3 -2
  78. package/dist/components/slash-menu.d.ts +2 -1
  79. package/dist/components/status-bar-format.d.ts +2 -0
  80. package/dist/components/status-bar-icons.d.ts +4 -0
  81. package/dist/components/status-bar-rails.d.ts +19 -6
  82. package/dist/components/status-bar-types.d.ts +18 -0
  83. package/dist/components/status-bar.d.ts +17 -7
  84. package/dist/components/status-line-registry.d.ts +62 -0
  85. package/dist/components/statusline-picker.d.ts +5 -27
  86. package/dist/components/theme-picker.d.ts +2 -1
  87. package/dist/components/theme-preview.d.ts +2 -1
  88. package/dist/components/tools-picker.d.ts +2 -1
  89. package/dist/components/topic-check-panel.d.ts +2 -1
  90. package/dist/connections-slash.d.ts +2 -1
  91. package/dist/context-fill.d.ts +4 -3
  92. package/dist/context-slash.d.ts +3 -2
  93. package/dist/cron-slash.d.ts +2 -1
  94. package/dist/esc-close-panels.d.ts +2 -1
  95. package/dist/f-key-panels.d.ts +1 -1
  96. package/dist/git-info.d.ts +22 -3
  97. package/dist/height-cache.d.ts +2 -8
  98. package/dist/history-entry.d.ts +4 -3
  99. package/dist/history-retention.d.ts +16 -6
  100. package/dist/hit-test.d.ts +2 -1
  101. package/dist/hooks/subagent-history-format.d.ts +2 -1
  102. package/dist/hooks/use-app-session-state.d.ts +2 -1
  103. package/dist/hooks/use-auth-panel.d.ts +2 -1
  104. package/dist/hooks/use-brain-panel.d.ts +2 -1
  105. package/dist/hooks/use-chip-staleness-guard.d.ts +4 -3
  106. package/dist/hooks/use-core-tui-commands.d.ts +1 -1
  107. package/dist/hooks/use-director-fleet-bridge.d.ts +2 -4
  108. package/dist/hooks/use-exit-command.d.ts +1 -1
  109. package/dist/hooks/use-file-search.d.ts +3 -7
  110. package/dist/hooks/use-fleet-generation-gate.d.ts +2 -1
  111. package/dist/hooks/use-git-session-status.d.ts +1 -1
  112. package/dist/hooks/use-history-archive.d.ts +3 -2
  113. package/dist/hooks/use-input-history-persistence.d.ts +2 -1
  114. package/dist/hooks/use-mode-picker.d.ts +2 -1
  115. package/dist/hooks/use-model-pick.d.ts +2 -1
  116. package/dist/hooks/use-next-steps-auto-submit.d.ts +2 -2
  117. package/dist/hooks/use-panel-controllers.d.ts +3 -1
  118. package/dist/hooks/use-paste-handling.d.ts +2 -1
  119. package/dist/hooks/use-prompt-picker.d.ts +4 -3
  120. package/dist/hooks/use-session-rewind.d.ts +2 -1
  121. package/dist/hooks/use-shadow-panel.d.ts +2 -1
  122. package/dist/hooks/use-sidebar-panel-data.d.ts +4 -3
  123. package/dist/hooks/use-status-sync-interval.d.ts +2 -1
  124. package/dist/hooks/use-statusline-hidden-sync.d.ts +2 -1
  125. package/dist/hooks/use-statusline-state.d.ts +9 -3
  126. package/dist/hooks/use-stream-chip-expiration.d.ts +3 -2
  127. package/dist/hooks/use-terminal-size.d.ts +3 -2
  128. package/dist/hooks/use-theme-picker-handler.d.ts +2 -1
  129. package/dist/hooks/use-tui-activity.d.ts +2 -1
  130. package/dist/hooks/use-tui-controllers.d.ts +2 -1
  131. package/dist/hooks/use-tui-environment-state.d.ts +7 -5
  132. package/dist/hooks/use-tui-event-bridge.d.ts +1 -1
  133. package/dist/index.js +8509 -8341
  134. package/dist/ink.d.ts +1 -1
  135. package/dist/input-editing.d.ts +2 -1
  136. package/dist/input-tokens.d.ts +2 -1
  137. package/dist/input-validation/action-types.d.ts +1 -1
  138. package/dist/input-validation.d.ts +4 -4
  139. package/dist/kanban-slash.d.ts +8 -32
  140. package/dist/layout-store.d.ts +2 -1
  141. package/dist/markdown-table.d.ts +1 -3
  142. package/dist/memory-context-monitor.d.ts +3 -2
  143. package/dist/memory-lifecycle-entry.d.ts +2 -1
  144. package/dist/memory-slash-format.d.ts +0 -1
  145. package/dist/mouse.d.ts +3 -2
  146. package/dist/overlay-key-router.d.ts +5 -4
  147. package/dist/paste-accumulator.d.ts +3 -2
  148. package/dist/prompt-refinement-start.d.ts +1 -1
  149. package/dist/reducers/composer.d.ts +1 -1
  150. package/dist/reducers/conversation.d.ts +1 -1
  151. package/dist/reducers/helpers.d.ts +16 -3
  152. package/dist/resume-load.d.ts +131 -0
  153. package/dist/run-blocks-controller.d.ts +2 -1
  154. package/dist/run-tui-client-registration.d.ts +3 -2
  155. package/dist/run-tui-options.d.ts +35 -2
  156. package/dist/run-tui-teardown.d.ts +2 -1
  157. package/dist/run-tui-title-controller.d.ts +2 -1
  158. package/dist/scroll-anchor.d.ts +2 -4
  159. package/dist/slash-command-lifecycle.d.ts +2 -1
  160. package/dist/submit-history.d.ts +2 -1
  161. package/dist/submit-prompt-refinement.d.ts +3 -2
  162. package/dist/terminal-title.d.ts +2 -1
  163. package/dist/theme.d.ts +2 -2
  164. package/dist/token-previews.d.ts +2 -1
  165. package/dist/tui-host-capabilities.d.ts +1 -1
  166. package/dist/tui-memory-counters.d.ts +2 -1
  167. package/dist/ui-contracts.d.ts +1 -1
  168. package/dist/ui-glyphs.d.ts +3 -1
  169. package/dist/workbench-slash.d.ts +2 -1
  170. package/package.json +9 -9
  171. package/dist/react-children-flatten.d.ts +0 -28
@@ -42,7 +42,7 @@ export interface DurableTeardownOptions {
42
42
  /** Exit function — injectable so tests don't need process.exit. */
43
43
  exit: (code: number) => void;
44
44
  }
45
- export interface DurableTeardown {
45
+ interface DurableTeardown {
46
46
  /**
47
47
  * Signal-driven shutdown (SIGTERM/SIGHUP/Ctrl+C): full ordered sequence,
48
48
  * ends by calling exit(). Safe to fire concurrently from several handlers
@@ -59,4 +59,5 @@ export interface DurableTeardown {
59
59
  salvageSync(): void;
60
60
  }
61
61
  export declare function createDurableTeardown(opts: DurableTeardownOptions): DurableTeardown;
62
+ export {};
62
63
  //# sourceMappingURL=run-tui-teardown.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type { EventBus } from '@wrongstack/core/kernel';
2
- export interface RunTuiTitleController {
2
+ interface RunTuiTitleController {
3
3
  setEnabled(on: boolean): void;
4
4
  setModel(model: string): void;
5
5
  }
@@ -13,4 +13,5 @@ export declare function createRunTuiTitleController(opts: {
13
13
  start: () => void;
14
14
  stop: () => void;
15
15
  };
16
+ export {};
16
17
  //# sourceMappingURL=run-tui-title-controller.d.ts.map
@@ -37,9 +37,6 @@ export interface ScrollGeometry {
37
37
  /** Fixed-height live tail rendered after the last group (0 when absent). */
38
38
  tailRows: number;
39
39
  }
40
- /** Extra rows mounted beyond the visible viewport so rapid scrolling has
41
- * content ready before the next measurement pass. */
42
- export declare const OVERSCAN_ROWS = 8;
43
40
  /** Total scrollable content height in rows (groups + live tail). */
44
41
  export declare function contentRows(geometry: ScrollGeometry): number;
45
42
  /** Highest legal viewport-top row. 0 when everything fits in the viewport. */
@@ -72,7 +69,7 @@ export declare function pageRows(viewportRows: number): number;
72
69
  */
73
70
  export declare function anchorForTrackCell(geometry: ScrollGeometry, cell: number): ScrollAnchor | null;
74
71
  /** Result of planning which groups to mount for one frame. */
75
- export interface MountPlan {
72
+ interface MountPlan {
76
73
  /** First group index to mount (inclusive). */
77
74
  startIdx: number;
78
75
  /** Last group index to mount (exclusive). */
@@ -96,4 +93,5 @@ export declare function planFromAnchor(geometry: ScrollGeometry, anchor: ScrollA
96
93
  * `justifyContent:'flex-end'`, so generosity is safe.
97
94
  */
98
95
  export declare function planPinned(geometry: ScrollGeometry, extraRows?: number): MountPlan;
96
+ export {};
99
97
  //# sourceMappingURL=scroll-anchor.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type { SlashCommandRegistry } from '@wrongstack/core/registry';
2
2
  import type { SlashCommand } from '@wrongstack/core/types';
3
- export interface SlashCommandRegistrationOptions {
3
+ interface SlashCommandRegistrationOptions {
4
4
  owner?: string | undefined;
5
5
  official?: boolean | undefined;
6
6
  }
@@ -14,4 +14,5 @@ export interface SlashCommandRegistrationOptions {
14
14
  * host command that must become visible again after the TUI unmounts.
15
15
  */
16
16
  export declare function registerSlashCommandLifecycle(registry: SlashCommandRegistry, command: SlashCommand, options?: SlashCommandRegistrationOptions): () => void;
17
+ export {};
17
18
  //# sourceMappingURL=slash-command-lifecycle.d.ts.map
@@ -1,4 +1,4 @@
1
- export type SubmitHistoryRoute = 'slash' | 'normal';
1
+ type SubmitHistoryRoute = 'slash' | 'normal';
2
2
  /**
3
3
  * Decide whether a submitted input should be pushed into input history.
4
4
  *
@@ -17,4 +17,5 @@ export declare function shouldPushSubmittedHistory(raw: string): {
17
17
  route: SubmitHistoryRoute | 'empty';
18
18
  trimmed: string;
19
19
  };
20
+ export {};
20
21
  //# sourceMappingURL=submit-history.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import type { Action, State } from './app-reducer.js';
2
2
  import type { MutableCell } from './shared-types.js';
3
3
  import type { PromptRefinementCapabilities } from './tui-host-capabilities.js';
4
- export interface PromptRefinementHost {
4
+ interface PromptRefinementHost {
5
5
  readonly capabilities: PromptRefinementCapabilities;
6
6
  readonly status: State['status'];
7
7
  readonly enabled: MutableCell<boolean>;
@@ -18,7 +18,7 @@ export interface PromptRefinementHost {
18
18
  setProviderId(value: string | null): void;
19
19
  setModel(value: string | null): void;
20
20
  }
21
- export type PromptRefinementResult = {
21
+ type PromptRefinementResult = {
22
22
  kind: 'send';
23
23
  effectiveText: string;
24
24
  } | {
@@ -29,4 +29,5 @@ export declare function refineSubmittedPrompt(host: PromptRefinementHost, trimme
29
29
  steering: boolean;
30
30
  continuationResolved: boolean;
31
31
  }): Promise<PromptRefinementResult>;
32
+ export {};
32
33
  //# sourceMappingURL=submit-prompt-refinement.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type { EventBus } from '@wrongstack/core/kernel';
2
- export interface TerminalTitleOptions {
2
+ interface TerminalTitleOptions {
3
3
  stdout: NodeJS.WriteStream;
4
4
  events: EventBus;
5
5
  model?: string | undefined;
@@ -15,4 +15,5 @@ export interface TerminalTitleHandle {
15
15
  setModel(model: string): void;
16
16
  }
17
17
  export declare function startTerminalTitle(opts: TerminalTitleOptions): TerminalTitleHandle;
18
+ export {};
18
19
  //# sourceMappingURL=terminal-title.d.ts.map
package/dist/theme.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { SyntaxPalette, SyntaxRole, Theme, ThemeListener, ThemeName } from './theme-types.js';
2
- export { baseTheme, THEME_OPTIONS, themePickerOptions, themePresets } from './theme-presets.js';
2
+ export { baseTheme, THEME_OPTIONS, themePresets } from './theme-presets.js';
3
3
  export type { SyntaxPalette, SyntaxRole, Theme, ThemeName, ThemePickerOption, } from './theme-types.js';
4
- export { catppuccin, detectSupportsBackground, mixHexColors, pastel, SYNTAX_TOKEN, } from './theme-utils.js';
4
+ export { catppuccin, detectSupportsBackground, pastel, SYNTAX_TOKEN } from './theme-utils.js';
5
5
  export declare const theme: Theme;
6
6
  /**
7
7
  * "Tinted" surface for the right sidebar's cards. We mix the theme's plain
@@ -10,7 +10,7 @@ export declare const TOKEN_PREVIEWS_MAX_CHARS: number;
10
10
  /** Maximum UTF-8 bytes inlined for a text-file mention. Larger files remain
11
11
  * attachable as path references with an explicit read-until-EOF contract. */
12
12
  export declare const TEXT_FILE_ATTACHMENT_INLINE_MAX_BYTES: number;
13
- export interface TokenPreviewBudget {
13
+ interface TokenPreviewBudget {
14
14
  maxEntries?: number | undefined;
15
15
  maxChars?: number | undefined;
16
16
  maxPreviewChars?: number | undefined;
@@ -42,4 +42,5 @@ export declare class TokenPreviewStore {
42
42
  }
43
43
  /** Resolve text/file tokens from the canonical store without caching payloads. */
44
44
  export declare function resolveAttachmentTokens(text: string, attachments: AttachmentStore): Promise<string>;
45
+ export {};
45
46
  //# sourceMappingURL=token-previews.d.ts.map
@@ -3,7 +3,7 @@ import type { SlashCommandRegistry } from '@wrongstack/core/registry';
3
3
  import type { MemoryPort, Provider, ReasoningRequest, TokenCounter } from '@wrongstack/core/types';
4
4
  import type { VisionAdapters } from '@wrongstack/runtime/vision';
5
5
  import type { Action, Settings } from './app-reducer.js';
6
- export interface PickableProviderCapability {
6
+ interface PickableProviderCapability {
7
7
  id: string;
8
8
  family?: string | undefined;
9
9
  models: string[];
@@ -3,7 +3,7 @@
3
3
  * process memory samples. Keep this module payload-free: counters must never
4
4
  * retain provider text, tool outputs, actions or React state.
5
5
  */
6
- export interface TuiMemoryCounters {
6
+ interface TuiMemoryCounters {
7
7
  appRenders: number;
8
8
  providerTextDeltaEvents: number;
9
9
  providerTextDeltaChars: number;
@@ -35,4 +35,5 @@ export declare function setTuiHistoryMemoryGauges(gauges: Pick<TuiMemoryCounters
35
35
  export declare function snapshotTuiMemoryCounters(): Readonly<TuiMemoryCounters>;
36
36
  /** Test-only reset. Production counters are lifetime-monotonic. */
37
37
  export declare function resetTuiMemoryCounters(): void;
38
+ export {};
38
39
  //# sourceMappingURL=tui-memory-counters.d.ts.map
@@ -178,7 +178,7 @@ export interface PromptPickEntry {
178
178
  content: string;
179
179
  favorite: boolean;
180
180
  }
181
- export type ResourceMenuId = 'fallback' | 'profile' | 'provider-status' | 'memory' | 'worktree' | 'git';
181
+ export type ResourceMenuId = 'fallback' | 'tier' | 'profile' | 'provider-status' | 'memory' | 'worktree' | 'git';
182
182
  export interface ResourceMenuDetail {
183
183
  label: string;
184
184
  value: string;
@@ -1,6 +1,6 @@
1
1
  /** A coherent, switchable glyph language for TUI chrome. */
2
2
  export type IconStyle = 'unicode' | 'nerd' | 'ascii';
3
- export interface UiGlyphs {
3
+ interface UiGlyphs {
4
4
  brand: string;
5
5
  prompt: string;
6
6
  success: string;
@@ -37,6 +37,7 @@ export interface UiGlyphs {
37
37
  process: string;
38
38
  cpu: string;
39
39
  brain: string;
40
+ palette: string;
40
41
  auto: string;
41
42
  segmentStart: string;
42
43
  segmentTransition: string;
@@ -139,4 +140,5 @@ export interface UiGlyphs {
139
140
  export declare function resolveIconStyle(env?: NodeJS.ProcessEnv): IconStyle;
140
141
  export declare function glyphSet(style?: IconStyle): UiGlyphs;
141
142
  export declare const glyphs: UiGlyphs;
143
+ export {};
142
144
  //# sourceMappingURL=ui-glyphs.d.ts.map
@@ -1,9 +1,10 @@
1
1
  import type { SlashCommand } from '@wrongstack/core/types';
2
2
  import { type KanbanWorkbenchSnapshot } from '@wrongstack/kanban';
3
- export interface WorkbenchSlashDeps {
3
+ interface WorkbenchSlashDeps {
4
4
  projectRoot: string;
5
5
  }
6
6
  /** Text-first, bounded cross-board view for terminals where the visual panel is closed. */
7
7
  export declare function createWorkbenchSlashCommand(deps: WorkbenchSlashDeps): SlashCommand;
8
8
  export declare function renderWorkbenchReport(snapshot: KanbanWorkbenchSnapshot): string;
9
+ export {};
9
10
  //# sourceMappingURL=workbench-slash.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/tui",
3
- "version": "0.313.1",
3
+ "version": "0.316.2",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack terminal UI: Ink-based interactive renderer with history, pickers, and slash menus.",
6
6
  "repository": {
@@ -26,16 +26,16 @@
26
26
  "!dist/**/*.map"
27
27
  ],
28
28
  "dependencies": {
29
+ "@wrongstack/core": "0.316.2",
30
+ "@wrongstack/kanban": "0.316.2",
31
+ "@wrongstack/runtime": "0.316.2",
32
+ "@wrongstack/sage": "0.316.2",
33
+ "@wrongstack/sdd": "0.316.2",
34
+ "@wrongstack/tools": "0.316.2",
29
35
  "ink": "7.1.1",
30
36
  "react": "^19.2.8",
31
37
  "string-width": "8.2.2",
32
- "wrap-ansi": "^10.0.1",
33
- "@wrongstack/kanban": "0.313.1",
34
- "@wrongstack/sage": "0.313.1",
35
- "@wrongstack/core": "0.313.1",
36
- "@wrongstack/runtime": "0.313.1",
37
- "@wrongstack/tools": "0.313.1",
38
- "@wrongstack/sdd": "0.313.1"
38
+ "wrap-ansi": "^10.0.1"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@testing-library/dom": "^10.4.1",
@@ -54,7 +54,7 @@
54
54
  "scripts": {
55
55
  "build": "node ../../scripts/build-package.mjs",
56
56
  "test": "vitest run --config vitest.config.ts",
57
- "test:status-bar": "vitest run --config vitest.status-bar-overflow.config.ts",
57
+ "test:status-bar": "vitest run --config vitest.status-bar-sgr.config.ts",
58
58
  "test:watch": "vitest --config vitest.config.ts",
59
59
  "test:coverage": "vitest run --coverage --config vitest.config.ts",
60
60
  "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
@@ -1,28 +0,0 @@
1
- /**
2
- * Recursively unwrap React Fragments AND Boxes into a flat list of leaf
3
- * element children.
4
- *
5
- * `React.Children.toArray` does NOT flatten Fragments — a Fragment with three
6
- * `<Text>` children is reported as a single Fragment element. That behavior
7
- * is fine for most React APIs (which then recurse themselves), but in
8
- * sidebar cards we want to wrap EACH child in a `│ … │` row. To do that
9
- * correctly across nested conditional Fragments AND Boxes (which callers
10
- * use to group their body rows), we need a real flattener that pulls the
11
- * children out at any depth.
12
- *
13
- * Box recursion: a `<Box flexDirection="column">` with several Text rows
14
- * inside is treated as a group of separate children, not one block. The
15
- * reason is that the per-row `│ … │` wrapper paints the side bar on the
16
- * FIRST line of each child element — if the Box is treated as a single
17
- * child, only its first line gets a right `│` and the rest of the Box
18
- * overflows past the right edge, visually breaking the frame. Recursing
19
- * into Boxes costs us the inner Box's flex/width/padding context, but
20
- * callers use Boxes for "group my rows vertically" semantics, and the
21
- * per-row `│ … │` wrapper already controls width, padding, and background.
22
- *
23
- * Text/primitive nodes are skipped: we only return elements that the
24
- * caller asked to wrap in `│ … │`.
25
- */
26
- import type { ReactElement, ReactNode } from 'react';
27
- export declare function flattenChildren(node: ReactNode): ReactElement[];
28
- //# sourceMappingURL=react-children-flatten.d.ts.map