@compilr-dev/cli 0.4.0 → 0.5.0
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/README.md +30 -12
- package/dist/agent.d.ts +74 -1
- package/dist/agent.js +259 -76
- package/dist/anchors/index.d.ts +9 -0
- package/dist/anchors/index.js +9 -0
- package/dist/anchors/project-anchors.d.ts +79 -0
- package/dist/anchors/project-anchors.js +202 -0
- package/dist/commands/handler-types.d.ts +68 -0
- package/dist/commands/handler-types.js +8 -0
- package/dist/commands/handlers/agent-commands.d.ts +13 -0
- package/dist/commands/handlers/agent-commands.js +305 -0
- package/dist/commands/handlers/design-commands.d.ts +15 -0
- package/dist/commands/handlers/design-commands.js +334 -0
- package/dist/commands/handlers/index.d.ts +20 -0
- package/dist/commands/handlers/index.js +43 -0
- package/dist/commands/handlers/overlay-commands.d.ts +21 -0
- package/dist/commands/handlers/overlay-commands.js +287 -0
- package/dist/commands/handlers/project-commands.d.ts +11 -0
- package/dist/commands/handlers/project-commands.js +167 -0
- package/dist/commands/handlers/simple-commands.d.ts +19 -0
- package/dist/commands/handlers/simple-commands.js +144 -0
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/registry.d.ts +50 -0
- package/dist/commands/registry.js +75 -0
- package/dist/commands-v2/handlers/context.d.ts +13 -0
- package/dist/commands-v2/handlers/context.js +348 -0
- package/dist/commands-v2/handlers/core.d.ts +13 -0
- package/dist/commands-v2/handlers/core.js +165 -0
- package/dist/commands-v2/handlers/debug.d.ts +11 -0
- package/dist/commands-v2/handlers/debug.js +159 -0
- package/dist/commands-v2/handlers/index.d.ts +12 -0
- package/dist/commands-v2/handlers/index.js +24 -0
- package/dist/commands-v2/handlers/project.d.ts +22 -0
- package/dist/commands-v2/handlers/project.js +814 -0
- package/dist/commands-v2/handlers/settings.d.ts +15 -0
- package/dist/commands-v2/handlers/settings.js +235 -0
- package/dist/commands-v2/index.d.ts +13 -0
- package/dist/commands-v2/index.js +15 -0
- package/dist/commands-v2/registry.d.ts +37 -0
- package/dist/commands-v2/registry.js +80 -0
- package/dist/commands-v2/types.d.ts +75 -0
- package/dist/commands-v2/types.js +7 -0
- package/dist/commands.js +110 -7
- package/dist/index.js +288 -29
- package/dist/input-handlers/index.d.ts +7 -0
- package/dist/input-handlers/index.js +7 -0
- package/dist/input-handlers/memory-handler.d.ts +26 -0
- package/dist/input-handlers/memory-handler.js +68 -0
- package/dist/repl-helpers.d.ts +63 -0
- package/dist/repl-helpers.js +318 -0
- package/dist/repl-v2.d.ts +155 -0
- package/dist/repl-v2.js +774 -0
- package/dist/repl.d.ts +32 -4
- package/dist/repl.js +250 -977
- package/dist/settings/index.d.ts +23 -0
- package/dist/settings/index.js +48 -0
- package/dist/settings/paths.d.ts +110 -0
- package/dist/settings/paths.js +264 -0
- package/dist/templates/compilr-md.js +7 -4
- package/dist/templates/index.js +3 -4
- package/dist/themes/colors.js +3 -1
- package/dist/themes/registry.d.ts +5 -36
- package/dist/themes/registry.js +11 -95
- package/dist/themes/types.d.ts +3 -38
- package/dist/themes/types.js +2 -2
- package/dist/tools/anchor-tools.d.ts +31 -0
- package/dist/tools/anchor-tools.js +255 -0
- package/dist/tools/backlog-wrappers.d.ts +54 -0
- package/dist/tools/backlog-wrappers.js +338 -0
- package/dist/tools/backlog.js +1 -1
- package/dist/tools/db-tools.d.ts +65 -0
- package/dist/tools/db-tools.js +19 -0
- package/dist/tools/document-db.d.ts +43 -0
- package/dist/tools/document-db.js +220 -0
- package/dist/tools/project-db.d.ts +102 -0
- package/dist/tools/project-db.js +370 -0
- package/dist/tools/workitem-db.d.ts +103 -0
- package/dist/tools/workitem-db.js +549 -0
- package/dist/tools.js +13 -3
- package/dist/ui/agents-overlay-v2.d.ts +43 -0
- package/dist/ui/agents-overlay-v2.js +809 -0
- package/dist/ui/agents-overlay.d.ts +5 -5
- package/dist/ui/agents-overlay.js +782 -420
- package/dist/ui/anchors-overlay.d.ts +12 -0
- package/dist/ui/anchors-overlay.js +775 -0
- package/dist/ui/arch-type-overlay.d.ts +1 -6
- package/dist/ui/arch-type-overlay.js +175 -203
- package/dist/ui/ask-user-overlay-v2.d.ts +26 -0
- package/dist/ui/ask-user-overlay-v2.js +555 -0
- package/dist/ui/ask-user-overlay.d.ts +2 -2
- package/dist/ui/ask-user-overlay.js +443 -535
- package/dist/ui/ask-user-simple-overlay-v2.d.ts +25 -0
- package/dist/ui/ask-user-simple-overlay-v2.js +215 -0
- package/dist/ui/ask-user-simple-overlay.d.ts +2 -2
- package/dist/ui/ask-user-simple-overlay.js +182 -209
- package/dist/ui/backlog-overlay.d.ts +16 -1
- package/dist/ui/backlog-overlay.js +525 -659
- package/dist/ui/base/index.d.ts +26 -0
- package/dist/ui/base/index.js +33 -0
- package/dist/ui/base/inline-overlay-utils.d.ts +217 -0
- package/dist/ui/base/inline-overlay-utils.js +320 -0
- package/dist/ui/base/inline-overlay.d.ts +159 -0
- package/dist/ui/base/inline-overlay.js +257 -0
- package/dist/ui/base/key-utils.d.ts +15 -0
- package/dist/ui/base/key-utils.js +30 -0
- package/dist/ui/base/overlay-base-v2.d.ts +193 -0
- package/dist/ui/base/overlay-base-v2.js +246 -0
- package/dist/ui/base/overlay-base.d.ts +156 -0
- package/dist/ui/base/overlay-base.js +238 -0
- package/dist/ui/base/overlay-lifecycle.d.ts +65 -0
- package/dist/ui/base/overlay-lifecycle.js +159 -0
- package/dist/ui/base/overlay-types.d.ts +185 -0
- package/dist/ui/base/overlay-types.js +7 -0
- package/dist/ui/base/render-utils.d.ts +8 -0
- package/dist/ui/base/render-utils.js +11 -0
- package/dist/ui/base/screen-stack.d.ts +148 -0
- package/dist/ui/base/screen-stack.js +184 -0
- package/dist/ui/base/tabbed-list-overlay-v2.d.ts +103 -0
- package/dist/ui/base/tabbed-list-overlay-v2.js +317 -0
- package/dist/ui/base/tabbed-list-overlay.d.ts +153 -0
- package/dist/ui/base/tabbed-list-overlay.js +369 -0
- package/dist/ui/commands-overlay-v2.d.ts +33 -0
- package/dist/ui/commands-overlay-v2.js +441 -0
- package/dist/ui/commands-overlay.d.ts +7 -2
- package/dist/ui/commands-overlay.js +384 -355
- package/dist/ui/config-overlay.d.ts +5 -4
- package/dist/ui/config-overlay.js +243 -513
- package/dist/ui/conversation.d.ts +75 -4
- package/dist/ui/conversation.js +374 -161
- package/dist/ui/docs-overlay.d.ts +17 -0
- package/dist/ui/docs-overlay.js +303 -0
- package/dist/ui/ephemeral.d.ts +1 -1
- package/dist/ui/ephemeral.js +1 -1
- package/dist/ui/features/index.d.ts +34 -0
- package/dist/ui/features/index.js +34 -0
- package/dist/ui/features/input-feature.d.ts +85 -0
- package/dist/ui/features/input-feature.js +238 -0
- package/dist/ui/features/list-feature.d.ts +155 -0
- package/dist/ui/features/list-feature.js +244 -0
- package/dist/ui/features/pagination-feature.d.ts +154 -0
- package/dist/ui/features/pagination-feature.js +238 -0
- package/dist/ui/features/search-feature.d.ts +148 -0
- package/dist/ui/features/search-feature.js +185 -0
- package/dist/ui/features/tab-feature.d.ts +194 -0
- package/dist/ui/features/tab-feature.js +307 -0
- package/dist/ui/footer-v2.d.ts +222 -0
- package/dist/ui/footer-v2.js +1349 -0
- package/dist/ui/footer.d.ts +107 -0
- package/dist/ui/footer.js +359 -67
- package/dist/ui/guardrail-overlay.d.ts +29 -0
- package/dist/ui/guardrail-overlay.js +145 -0
- package/dist/ui/help-overlay-v2.d.ts +34 -0
- package/dist/ui/help-overlay-v2.js +309 -0
- package/dist/ui/help-overlay.d.ts +16 -0
- package/dist/ui/help-overlay.js +316 -0
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +1 -3
- package/dist/ui/init-overlay-v2.d.ts +34 -0
- package/dist/ui/init-overlay-v2.js +600 -0
- package/dist/ui/init-overlay.d.ts +12 -2
- package/dist/ui/init-overlay.js +349 -270
- package/dist/ui/input-prompt-v2.d.ts +1 -0
- package/dist/ui/input-prompt-v2.js +14 -6
- package/dist/ui/input-prompt.d.ts +116 -33
- package/dist/ui/input-prompt.js +536 -337
- package/dist/ui/iteration-limit-overlay-v2.d.ts +21 -0
- package/dist/ui/iteration-limit-overlay-v2.js +114 -0
- package/dist/ui/iteration-limit-overlay.d.ts +2 -2
- package/dist/ui/iteration-limit-overlay.js +92 -128
- package/dist/ui/keys-overlay-v2.d.ts +41 -0
- package/dist/ui/keys-overlay-v2.js +248 -0
- package/dist/ui/keys-overlay.d.ts +1 -0
- package/dist/ui/keys-overlay.js +203 -141
- package/dist/ui/line-utils.d.ts +88 -0
- package/dist/ui/line-utils.js +150 -0
- package/dist/ui/live-region.d.ts +161 -0
- package/dist/ui/live-region.js +387 -0
- package/dist/ui/mascot/expressions.d.ts +32 -0
- package/dist/ui/mascot/expressions.js +213 -0
- package/dist/ui/mascot/index.d.ts +8 -0
- package/dist/ui/mascot/index.js +8 -0
- package/dist/ui/mascot/renderer.d.ts +19 -0
- package/dist/ui/mascot/renderer.js +97 -0
- package/dist/ui/mascot-overlay-v2.d.ts +41 -0
- package/dist/ui/mascot-overlay-v2.js +138 -0
- package/dist/ui/mascot-overlay.d.ts +21 -0
- package/dist/ui/mascot-overlay.js +146 -0
- package/dist/ui/model-overlay-v2.d.ts +49 -0
- package/dist/ui/model-overlay-v2.js +118 -0
- package/dist/ui/model-overlay.d.ts +27 -0
- package/dist/ui/model-overlay.js +221 -0
- package/dist/ui/model-warning-overlay.js +3 -5
- package/dist/ui/new-overlay.d.ts +34 -0
- package/dist/ui/new-overlay.js +604 -0
- package/dist/ui/overlay/impl/agents-overlay-v2.d.ts +45 -0
- package/dist/ui/overlay/impl/agents-overlay-v2.js +825 -0
- package/dist/ui/overlay/impl/anchors-overlay-v2.d.ts +47 -0
- package/dist/ui/overlay/impl/anchors-overlay-v2.js +783 -0
- package/dist/ui/overlay/impl/arch-type-overlay-v2.d.ts +37 -0
- package/dist/ui/overlay/impl/arch-type-overlay-v2.js +240 -0
- package/dist/ui/overlay/impl/ask-user-overlay-v2.d.ts +72 -0
- package/dist/ui/overlay/impl/ask-user-overlay-v2.js +584 -0
- package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.d.ts +46 -0
- package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.js +204 -0
- package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +49 -0
- package/dist/ui/overlay/impl/backlog-overlay-v2.js +642 -0
- package/dist/ui/overlay/impl/commands-overlay-v2.d.ts +33 -0
- package/dist/ui/overlay/impl/commands-overlay-v2.js +441 -0
- package/dist/ui/overlay/impl/config-overlay-v2.d.ts +100 -0
- package/dist/ui/overlay/impl/config-overlay-v2.js +654 -0
- package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +55 -0
- package/dist/ui/overlay/impl/dashboard-overlay-v2.js +359 -0
- package/dist/ui/overlay/impl/docs-overlay-v2.d.ts +45 -0
- package/dist/ui/overlay/impl/docs-overlay-v2.js +114 -0
- package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +77 -0
- package/dist/ui/overlay/impl/document-detail-overlay-v2.js +1071 -0
- package/dist/ui/overlay/impl/guardrail-overlay-v2.d.ts +43 -0
- package/dist/ui/overlay/impl/guardrail-overlay-v2.js +114 -0
- package/dist/ui/overlay/impl/help-overlay-v2.d.ts +34 -0
- package/dist/ui/overlay/impl/help-overlay-v2.js +309 -0
- package/dist/ui/overlay/impl/init-overlay-v2.d.ts +77 -0
- package/dist/ui/overlay/impl/init-overlay-v2.js +593 -0
- package/dist/ui/overlay/impl/init-setup-overlay-v2.d.ts +25 -0
- package/dist/ui/overlay/impl/init-setup-overlay-v2.js +97 -0
- package/dist/ui/overlay/impl/iteration-limit-overlay-v2.d.ts +35 -0
- package/dist/ui/overlay/impl/iteration-limit-overlay-v2.js +105 -0
- package/dist/ui/overlay/impl/keys-overlay-v2.d.ts +41 -0
- package/dist/ui/overlay/impl/keys-overlay-v2.js +248 -0
- package/dist/ui/overlay/impl/mascot-overlay-v2.d.ts +41 -0
- package/dist/ui/overlay/impl/mascot-overlay-v2.js +138 -0
- package/dist/ui/overlay/impl/model-overlay-v2.d.ts +49 -0
- package/dist/ui/overlay/impl/model-overlay-v2.js +118 -0
- package/dist/ui/overlay/impl/model-warning-overlay-v2.d.ts +46 -0
- package/dist/ui/overlay/impl/model-warning-overlay-v2.js +132 -0
- package/dist/ui/overlay/impl/new-overlay-v2.d.ts +77 -0
- package/dist/ui/overlay/impl/new-overlay-v2.js +593 -0
- package/dist/ui/overlay/impl/permission-overlay-v2.d.ts +36 -0
- package/dist/ui/overlay/impl/permission-overlay-v2.js +380 -0
- package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +36 -0
- package/dist/ui/overlay/impl/projects-overlay-v2.js +499 -0
- package/dist/ui/overlay/impl/theme-overlay-v2.d.ts +42 -0
- package/dist/ui/overlay/impl/theme-overlay-v2.js +135 -0
- package/dist/ui/overlay/impl/tools-overlay-v2.d.ts +47 -0
- package/dist/ui/overlay/impl/tools-overlay-v2.js +218 -0
- package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +31 -0
- package/dist/ui/overlay/impl/tutorial-overlay-v2.js +1035 -0
- package/dist/ui/overlay/impl/workflow-overlay-v2.d.ts +80 -0
- package/dist/ui/overlay/impl/workflow-overlay-v2.js +637 -0
- package/dist/ui/overlay/index.d.ts +33 -0
- package/dist/ui/overlay/index.js +35 -0
- package/dist/ui/overlay/key-utils.d.ts +6 -0
- package/dist/ui/overlay/key-utils.js +6 -0
- package/dist/ui/overlay/overlay-types.d.ts +128 -0
- package/dist/ui/overlay/overlay-types.js +22 -0
- package/dist/ui/overlay/types.d.ts +135 -0
- package/dist/ui/overlay/types.js +22 -0
- package/dist/ui/overlays/help-overlay-v2.d.ts +28 -0
- package/dist/ui/overlays/help-overlay-v2.js +198 -0
- package/dist/ui/overlays/index.d.ts +11 -0
- package/dist/ui/overlays/index.js +11 -0
- package/dist/ui/overlays.d.ts +0 -4
- package/dist/ui/overlays.js +0 -444
- package/dist/ui/permission-overlay-v2.d.ts +36 -0
- package/dist/ui/permission-overlay-v2.js +380 -0
- package/dist/ui/permission-overlay.d.ts +1 -1
- package/dist/ui/permission-overlay.js +186 -298
- package/dist/ui/projects-overlay.d.ts +19 -0
- package/dist/ui/projects-overlay.js +484 -0
- package/dist/ui/providers/types.d.ts +178 -0
- package/dist/ui/providers/types.js +9 -0
- package/dist/ui/render-modes.d.ts +36 -0
- package/dist/ui/render-modes.js +44 -0
- package/dist/ui/startup-menu.d.ts +36 -0
- package/dist/ui/startup-menu.js +236 -0
- package/dist/ui/subagent-renderer.d.ts +117 -0
- package/dist/ui/subagent-renderer.js +334 -0
- package/dist/ui/terminal-codes.d.ts +94 -0
- package/dist/ui/terminal-codes.js +124 -0
- package/dist/ui/terminal-renderer.d.ts +221 -0
- package/dist/ui/terminal-renderer.js +751 -0
- package/dist/ui/terminal-ui.d.ts +463 -0
- package/dist/ui/terminal-ui.js +2296 -0
- package/dist/ui/terminal.d.ts +20 -0
- package/dist/ui/terminal.js +72 -0
- package/dist/ui/theme-overlay-v2.d.ts +42 -0
- package/dist/ui/theme-overlay-v2.js +135 -0
- package/dist/ui/theme-overlay.d.ts +24 -0
- package/dist/ui/theme-overlay.js +127 -0
- package/dist/ui/todo-zone.js +53 -25
- package/dist/ui/tool-formatters.d.ts +16 -0
- package/dist/ui/tool-formatters.js +516 -0
- package/dist/ui/tools-overlay-v2.d.ts +47 -0
- package/dist/ui/tools-overlay-v2.js +218 -0
- package/dist/ui/tools-overlay.d.ts +10 -2
- package/dist/ui/tools-overlay.js +172 -220
- package/dist/ui/tutorial-overlay-v2.d.ts +31 -0
- package/dist/ui/tutorial-overlay-v2.js +1035 -0
- package/dist/ui/tutorial-overlay.d.ts +1 -0
- package/dist/ui/tutorial-overlay.js +400 -302
- package/dist/ui/workflow-overlay.d.ts +22 -0
- package/dist/ui/workflow-overlay.js +636 -0
- package/dist/utils/debug-log.d.ts +28 -0
- package/dist/utils/debug-log.js +57 -0
- package/dist/utils/model-tiers.js +1 -1
- package/dist/utils/path-safety.d.ts +56 -0
- package/dist/utils/path-safety.js +239 -0
- package/dist/workflow/guided-mode-injector.d.ts +42 -0
- package/dist/workflow/guided-mode-injector.js +191 -0
- package/dist/workflow/index.d.ts +8 -0
- package/dist/workflow/index.js +8 -0
- package/dist/workflow/step-criteria.d.ts +62 -0
- package/dist/workflow/step-criteria.js +150 -0
- package/dist/workflow/step-tracker.d.ts +92 -0
- package/dist/workflow/step-tracker.js +141 -0
- package/package.json +12 -5
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal Renderer
|
|
3
|
+
*
|
|
4
|
+
* Single point of terminal output. All rendering goes through this class.
|
|
5
|
+
* Eliminates race conditions by ensuring only one writer.
|
|
6
|
+
*
|
|
7
|
+
* Key responsibilities:
|
|
8
|
+
* - Manage render modes (MENU, REPL, OVERLAY)
|
|
9
|
+
* - Set up and manage scroll regions (REPL mode)
|
|
10
|
+
* - Collect content from providers
|
|
11
|
+
* - Write to terminal (single writer)
|
|
12
|
+
* - Handle resize events
|
|
13
|
+
* - Route keyboard input
|
|
14
|
+
*/
|
|
15
|
+
import { EventEmitter } from 'events';
|
|
16
|
+
import { RenderMode, type ModeTransition } from './render-modes.js';
|
|
17
|
+
import type { ProviderRegistry } from './providers/types.js';
|
|
18
|
+
import type { Footer } from './footer.js';
|
|
19
|
+
export { RenderMode } from './render-modes.js';
|
|
20
|
+
export interface TerminalRendererOptions {
|
|
21
|
+
/** Initial render mode (default: REPL) */
|
|
22
|
+
initialMode?: RenderMode;
|
|
23
|
+
/** Render debounce in milliseconds (default: 16 = ~60fps) */
|
|
24
|
+
renderDebounceMs?: number;
|
|
25
|
+
/** Enable debug logging */
|
|
26
|
+
debug?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Use scroll regions for footer isolation (default: false)
|
|
29
|
+
* When false, uses console.log for scroll content (legacy mode)
|
|
30
|
+
* When true, uses ANSI scroll regions (requires footer integration)
|
|
31
|
+
*/
|
|
32
|
+
useScrollRegions?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface TerminalRendererEvents {
|
|
35
|
+
'mode-change': (transition: ModeTransition) => void;
|
|
36
|
+
'resize': (cols: number, rows: number) => void;
|
|
37
|
+
'render': (mode: RenderMode) => void;
|
|
38
|
+
'error': (error: Error) => void;
|
|
39
|
+
}
|
|
40
|
+
export declare class TerminalRenderer extends EventEmitter {
|
|
41
|
+
private readonly renderDebounceMs;
|
|
42
|
+
private readonly debug;
|
|
43
|
+
private readonly useScrollRegions;
|
|
44
|
+
private mode;
|
|
45
|
+
private terminalRows;
|
|
46
|
+
private terminalCols;
|
|
47
|
+
private footerHeight;
|
|
48
|
+
private scrollRegionBottom;
|
|
49
|
+
private isRendering;
|
|
50
|
+
private renderPending;
|
|
51
|
+
private renderTimer;
|
|
52
|
+
private started;
|
|
53
|
+
private simpleMode;
|
|
54
|
+
private pendingScrollContent;
|
|
55
|
+
private scrollCursorRow;
|
|
56
|
+
private providers;
|
|
57
|
+
private footer;
|
|
58
|
+
private resizeHandler;
|
|
59
|
+
private renderLoopTimer;
|
|
60
|
+
private readonly renderLoopInterval;
|
|
61
|
+
constructor(options?: TerminalRendererOptions);
|
|
62
|
+
/**
|
|
63
|
+
* Start the renderer.
|
|
64
|
+
* Sets up terminal state and begins render loop.
|
|
65
|
+
*/
|
|
66
|
+
start(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Start the render loop (for scroll region mode)
|
|
69
|
+
* Polls footer for changes and re-renders
|
|
70
|
+
*/
|
|
71
|
+
private startRenderLoop;
|
|
72
|
+
/**
|
|
73
|
+
* Stop the render loop
|
|
74
|
+
*/
|
|
75
|
+
private stopRenderLoop;
|
|
76
|
+
/**
|
|
77
|
+
* Stop the renderer.
|
|
78
|
+
* Cleans up terminal state and stops render loop.
|
|
79
|
+
*/
|
|
80
|
+
stop(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Check if renderer is running
|
|
83
|
+
*/
|
|
84
|
+
isStarted(): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Get current render mode
|
|
87
|
+
*/
|
|
88
|
+
getMode(): RenderMode;
|
|
89
|
+
/**
|
|
90
|
+
* Switch to a different render mode
|
|
91
|
+
*/
|
|
92
|
+
setMode(newMode: RenderMode, reason?: string): void;
|
|
93
|
+
/**
|
|
94
|
+
* Set up terminal for a specific mode
|
|
95
|
+
*/
|
|
96
|
+
private setupMode;
|
|
97
|
+
/**
|
|
98
|
+
* Clean up terminal state when leaving a mode
|
|
99
|
+
*/
|
|
100
|
+
private cleanupMode;
|
|
101
|
+
/**
|
|
102
|
+
* Register content providers
|
|
103
|
+
*/
|
|
104
|
+
setProviders(providers: Partial<ProviderRegistry>): void;
|
|
105
|
+
/**
|
|
106
|
+
* Get a specific provider
|
|
107
|
+
*/
|
|
108
|
+
getProvider<K extends keyof ProviderRegistry>(key: K): ProviderRegistry[K] | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* Set the Footer instance for scroll region rendering
|
|
111
|
+
* When useScrollRegions is true, TerminalRenderer uses footer.getFooterLines()
|
|
112
|
+
* and manages the scroll region. Footer's own render loop is disabled.
|
|
113
|
+
*/
|
|
114
|
+
setFooter(footer: Footer): void;
|
|
115
|
+
/**
|
|
116
|
+
* Get the connected Footer instance
|
|
117
|
+
*/
|
|
118
|
+
getFooter(): Footer | null;
|
|
119
|
+
/**
|
|
120
|
+
* Queue content for scroll zone (REPL mode only)
|
|
121
|
+
* Content will be written on next render
|
|
122
|
+
*
|
|
123
|
+
* In legacy mode (useScrollRegions=false), writes immediately via console.log
|
|
124
|
+
* In scroll region mode, queues for next render cycle
|
|
125
|
+
*/
|
|
126
|
+
appendToScrollZone(content: string | string[]): void;
|
|
127
|
+
/**
|
|
128
|
+
* Flush pending scroll content to terminal
|
|
129
|
+
*
|
|
130
|
+
* Uses tracked scroll position to append content naturally.
|
|
131
|
+
* When content would exceed scroll region, scrolling occurs automatically.
|
|
132
|
+
*/
|
|
133
|
+
private flushScrollContent;
|
|
134
|
+
/**
|
|
135
|
+
* Request a render (debounced)
|
|
136
|
+
*/
|
|
137
|
+
requestRender(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Force immediate render (bypasses debounce)
|
|
140
|
+
*/
|
|
141
|
+
forceRender(): void;
|
|
142
|
+
/**
|
|
143
|
+
* Main render method
|
|
144
|
+
*/
|
|
145
|
+
private doRender;
|
|
146
|
+
/**
|
|
147
|
+
* Render in simple mode (non-TTY)
|
|
148
|
+
*/
|
|
149
|
+
private renderSimpleMode;
|
|
150
|
+
/**
|
|
151
|
+
* Render MENU mode
|
|
152
|
+
*/
|
|
153
|
+
private renderMenuMode;
|
|
154
|
+
/**
|
|
155
|
+
* Render REPL mode
|
|
156
|
+
*/
|
|
157
|
+
private renderReplMode;
|
|
158
|
+
/**
|
|
159
|
+
* Build footer lines from providers
|
|
160
|
+
*/
|
|
161
|
+
private buildFooterLines;
|
|
162
|
+
/**
|
|
163
|
+
* Calculate physical height of lines (accounting for wrapping)
|
|
164
|
+
*/
|
|
165
|
+
private calculatePhysicalHeight;
|
|
166
|
+
/**
|
|
167
|
+
* Adjust scroll region when footer height changes
|
|
168
|
+
*/
|
|
169
|
+
private adjustScrollRegion;
|
|
170
|
+
/**
|
|
171
|
+
* Render footer content
|
|
172
|
+
*/
|
|
173
|
+
private renderFooter;
|
|
174
|
+
/**
|
|
175
|
+
* Position cursor for input (provider-based)
|
|
176
|
+
*/
|
|
177
|
+
private positionCursor;
|
|
178
|
+
/**
|
|
179
|
+
* Position cursor for Footer integration (scroll region mode)
|
|
180
|
+
*/
|
|
181
|
+
private positionFooterCursor;
|
|
182
|
+
/**
|
|
183
|
+
* Render OVERLAY mode
|
|
184
|
+
*/
|
|
185
|
+
private renderOverlayMode;
|
|
186
|
+
/**
|
|
187
|
+
* Handle terminal resize
|
|
188
|
+
*/
|
|
189
|
+
handleResize(): void;
|
|
190
|
+
/**
|
|
191
|
+
* Update terminal dimensions from stdout
|
|
192
|
+
*/
|
|
193
|
+
private updateDimensions;
|
|
194
|
+
/**
|
|
195
|
+
* Get current terminal dimensions
|
|
196
|
+
*/
|
|
197
|
+
getDimensions(): {
|
|
198
|
+
rows: number;
|
|
199
|
+
cols: number;
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Write to stdout (single output point)
|
|
203
|
+
*/
|
|
204
|
+
write(text: string): void;
|
|
205
|
+
/**
|
|
206
|
+
* Route keyboard input to appropriate handler
|
|
207
|
+
*/
|
|
208
|
+
handleKeyboard(key: Buffer): void;
|
|
209
|
+
/**
|
|
210
|
+
* Log debug message if debug mode enabled
|
|
211
|
+
*/
|
|
212
|
+
private log;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Get or create the default renderer instance
|
|
216
|
+
*/
|
|
217
|
+
export declare function getRenderer(options?: TerminalRendererOptions): TerminalRenderer;
|
|
218
|
+
/**
|
|
219
|
+
* Reset the default renderer (for testing)
|
|
220
|
+
*/
|
|
221
|
+
export declare function resetRenderer(): void;
|