@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.
- package/dist/app-action-type.d.ts +56 -0
- package/dist/app-initial-state.d.ts +2 -1
- package/dist/app-props.d.ts +45 -2
- package/dist/app-settings-type.d.ts +7 -0
- package/dist/app-state-core-types.d.ts +18 -0
- package/dist/app-state.d.ts +42 -0
- package/dist/app-status-region.d.ts +1 -1
- package/dist/app-view-contract.d.ts +2 -1
- package/dist/app-view-pickers.d.ts +2 -1
- package/dist/app-view-sidebar.d.ts +2 -1
- package/dist/brain-panel-model.d.ts +0 -2
- package/dist/checkpoint-retention.d.ts +2 -3
- package/dist/components/agents-monitor.d.ts +3 -3
- package/dist/components/auth-panel.d.ts +2 -1
- package/dist/components/brain-decision-prompt.d.ts +2 -1
- package/dist/components/clear-confirm-panel.d.ts +4 -3
- package/dist/components/composer-status-chip.d.ts +3 -2
- package/dist/components/confirm-prompt.d.ts +2 -1
- package/dist/components/context-panel.d.ts +2 -1
- package/dist/components/continue-confirm-panel.d.ts +3 -2
- package/dist/components/coordinator-panel.d.ts +2 -1
- package/dist/components/cron-jobs.d.ts +2 -1
- package/dist/components/design-picker.d.ts +2 -1
- package/dist/components/enhance-panel.d.ts +4 -3
- package/dist/components/esc-confirm-prompt.d.ts +2 -1
- package/dist/components/exit-confirm-panel.d.ts +3 -2
- package/dist/components/f-key-picker.d.ts +1 -2
- package/dist/components/fallback-overlay.d.ts +2 -1
- package/dist/components/fleet-monitor.d.ts +2 -1
- package/dist/components/fleet-panel.d.ts +4 -4
- package/dist/components/goal-kanban-panel.d.ts +2 -1
- package/dist/components/help-overlay.d.ts +2 -1
- package/dist/components/help-panel.d.ts +2 -1
- package/dist/components/history/code-block-diff-helpers.d.ts +1 -6
- package/dist/components/history/code-block.d.ts +0 -2
- package/dist/components/history/copy-registry.d.ts +2 -1
- package/dist/components/history/index.d.ts +2 -2
- package/dist/components/history/replay.d.ts +2 -1
- package/dist/components/history/sage-memory-block.d.ts +0 -6
- package/dist/components/history/scroll-controller-types.d.ts +7 -12
- package/dist/components/history/selection-band-store.d.ts +3 -2
- package/dist/components/history/selection-helpers.d.ts +24 -65
- package/dist/components/history/tool-card.d.ts +2 -1
- package/dist/components/history/tool-group.d.ts +0 -7
- package/dist/components/history/use-history-controller.d.ts +2 -1
- package/dist/components/history/utils.d.ts +1 -1
- package/dist/components/history/wrap-geometry.d.ts +18 -125
- package/dist/components/history.d.ts +1 -1
- package/dist/components/kanban-panel.d.ts +7 -25
- package/dist/components/live-activity-strip.d.ts +2 -1
- package/dist/components/mailbox-panel.d.ts +2 -1
- package/dist/components/mcp-picker.d.ts +2 -1
- package/dist/components/mode-picker.d.ts +2 -1
- package/dist/components/model-picker.d.ts +2 -1
- package/dist/components/monitor-shell.d.ts +3 -2
- package/dist/components/phase-monitor.d.ts +2 -1
- package/dist/components/plan-panel.d.ts +3 -2
- package/dist/components/plugin-picker.d.ts +2 -1
- package/dist/components/powerline-rail.d.ts +2 -1
- package/dist/components/project-picker.d.ts +2 -1
- package/dist/components/prompt-picker.d.ts +2 -1
- package/dist/components/refine-countdown-panel.d.ts +3 -2
- package/dist/components/refine-failure-panel.d.ts +2 -1
- package/dist/components/resource-menu.d.ts +2 -1
- package/dist/components/resume-picker.d.ts +2 -1
- package/dist/components/scrollable-history.d.ts +2 -2
- package/dist/components/send-mode-picker.d.ts +3 -2
- package/dist/components/sessions-panel.d.ts +2 -1
- package/dist/components/settings-picker-filter.d.ts +2 -1
- package/dist/components/settings-picker.d.ts +3 -1
- package/dist/components/shadow-panel.d.ts +2 -1
- package/dist/components/shell-command-warning.d.ts +2 -1
- package/dist/components/sidebar-content.d.ts +4 -9
- package/dist/components/sidebar-panel-frame.d.ts +2 -13
- package/dist/components/sidebar.d.ts +2 -1
- package/dist/components/skill-picker.d.ts +2 -1
- package/dist/components/slash-confirm-panel.d.ts +3 -2
- package/dist/components/slash-menu.d.ts +2 -1
- package/dist/components/status-bar-format.d.ts +2 -0
- package/dist/components/status-bar-icons.d.ts +4 -0
- package/dist/components/status-bar-rails.d.ts +19 -6
- package/dist/components/status-bar-types.d.ts +18 -0
- package/dist/components/status-bar.d.ts +17 -7
- package/dist/components/status-line-registry.d.ts +62 -0
- package/dist/components/statusline-picker.d.ts +5 -27
- package/dist/components/theme-picker.d.ts +2 -1
- package/dist/components/theme-preview.d.ts +2 -1
- package/dist/components/tools-picker.d.ts +2 -1
- package/dist/components/topic-check-panel.d.ts +2 -1
- package/dist/connections-slash.d.ts +2 -1
- package/dist/context-fill.d.ts +4 -3
- package/dist/context-slash.d.ts +3 -2
- package/dist/cron-slash.d.ts +2 -1
- package/dist/esc-close-panels.d.ts +2 -1
- package/dist/f-key-panels.d.ts +1 -1
- package/dist/git-info.d.ts +22 -3
- package/dist/height-cache.d.ts +2 -8
- package/dist/history-entry.d.ts +4 -3
- package/dist/history-retention.d.ts +16 -6
- package/dist/hit-test.d.ts +2 -1
- package/dist/hooks/subagent-history-format.d.ts +2 -1
- package/dist/hooks/use-app-session-state.d.ts +2 -1
- package/dist/hooks/use-auth-panel.d.ts +2 -1
- package/dist/hooks/use-brain-panel.d.ts +2 -1
- package/dist/hooks/use-chip-staleness-guard.d.ts +4 -3
- package/dist/hooks/use-core-tui-commands.d.ts +1 -1
- package/dist/hooks/use-director-fleet-bridge.d.ts +2 -4
- package/dist/hooks/use-exit-command.d.ts +1 -1
- package/dist/hooks/use-file-search.d.ts +3 -7
- package/dist/hooks/use-fleet-generation-gate.d.ts +2 -1
- package/dist/hooks/use-git-session-status.d.ts +1 -1
- package/dist/hooks/use-history-archive.d.ts +3 -2
- package/dist/hooks/use-input-history-persistence.d.ts +2 -1
- package/dist/hooks/use-mode-picker.d.ts +2 -1
- package/dist/hooks/use-model-pick.d.ts +2 -1
- package/dist/hooks/use-next-steps-auto-submit.d.ts +2 -2
- package/dist/hooks/use-panel-controllers.d.ts +3 -1
- package/dist/hooks/use-paste-handling.d.ts +2 -1
- package/dist/hooks/use-prompt-picker.d.ts +4 -3
- package/dist/hooks/use-session-rewind.d.ts +2 -1
- package/dist/hooks/use-shadow-panel.d.ts +2 -1
- package/dist/hooks/use-sidebar-panel-data.d.ts +4 -3
- package/dist/hooks/use-status-sync-interval.d.ts +2 -1
- package/dist/hooks/use-statusline-hidden-sync.d.ts +2 -1
- package/dist/hooks/use-statusline-state.d.ts +9 -3
- package/dist/hooks/use-stream-chip-expiration.d.ts +3 -2
- package/dist/hooks/use-terminal-size.d.ts +3 -2
- package/dist/hooks/use-theme-picker-handler.d.ts +2 -1
- package/dist/hooks/use-tui-activity.d.ts +2 -1
- package/dist/hooks/use-tui-controllers.d.ts +2 -1
- package/dist/hooks/use-tui-environment-state.d.ts +7 -5
- package/dist/hooks/use-tui-event-bridge.d.ts +1 -1
- package/dist/index.js +8509 -8341
- package/dist/ink.d.ts +1 -1
- package/dist/input-editing.d.ts +2 -1
- package/dist/input-tokens.d.ts +2 -1
- package/dist/input-validation/action-types.d.ts +1 -1
- package/dist/input-validation.d.ts +4 -4
- package/dist/kanban-slash.d.ts +8 -32
- package/dist/layout-store.d.ts +2 -1
- package/dist/markdown-table.d.ts +1 -3
- package/dist/memory-context-monitor.d.ts +3 -2
- package/dist/memory-lifecycle-entry.d.ts +2 -1
- package/dist/memory-slash-format.d.ts +0 -1
- package/dist/mouse.d.ts +3 -2
- package/dist/overlay-key-router.d.ts +5 -4
- package/dist/paste-accumulator.d.ts +3 -2
- package/dist/prompt-refinement-start.d.ts +1 -1
- package/dist/reducers/composer.d.ts +1 -1
- package/dist/reducers/conversation.d.ts +1 -1
- package/dist/reducers/helpers.d.ts +16 -3
- package/dist/resume-load.d.ts +131 -0
- package/dist/run-blocks-controller.d.ts +2 -1
- package/dist/run-tui-client-registration.d.ts +3 -2
- package/dist/run-tui-options.d.ts +35 -2
- package/dist/run-tui-teardown.d.ts +2 -1
- package/dist/run-tui-title-controller.d.ts +2 -1
- package/dist/scroll-anchor.d.ts +2 -4
- package/dist/slash-command-lifecycle.d.ts +2 -1
- package/dist/submit-history.d.ts +2 -1
- package/dist/submit-prompt-refinement.d.ts +3 -2
- package/dist/terminal-title.d.ts +2 -1
- package/dist/theme.d.ts +2 -2
- package/dist/token-previews.d.ts +2 -1
- package/dist/tui-host-capabilities.d.ts +1 -1
- package/dist/tui-memory-counters.d.ts +2 -1
- package/dist/ui-contracts.d.ts +1 -1
- package/dist/ui-glyphs.d.ts +3 -1
- package/dist/workbench-slash.d.ts +2 -1
- package/package.json +9 -9
- package/dist/react-children-flatten.d.ts +0 -28
|
@@ -256,6 +256,60 @@ export type Action = {
|
|
|
256
256
|
type: 'resumePickerError';
|
|
257
257
|
text: string;
|
|
258
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Release the post-resume auto-proceed hold.
|
|
261
|
+
*
|
|
262
|
+
* Dispatched by the manual submit path only. The hold exists so a resumed
|
|
263
|
+
* session's restored todo board cannot arm an automatic turn before the user
|
|
264
|
+
* has done anything; sending a message IS that something.
|
|
265
|
+
*/
|
|
266
|
+
| {
|
|
267
|
+
type: 'autoProceedRelease';
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Begin a `/resume`: wipe the screen to a clean slate (banner only, exactly
|
|
271
|
+
* like `/clear`) and put the live progress block in its place.
|
|
272
|
+
*
|
|
273
|
+
* The wipe is the point. Leaving the previous conversation on screen while a
|
|
274
|
+
* different one loaded meant the user could not tell whether anything was
|
|
275
|
+
* happening, or which session they were looking at once it did.
|
|
276
|
+
*/
|
|
277
|
+
| {
|
|
278
|
+
type: 'resumeLoadStart';
|
|
279
|
+
sessionId: string;
|
|
280
|
+
label: string;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Advance the progress block. Every field is optional so the same action
|
|
284
|
+
* serves the spinner ticker (nothing but a frame bump), the byte-progress
|
|
285
|
+
* sink, and the host's stage reports.
|
|
286
|
+
*/
|
|
287
|
+
| {
|
|
288
|
+
type: 'resumeLoadTick';
|
|
289
|
+
loadedBytes?: number | undefined;
|
|
290
|
+
totalBytes?: number | undefined;
|
|
291
|
+
/** Human-readable stage line to push onto the rolling log. */
|
|
292
|
+
note?: string | undefined;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Commit one batch of the replayed transcript.
|
|
296
|
+
*
|
|
297
|
+
* The first batch flips the phase and clears the progress block, so the
|
|
298
|
+
* transcript streams into a screen that holds nothing else. `done` finishes
|
|
299
|
+
* the resume and applies the context snapshot.
|
|
300
|
+
*/
|
|
301
|
+
| {
|
|
302
|
+
type: 'resumeStreamChunk';
|
|
303
|
+
entries: HistoryEntry[];
|
|
304
|
+
/** Total entries in the replay, for the batch counter. */
|
|
305
|
+
total: number;
|
|
306
|
+
done?: boolean | undefined;
|
|
307
|
+
contextSnapshot?: ContextSnapshot | undefined;
|
|
308
|
+
}
|
|
309
|
+
/** Abandon an in-flight resume (failure, or a second resume superseding it). */
|
|
310
|
+
| {
|
|
311
|
+
type: 'resumeLoadAbort';
|
|
312
|
+
}
|
|
259
313
|
/** Replace all history entries with the given hydrated entries from a resumed session. */
|
|
260
314
|
| {
|
|
261
315
|
type: 'replaceHistory';
|
|
@@ -315,6 +369,8 @@ export type Action = {
|
|
|
315
369
|
statuslineMode: StatuslineMode;
|
|
316
370
|
reasoningMode: 'auto' | 'on' | 'off';
|
|
317
371
|
reasoningEffort: ReasoningEffort;
|
|
372
|
+
/** Documented effort levels of the active model (absent = undocumented). */
|
|
373
|
+
reasoningEffortLevels?: string[] | undefined;
|
|
318
374
|
reasoningPreserve: boolean;
|
|
319
375
|
thinkingWord: string;
|
|
320
376
|
cacheTtl: CacheTtl;
|
|
@@ -25,7 +25,7 @@ export declare function buildRestoredEntries(messages: Message[] | undefined, re
|
|
|
25
25
|
* listCheckpoints` builds its counts the same way.
|
|
26
26
|
*/
|
|
27
27
|
export declare function buildRestoredCheckpoints(restoredEvents?: SessionEvent[] | undefined): State['checkpoints'];
|
|
28
|
-
|
|
28
|
+
interface CreateInitialStateOptions {
|
|
29
29
|
banner: boolean;
|
|
30
30
|
appVersion?: string | undefined;
|
|
31
31
|
provider?: string | undefined;
|
|
@@ -66,4 +66,5 @@ export interface CreateInitialStateOptions {
|
|
|
66
66
|
initialFleetChat?: FleetChatVerbosity | undefined;
|
|
67
67
|
}
|
|
68
68
|
export declare function createInitialState(options: CreateInitialStateOptions): State;
|
|
69
|
+
export {};
|
|
69
70
|
//# sourceMappingURL=app-initial-state.d.ts.map
|
package/dist/app-props.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import type { Agent } from '@wrongstack/core/agent';
|
|
|
2
2
|
import type { 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 { StatuslineLines } from '@wrongstack/core/statusline';
|
|
5
6
|
import type { QueueStore } from '@wrongstack/core/storage';
|
|
6
|
-
import type { AttachmentStore, AutonomyStage, ConfigStore, ContextSnapshot, FleetChatVerbosity, Message, SkillLoader, TokenCounter, TokenSavingTier } from '@wrongstack/core/types';
|
|
7
|
+
import type { AttachmentStore, AutonomyStage, ConfigStore, ContextSnapshot, FleetChatVerbosity, Message, SessionLoadProgress, SkillLoader, TokenCounter, TokenSavingTier } from '@wrongstack/core/types';
|
|
7
8
|
import type { VisionAdapters } from '@wrongstack/runtime/vision';
|
|
8
9
|
import type { SddLifecycleResult, SddRunControl } from '@wrongstack/sdd';
|
|
9
10
|
import type React from 'react';
|
|
@@ -118,6 +119,12 @@ export interface AppProps {
|
|
|
118
119
|
* field, exactly as before.
|
|
119
120
|
*/
|
|
120
121
|
getEnhancerReasoning?: ((providerId?: string, modelId?: string) => import('@wrongstack/core/types').ReasoningRequest | undefined | Promise<import('@wrongstack/core/types').ReasoningRequest | undefined>) | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Effort levels the ACTIVE model documents (models.dev reasoningConfig),
|
|
124
|
+
* for the model-aware /settings reasoning-effort cycle (WebUI parity).
|
|
125
|
+
* Undefined = vocabulary undocumented; the picker cycles the full set.
|
|
126
|
+
*/
|
|
127
|
+
getActiveModelReasoningEffortLevels?: (() => string[] | undefined) | undefined;
|
|
121
128
|
/**
|
|
122
129
|
* Build a Provider for a (providerId, modelId) pair WITHOUT switching the
|
|
123
130
|
* session — used to retry a failed refinement on the fallback/another model
|
|
@@ -424,7 +431,14 @@ export interface AppProps {
|
|
|
424
431
|
* `replaceHistory` dispatch, so the user sees the prior conversation
|
|
425
432
|
* exactly as it appeared during live interaction.
|
|
426
433
|
*/
|
|
427
|
-
onResumeSession?: ((sessionId: string) =>
|
|
434
|
+
onResumeSession?: ((sessionId: string, onLoadProgress?: (progress: SessionLoadProgress) => void,
|
|
435
|
+
/**
|
|
436
|
+
* Live stage names as each step of the resume begins (`resolve_id`,
|
|
437
|
+
* `open_journal`, `swap_writer`, …). Drives the rolling rows of the
|
|
438
|
+
* resume loading block, so the screen reports what is actually
|
|
439
|
+
* happening instead of a spinner over an unexplained multi-second wait.
|
|
440
|
+
*/
|
|
441
|
+
onStage?: (stage: string) => void) => Promise<{
|
|
428
442
|
entries: HistoryEntry[];
|
|
429
443
|
nextId: number;
|
|
430
444
|
sessionId: string;
|
|
@@ -438,6 +452,28 @@ export interface AppProps {
|
|
|
438
452
|
* event lands.
|
|
439
453
|
*/
|
|
440
454
|
contextSnapshot?: ContextSnapshot | undefined;
|
|
455
|
+
/**
|
|
456
|
+
* `false` when the transcript loaded but the session was NOT claimed
|
|
457
|
+
* for writing — another process owns it, or the claim lapsed. The
|
|
458
|
+
* conversation is still shown (read-only); the agent keeps writing to
|
|
459
|
+
* the session it was already in. Treated as present-but-true by hosts
|
|
460
|
+
* that predate the field.
|
|
461
|
+
*/
|
|
462
|
+
attached?: boolean | undefined;
|
|
463
|
+
/**
|
|
464
|
+
* Non-fatal problems to print alongside the replayed transcript
|
|
465
|
+
* (sidecars that did not re-point, a provider that is gone). These no
|
|
466
|
+
* longer abort a resume, so they have to be visible somewhere.
|
|
467
|
+
*/
|
|
468
|
+
warnings?: string[] | undefined;
|
|
469
|
+
/**
|
|
470
|
+
* `<nextsteps>` parsed from the resumed session's final assistant turn.
|
|
471
|
+
*
|
|
472
|
+
* OFFERED, never executed: the resume lists them and stops. Empty when
|
|
473
|
+
* the session did not end on a next-steps block, when it has open todos
|
|
474
|
+
* (the board keeps precedence), or when the transcript is read-only.
|
|
475
|
+
*/
|
|
476
|
+
nextSteps?: string[] | undefined;
|
|
441
477
|
} | null>) | undefined;
|
|
442
478
|
/**
|
|
443
479
|
* List recent session summaries for the /resume picker. The host reads
|
|
@@ -540,6 +576,13 @@ export interface AppProps {
|
|
|
540
576
|
* statusline picker so each toggle is immediately durable.
|
|
541
577
|
*/
|
|
542
578
|
saveStatuslineHiddenItems: (items: StatuslineItem[]) => Promise<void>;
|
|
579
|
+
/**
|
|
580
|
+
* Per-chip statusline line assignment (statusline.json schema v2).
|
|
581
|
+
* Optional: hosts that don't load it keep the core contract defaults.
|
|
582
|
+
*/
|
|
583
|
+
statuslineLines?: StatuslineLines | undefined;
|
|
584
|
+
setStatuslineLines?: (lines: StatuslineLines) => void;
|
|
585
|
+
saveStatuslineLines?: (lines: StatuslineLines) => Promise<void>;
|
|
543
586
|
/**
|
|
544
587
|
* Controller for the agents monitor overlay. App installs a dispatch-backed
|
|
545
588
|
* setter on mount so the `/agents on|off` slash command can toggle the
|
|
@@ -97,6 +97,13 @@ export type Settings = {
|
|
|
97
97
|
cacheTtl: CacheTtl;
|
|
98
98
|
/** Where to persist settings: 'global' or 'project'. */
|
|
99
99
|
configScope: 'global' | 'project';
|
|
100
|
+
/**
|
|
101
|
+
* Active system-prompt variant (Lite / Standard / Pro). Read-only display
|
|
102
|
+
* data sourced from `config.systemPrompt.variant` — selection happens in
|
|
103
|
+
* the CLI boot menu (persistSystemPromptVariant), not the TUI picker, so
|
|
104
|
+
* there is no saveSettings counterpart.
|
|
105
|
+
*/
|
|
106
|
+
systemPromptVariant?: 'lite' | 'default' | 'pro' | undefined;
|
|
100
107
|
animationStyle: 'rainbow' | 'wave' | 'pulse' | 'dots' | 'breathe' | 'static' | 'cycle';
|
|
101
108
|
/** When true, read tool includes codebase-index symbols alongside file content. */
|
|
102
109
|
readSymbols: boolean;
|
|
@@ -40,6 +40,24 @@ export interface ResumeSessionEntry {
|
|
|
40
40
|
outcome?: 'completed' | 'error' | 'timeout' | 'aborted' | undefined;
|
|
41
41
|
/** The current session — marked so the picker can disallow resuming into itself. */
|
|
42
42
|
isCurrent?: boolean | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Another process is writing this session RIGHT NOW.
|
|
45
|
+
*
|
|
46
|
+
* Taken from the cross-process `SessionRegistry` at listing time, so it
|
|
47
|
+
* covers every surface that claims a session lease — another `wstack --tui`,
|
|
48
|
+
* a WebUI server, SimpleUI, a plain REPL. Two processes appending to one
|
|
49
|
+
* journal interleave their turns and corrupt the transcript, so the picker
|
|
50
|
+
* refuses these outright rather than letting the host's reservation fail
|
|
51
|
+
* seconds into a multi-hundred-MB read.
|
|
52
|
+
*
|
|
53
|
+
* The F10 sessions panel has always had this (it lists live sessions and
|
|
54
|
+
* checks `pid`); the `/resume` picker was built off session SUMMARIES, which
|
|
55
|
+
* carry no liveness at all, so it had no way to know.
|
|
56
|
+
*/
|
|
57
|
+
live?: {
|
|
58
|
+
pid: number;
|
|
59
|
+
clientType?: string | undefined;
|
|
60
|
+
} | undefined;
|
|
43
61
|
}
|
|
44
62
|
export type DraftEntry = HistoryEntry extends infer T ? T extends {
|
|
45
63
|
id: number;
|
package/dist/app-state.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import type { AuthPanelState } from './auth-panel-model.js';
|
|
|
6
6
|
import type { BrainLogEntry, BrainRiskLevel } from './brain-contracts.js';
|
|
7
7
|
import type { BrainPanelSettings } from './brain-panel-model.js';
|
|
8
8
|
import type { HistoryEntry } from './history-entry.js';
|
|
9
|
+
import type { TuiHistoryBudget } from './history-retention.js';
|
|
10
|
+
import type { ResumeLoadState } from './resume-load.js';
|
|
9
11
|
import type { AuditLevel, CacheTtl, CompactorStrategy, ContextMode, LogLevel, ReasoningEffort, SettingsMode, StatuslineMode } from './settings-contracts.js';
|
|
10
12
|
import type { AutonomyOption, ChipMeta, HelpEntry, LiveSessionEntry, McpPickerItem, ModeOption, PanelPositionMap, PluginPickerItem, ProjectPickerItem, PromptPickEntry, ProviderOption, RefineFailureDecision, RefineFailureModel, ResourceMenuAction, ResourceMenuSnapshot, SendMode, ShadowState, StatuslineItem, ToolPickerItem, WorktreeRow } from './ui-contracts.js';
|
|
11
13
|
export type { Settings } from './app-settings-type.js';
|
|
@@ -23,6 +25,40 @@ export type State = {
|
|
|
23
25
|
* compatibility and the legacy standalone History renderer.
|
|
24
26
|
*/
|
|
25
27
|
historyGen: number;
|
|
28
|
+
/**
|
|
29
|
+
* Retention budget applied to `entries` on every history mutation.
|
|
30
|
+
*
|
|
31
|
+
* `undefined` = the live defaults. A session resume widens it (see
|
|
32
|
+
* `TUI_RESUME_HISTORY_BUDGET`) and the widened budget must PERSIST: the very
|
|
33
|
+
* next `addEntry` — the "Resumed session …" line itself — re-runs retention,
|
|
34
|
+
* so a budget that only applied to the `replaceHistory` dispatch would trim
|
|
35
|
+
* the transcript back one tick later and look like the resume never loaded.
|
|
36
|
+
*/
|
|
37
|
+
historyBudget: TuiHistoryBudget | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Auto-proceed is armed only after the user has sent something.
|
|
40
|
+
*
|
|
41
|
+
* A resume restores the session's todo board, and the auto-proceed selector
|
|
42
|
+
* treats any open todo as grounded work — so resuming a session with an
|
|
43
|
+
* unfinished board silently started a turn on a countdown, without the user
|
|
44
|
+
* ever pressing anything. A resume must land in a waiting state: show the
|
|
45
|
+
* conversation, then stop.
|
|
46
|
+
*
|
|
47
|
+
* This holds only the ARMING. Autonomy itself is the user's setting and is
|
|
48
|
+
* never touched here — the hold clears on the next manual submit, exactly
|
|
49
|
+
* like the consecutive-turn cap does.
|
|
50
|
+
*/
|
|
51
|
+
autoProceedHold: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Live `/resume` progress, or null when no resume is in flight.
|
|
54
|
+
*
|
|
55
|
+
* Set for the whole operation: the seconds spent reading the journal (during
|
|
56
|
+
* which the transcript is empty and this is the only thing on screen) and the
|
|
57
|
+
* streaming replay that follows. The block itself is rendered as a normal
|
|
58
|
+
* history entry — this is the model behind it, kept in state so the spinner
|
|
59
|
+
* ticker and the chunk pump have one authority to read.
|
|
60
|
+
*/
|
|
61
|
+
resumeLoad: ResumeLoadState | null;
|
|
26
62
|
buffer: string;
|
|
27
63
|
cursor: number;
|
|
28
64
|
streamingText: string;
|
|
@@ -283,6 +319,12 @@ export type State = {
|
|
|
283
319
|
reasoningMode: 'auto' | 'on' | 'off';
|
|
284
320
|
/** Reasoning effort level. */
|
|
285
321
|
reasoningEffort: ReasoningEffort;
|
|
322
|
+
/**
|
|
323
|
+
* Effort levels the ACTIVE model documents (models.dev reasoningConfig),
|
|
324
|
+
* injected by the host at /settings-open time. Absent = vocabulary
|
|
325
|
+
* undocumented; the effort cycle then covers the full canonical set.
|
|
326
|
+
*/
|
|
327
|
+
reasoningEffortLevels?: string[] | undefined;
|
|
286
328
|
/** Preserve thinking across turns. */
|
|
287
329
|
reasoningPreserve: boolean;
|
|
288
330
|
/** Single word shown in the TUI rainbow working-state chip. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { AppViewProps } from './app-view-contract.js';
|
|
3
3
|
export { resolveAgentSwarmPanelVisibility } from './app-ui-state.js';
|
|
4
|
-
|
|
4
|
+
interface AppStatusRegionProps extends AppViewProps {
|
|
5
5
|
/** Optional column width cap for the status bar (when beside a sidebar). */
|
|
6
6
|
mainColumnWidth?: number | undefined;
|
|
7
7
|
}
|
|
@@ -14,7 +14,7 @@ import type { useTuiActivity } from './hooks/use-tui-activity.js';
|
|
|
14
14
|
import type { useTuiEnvironmentState } from './hooks/use-tui-environment-state.js';
|
|
15
15
|
import type { DOMElement } from './ink.js';
|
|
16
16
|
import type { StatuslineMode } from './settings-contracts.js';
|
|
17
|
-
|
|
17
|
+
interface AppViewRuntime {
|
|
18
18
|
state: State;
|
|
19
19
|
dispatch: Dispatch<Action>;
|
|
20
20
|
activity: ReturnType<typeof useTuiActivity>;
|
|
@@ -96,4 +96,5 @@ export interface AppViewProps {
|
|
|
96
96
|
host: AppProps;
|
|
97
97
|
runtime: AppViewRuntime;
|
|
98
98
|
}
|
|
99
|
+
export {};
|
|
99
100
|
//# sourceMappingURL=app-view-contract.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { AppViewProps } from './app-view-contract.js';
|
|
3
3
|
import type { PanelId } from './ui-contracts.js';
|
|
4
|
-
|
|
4
|
+
interface AppViewPickersProps {
|
|
5
5
|
host: AppViewProps['host'];
|
|
6
6
|
runtime: AppViewProps['runtime'];
|
|
7
7
|
mainColumnWidth: number;
|
|
@@ -10,4 +10,5 @@ export interface AppViewPickersProps {
|
|
|
10
10
|
panelPositions: Record<PanelId, 'bottom' | 'sidebar'>;
|
|
11
11
|
}
|
|
12
12
|
export declare function AppViewPickers({ host, runtime, mainColumnWidth, pickerMaxRows, routedToSidebar, panelPositions, }: AppViewPickersProps): React.ReactElement;
|
|
13
|
+
export {};
|
|
13
14
|
//# sourceMappingURL=app-view-pickers.d.ts.map
|
|
@@ -3,7 +3,7 @@ import type { AppViewProps } from './app-view-contract.js';
|
|
|
3
3
|
import type { usePlanPanelData } from './components/plan-panel.js';
|
|
4
4
|
import type { useSidebarConnections, useSidebarKanban, useSidebarProcessList, useSidebarWrongProxy } from './hooks/use-sidebar-panel-data.js';
|
|
5
5
|
import type { PanelId } from './ui-contracts.js';
|
|
6
|
-
|
|
6
|
+
interface AppViewSidebarProps {
|
|
7
7
|
host: AppViewProps['host'];
|
|
8
8
|
runtime: AppViewProps['runtime'];
|
|
9
9
|
sidebarWidth: number;
|
|
@@ -24,4 +24,5 @@ export interface AppViewSidebarProps {
|
|
|
24
24
|
sidebarWrongProxyData: ReturnType<typeof useSidebarWrongProxy>;
|
|
25
25
|
}
|
|
26
26
|
export declare function AppViewSidebar({ host, runtime, sidebarWidth, sidebarContentWidth, sidebarSlotVisible, hiddenSidebarPanelCount, sidebarProcessData, sidebarConnectionsData, sidebarKanbanData, sidebarPlanData, sidebarWrongProxyEnabled, sidebarWrongProxyData, }: AppViewSidebarProps): React.ReactElement | null;
|
|
27
|
+
export {};
|
|
27
28
|
//# sourceMappingURL=app-view-sidebar.d.ts.map
|
|
@@ -254,8 +254,6 @@ export type BrainPanelRow = {
|
|
|
254
254
|
* skipped by the adjust/enter handlers — there is nothing to write back.
|
|
255
255
|
*/
|
|
256
256
|
export declare const BRAIN_READONLY_ROW_KINDS: ReadonlySet<BrainPanelRow['kind']>;
|
|
257
|
-
/** Heuristic rows, in display order. */
|
|
258
|
-
export declare const BRAIN_HEURISTIC_KEYS: readonly BrainHeuristicKey[];
|
|
259
257
|
/**
|
|
260
258
|
* Derive the selectable rows for a settings snapshot.
|
|
261
259
|
*
|
|
@@ -15,9 +15,7 @@ import type { State } from './app-state.js';
|
|
|
15
15
|
export type CheckpointEntry = State['checkpoints'][number];
|
|
16
16
|
/** Default maximum number of retained checkpoints. */
|
|
17
17
|
export declare const TUI_CHECKPOINTS_MAX_ENTRIES = 200;
|
|
18
|
-
|
|
19
|
-
export declare const TUI_CHECKPOINTS_MAX_BYTES: number;
|
|
20
|
-
export interface CheckpointBudget {
|
|
18
|
+
interface CheckpointBudget {
|
|
21
19
|
maxEntries?: number | undefined;
|
|
22
20
|
maxBytes?: number | undefined;
|
|
23
21
|
}
|
|
@@ -32,4 +30,5 @@ export interface CheckpointBudget {
|
|
|
32
30
|
* reducer callers can bail out without scheduling another render.
|
|
33
31
|
*/
|
|
34
32
|
export declare function retainCheckpoints(checkpoints: CheckpointEntry[], budget?: CheckpointBudget): CheckpointEntry[];
|
|
33
|
+
export {};
|
|
35
34
|
//# sourceMappingURL=checkpoint-retention.d.ts.map
|
|
@@ -3,14 +3,14 @@ import type { AgentTimelineEntry } from '@wrongstack/core/coordination';
|
|
|
3
3
|
import type { AgentTranscriptReader } from '../ui-contracts.js';
|
|
4
4
|
export type { AgentTranscriptReader } from '../ui-contracts.js';
|
|
5
5
|
import type { FleetEntry } from '../app-state.js';
|
|
6
|
-
import type { HistoryEntry } from './history
|
|
6
|
+
import type { HistoryEntry } from './history.js';
|
|
7
7
|
/**
|
|
8
8
|
* Narrow read-only view of per-subagent transcripts. AgentMonitorService
|
|
9
9
|
* (created in the CLI host) satisfies this structurally; the TUI never
|
|
10
10
|
* imports from @wrongstack/cli. `getTranscript` returns entries NEWEST
|
|
11
11
|
* FIRST (mirroring AgentMonitorService.getTranscript).
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
interface AgentsMonitorProps {
|
|
14
14
|
entries: Record<string, FleetEntry>;
|
|
15
15
|
totalCost: number;
|
|
16
16
|
leaderCost?: number | undefined;
|
|
@@ -24,7 +24,7 @@ export interface AgentsMonitorProps {
|
|
|
24
24
|
leaderTranscript?: (() => AgentTimelineEntry[]) | undefined;
|
|
25
25
|
fullscreen?: boolean | undefined;
|
|
26
26
|
}
|
|
27
|
-
export { EMPTY_AGENTS_CLOSE_DELAY_MS, IDLE_HIDE_MS
|
|
27
|
+
export { EMPTY_AGENTS_CLOSE_DELAY_MS, IDLE_HIDE_MS } from './agents-monitor-constants.js';
|
|
28
28
|
/**
|
|
29
29
|
* Select the agents the live monitor should render. Only actively-running
|
|
30
30
|
* subagents are detail-worthy; idle workers are retained by the coordinator for
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import { type AuthPanelState } from './auth-panel-model.js';
|
|
3
|
-
|
|
3
|
+
interface AuthPanelProps {
|
|
4
4
|
panel: AuthPanelState;
|
|
5
5
|
}
|
|
6
6
|
export declare function formatExpiry(expiresAt: string | undefined): {
|
|
@@ -11,4 +11,5 @@ export declare function isAuthFlowUrlLine(line: string): boolean;
|
|
|
11
11
|
/** Keep the newest authorize URL pinned even as later status lines arrive. */
|
|
12
12
|
export declare function latestAuthFlowUrl(lines: readonly string[]): string | undefined;
|
|
13
13
|
export declare function AuthPanel({ panel }: AuthPanelProps): React.ReactElement;
|
|
14
|
+
export {};
|
|
14
15
|
//# sourceMappingURL=auth-panel.d.ts.map
|
|
@@ -6,7 +6,7 @@ export interface BrainDecisionPromptOption {
|
|
|
6
6
|
consequence?: string | undefined;
|
|
7
7
|
recommended?: boolean | undefined;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
interface BrainDecisionPromptProps {
|
|
10
10
|
requestId: string;
|
|
11
11
|
source: string;
|
|
12
12
|
risk: 'low' | 'medium' | 'high' | 'critical' | string;
|
|
@@ -25,4 +25,5 @@ export interface BrainDecisionPromptProps {
|
|
|
25
25
|
* maps A/B/C (or 1/2/3) to the matching option and Esc/D to a safe denial.
|
|
26
26
|
*/
|
|
27
27
|
export declare function BrainDecisionPrompt({ requestId, source, risk, question, context, options, onAnswer, }: BrainDecisionPromptProps): React.ReactElement;
|
|
28
|
+
export {};
|
|
28
29
|
//# sourceMappingURL=brain-decision-prompt.d.ts.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
|
|
2
|
+
interface ClearConfirmPanelProps {
|
|
3
3
|
leaderActive: boolean;
|
|
4
4
|
subagentCount: number;
|
|
5
5
|
value: string;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
interface ClearConfirmationKey {
|
|
8
8
|
escape?: boolean | undefined;
|
|
9
9
|
return?: boolean | undefined;
|
|
10
10
|
backspace?: boolean | undefined;
|
|
@@ -12,7 +12,7 @@ export interface ClearConfirmationKey {
|
|
|
12
12
|
ctrl?: boolean | undefined;
|
|
13
13
|
meta?: boolean | undefined;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
type ClearConfirmationKeyResult = {
|
|
16
16
|
decision: true | false;
|
|
17
17
|
value: string;
|
|
18
18
|
} | {
|
|
@@ -32,4 +32,5 @@ export declare function clearConfirmationKeyResult(value: string, input: string,
|
|
|
32
32
|
* rendered inside the panel so keystrokes can never appear to disappear.
|
|
33
33
|
*/
|
|
34
34
|
export declare function ClearConfirmPanel({ leaderActive, subagentCount, value, }: ClearConfirmPanelProps): React.ReactElement;
|
|
35
|
+
export {};
|
|
35
36
|
//# sourceMappingURL=clear-confirm-panel.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import { type AnimationStyle } from './animation-style.js';
|
|
3
|
-
|
|
3
|
+
interface ComposerActivityIconProps {
|
|
4
4
|
status: ComposerStatus;
|
|
5
5
|
/** Glyph shown when the agent is idle (the flat brand mark). */
|
|
6
6
|
idleGlyph: string;
|
|
@@ -52,7 +52,7 @@ export declare function composerStatusFromState(opts: {
|
|
|
52
52
|
* Pure + exported for testing.
|
|
53
53
|
*/
|
|
54
54
|
export declare function composerStatusReservedWidth(status: ComposerStatus): number;
|
|
55
|
-
|
|
55
|
+
interface ComposerStatusChipProps {
|
|
56
56
|
status: ComposerStatus;
|
|
57
57
|
/** Animation style for the working state (`'cycle'` rotates the variants). */
|
|
58
58
|
animationStyle: AnimationStyle | 'cycle';
|
|
@@ -65,4 +65,5 @@ export interface ComposerStatusChipProps {
|
|
|
65
65
|
* flat text for idle/confirm/aborting/queued and an animated working word.
|
|
66
66
|
*/
|
|
67
67
|
export declare function ComposerStatusChip({ status, animationStyle, reservedWidth, }: ComposerStatusChipProps): React.ReactElement;
|
|
68
|
+
export {};
|
|
68
69
|
//# sourceMappingURL=composer-status-chip.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export type ConfirmDecision = 'yes' | 'no' | 'always' | 'deny';
|
|
3
|
-
|
|
3
|
+
interface ConfirmPromptProps {
|
|
4
4
|
toolName: string;
|
|
5
5
|
input: unknown;
|
|
6
6
|
suggestedPattern: string;
|
|
@@ -38,4 +38,5 @@ export declare function confirmButtonSegments(suggestedPattern: string): Array<{
|
|
|
38
38
|
*/
|
|
39
39
|
export declare function payloadDiff(input: unknown): string;
|
|
40
40
|
export declare function ConfirmPrompt({ toolName, input, suggestedPattern, onDecision, onEnableYolo, destructive, boundaryReason, }: ConfirmPromptProps): React.ReactElement;
|
|
41
|
+
export {};
|
|
41
42
|
//# sourceMappingURL=confirm-prompt.d.ts.map
|
|
@@ -64,9 +64,10 @@ export interface ContextPanelData {
|
|
|
64
64
|
leaderStatus: string;
|
|
65
65
|
memoryContext: MemoryContextMonitorState;
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
interface ContextPanelProps {
|
|
68
68
|
data: ContextPanelData;
|
|
69
69
|
onClose: () => void;
|
|
70
70
|
}
|
|
71
71
|
export declare function ContextPanel({ data, onClose }: ContextPanelProps): React.ReactElement;
|
|
72
|
+
export {};
|
|
72
73
|
//# sourceMappingURL=context-panel.d.ts.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
type ContinueDecision = 'proceed' | 'edit' | 'cancel';
|
|
3
3
|
/**
|
|
4
4
|
* Return the visible auto-proceed countdown in seconds, or null when the user
|
|
5
5
|
* must make an explicit choice. Keeping this as a tiny pure helper gives tests
|
|
6
6
|
* a stable contract without driving Ink timers.
|
|
7
7
|
*/
|
|
8
8
|
export declare function continueAutoProceedSeconds(grounded: boolean, delayMs: number): number | null;
|
|
9
|
-
|
|
9
|
+
interface ContinueConfirmPanelProps {
|
|
10
10
|
/** One-line summary of what "continue" resolved to. */
|
|
11
11
|
label: string;
|
|
12
12
|
/** The full instruction that will be sent in place of the bare "continue". */
|
|
@@ -44,4 +44,5 @@ export interface ContinueConfirmPanelProps {
|
|
|
44
44
|
* `onDecision` is guarded by the caller so only the first decision wins.
|
|
45
45
|
*/
|
|
46
46
|
export declare function ContinueConfirmPanel({ label, instruction, source, grounded, delayMs, onDecision, }: ContinueConfirmPanelProps): React.ReactElement;
|
|
47
|
+
export {};
|
|
47
48
|
//# sourceMappingURL=continue-confirm-panel.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** F11 — project-level AutonomousCoordinator monitor. */
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
import type { State } from '../app-state.js';
|
|
4
|
-
|
|
4
|
+
interface CoordinatorPanelProps {
|
|
5
5
|
coordinator: State['coordinator'];
|
|
6
6
|
/** 1s clock tick so elapsed times stay live. */
|
|
7
7
|
nowTick: number;
|
|
@@ -9,4 +9,5 @@ export interface CoordinatorPanelProps {
|
|
|
9
9
|
onClose: () => void;
|
|
10
10
|
}
|
|
11
11
|
export declare function CoordinatorPanel({ coordinator, nowTick, onClose, }: CoordinatorPanelProps): React.ReactElement;
|
|
12
|
+
export {};
|
|
12
13
|
//# sourceMappingURL=coordinator-panel.d.ts.map
|
|
@@ -28,10 +28,11 @@ export interface CronListResult {
|
|
|
28
28
|
jobs: CronJobView[];
|
|
29
29
|
error?: string | undefined;
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
interface CronJobsMonitorProps {
|
|
32
32
|
/** Async callback that returns the current cron list (wired to cron_list tool). */
|
|
33
33
|
getCronJobs: () => Promise<CronListResult>;
|
|
34
34
|
onCancel?: ((name: string) => Promise<string | null>) | undefined;
|
|
35
35
|
}
|
|
36
36
|
export declare function CronJobsMonitor({ getCronJobs, onCancel, }: CronJobsMonitorProps): React.ReactElement;
|
|
37
|
+
export {};
|
|
37
38
|
//# sourceMappingURL=cron-jobs.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DesignKitEntry } from '@wrongstack/core/types';
|
|
2
2
|
import type React from 'react';
|
|
3
|
-
|
|
3
|
+
interface DesignPickerProps {
|
|
4
4
|
kits: DesignKitEntry[];
|
|
5
5
|
selected: number;
|
|
6
6
|
stack: string;
|
|
@@ -14,4 +14,5 @@ export interface DesignPickerProps {
|
|
|
14
14
|
* navigable on small terminals.
|
|
15
15
|
*/
|
|
16
16
|
export declare function DesignPicker({ kits, selected, stack }: DesignPickerProps): React.ReactElement;
|
|
17
|
+
export {};
|
|
17
18
|
//# sourceMappingURL=design-picker.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type EnhanceDecision = 'refined' | 'english' | 'original' | 'edit' | 'retry' | 'cancel';
|
|
3
|
+
interface RefiningPanelProps {
|
|
4
4
|
/** Prompt currently being rewritten. */
|
|
5
5
|
original: string;
|
|
6
6
|
/** Time spent in the refiner request so far. */
|
|
@@ -12,7 +12,7 @@ export interface RefiningPanelProps {
|
|
|
12
12
|
/** Model name running the refinement (e.g. "gpt-4o"). */
|
|
13
13
|
model?: string | undefined;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
interface EnhancePanelProps {
|
|
16
16
|
/** The user's original message. */
|
|
17
17
|
original: string;
|
|
18
18
|
/** Refined in the user's original language. */
|
|
@@ -58,4 +58,5 @@ export declare function RefiningPanel({ original, elapsedMs, pulseFrame, provide
|
|
|
58
58
|
* mode while still making auto-send behavior explicit.
|
|
59
59
|
*/
|
|
60
60
|
export declare function EnhancePanel({ original, refined, english, durationMs, delayMs, enhanceLanguage, onDecision, onTick, providerId, model, }: EnhancePanelProps): React.ReactElement;
|
|
61
|
+
export {};
|
|
61
62
|
//# sourceMappingURL=enhance-panel.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
|
|
2
|
+
interface EscConfirmPromptProps {
|
|
3
3
|
runningTools: string[];
|
|
4
4
|
subagentCount: number;
|
|
5
5
|
onConfirm: () => void;
|
|
@@ -14,4 +14,5 @@ export interface EscConfirmPromptProps {
|
|
|
14
14
|
* - n / Esc → cancel, let the agent continue
|
|
15
15
|
*/
|
|
16
16
|
export declare function EscConfirmPrompt({ runningTools, subagentCount, onConfirm, onCancel, }: EscConfirmPromptProps): React.ReactElement;
|
|
17
|
+
export {};
|
|
17
18
|
//# sourceMappingURL=esc-confirm-prompt.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
|
|
2
|
+
interface ExitConfirmPanelProps {
|
|
3
3
|
leaderActive: boolean;
|
|
4
4
|
subagentCount: number;
|
|
5
5
|
backgroundCount?: number | undefined;
|
|
@@ -8,7 +8,7 @@ export interface ExitConfirmationKey {
|
|
|
8
8
|
escape?: boolean | undefined;
|
|
9
9
|
return?: boolean | undefined;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
type ExitConfirmationDecision = true | false | null;
|
|
12
12
|
/**
|
|
13
13
|
* Deterministic keyboard state machine shared by the App input router and
|
|
14
14
|
* regression tests. Returning `null` means "keep waiting" — the panel
|
|
@@ -26,4 +26,5 @@ export declare function exitConfirmationDecision(input: string, key: ExitConfirm
|
|
|
26
26
|
* before they press Enter.
|
|
27
27
|
*/
|
|
28
28
|
export declare function ExitConfirmPanel({ leaderActive, subagentCount, backgroundCount, }: ExitConfirmPanelProps): React.ReactElement;
|
|
29
|
+
export {};
|
|
29
30
|
//# sourceMappingURL=exit-confirm-panel.d.ts.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
export { F_KEY_PANEL_ENTRIES as F_KEY_ENTRIES } from '../f-key-panels.js';
|
|
3
|
-
|
|
4
|
-
export interface FKeyPickerProps {
|
|
3
|
+
interface FKeyPickerProps {
|
|
5
4
|
selected: number;
|
|
6
5
|
}
|
|
7
6
|
/**
|
|
@@ -3,7 +3,7 @@ export interface FallbackCandidate {
|
|
|
3
3
|
providerId: string;
|
|
4
4
|
model: string;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
interface FallbackOverlayProps {
|
|
7
7
|
requestId: string;
|
|
8
8
|
from: {
|
|
9
9
|
providerId: string;
|
|
@@ -35,4 +35,5 @@ export interface FallbackOverlayProps {
|
|
|
35
35
|
* is already visible elsewhere.
|
|
36
36
|
*/
|
|
37
37
|
export declare function FallbackOverlay({ from, status, candidates, autoSwitchSeconds, selected, onChoose, onMove, }: FallbackOverlayProps): React.ReactElement;
|
|
38
|
+
export {};
|
|
38
39
|
//# sourceMappingURL=fallback-overlay.d.ts.map
|