@wrongstack/tui 1.0.13 → 1.0.15

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.
@@ -1,4 +1,4 @@
1
1
  /** Known reducer action types — exact, compile-time checked allow-list. */
2
- export declare const ALLOWED_ACTION_TYPES: readonly ["addEntry", "archiveLoaded", "startArchiveLoad", "authBusy", "authCatalog", "authClose", "authConfirmEnd", "authConfirmStart", "authFormCancel", "authFormChange", "authFormStart", "authFilter", "authFlowDone", "authFlowLog", "authFlowStart", "authHint", "authMove", "authOpen", "authPromptChange", "authPromptEnd", "authPromptStart", "authProviders", "authView", "autonomyPickerClose", "autonomyPickerHint", "autonomyPickerMove", "autonomyPickerOpen", "brainBusy", "brainClose", "brainHint", "brainMove", "brainOpen", "brainPromptClear", "brainPromptSet", "brainRiskChange", "brainRowMove", "brainSetLog", "brainSettingsLoaded", "brainStatus", "brainView", "checkpointReceived", "clearConfirmClose", "clearConfirmOpen", "clearConfirmSetValue", "clearHistory", "clearInput", "clearInputHistory", "closeAllPanels", "collabBugFound", "collabEvalComplete", "sidebarScroll", "sidebarScrollSet", "sidebarScrollReset", "toggleSidebarFocus", "skillPickerClose", "skillPickerHint", "skillPickerMove", "skillPickerOpen", "resourceMenuClose", "resourceMenuConfirm", "resourceMenuFilter", "resourceMenuHint", "resourceMenuMove", "resourceMenuOpen", "collabPlanEmitted", "collabSessionDone", "collabSubagentSpawned", "compactHistory", "confirmClearAll", "confirmClose", "confirmResolved", "confirmOpen", "continueConfirmClose", "continueConfirmOpen", "bugHuntContinueClose", "bugHuntContinueOpen", "bugHuntRunningClose", "bugHuntRunningOpen", "copiedNotice", "coordinatorEvent", "countdownEnded", "countdownTick", "debugStreamStats", "debugStreamStatsClear", "dequeueFirst", "designPickerClose", "designPickerMove", "designPickerOpen", "designPickerStack", "enhanceBusy", "enhanceClose", "enhanceOpen", "enhanceSet", "enqueue", "escConfirmClose", "escConfirmOpen", "fallbackOverlayClose", "fallbackOverlayMove", "fallbackOverlayOpen", "inspectOverlayClose", "inspectOverlayOpen", "inspectOverlayScroll", "eternalStage", "exitConfirmClose", "exitConfirmOpen", "fKeyPickerClose", "fKeyPickerMove", "fKeyPickerOpen", "fleetBatch", "fleetBudgetExtended", "fleetBudgetWarning", "fleetConcurrency", "fleetCost", "fleetCtxPct", "fleetDelta", "fleetDone", "fleetMessage", "fleetRemove", "fleetSeed", "fleetSpawn", "fleetStart", "fleetTool", "fleetToolEnd", "fleetToolStart", "fleetUsage", "goalRunElapsed", "goalRunInit", "goalRunMonitorToggle", "goalRunPhaseUpdate", "goalRunReset", "goalRunRunningPhases", "goalRunTaskActive", "goalSummary", "helpClose", "helpFilter", "helpHint", "helpMove", "helpOpen", "hint", "historyDown", "historyPush", "historyUp", "interrupt", "leaderCtxPct", "leaderIterEnd", "leaderIterStart", "leaderToolEnd", "leaderToolStart", "mcpPickerBusy", "mcpPickerClose", "mcpPickerHint", "mcpPickerMove", "mcpPickerOpen", "mcpPickerSetItems", "modePickerClose", "modePickerHint", "modePickerMove", "modePickerOpen", "modelPickerBack", "modelPickerClose", "modelPickerEffort", "modelPickerHint", "modelPickerMove", "modelPickerOpen", "modelPickerPickProvider", "modelPickerSearch", "pickerClose", "pickerMove", "pickerOpen", "pickerSetMatches", "pluginPickerBusy", "pluginPickerClose", "pluginPickerHint", "pluginPickerMove", "pluginPickerOpen", "pluginPickerSetItems", "projectPickerClose", "projectPickerFilter", "projectPickerHint", "projectPickerMove", "projectPickerOpen", "promptPickerCategory", "promptPickerClose", "promptPickerMove", "promptPickerOpen", "queueClear", "queueDelete", "queueToggleRefine", "refineCountdownClose", "refineCountdownOpen", "refineFailureClose", "refineFailureOpen", "replaceHistory", "autoProceedRelease", "bashModeEnter", "bashModeExit", "resumeLoadStart", "resumeLoadTick", "resumeStreamChunk", "resumeLoadAbort", "resetContextChip", "resetInterrupts", "resumePickerBusy", "resumePickerClose", "resumePickerError", "resumePickerHint", "resumePickerMove", "resumePickerOpen", "rewindOverlayClose", "rewindOverlayMove", "rewindOverlayOpen", "sddBoardSnapshot", "sddBoardFocusNext", "sddBoardFocusPrev", "sendModePickerClose", "sendModePickerMove", "sendModePickerOpen", "sessionResumeConfirmClear", "sessionResumeConfirmSet", "sessionRewound", "sessionsPanelBusy", "sessionsPanelMove", "sessionsPanelSet", "setBuffer", "setFleetChat", "setHistoryScrolled", "setInputHistory", "setViewportRows", "settingsClose", "settingsFieldMove", "settingsFieldSet", "settingsFilterSet", "settingsHint", "settingsOpen", "settingsThinkingEditCancel", "settingsThinkingEditChange", "settingsThinkingEditCommit", "settingsThinkingEditStart", "settingsWrongProxyUrlEditCancel", "settingsWrongProxyUrlEditChange", "settingsWrongProxyUrlEditCommit", "settingsWrongProxyUrlEditStart", "settingsValueChange", "settingsValueSet", "shadowClose", "shadowHint", "shadowOpen", "shadowUpdate", "shellCommandWarningClose", "shellCommandWarningOpen", "slashConfirmClose", "slashConfirmOpen", "slashPickerClose", "slashPickerMove", "slashPickerOpen", "status", "statuslineChipExpire", "statuslineChipShow", "statuslineClose", "statuslineFieldMove", "statuslineFieldSet", "statuslineFilter", "statuslineHint", "statuslineMoveLine", "statuslineOpen", "statuslineResetLayout", "statuslineSetDensity", "statuslineSetLine", "statuslineToggle", "statuslineToggleLine", "statuslineVisibleChipsSync", "subagentModelsClose", "subagentModelsHint", "subagentModelsMove", "subagentModelsOpen", "subagentModelsUpdate", "steerConsume", "steerStart", "streamDelta", "streamReset", "themePickerClose", "themePickerHint", "themePickerMove", "themePickerOpen", "toggleAgentsMonitor", "toggleAuditPanel", "toggleContextPanel", "toggleConnectionsPanel", "toggleCoordinatorMonitor", "toggleCronMonitor", "toggleGoalKanbanPanel", "toggleGoalPanel", "toggleHelp", "toggleKanbanPanel", "toggleMonitor", "togglePlanPanel", "toggleProcessList", "toggleQueuePanel", "toggleSddBoardMonitor", "toggleSessionsPanel", "toggleTodosMonitor", "toggleWorktreeMonitor", "toolEnded", "toolStarted", "toolStreamAppend", "toolStreamClear", "toolResultViewSet", "topicCheckBusy", "toolsPickerBusy", "toolsPickerClose", "toolsPickerFilter", "toolsPickerHint", "toolsPickerMove", "toolsPickerOpen", "toolsPickerSetItems", "toolsPickerToggle", "worktreeRemove", "worktreeUpsert"];
2
+ export declare const ALLOWED_ACTION_TYPES: readonly ["addEntry", "archiveLoaded", "startArchiveLoad", "authBusy", "authCatalog", "authClose", "authConfirmEnd", "authConfirmStart", "authFormCancel", "authFormChange", "authFormStart", "authFilter", "authFlowDone", "authFlowLog", "authFlowStart", "authHint", "authMove", "authOpen", "authPromptChange", "authPromptEnd", "authPromptStart", "authProviders", "authView", "autonomyPickerClose", "autonomyPickerHint", "autonomyPickerMove", "autonomyPickerOpen", "brainBusy", "brainClose", "brainHint", "brainMove", "brainOpen", "brainPromptClear", "brainPromptSet", "brainRiskChange", "brainRowMove", "brainSetLog", "brainSettingsLoaded", "brainStatus", "brainView", "checkpointReceived", "clearConfirmClose", "clearConfirmOpen", "clearConfirmSetValue", "clearHistory", "clearInput", "clearInputHistory", "closeAllPanels", "collabBugFound", "collabEvalComplete", "sidebarScroll", "sidebarScrollSet", "sidebarScrollReset", "toggleSidebarFocus", "skillPickerClose", "skillPickerHint", "skillPickerMove", "skillPickerOpen", "resourceMenuClose", "resourceMenuConfirm", "resourceMenuFilter", "resourceMenuHint", "resourceMenuMove", "resourceMenuOpen", "collabPlanEmitted", "collabSessionDone", "collabSubagentSpawned", "compactHistory", "confirmClearAll", "confirmClose", "confirmResolved", "confirmOpen", "continueConfirmClose", "continueConfirmOpen", "bugHuntContinueClose", "bugHuntContinueOpen", "bugHuntRunningClose", "bugHuntRunningOpen", "copiedNotice", "coordinatorEvent", "countdownEnded", "countdownTick", "debugStreamStats", "debugStreamStatsClear", "dequeueFirst", "designPickerClose", "designPickerMove", "designPickerOpen", "designPickerStack", "enhanceBusy", "enhanceClose", "enhanceOpen", "enhanceSet", "enqueue", "escConfirmClose", "escConfirmOpen", "fallbackOverlayClose", "fallbackOverlayMove", "fallbackOverlayOpen", "inspectOverlayClose", "inspectOverlayOpen", "inspectOverlayScroll", "eternalStage", "exitConfirmClose", "exitConfirmOpen", "fKeyPickerClose", "fKeyPickerMove", "fKeyPickerOpen", "fleetBatch", "fleetBudgetExtended", "fleetBudgetWarning", "fleetConcurrency", "fleetCost", "fleetCtxPct", "fleetDelta", "fleetDone", "fleetMessage", "fleetRemove", "fleetSeed", "fleetSpawn", "fleetStart", "fleetTool", "fleetToolEnd", "fleetToolStart", "fleetUsage", "goalRunElapsed", "goalRunInit", "goalRunMonitorToggle", "goalRunPhaseUpdate", "goalRunReset", "goalRunRunningPhases", "goalRunTaskActive", "goalSummary", "helpClose", "helpFilter", "helpHint", "helpMove", "helpOpen", "hint", "historyDown", "historyPush", "historyUp", "interrupt", "leaderCtxPct", "leaderIterEnd", "leaderIterStart", "leaderToolEnd", "leaderToolStart", "mcpPickerBusy", "mcpPickerClose", "mcpPickerHint", "mcpPickerMove", "mcpPickerOpen", "mcpPickerSetItems", "modePickerClose", "modePickerHint", "modePickerMove", "modePickerOpen", "modelPickerBack", "modelPickerClose", "modelPickerEffort", "modelPickerHint", "modelPickerMove", "modelPickerOpen", "modelPickerPickProvider", "modelPickerSearch", "pickerClose", "pickerMove", "pickerOpen", "pickerSetMatches", "pluginPickerBusy", "pluginPickerClose", "pluginPickerHint", "pluginPickerMove", "pluginPickerOpen", "pluginPickerSetItems", "projectPickerClose", "projectPickerFilter", "projectPickerHint", "projectPickerMove", "projectPickerOpen", "promptPickerCategory", "promptPickerClose", "promptPickerMove", "promptPickerOpen", "queueClear", "queueDelete", "queueToggleRefine", "refineCountdownClose", "refineCountdownOpen", "refineFailureClose", "refineFailureOpen", "replaceHistory", "autoProceedRelease", "bashModeEnter", "bashModeExit", "resumeLoadStart", "resumeLoadTick", "resumeStreamChunk", "resumeLoadAbort", "resetContextChip", "resetInterrupts", "resumePickerBusy", "resumePickerClose", "resumePickerError", "resumePickerHint", "resumePickerMove", "resumePickerOpen", "rewindOverlayClose", "rewindOverlayMove", "rewindOverlayOpen", "sddBoardSnapshot", "sddBoardFocusNext", "sddBoardFocusPrev", "sendModePickerClose", "sendModePickerMove", "sendModePickerOpen", "sessionResumeConfirmClear", "sessionResumeConfirmSet", "sessionRewound", "sessionsPanelBusy", "sessionsPanelMove", "sessionsPanelSet", "setBuffer", "setFleetChat", "setHistoryScrolled", "setInputHistory", "setViewportRows", "settingsClose", "settingsFieldMove", "settingsFieldSet", "settingsFilterSet", "settingsHint", "settingsOpen", "settingsThinkingEditCancel", "settingsThinkingEditChange", "settingsThinkingEditCommit", "settingsThinkingEditStart", "settingsWrongProxyUrlEditCancel", "settingsWrongProxyUrlEditChange", "settingsWrongProxyUrlEditCommit", "settingsWrongProxyUrlEditStart", "settingsValueChange", "settingsValueSet", "shadowClose", "shadowHint", "shadowOpen", "shadowUpdate", "shellCommandWarningClose", "shellCommandWarningOpen", "slashConfirmClose", "slashConfirmOpen", "slashPickerClose", "slashPickerMove", "slashPickerOpen", "status", "statuslineChipExpire", "statuslineChipShow", "statuslineClose", "statuslineFieldMove", "statuslineFieldSet", "statuslineFilter", "statuslineHint", "statuslineMoveLine", "statuslineMoveOrder", "statuslineOpen", "statuslineResetLayout", "statuslineSetDensity", "statuslineSetLine", "statuslineToggle", "statuslineToggleLine", "statuslineVisibleChipsSync", "subagentModelsClose", "subagentModelsHint", "subagentModelsMove", "subagentModelsOpen", "subagentModelsUpdate", "steerConsume", "steerStart", "streamDelta", "streamReset", "themePickerClose", "themePickerHint", "themePickerMove", "themePickerOpen", "toggleAgentsMonitor", "toggleAuditPanel", "toggleContextPanel", "toggleConnectionsPanel", "toggleCoordinatorMonitor", "toggleCronMonitor", "toggleGoalKanbanPanel", "toggleGoalPanel", "toggleHelp", "toggleKanbanPanel", "toggleMonitor", "togglePlanPanel", "toggleProcessList", "toggleQueuePanel", "toggleSddBoardMonitor", "toggleSessionsPanel", "toggleTodosMonitor", "toggleWorktreeMonitor", "toolEnded", "toolStarted", "toolStreamAppend", "toolStreamClear", "toolResultViewSet", "topicCheckBusy", "toolsPickerBusy", "toolsPickerClose", "toolsPickerFilter", "toolsPickerHint", "toolsPickerMove", "toolsPickerOpen", "toolsPickerSetItems", "toolsPickerToggle", "worktreeRemove", "worktreeUpsert"];
3
3
  export type AllowedActionType = (typeof ALLOWED_ACTION_TYPES)[number];
4
4
  //# sourceMappingURL=action-types.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type { Action } from '../app-action-type.js';
2
2
  import type { State } from '../app-state.js';
3
- declare const panelPickerActionTypes: readonly ["statuslineOpen", "statuslineClose", "statuslineFieldMove", "statuslineFieldSet", "statuslineToggle", "statuslineSetLine", "statuslineMoveLine", "statuslineSetDensity", "statuslineToggleLine", "statuslineResetLayout", "statuslineFilter", "statuslineHint", "statuslineChipShow", "statuslineChipExpire", "statuslineVisibleChipsSync", "pluginPickerOpen", "pluginPickerClose", "pluginPickerMove", "pluginPickerSetItems", "pluginPickerBusy", "pluginPickerHint", "mcpPickerOpen", "mcpPickerClose", "mcpPickerMove", "mcpPickerSetItems", "mcpPickerBusy", "mcpPickerHint", "toolsPickerOpen", "toolsPickerClose", "toolsPickerMove", "toolsPickerSetItems", "toolsPickerToggle", "toolsPickerBusy", "toolsPickerHint", "toolsPickerFilter", "brainOpen", "brainClose", "brainMove", "brainRiskChange", "brainSetLog", "brainHint", "brainSettingsLoaded", "brainView", "brainRowMove", "brainBusy", "helpOpen", "helpClose", "helpMove", "helpFilter", "helpHint", "shadowOpen", "shadowClose", "shadowUpdate", "shadowHint", "subagentModelsOpen", "subagentModelsClose", "subagentModelsMove", "subagentModelsUpdate", "subagentModelsHint"];
3
+ declare const panelPickerActionTypes: readonly ["statuslineOpen", "statuslineClose", "statuslineFieldMove", "statuslineFieldSet", "statuslineToggle", "statuslineSetLine", "statuslineMoveLine", "statuslineMoveOrder", "statuslineSetDensity", "statuslineToggleLine", "statuslineResetLayout", "statuslineFilter", "statuslineHint", "statuslineChipShow", "statuslineChipExpire", "statuslineVisibleChipsSync", "pluginPickerOpen", "pluginPickerClose", "pluginPickerMove", "pluginPickerSetItems", "pluginPickerBusy", "pluginPickerHint", "mcpPickerOpen", "mcpPickerClose", "mcpPickerMove", "mcpPickerSetItems", "mcpPickerBusy", "mcpPickerHint", "toolsPickerOpen", "toolsPickerClose", "toolsPickerMove", "toolsPickerSetItems", "toolsPickerToggle", "toolsPickerBusy", "toolsPickerHint", "toolsPickerFilter", "brainOpen", "brainClose", "brainMove", "brainRiskChange", "brainSetLog", "brainHint", "brainSettingsLoaded", "brainView", "brainRowMove", "brainBusy", "helpOpen", "helpClose", "helpMove", "helpFilter", "helpHint", "shadowOpen", "shadowClose", "shadowUpdate", "shadowHint", "subagentModelsOpen", "subagentModelsClose", "subagentModelsMove", "subagentModelsUpdate", "subagentModelsHint"];
4
4
  type PanelPickerAction = Extract<Action, {
5
5
  type: (typeof panelPickerActionTypes)[number];
6
6
  }>;
@@ -2,7 +2,7 @@ import type { Agent } from '@wrongstack/core/agent';
2
2
  import type { AutonomousCoordinator, CoordinatorEvent, Director } from '@wrongstack/core/coordination';
3
3
  import type { EventBus } from '@wrongstack/core/kernel';
4
4
  import type { SlashCommandRegistry } from '@wrongstack/core/registry';
5
- import type { StatuslineDensities, StatuslineLines } from '@wrongstack/core/statusline';
5
+ import type { StatuslineDensities, StatuslineLines, StatuslineOrder } from '@wrongstack/core/statusline';
6
6
  import type { QueueStore } from '@wrongstack/core/storage';
7
7
  import type { AttachmentStore, AutonomyStage, ConfigStore, ContextSnapshot, FleetChatVerbosity, Message, SessionLoadProgress, SkillLoader, ThemePresetId, TokenCounter, TokenSavingTier } from '@wrongstack/core/types';
8
8
  import type { VisionAdapters } from '@wrongstack/runtime/vision';
@@ -304,12 +304,16 @@ export interface RunTuiOptions {
304
304
  * Optional: hosts that don't load it keep the core contract defaults.
305
305
  */
306
306
  statuslineLines?: StatuslineLines | undefined;
307
- setStatuslineLines?: (lines: StatuslineLines) => void;
308
- saveStatuslineLines?: (lines: StatuslineLines) => Promise<void>;
307
+ setStatuslineLines?: ((lines: StatuslineLines) => void) | undefined;
308
+ saveStatuslineLines?: ((lines: StatuslineLines) => Promise<void>) | undefined;
309
309
  /** Per-chip density pin (statusline.json schema v3). */
310
310
  statuslineDensities?: StatuslineDensities | undefined;
311
- setStatuslineDensities?: (densities: StatuslineDensities) => void;
312
- saveStatuslineDensities?: (densities: StatuslineDensities) => Promise<void>;
311
+ setStatuslineDensities?: ((densities: StatuslineDensities) => void) | undefined;
312
+ saveStatuslineDensities?: ((densities: StatuslineDensities) => Promise<void>) | undefined;
313
+ /** Custom left-to-right chip order (statusline.json schema v4). */
314
+ statuslineOrder?: StatuslineOrder | undefined;
315
+ setStatuslineOrder?: ((order: StatuslineOrder) => void) | undefined;
316
+ saveStatuslineOrder?: ((order: StatuslineOrder) => Promise<void>) | undefined;
313
317
  /**
314
318
  * Controller for the agents monitor overlay. App installs a dispatch-backed
315
319
  * setter on mount so the `/agents on|off` slash command can toggle the
@@ -137,7 +137,27 @@ interface UiGlyphs {
137
137
  treeBranch: string;
138
138
  treeThrough: string;
139
139
  }
140
- export declare function resolveIconStyle(env?: NodeJS.ProcessEnv): IconStyle;
140
+ interface FontDirectoryEntry {
141
+ name: string;
142
+ isDirectory: boolean;
143
+ }
144
+ interface NerdFontDetectionOptions {
145
+ platform?: NodeJS.Platform | undefined;
146
+ homeDir?: string | undefined;
147
+ env?: NodeJS.ProcessEnv | undefined;
148
+ readDirectory?: ((directory: string) => readonly FontDirectoryEntry[]) | undefined;
149
+ }
150
+ /**
151
+ * Best-effort local Nerd Font discovery.
152
+ *
153
+ * Font rendering belongs to the terminal host. An SSH server cannot inspect
154
+ * the client's selected font, so remote sessions deliberately stay on the
155
+ * portable Unicode profile unless `WRONGSTACK_TUI_ICON_STYLE=nerd` is set.
156
+ * Local scans are bounded and ignore symlinks to keep TUI module startup fast
157
+ * and deterministic even in unusually large system font trees.
158
+ */
159
+ export declare function hasInstalledNerdFont(options?: NerdFontDetectionOptions): boolean;
160
+ export declare function resolveIconStyle(env?: NodeJS.ProcessEnv, detectNerdFont?: (env: NodeJS.ProcessEnv) => boolean): IconStyle;
141
161
  export declare function glyphSet(style?: IconStyle): UiGlyphs;
142
162
  export declare const glyphs: UiGlyphs;
143
163
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/tui",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack terminal UI: Ink-based interactive renderer with history, pickers, and slash menus.",
6
6
  "repository": {
@@ -26,12 +26,12 @@
26
26
  "!dist/**/*.map"
27
27
  ],
28
28
  "dependencies": {
29
- "@wrongstack/core": "1.0.13",
30
- "@wrongstack/kanban": "1.0.13",
31
- "@wrongstack/runtime": "1.0.13",
32
- "@wrongstack/sage": "1.0.13",
33
- "@wrongstack/sdd": "1.0.13",
34
- "@wrongstack/tools": "1.0.13",
29
+ "@wrongstack/core": "1.0.15",
30
+ "@wrongstack/kanban": "1.0.15",
31
+ "@wrongstack/runtime": "1.0.15",
32
+ "@wrongstack/sage": "1.0.15",
33
+ "@wrongstack/sdd": "1.0.15",
34
+ "@wrongstack/tools": "1.0.15",
35
35
  "string-width": "8.2.2",
36
36
  "wrap-ansi": "^10.0.1"
37
37
  },