@wrongstack/tui 1.0.33 → 1.0.35

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 (75) hide show
  1. package/dist/app-action-settings.d.ts +1 -0
  2. package/dist/app-action-workflows.d.ts +4 -0
  3. package/dist/app-coordination-props.d.ts +116 -0
  4. package/dist/app-enhancement-props.d.ts +57 -0
  5. package/dist/app-panel-state.d.ts +2 -0
  6. package/dist/app-props.d.ts +9 -350
  7. package/dist/app-session-props.d.ts +91 -0
  8. package/dist/app-settings-props.d.ts +101 -0
  9. package/dist/app-settings-type.d.ts +5 -2
  10. package/dist/app-state.d.ts +6 -0
  11. package/dist/app-view-contract.d.ts +2 -3
  12. package/dist/app-view-pickers.d.ts +1 -12
  13. package/dist/app-view-prompts.d.ts +19 -0
  14. package/dist/components/chat-search-bar.d.ts +0 -2
  15. package/dist/components/history/assistant.d.ts +0 -7
  16. package/dist/components/history/banner-formation.d.ts +6 -0
  17. package/dist/components/history/banner.d.ts +3 -1
  18. package/dist/components/history/basic-format.d.ts +0 -2
  19. package/dist/components/history/copy-geometry.d.ts +0 -9
  20. package/dist/components/history/entry.d.ts +2 -1
  21. package/dist/components/history/index.d.ts +1 -1
  22. package/dist/components/history/scroll-controller-types.d.ts +5 -0
  23. package/dist/components/history/scrollbar-geometry.d.ts +2 -0
  24. package/dist/components/history/types.d.ts +1 -1
  25. package/dist/components/history/use-history-controller.d.ts +4 -0
  26. package/dist/components/model-picker-effort.d.ts +7 -0
  27. package/dist/components/model-picker.d.ts +6 -0
  28. package/dist/components/provider-colors.d.ts +0 -7
  29. package/dist/components/scrollable-history.d.ts +2 -5
  30. package/dist/components/settings-picker-constants.d.ts +2 -3
  31. package/dist/components/settings-picker-props.d.ts +139 -0
  32. package/dist/components/settings-picker.d.ts +4 -138
  33. package/dist/components/sidebar-panels-workspace.d.ts +7 -7
  34. package/dist/components/sidebar-panels.d.ts +2 -3
  35. package/dist/components/status-bar-format.d.ts +0 -10
  36. package/dist/components/status-bar-icons.d.ts +0 -2
  37. package/dist/components/status-bar-rails-common.d.ts +1 -0
  38. package/dist/components/status-bar-rails.d.ts +0 -1
  39. package/dist/components/status-bar-types.d.ts +2 -0
  40. package/dist/components/status-bar.d.ts +3 -4
  41. package/dist/components/worktree-monitor.d.ts +8 -12
  42. package/dist/components/worktree-timeline-bars.d.ts +31 -0
  43. package/dist/heap-watchdog.d.ts +1 -1
  44. package/dist/hooks/use-app-pipeline-builders.d.ts +1 -0
  45. package/dist/hooks/use-bug-hunt-loop.d.ts +1 -0
  46. package/dist/hooks/use-history-viewport-sync.d.ts +4 -7
  47. package/dist/hooks/use-tui-slash-commands.d.ts +0 -1
  48. package/dist/index.js +40454 -39672
  49. package/dist/input-validation/action-types.d.ts +1 -2
  50. package/dist/input-validation/allow-lists.d.ts +0 -6
  51. package/dist/input-validation/terminal.d.ts +0 -13
  52. package/dist/key-handler-context.d.ts +1 -1
  53. package/dist/memory-slash-types.d.ts +1 -4
  54. package/dist/on-panel-open.d.ts +0 -13
  55. package/dist/reducers/workspace-panels.d.ts +1 -1
  56. package/dist/settings-contracts.d.ts +7 -0
  57. package/dist/submit-controller.d.ts +1 -0
  58. package/dist/tool-result-view-mode.d.ts +0 -2
  59. package/dist/topic-shift-advisor.d.ts +1 -1
  60. package/dist/tui-host-capabilities.d.ts +2 -1
  61. package/dist/ui-contracts.d.ts +2 -1
  62. package/dist/use-app-controller.d.ts +6 -8
  63. package/dist/use-controller-app-state.d.ts +13 -0
  64. package/dist/use-controller-auto-prompts.d.ts +14 -0
  65. package/dist/use-controller-commands.d.ts +51 -0
  66. package/dist/use-controller-confirm-auth.d.ts +20 -0
  67. package/dist/use-controller-environment.d.ts +112 -0
  68. package/dist/use-controller-input-wiring.d.ts +53 -0
  69. package/dist/use-controller-key-pipeline.d.ts +1 -0
  70. package/dist/use-controller-panel-hooks.d.ts +1 -0
  71. package/dist/use-controller-session-bridges.d.ts +19 -0
  72. package/dist/use-controller-statusline-picker.d.ts +16 -0
  73. package/dist/use-controller-theme-events.d.ts +31 -0
  74. package/dist/use-controller-theme-wiring.d.ts +25 -0
  75. package/package.json +7 -7
@@ -1,4 +1,3 @@
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", "skillMentionResults", "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", "chatSearchClose", "chatSearchOpen", "chatSearchSetQuery", "chatSearchStep", "messageJump", "messageJumpClear", "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", "goalRunTaskAgent", "goalRunTaskCompleted", "goalSummary", "helpClose", "helpFilter", "helpHint", "helpMove", "helpOpen", "helpScrollDetail", "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", "checkpointFork", "forkRequestDone", "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", "themePickerFilter", "themePickerFilterMode", "themePickerPreview", "themePickerMove", "themePickerOpen", "themePickerUndo", "themePickerSwapPrevious", "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
- export type AllowedActionType = (typeof ALLOWED_ACTION_TYPES)[number];
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", "skillMentionResults", "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", "chatSearchClose", "chatSearchOpen", "chatSearchSetQuery", "chatSearchStep", "messageJump", "messageJumpClear", "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", "goalRunTaskAgent", "goalRunTaskCompleted", "goalSummary", "helpClose", "helpFilter", "helpHint", "helpMove", "helpOpen", "helpScrollDetail", "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", "checkpointFork", "forkRequestDone", "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", "themePickerFilter", "themePickerFilterMode", "themePickerPreview", "themePickerMove", "themePickerOpen", "themePickerUndo", "themePickerSwapPrevious", "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", "worktreeTimelineEvent", "worktreeUpsert"];
4
3
  //# sourceMappingURL=action-types.d.ts.map
@@ -10,18 +10,12 @@ export declare const ALLOWED_MOUSE_KINDS: Set<string>;
10
10
  export declare const ALLOWED_MOUSE_BUTTONS: Set<string>;
11
11
  /** Keyboard modifier keys. */
12
12
  export declare const ALLOWED_KEY_EVENT_FIELDS: Set<string>;
13
- /** Scroll direction for scrollPage. */
14
- export declare const ALLOWED_SCROLL_DIRS: Set<string>;
15
13
  /** Autonomy mode values. */
16
14
  export declare const ALLOWED_AUTONOMY_MODES: Set<string>;
17
15
  /** Known send modes. */
18
16
  export declare const ALLOWED_SEND_MODES: Set<string>;
19
17
  /** FleetChat verbosity modes. */
20
18
  export declare const ALLOWED_FLEET_CHAT_MODES: Set<string>;
21
- /** SDD lifecycle ops. */
22
- export declare const ALLOWED_SDD_OPS: Set<string>;
23
- /** Project picker item kinds. */
24
- export declare const ALLOWED_PICKER_KINDS: Set<string>;
25
19
  /** Collaboration verdicts. */
26
20
  export declare const ALLOWED_COLLAB_VERDICTS: Set<string>;
27
21
  /** Known terminal capability keys. */
@@ -53,17 +53,4 @@ export declare function validateMouseEvent(event: {
53
53
  ctrl: boolean;
54
54
  motion: boolean;
55
55
  }>;
56
- /**
57
- * Validate a KeyEvent from stdin against the known allow-list.
58
- *
59
- * Every boolean field in a KeyEvent must be exactly `true` or `false`.
60
- * `fn` must be 1–12 when present. `wheelDeltaY` must be an integer.
61
- *
62
- * Rejects:
63
- * - Unknown fields on the key event object
64
- * - Non-boolean values for boolean fields
65
- * - fn outside 1–12
66
- * - wheelDeltaY that is not an integer
67
- */
68
- export declare function validateKeyEventFields(key: Record<string, unknown>): ValidationResult<Record<string, unknown>>;
69
56
  //# sourceMappingURL=terminal.d.ts.map
@@ -138,5 +138,5 @@ export interface KeyRouteContext extends AppKeyHandlerOptions {
138
138
  detach: (work: Promise<unknown> | undefined, what: string) => void;
139
139
  }
140
140
  /** Re-exported for route modules that need the ref/callback shapes. */
141
- export type { Action, AppProps, Director, Dispatch, DOMElement, HistoryScrollController, MutableRefObject, PasteAccumState, SetStateAction, StatusBarClickMap, StatuslineItem, };
141
+ export type { Dispatch, MutableRefObject, SetStateAction, };
142
142
  //# sourceMappingURL=key-handler-context.d.ts.map
@@ -1,7 +1,4 @@
1
- import type { MemoryPort, MemoryPriority, MemoryScope, MemoryType } from '@wrongstack/core/types';
2
- export interface MemorySlashDeps {
3
- memoryStore: MemoryPort;
4
- }
1
+ import type { MemoryPriority, MemoryScope, MemoryType } from '@wrongstack/core/types';
5
2
  export declare const DEFAULT_MEMORY_LIMIT = 50;
6
3
  export declare const MAX_MEMORY_LIMIT = 500;
7
4
  export interface SageLike {
@@ -1,11 +1,4 @@
1
1
  import type { Action } from './app-reducer.js';
2
- import type { PluginPickerItem } from './components/plugin-picker.js';
3
- /**
4
- * Action strings that the bridge recognises. Mirrored from the reducer's
5
- * `Action` type union but kept as a string allow-list here so an unrecognised
6
- * action can return `false` (text fallback) without crashing.
7
- */
8
- export type PanelAction = 'pluginPickerOpen' | 'mcpPickerOpen' | 'toolsPickerOpen' | 'brainOpen' | 'helpOpen' | 'shadowOpen' | 'subagentModelsOpen' | 'projectPickerOpen' | 'statuslineOpen' | 'authOpen' | 'authOauthOpen' | 'modePickerOpen' | 'toggleMonitor' | 'toggleAuditPanel' | 'toggleAgentsMonitor' | 'toggleWorktreeMonitor' | 'togglePlanPanel' | 'toggleKanbanPanel' | 'toggleTodosMonitor' | 'toggleQueuePanel' | 'toggleProcessList' | 'toggleCronMonitor' | 'toggleContextPanel' | 'toggleConnectionsPanel' | 'toggleGoalPanel' | 'toggleGoalKanbanPanel' | 'toggleSessionsPanel' | 'toggleCoordinatorMonitor' | (string & {});
9
2
  export interface PanelOpenDeps {
10
3
  /**
11
4
  * Reducer dispatcher. For an action that has typed reducer cases the
@@ -55,10 +48,4 @@ export interface PanelOpenDeps {
55
48
  * REPL fallback path).
56
49
  */
57
50
  export declare function createPanelOpenDispatcher(deps: PanelOpenDeps): (action: string) => boolean;
58
- /**
59
- * Re-export PluginPickerItem so consumers of the dispatcher can construct
60
- * typed items without an extra import. Kept as a re-export rather than a
61
- * duplicate so the type lives in one place.
62
- */
63
- export type { PluginPickerItem };
64
51
  //# sourceMappingURL=on-panel-open.d.ts.map
@@ -10,7 +10,7 @@ import type { State } from '../app-state.js';
10
10
  * {@link computeMaxSidebarScroll}; see its doc for the layout budget.
11
11
  */
12
12
  export declare function estimateSidebarMaxScroll(state: State, viewportHeight?: number, effectiveSwarmOnSidebar?: boolean | undefined): number;
13
- declare const workspacePanelActionTypes: readonly ["toggleMonitor", "toggleAgentsMonitor", "toggleHelp", "toggleTodosMonitor", "toggleQueuePanel", "toggleProcessList", "toggleCronMonitor", "togglePlanPanel", "closeAllPanels", "toggleSidebarFocus", "sidebarScroll", "sidebarScrollSet", "sidebarScrollReset", "toggleKanbanPanel", "toggleGoalPanel", "toggleGoalKanbanPanel", "toggleContextPanel", "toggleConnectionsPanel", "checkpointReceived", "rewindOverlayOpen", "rewindOverlayClose", "rewindOverlayMove", "checkpointFork", "forkRequestDone", "sessionRewound", "eternalStage", "goalSummary", "goalRunInit", "goalRunPhaseUpdate", "goalRunTaskActive", "goalRunTaskAgent", "goalRunTaskCompleted", "goalRunRunningPhases", "goalRunElapsed", "goalRunMonitorToggle", "goalRunReset", "sddBoardSnapshot", "toggleSddBoardMonitor", "sddBoardFocusNext", "sddBoardFocusPrev", "worktreeUpsert", "worktreeRemove", "toggleWorktreeMonitor"];
13
+ declare const workspacePanelActionTypes: readonly ["toggleMonitor", "toggleAgentsMonitor", "toggleHelp", "toggleTodosMonitor", "toggleQueuePanel", "toggleProcessList", "toggleCronMonitor", "togglePlanPanel", "closeAllPanels", "toggleSidebarFocus", "sidebarScroll", "sidebarScrollSet", "sidebarScrollReset", "toggleKanbanPanel", "toggleGoalPanel", "toggleGoalKanbanPanel", "toggleContextPanel", "toggleConnectionsPanel", "checkpointReceived", "rewindOverlayOpen", "rewindOverlayClose", "rewindOverlayMove", "checkpointFork", "forkRequestDone", "sessionRewound", "eternalStage", "goalSummary", "goalRunInit", "goalRunPhaseUpdate", "goalRunTaskActive", "goalRunTaskAgent", "goalRunTaskCompleted", "goalRunRunningPhases", "goalRunElapsed", "goalRunMonitorToggle", "goalRunReset", "sddBoardSnapshot", "toggleSddBoardMonitor", "sddBoardFocusNext", "sddBoardFocusPrev", "worktreeUpsert", "worktreeRemove", "worktreeTimelineEvent", "toggleWorktreeMonitor"];
14
14
  type WorkspacePanelAction = Extract<Action, {
15
15
  type: (typeof workspacePanelActionTypes)[number];
16
16
  }>;
@@ -96,6 +96,13 @@ export type SettingsPickerPatch = Partial<{
96
96
  * effect in the next session. Default: false.
97
97
  */
98
98
  nextStepsTool: boolean;
99
+ /**
100
+ * Leader must end every finished turn with `<nextsteps>` or the
101
+ * `<nextsteps-complete/>` marker. Persisted as `autonomy.nextSteps`
102
+ * ('required' | 'optional'); read live, so it applies on the next turn.
103
+ * Default: true.
104
+ */
105
+ nextStepsRequired: boolean;
99
106
  /**
100
107
  * WrongProxy / WrongTrace: master switch. When true AND the daemon at
101
108
  * `wrongProxyUrl` is reachable, every provider's base URL is rewritten
@@ -71,6 +71,7 @@ export interface SubmitControllerHost {
71
71
  setRefineProvider(value: string | null): void;
72
72
  setRefineModel(value: string | null): void;
73
73
  onBugHuntStarted(command: string, totalRounds?: number): void;
74
+ stopBugHuntAfterCurrentRound(): void;
74
75
  consumeBugHuntReplay(command: string): boolean;
75
76
  /** Called after /clear dispatches clearHistory — app.tsx uses this to
76
77
  * reset mutable refs that the reducer cannot reach (paste accumulator,
@@ -1,8 +1,6 @@
1
1
  export declare const TOOL_RESULT_VIEW_MODES: readonly ['minimal', 'normal', 'full'];
2
2
  export type ToolResultViewMode = (typeof TOOL_RESULT_VIEW_MODES)[number];
3
3
  export declare const DEFAULT_TOOL_RESULT_VIEW_MODE: ToolResultViewMode;
4
- export declare const TOOL_RESULT_VIEW_MODE_DESCS: Record<ToolResultViewMode, string>;
5
- export declare function normalizeToolResultViewMode(value: unknown): ToolResultViewMode;
6
4
  export declare function shiftToolResultViewMode(mode: ToolResultViewMode, delta: -1 | 1): ToolResultViewMode;
7
5
  export declare function cycleToolResultViewMode(mode: ToolResultViewMode, delta: number): ToolResultViewMode;
8
6
  //# sourceMappingURL=tool-result-view-mode.d.ts.map
@@ -1,2 +1,2 @@
1
- export { startFreshTopicContext, type TopicShiftAdvice, TopicShiftAdvisor, type TopicShiftAdvisorInput, type TopicShiftAdvisorOptions, } from '@wrongstack/core/execution';
1
+ export { startFreshTopicContext, TopicShiftAdvisor, } from '@wrongstack/core/execution';
2
2
  //# sourceMappingURL=topic-shift-advisor.d.ts.map
@@ -16,6 +16,8 @@ export interface PromptRefinementCapabilities {
16
16
  getEnhanceFallbackRef?: (() => string | undefined) | undefined;
17
17
  getConfiguredRefinerRef?: (() => string | undefined) | undefined;
18
18
  getPickableProviders?: (() => Promise<PickableProviderCapability[]>) | undefined;
19
+ /** Live TUI settings; the refiner reads the retry-window override from it. */
20
+ getSettings?: (() => Settings) | undefined;
19
21
  }
20
22
  export interface RunBlocksCapabilities {
21
23
  agent: Agent;
@@ -61,7 +63,6 @@ type ClearAction = Extract<Action, {
61
63
  export interface SubmitCapabilities extends PromptRefinementCapabilities {
62
64
  slashRegistry: SlashCommandRegistry;
63
65
  tokenCounter?: TokenCounter | undefined;
64
- getSettings?: (() => Settings) | undefined;
65
66
  saveSettings?: ((settings: Settings) => string | null | Promise<string | null>) | undefined;
66
67
  getYolo?: (() => boolean) | undefined;
67
68
  getAutonomy?: (() => 'off' | 'suggest' | 'auto' | 'eternal' | 'eternal-parallel') | undefined;
@@ -81,7 +81,8 @@ export type PanelPosition = 'bottom' | 'sidebar';
81
81
  export declare const PANEL_IDS: readonly ["projectPicker", "fleet", "agents", "worktree", "plan", "todos", "queue", "processList", "goal", "sessions", "coordinator", "kanban", "connections"];
82
82
  export type PanelId = (typeof PANEL_IDS)[number];
83
83
  /** Total field count = legacy 46 + per-panel positions + WrongProxy switch/URL,
84
- * showSidebar, and the global tool-result view mode. */
84
+ * showSidebar, the global tool-result view mode, Tool Coach, and the
85
+ * required-next-steps switch. */
85
86
  export declare const TOTAL_SETTINGS_FIELD_COUNT: number;
86
87
  /** Map of every tracked panel → its current placement. */
87
88
  export type PanelPositionMap = Readonly<Record<PanelId, PanelPosition>>;
@@ -1,13 +1,11 @@
1
- import type { Director } from '@wrongstack/core/coordination';
2
1
  import type { AppProps } from './app-props.js';
3
- import type { StatuslineItem } from './components/statusline-picker.js';
4
2
  export declare function useAppController(props: AppProps): {
5
3
  pendingUserInput: import("./components/user-input-prompt.js").PendingUserInput | null;
6
4
  runInterruptLadder: () => void;
7
5
  props: AppProps;
8
6
  state: import("./app-state.js").State;
9
7
  dispatch: import("react").ActionDispatch<[action: import("./app-action-type.js").Action]>;
10
- historyScrollRef: import("react").RefObject<import("./key-handler-context.js").HistoryScrollController | null>;
8
+ historyScrollRef: import("react").RefObject<import("./components/scrollable-history.js").HistoryScrollController | null>;
11
9
  onScrollInfo: (info: {
12
10
  scrolled: boolean;
13
11
  }) => void;
@@ -41,8 +39,8 @@ export declare function useAppController(props: AppProps): {
41
39
  setAutonomyLive: (v: import("./hooks/use-statusline-state.js").AutonomyStage) => void;
42
40
  liveModeLabel: string;
43
41
  setLiveModeLabel: (v: string) => void;
44
- hiddenItems: StatuslineItem[];
45
- setHiddenItems: (v: StatuslineItem[]) => void;
42
+ hiddenItems: import("@wrongstack/core/statusline").StatuslineItem[];
43
+ setHiddenItems: (v: import("@wrongstack/core/statusline").StatuslineItem[]) => void;
46
44
  lines: import("@wrongstack/core/statusline").StatuslineLines;
47
45
  setLines: (v: import("@wrongstack/core/statusline").StatuslineLines) => void;
48
46
  densities: import("@wrongstack/core/statusline").StatuslineDensities;
@@ -51,7 +49,7 @@ export declare function useAppController(props: AppProps): {
51
49
  setOrder: (v: import("@wrongstack/core/statusline").StatuslineOrder) => void;
52
50
  sessionCount: number;
53
51
  setSessionCount: (v: number) => void;
54
- hiddenItemsRef: import("react").RefObject<StatuslineItem[]>;
52
+ hiddenItemsRef: import("react").RefObject<import("@wrongstack/core/statusline").StatuslineItem[]>;
55
53
  memoryContextMonitor: import("./memory-context-monitor.js").MemoryContextMonitorState;
56
54
  setMemoryContextMonitor: import("react").Dispatch<import("react").SetStateAction<import("./memory-context-monitor.js").MemoryContextMonitorState>>;
57
55
  memoryRecordTotal: number | undefined;
@@ -122,7 +120,7 @@ export declare function useAppController(props: AppProps): {
122
120
  bottomRegionRef: import("react").RefObject<import("./ink.js").DOMElement | null>;
123
121
  statusBarWrapRef: import("react").RefObject<import("./ink.js").DOMElement | null>;
124
122
  belowStatusBarRef: import("react").RefObject<import("./ink.js").DOMElement | null>;
125
- statusBarClickMapRef: import("react").RefObject<import("./key-handler-context.js").StatusBarClickMap | null>;
123
+ statusBarClickMapRef: import("react").RefObject<import("./components/status-bar-types.js").StatusBarClickMap | null>;
126
124
  inspectOverlayHeaderRef: import("react").RefObject<import("./ink.js").DOMElement | null>;
127
125
  stableOnKey: (input: string, key: import("./components/input.js").KeyEvent) => Promise<void>;
128
126
  liveTodos: import("@wrongstack/core/agent").TodoItem[];
@@ -134,7 +132,7 @@ export declare function useAppController(props: AppProps): {
134
132
  handleRewindTo: (checkpointIndex: number) => Promise<import("./hooks/use-session-rewind.js").RewindOutcome>;
135
133
  activeCtrlRef: import("react").RefObject<AbortController | null>;
136
134
  clearPendingConfirms: () => void;
137
- liveDirector: () => Director | null;
135
+ liveDirector: () => import("@wrongstack/core/coordination").Director | null;
138
136
  dismissedEscAtRef: import("react").RefObject<number>;
139
137
  enhanceOriginalRef: import("react").MutableRefObject<string>;
140
138
  enhanceStartedAt: number | null;
@@ -0,0 +1,13 @@
1
+ import type { resolveControllerProps } from './controller-props.js';
2
+ /**
3
+ * App state facade (`useAppState`) seeded from the resolved controller props.
4
+ */
5
+ export declare function useControllerAppState({ controllerProps, }: {
6
+ controllerProps: ReturnType<typeof resolveControllerProps>;
7
+ }): {
8
+ state: import("./app-state.js").State;
9
+ dispatch: import("react").ActionDispatch<[action: import("./app-action-type.js").Action]>;
10
+ layoutStore: import("./layout-store.js").LayoutStore;
11
+ liveTodos: import("@wrongstack/core/agent").TodoItem[];
12
+ };
13
+ //# sourceMappingURL=use-controller-app-state.d.ts.map
@@ -0,0 +1,14 @@
1
+ import type { AppProps } from './app-props.js';
2
+ import type { resolveControllerProps } from './controller-props.js';
3
+ import type { useAppRefSpine } from './hooks/use-app-ref-spine.js';
4
+ import type { useAppState } from './hooks/use-app-state.js';
5
+ /**
6
+ * Prompts the controller starts on its own: leader auto-wake on delegate completion and the initial --goal / --ask prompt.
7
+ */
8
+ export declare function useControllerAutoPrompts({ props, controllerProps, dispatch, spine, }: {
9
+ props: AppProps;
10
+ controllerProps: ReturnType<typeof resolveControllerProps>;
11
+ dispatch: ReturnType<typeof useAppState>['dispatch'];
12
+ spine: ReturnType<typeof useAppRefSpine>;
13
+ }): void;
14
+ //# sourceMappingURL=use-controller-auto-prompts.d.ts.map
@@ -0,0 +1,51 @@
1
+ import type { Director } from '@wrongstack/core/coordination';
2
+ import type { AppProps } from './app-props.js';
3
+ import type { resolveControllerProps } from './controller-props.js';
4
+ import type { useAppEnvironment } from './hooks/use-app-environment.js';
5
+ import type { useAppRefSpine } from './hooks/use-app-ref-spine.js';
6
+ import type { useAppState } from './hooks/use-app-state.js';
7
+ import type { useAuthPanel } from './hooks/use-auth-panel.js';
8
+ import type { useKanbanBoardFocus } from './hooks/use-kanban-board-focus.js';
9
+ import type { useSessionRewind } from './hooks/use-session-rewind.js';
10
+ import type { useStdout } from './ink.js';
11
+ import type { useControllerPanelHooks } from './use-controller-panel-hooks.js';
12
+ /**
13
+ * Core TUI slash commands plus the panel/picker controllers they and the key pipeline open.
14
+ */
15
+ export declare function useControllerCommands({ controllerProps, boardFocusRef, setFocusedBoardId, stdout, clearPendingConfirms, dispatch, liveDirector, handleRewindTo, handleRewindRedo, state, openStatuslinePicker, authPanelController, props, spine, envResult, panelHooks, }: {
16
+ controllerProps: ReturnType<typeof resolveControllerProps>;
17
+ boardFocusRef: ReturnType<typeof useKanbanBoardFocus>['boardFocusRef'];
18
+ setFocusedBoardId: ReturnType<typeof useKanbanBoardFocus>['setFocusedBoardId'];
19
+ stdout: ReturnType<typeof useStdout>['stdout'];
20
+ clearPendingConfirms: () => void;
21
+ dispatch: ReturnType<typeof useAppState>['dispatch'];
22
+ liveDirector: () => Director | null;
23
+ handleRewindTo: ReturnType<typeof useSessionRewind>['handleRewindTo'];
24
+ handleRewindRedo: ReturnType<typeof useSessionRewind>['handleRewindRedo'];
25
+ state: ReturnType<typeof useAppState>['state'];
26
+ openStatuslinePicker: (field?: number) => void;
27
+ authPanelController: ReturnType<typeof useAuthPanel>;
28
+ props: AppProps;
29
+ spine: ReturnType<typeof useAppRefSpine>;
30
+ envResult: ReturnType<typeof useAppEnvironment>;
31
+ panelHooks: ReturnType<typeof useControllerPanelHooks>;
32
+ }): {
33
+ panelControllers: {
34
+ openModelPicker: () => Promise<void>;
35
+ openProjectPicker: () => Promise<void>;
36
+ openFKeyPicker: () => void;
37
+ loadLiveSessions: () => Promise<void>;
38
+ openSettings: () => void;
39
+ toggleSelectedPlugin: () => Promise<void>;
40
+ toggleSelectedMcpServer: () => Promise<void>;
41
+ restartSelectedMcpServer: () => Promise<void>;
42
+ toggleSelectedTool: () => Promise<void>;
43
+ };
44
+ getCronJobs: () => Promise<import("./cron-slash.js").CronListResult>;
45
+ runSteerSequence: (text: string) => {
46
+ preamble: string;
47
+ droppedCount: number;
48
+ subagentsTerminated: number;
49
+ };
50
+ };
51
+ //# sourceMappingURL=use-controller-commands.d.ts.map
@@ -0,0 +1,20 @@
1
+ import type { Director } from '@wrongstack/core/coordination';
2
+ import type { resolveControllerProps } from './controller-props.js';
3
+ import type { useAppRefSpine } from './hooks/use-app-ref-spine.js';
4
+ import type { useAppState } from './hooks/use-app-state.js';
5
+ /**
6
+ * Live director resolver, pending-confirm teardown, and the auth panel (which also serves the secret-input prompt).
7
+ */
8
+ export declare function useControllerConfirmAuth({ getDirector, controllerProps, dispatch, state, secretInputController, spine, }: {
9
+ getDirector: ReturnType<typeof resolveControllerProps>['getDirector'];
10
+ controllerProps: ReturnType<typeof resolveControllerProps>;
11
+ dispatch: ReturnType<typeof useAppState>['dispatch'];
12
+ state: ReturnType<typeof useAppState>['state'];
13
+ secretInputController: ReturnType<typeof resolveControllerProps>['secretInputController'];
14
+ spine: ReturnType<typeof useAppRefSpine>;
15
+ }): {
16
+ liveDirector: () => Director | null;
17
+ clearPendingConfirms: () => void;
18
+ authPanelController: import("./hooks/use-auth-panel.js").AuthPanelController;
19
+ };
20
+ //# sourceMappingURL=use-controller-confirm-auth.d.ts.map
@@ -0,0 +1,112 @@
1
+ import type { AppProps } from './app-props.js';
2
+ import type { resolveControllerProps } from './controller-props.js';
3
+ import type { useAppRefSpine } from './hooks/use-app-ref-spine.js';
4
+ import type { useAppState } from './hooks/use-app-state.js';
5
+ import type { useStdout } from './ink.js';
6
+ import type { useControllerPanelHooks } from './use-controller-panel-hooks.js';
7
+ /**
8
+ * Environment facade (`useAppEnvironment`) wired from controller props + the ref spine.
9
+ */
10
+ export declare function useControllerEnvironment({ controllerProps, state, dispatch, mailbox, stdout, props, spine, }: {
11
+ controllerProps: ReturnType<typeof resolveControllerProps>;
12
+ state: ReturnType<typeof useAppState>['state'];
13
+ dispatch: ReturnType<typeof useAppState>['dispatch'];
14
+ mailbox: ReturnType<typeof useControllerPanelHooks>['mailbox'];
15
+ stdout: ReturnType<typeof useStdout>['stdout'];
16
+ props: AppProps;
17
+ spine: ReturnType<typeof useAppRefSpine>;
18
+ }): {
19
+ environment: {
20
+ liveModel: string;
21
+ setLiveModel: (v: string) => void;
22
+ liveProvider: string;
23
+ setLiveProvider: (v: string) => void;
24
+ activeMaxContext: number | undefined;
25
+ setActiveMaxContext: (v: number | undefined) => void;
26
+ yoloLive: boolean;
27
+ setYoloLive: (v: boolean) => void;
28
+ autonomyLive: import("./hooks/use-statusline-state.js").AutonomyStage;
29
+ setAutonomyLive: (v: import("./hooks/use-statusline-state.js").AutonomyStage) => void;
30
+ liveModeLabel: string;
31
+ setLiveModeLabel: (v: string) => void;
32
+ hiddenItems: import("@wrongstack/core/statusline").StatuslineItem[];
33
+ setHiddenItems: (v: import("@wrongstack/core/statusline").StatuslineItem[]) => void;
34
+ lines: import("@wrongstack/core/statusline").StatuslineLines;
35
+ setLines: (v: import("@wrongstack/core/statusline").StatuslineLines) => void;
36
+ densities: import("@wrongstack/core/statusline").StatuslineDensities;
37
+ setDensities: (v: import("@wrongstack/core/statusline").StatuslineDensities) => void;
38
+ order: import("@wrongstack/core/statusline").StatuslineOrder;
39
+ setOrder: (v: import("@wrongstack/core/statusline").StatuslineOrder) => void;
40
+ sessionCount: number;
41
+ setSessionCount: (v: number) => void;
42
+ hiddenItemsRef: import("react").RefObject<import("@wrongstack/core/statusline").StatuslineItem[]>;
43
+ memoryContextMonitor: import("./memory-context-monitor.js").MemoryContextMonitorState;
44
+ setMemoryContextMonitor: import("react").Dispatch<import("react").SetStateAction<import("./memory-context-monitor.js").MemoryContextMonitorState>>;
45
+ memoryRecordTotal: number | undefined;
46
+ memoryContextMonitorRef: import("react").RefObject<import("./memory-context-monitor.js").MemoryContextMonitorState>;
47
+ memoryRecordTotalRef: import("react").RefObject<number | undefined>;
48
+ activeMemoryInContext: number;
49
+ liveToolCount: number | undefined;
50
+ setLiveToolCount: import("react").Dispatch<import("react").SetStateAction<number | undefined>>;
51
+ indexState: {
52
+ ready: boolean;
53
+ indexing: boolean;
54
+ currentFile: number;
55
+ totalFiles: number;
56
+ lastError: string | null;
57
+ server: import("@wrongstack/tools").ProjectIndexServerConnectionState;
58
+ circuit: import("@wrongstack/tools").CircuitSnapshot;
59
+ };
60
+ breakerCountdown: import("@wrongstack/tools").BreakerCountdown | null;
61
+ };
62
+ activity: {
63
+ displayThinkingWord: string;
64
+ startedAt: number;
65
+ nowTick: number;
66
+ setNowTick: import("react").Dispatch<import("react").SetStateAction<number>>;
67
+ workingTimeMs: number;
68
+ fleetWorkingTimeMs: number;
69
+ processMemory: import("@wrongstack/core/utils").HeapSample;
70
+ cpuPercent: number | undefined;
71
+ cpuHistory: number[];
72
+ rssHistory: number[];
73
+ heapHistory: number[];
74
+ totalMem: number;
75
+ enhanceDots: number;
76
+ refreshGoalSummary: () => void;
77
+ };
78
+ refreshGoalSummary: () => void;
79
+ linesRef: import("react").RefObject<Partial<Record<import("@wrongstack/core/statusline").StatuslineItem, import("@wrongstack/core/statusline").StatuslineLine>>>;
80
+ densitiesRef: import("react").RefObject<Partial<Record<import("@wrongstack/core/statusline").StatuslineItem, import("@wrongstack/core/statusline").StatuslineDensity>>>;
81
+ orderRef: import("react").RefObject<import("@wrongstack/core/statusline").StatuslineOrder>;
82
+ projectRoot: string;
83
+ projectName: string | undefined;
84
+ workingDirChip: string | undefined;
85
+ liveSettings: import("./app-settings-type.js").Settings | undefined;
86
+ liveStatuslineMode: import("./settings-contracts.js").StatuslineMode;
87
+ liveAnimationStyle: "breathe" | "cycle" | "dots" | "pulse" | "rainbow" | "static" | "wave";
88
+ liveThinkingWord: string;
89
+ chimeRef: import("react").MutableRefObject<boolean>;
90
+ confirmExitRef: import("react").MutableRefObject<boolean>;
91
+ sidebarLayout: import("./app-ui-state.js").SidebarLayoutState;
92
+ mouseMode: boolean;
93
+ setMouseMode: (value: boolean) => void;
94
+ nativeMouse: boolean;
95
+ setNativeMouse: (value: boolean) => void;
96
+ bottomRegionRef: import("react").RefObject<import("./ink.js").DOMElement | null>;
97
+ statusBarWrapRef: import("react").RefObject<import("./ink.js").DOMElement | null>;
98
+ belowStatusBarRef: import("react").RefObject<import("./ink.js").DOMElement | null>;
99
+ termRows: number;
100
+ statusBarRows: number;
101
+ gitInfo: import("./git-info.js").GitInfo | null;
102
+ runEternalLoopRef: import("react").MutableRefObject<() => Promise<void>>;
103
+ runParallelLoopRef: import("react").MutableRefObject<() => Promise<void>>;
104
+ hiddenItems: import("@wrongstack/core/statusline").StatuslineItem[];
105
+ setHiddenItems: (v: import("@wrongstack/core/statusline").StatuslineItem[]) => void;
106
+ hiddenItemsRef: import("react").RefObject<import("@wrongstack/core/statusline").StatuslineItem[]>;
107
+ setMemoryContextMonitor: import("react").Dispatch<import("react").SetStateAction<import("./memory-context-monitor.js").MemoryContextMonitorState>>;
108
+ memoryContextMonitorRef: import("react").RefObject<import("./memory-context-monitor.js").MemoryContextMonitorState>;
109
+ memoryRecordTotalRef: import("react").RefObject<number | undefined>;
110
+ setLiveToolCount: import("react").Dispatch<import("react").SetStateAction<number | undefined>>;
111
+ };
112
+ //# sourceMappingURL=use-controller-environment.d.ts.map
@@ -0,0 +1,53 @@
1
+ import type { resolveControllerProps } from './controller-props.js';
2
+ import type { useAppEnvironment } from './hooks/use-app-environment.js';
3
+ import type { useAppRefSpine } from './hooks/use-app-ref-spine.js';
4
+ import type { useNextStepsAutoSubmit } from './hooks/use-next-steps-auto-submit.js';
5
+ import type { usePasteHandling } from './hooks/use-paste-handling.js';
6
+ import type { useQueueManager } from './hooks/use-queue-manager.js';
7
+ import { useControllerKeyPipeline } from './use-controller-key-pipeline.js';
8
+ import type { useControllerPanelHooks } from './use-controller-panel-hooks.js';
9
+ type KeyPipelineArgs = Parameters<typeof useControllerKeyPipeline>[0];
10
+ /**
11
+ * Wires `useAppController`'s ref spine, environment, panel, next-steps and
12
+ * paste facades into the key/execution pipeline. Exactly one hook call
13
+ * (`useControllerKeyPipeline`), so `useAppController`'s fixed hook order is
14
+ * unchanged.
15
+ */
16
+ export declare function useControllerInputWiring({ spine, panelHooks, envResult, nextStepsAuto, paste, controllerProps, queueManager, props, state, dispatch, statusbar, panelControllers, authPanelController, setDraft, acceptSlashPickerSelection, statuslineHiddenForPicker, onPickerEnter, onThemePickerEnter, onThemePickerUndo, liveDirector, exit, clearPendingConfirms, onHistoryScrollActivity, openProjectPicker, loadLiveSessions, openStatuslinePicker, clearDraft, stdout, openModelPicker, onHistoryCopy, runSteerSequence, }: {
17
+ spine: ReturnType<typeof useAppRefSpine>;
18
+ panelHooks: ReturnType<typeof useControllerPanelHooks>;
19
+ envResult: ReturnType<typeof useAppEnvironment>;
20
+ nextStepsAuto: ReturnType<typeof useNextStepsAutoSubmit>;
21
+ paste: ReturnType<typeof usePasteHandling>;
22
+ controllerProps: ReturnType<typeof resolveControllerProps>;
23
+ queueManager: ReturnType<typeof useQueueManager>;
24
+ props: KeyPipelineArgs['props'];
25
+ state: KeyPipelineArgs['state'];
26
+ dispatch: KeyPipelineArgs['dispatch'];
27
+ statusbar: KeyPipelineArgs['statusbar'];
28
+ panelControllers: KeyPipelineArgs['panelControllers'];
29
+ authPanelController: KeyPipelineArgs['authPanelController'];
30
+ setDraft: KeyPipelineArgs['setDraft'];
31
+ acceptSlashPickerSelection: KeyPipelineArgs['acceptSlashPickerSelection'];
32
+ statuslineHiddenForPicker: KeyPipelineArgs['statuslineHiddenForPicker'];
33
+ onPickerEnter: KeyPipelineArgs['onPickerEnter'];
34
+ onThemePickerEnter: KeyPipelineArgs['onThemePickerEnter'];
35
+ onThemePickerUndo: KeyPipelineArgs['onThemePickerUndo'];
36
+ liveDirector: KeyPipelineArgs['liveDirector'];
37
+ exit: KeyPipelineArgs['exit'];
38
+ clearPendingConfirms: KeyPipelineArgs['clearPendingConfirms'];
39
+ onHistoryScrollActivity: KeyPipelineArgs['onHistoryScrollActivity'];
40
+ openProjectPicker: KeyPipelineArgs['openProjectPicker'];
41
+ loadLiveSessions: KeyPipelineArgs['loadLiveSessions'];
42
+ openStatuslinePicker: KeyPipelineArgs['openStatuslinePicker'];
43
+ clearDraft: KeyPipelineArgs['clearDraft'];
44
+ stdout: KeyPipelineArgs['stdout'];
45
+ openModelPicker: KeyPipelineArgs['openModelPicker'];
46
+ onHistoryCopy: KeyPipelineArgs['onHistoryCopy'];
47
+ runSteerSequence: KeyPipelineArgs['runSteerSequence'];
48
+ }): {
49
+ runInterruptLadder: () => void;
50
+ stableOnKey: (input: string, key: import("./components/input.js").KeyEvent) => Promise<void>;
51
+ };
52
+ export {};
53
+ //# sourceMappingURL=use-controller-input-wiring.d.ts.map
@@ -209,6 +209,7 @@ export declare function useControllerKeyPipeline({ sessionGenerationRef, switchQ
209
209
  onBugHuntStarted: (command: string, totalRounds?: number | undefined) => void;
210
210
  onRunFinished: (status: 'done' | 'aborted' | 'failed' | 'max_iterations') => void;
211
211
  consumeReplay: (command: string) => boolean;
212
+ stopAfterCurrentRound: () => void;
212
213
  shouldSuppressNextSteps: () => boolean;
213
214
  };
214
215
  }): {
@@ -48,6 +48,7 @@ export declare function useControllerPanelHooks(inputs: {
48
48
  onBugHuntStarted: (command: string, totalRounds?: number) => void;
49
49
  onRunFinished: (status: 'done' | 'aborted' | 'failed' | 'max_iterations') => void;
50
50
  consumeReplay: (command: string) => boolean;
51
+ stopAfterCurrentRound: () => void;
51
52
  shouldSuppressNextSteps: () => boolean;
52
53
  };
53
54
  mailbox: {
@@ -0,0 +1,19 @@
1
+ import type { Director } from '@wrongstack/core/coordination';
2
+ import type { resolveControllerProps } from './controller-props.js';
3
+ import type { useAppEnvironment } from './hooks/use-app-environment.js';
4
+ import type { useAppRefSpine } from './hooks/use-app-ref-spine.js';
5
+ import type { useAppState } from './hooks/use-app-state.js';
6
+ /**
7
+ * Event bus, controller, interrupt, /exit and director-fleet bridges for the live session. Hook order is fixed.
8
+ */
9
+ export declare function useControllerSessionBridges({ controllerProps, dispatch, getActiveSessionId, state, clearPendingConfirms, liveDirector, spine, envResult, }: {
10
+ controllerProps: ReturnType<typeof resolveControllerProps>;
11
+ dispatch: ReturnType<typeof useAppState>['dispatch'];
12
+ getActiveSessionId: () => string;
13
+ state: ReturnType<typeof useAppState>['state'];
14
+ clearPendingConfirms: () => void;
15
+ liveDirector: () => Director | null;
16
+ spine: ReturnType<typeof useAppRefSpine>;
17
+ envResult: ReturnType<typeof useAppEnvironment>;
18
+ }): void;
19
+ //# sourceMappingURL=use-controller-session-bridges.d.ts.map
@@ -0,0 +1,16 @@
1
+ import type { StatuslineItem } from './components/statusline-picker.js';
2
+ import type { useAppEnvironment } from './hooks/use-app-environment.js';
3
+ import type { useAppRefSpine } from './hooks/use-app-ref-spine.js';
4
+ import type { useAppState } from './hooks/use-app-state.js';
5
+ /**
6
+ * Statusline picker openers, seeded from the live layout (hidden items, lines, densities, order).
7
+ */
8
+ export declare function useControllerStatuslinePicker({ dispatch, spine, envResult, }: {
9
+ dispatch: ReturnType<typeof useAppState>['dispatch'];
10
+ spine: ReturnType<typeof useAppRefSpine>;
11
+ envResult: ReturnType<typeof useAppEnvironment>;
12
+ }): {
13
+ statuslineHiddenForPicker: () => StatuslineItem[];
14
+ openStatuslinePicker: (field?: number) => void;
15
+ };
16
+ //# sourceMappingURL=use-controller-statusline-picker.d.ts.map