@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
package/dist/ui/footer.d.ts
CHANGED
|
@@ -30,12 +30,16 @@ export interface FooterOptions {
|
|
|
30
30
|
export declare class Footer extends EventEmitter {
|
|
31
31
|
private readonly todoZone;
|
|
32
32
|
private readonly inputPrompt;
|
|
33
|
+
private readonly subagentRenderer;
|
|
33
34
|
private agentRunning;
|
|
34
35
|
private mode;
|
|
35
36
|
private lastRenderHeight;
|
|
36
37
|
private isRunning;
|
|
37
38
|
private isPaused;
|
|
39
|
+
private isRendering;
|
|
38
40
|
private cursorLineFromBottom;
|
|
41
|
+
private projectName;
|
|
42
|
+
private externalRendererEnabled;
|
|
39
43
|
private readonly renderInterval;
|
|
40
44
|
private renderTimer;
|
|
41
45
|
private needsRender;
|
|
@@ -65,6 +69,14 @@ export declare class Footer extends EventEmitter {
|
|
|
65
69
|
* Get the current mode
|
|
66
70
|
*/
|
|
67
71
|
getMode(): AgentMode;
|
|
72
|
+
/**
|
|
73
|
+
* Set the current project name (displayed in footer)
|
|
74
|
+
*/
|
|
75
|
+
setProjectName(name: string | null): void;
|
|
76
|
+
/**
|
|
77
|
+
* Get the current project name
|
|
78
|
+
*/
|
|
79
|
+
getProjectName(): string | null;
|
|
68
80
|
/**
|
|
69
81
|
* Update the todo list
|
|
70
82
|
*/
|
|
@@ -86,6 +98,49 @@ export declare class Footer extends EventEmitter {
|
|
|
86
98
|
* Add tokens to the spinner counter
|
|
87
99
|
*/
|
|
88
100
|
addTokens(count: number): void;
|
|
101
|
+
/**
|
|
102
|
+
* Called when a subagent starts
|
|
103
|
+
*/
|
|
104
|
+
onSubagentStart(agentId: string, agentType: string, description: string): void;
|
|
105
|
+
/**
|
|
106
|
+
* Called when a subagent uses a tool
|
|
107
|
+
*/
|
|
108
|
+
onSubagentToolUse(agentId: string, toolName: string, summary?: string): void;
|
|
109
|
+
/**
|
|
110
|
+
* Called when a subagent completes
|
|
111
|
+
*
|
|
112
|
+
* CRITICAL (legacy mode only): We must pause rendering immediately to prevent a race condition.
|
|
113
|
+
* The render loop could fire between onSubagentEnd and clearForOutput, which would:
|
|
114
|
+
* 1. See the subagent as 'done'
|
|
115
|
+
* 2. Render with 0 subagent lines
|
|
116
|
+
* 3. Update lastRenderHeight to a smaller value
|
|
117
|
+
* 4. Then clearForOutput would not clear enough lines → ghost lines!
|
|
118
|
+
*
|
|
119
|
+
* In external renderer mode: No pause needed since the internal render loop is disabled.
|
|
120
|
+
*/
|
|
121
|
+
onSubagentEnd(agentId: string, success: boolean, tokenCount: number, error?: string): void;
|
|
122
|
+
/**
|
|
123
|
+
* Toggle expanded view for subagents (Ctrl+O)
|
|
124
|
+
*/
|
|
125
|
+
toggleSubagentExpand(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Check if there are active subagents
|
|
128
|
+
*/
|
|
129
|
+
hasActiveSubagents(): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Clear subagent tracking (after completion displayed)
|
|
132
|
+
*/
|
|
133
|
+
clearSubagents(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Get the last subagent's stats before clearing
|
|
136
|
+
*/
|
|
137
|
+
getLastSubagentStats(): {
|
|
138
|
+
type: string;
|
|
139
|
+
description: string;
|
|
140
|
+
toolCount: number;
|
|
141
|
+
tokenCount: number;
|
|
142
|
+
durationMs: number;
|
|
143
|
+
} | null;
|
|
89
144
|
/**
|
|
90
145
|
* Get queued inputs
|
|
91
146
|
*/
|
|
@@ -105,12 +160,26 @@ export declare class Footer extends EventEmitter {
|
|
|
105
160
|
/**
|
|
106
161
|
* Clear footer before scrolling output
|
|
107
162
|
* Call this before writing to the scrolling zone
|
|
163
|
+
* Pauses interval rendering to prevent ghost lines during output
|
|
164
|
+
*
|
|
165
|
+
* When external renderer is enabled (scroll region mode):
|
|
166
|
+
* - Footer doesn't need clearing (it's in a separate scroll region)
|
|
167
|
+
* - Just mark that we need a re-render
|
|
108
168
|
*/
|
|
109
169
|
clearForOutput(): void;
|
|
110
170
|
/**
|
|
111
171
|
* Force an immediate render
|
|
172
|
+
* Resumes interval rendering after clearForOutput()
|
|
173
|
+
*
|
|
174
|
+
* When external renderer is enabled (scroll region mode):
|
|
175
|
+
* - Just mark that we need a re-render (TerminalRenderer's loop will pick it up)
|
|
112
176
|
*/
|
|
113
177
|
forceRender(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Restart input prompt after a command completes
|
|
180
|
+
* Use this for non-overlay commands where finishInput() stopped the prompt
|
|
181
|
+
*/
|
|
182
|
+
restartInput(): void;
|
|
114
183
|
/**
|
|
115
184
|
* Pause footer completely (for overlays)
|
|
116
185
|
* Stops render loop, input capture, and animation
|
|
@@ -125,6 +194,37 @@ export declare class Footer extends EventEmitter {
|
|
|
125
194
|
* Get the height of last render
|
|
126
195
|
*/
|
|
127
196
|
getLastRenderHeight(): number;
|
|
197
|
+
/**
|
|
198
|
+
* Get all footer lines for rendering (for TerminalRenderer integration)
|
|
199
|
+
* Returns the lines WITHOUT writing to terminal
|
|
200
|
+
*/
|
|
201
|
+
getFooterLines(): string[];
|
|
202
|
+
/**
|
|
203
|
+
* Get cursor position within footer content (for TerminalRenderer)
|
|
204
|
+
* Returns { row, col } where row is 0-indexed from start of footer lines
|
|
205
|
+
*/
|
|
206
|
+
getFooterCursorPosition(): {
|
|
207
|
+
row: number;
|
|
208
|
+
col: number;
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Enable external renderer mode (TerminalRenderer manages rendering)
|
|
212
|
+
* When enabled:
|
|
213
|
+
* - Footer's internal render loop is disabled
|
|
214
|
+
* - Input capture remains active
|
|
215
|
+
* - Event forwarding remains active
|
|
216
|
+
* - TerminalRenderer calls getFooterLines() and renders
|
|
217
|
+
*/
|
|
218
|
+
setExternalRenderer(enabled: boolean): void;
|
|
219
|
+
/**
|
|
220
|
+
* Check if external renderer is enabled
|
|
221
|
+
*/
|
|
222
|
+
isExternalRendererEnabled(): boolean;
|
|
223
|
+
/**
|
|
224
|
+
* Request a render from external renderer
|
|
225
|
+
* Call this to notify TerminalRenderer that footer needs re-rendering
|
|
226
|
+
*/
|
|
227
|
+
requestExternalRender(): void;
|
|
128
228
|
/**
|
|
129
229
|
* Refresh the prompt with current theme colors
|
|
130
230
|
* Call after theme changes to apply new colors immediately
|
|
@@ -132,6 +232,12 @@ export declare class Footer extends EventEmitter {
|
|
|
132
232
|
refreshPrompt(): void;
|
|
133
233
|
/**
|
|
134
234
|
* Clear the footer area
|
|
235
|
+
*
|
|
236
|
+
* Strategy: Simply move to the top of the CURRENT footer and clear to end.
|
|
237
|
+
* - When footer SHRINKS: clearToEndOfScreen handles the extra lines
|
|
238
|
+
* - When footer GROWS: terminal scrolls naturally when we write more lines
|
|
239
|
+
*
|
|
240
|
+
* We NEVER move up into the scrolling zone - that would eat content!
|
|
135
241
|
*/
|
|
136
242
|
private clear;
|
|
137
243
|
/**
|
|
@@ -144,6 +250,7 @@ export declare class Footer extends EventEmitter {
|
|
|
144
250
|
private renderModeIndicator;
|
|
145
251
|
/**
|
|
146
252
|
* Calculate how many terminal rows a line takes (accounting for wrapping)
|
|
253
|
+
* Uses unified line-utils for consistent calculation across all components.
|
|
147
254
|
*/
|
|
148
255
|
private getTerminalRowsForLine;
|
|
149
256
|
/**
|