@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,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Footer V2 - UI Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Single point of control for all terminal UI:
|
|
5
|
+
* - Owns all rendering decisions (when to clear, when to render)
|
|
6
|
+
* - Owns all UI state (agentRunning, todos, currentTool, etc.)
|
|
7
|
+
* - Provides output methods that handle clear/render automatically
|
|
8
|
+
* - REPL just emits events, doesn't manage rendering timing
|
|
9
|
+
*
|
|
10
|
+
* Key principles:
|
|
11
|
+
* - NO scroll regions (preserves terminal scrollback)
|
|
12
|
+
* - Deterministic render cycle
|
|
13
|
+
* - All output goes through footer (no external console.log)
|
|
14
|
+
*/
|
|
15
|
+
import { EventEmitter } from 'events';
|
|
16
|
+
import type { TodoItem, AgentMode } from './types.js';
|
|
17
|
+
export interface FooterV2Events {
|
|
18
|
+
submit: (input: string) => void;
|
|
19
|
+
command: (command: string, args: string) => void;
|
|
20
|
+
cancel: () => void;
|
|
21
|
+
escape: () => void;
|
|
22
|
+
interrupt: () => void;
|
|
23
|
+
modeChange: () => void;
|
|
24
|
+
}
|
|
25
|
+
export interface FooterV2Options {
|
|
26
|
+
prompt?: string;
|
|
27
|
+
initialMode?: AgentMode;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Represents a semantic item that can be printed to the scrolling zone.
|
|
31
|
+
* FooterV2 handles all formatting based on the item type.
|
|
32
|
+
*/
|
|
33
|
+
export type PrintableItem = {
|
|
34
|
+
type: 'user-message';
|
|
35
|
+
text: string;
|
|
36
|
+
} | {
|
|
37
|
+
type: 'agent-text';
|
|
38
|
+
text: string;
|
|
39
|
+
expression?: MascotExpression;
|
|
40
|
+
} | {
|
|
41
|
+
type: 'tool-start';
|
|
42
|
+
name: string;
|
|
43
|
+
params: string;
|
|
44
|
+
} | {
|
|
45
|
+
type: 'tool-result';
|
|
46
|
+
name: string;
|
|
47
|
+
params: string;
|
|
48
|
+
result: string;
|
|
49
|
+
success?: boolean;
|
|
50
|
+
} | {
|
|
51
|
+
type: 'tool-error';
|
|
52
|
+
name: string;
|
|
53
|
+
params: string;
|
|
54
|
+
error: string;
|
|
55
|
+
} | {
|
|
56
|
+
type: 'interrupted';
|
|
57
|
+
action?: string;
|
|
58
|
+
suggestion?: string;
|
|
59
|
+
} | {
|
|
60
|
+
type: 'error';
|
|
61
|
+
message: string;
|
|
62
|
+
} | {
|
|
63
|
+
type: 'success';
|
|
64
|
+
message: string;
|
|
65
|
+
} | {
|
|
66
|
+
type: 'info';
|
|
67
|
+
message: string;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'warning';
|
|
70
|
+
message: string;
|
|
71
|
+
} | {
|
|
72
|
+
type: 'raw';
|
|
73
|
+
text: string;
|
|
74
|
+
} | {
|
|
75
|
+
type: 'raw-lines';
|
|
76
|
+
lines: string[];
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Inline mascot expressions for agent identity and state feedback.
|
|
80
|
+
* Used to prefix agent messages and in spinner animations.
|
|
81
|
+
*/
|
|
82
|
+
export declare const MASCOT: {
|
|
83
|
+
readonly neutral: "[•_•]";
|
|
84
|
+
readonly thinking: "[°_°]";
|
|
85
|
+
readonly searching: "[◐_◐]";
|
|
86
|
+
readonly success: "[^_^]";
|
|
87
|
+
readonly error: "[×_×]";
|
|
88
|
+
readonly confused: "[?_?]";
|
|
89
|
+
readonly working: "[•̀_•́]";
|
|
90
|
+
readonly crt: readonly ["[░░░]", "[▒░░]", "[░▒░]", "[░░▒]", "[░▒░]", "[▒░░]"];
|
|
91
|
+
};
|
|
92
|
+
export type MascotExpression = 'neutral' | 'thinking' | 'searching' | 'success' | 'error' | 'confused' | 'working';
|
|
93
|
+
export declare class FooterV2 extends EventEmitter {
|
|
94
|
+
private promptPrefix;
|
|
95
|
+
private promptPrefixLen;
|
|
96
|
+
private lines;
|
|
97
|
+
private currentLine;
|
|
98
|
+
private cursorPos;
|
|
99
|
+
private mode;
|
|
100
|
+
private projectName;
|
|
101
|
+
private todos;
|
|
102
|
+
private spinnerText;
|
|
103
|
+
private spinnerFrame;
|
|
104
|
+
private agentRunning;
|
|
105
|
+
private queuedInputs;
|
|
106
|
+
private currentTool;
|
|
107
|
+
private readonly autocomplete;
|
|
108
|
+
private readonly fileAutocomplete;
|
|
109
|
+
private readonly history;
|
|
110
|
+
private historyIndex;
|
|
111
|
+
private savedInput;
|
|
112
|
+
private lastRenderHeight;
|
|
113
|
+
private cursorLineFromBottom;
|
|
114
|
+
private isRunning;
|
|
115
|
+
private isPaused;
|
|
116
|
+
private renderTimer;
|
|
117
|
+
private needsRender;
|
|
118
|
+
private lastEscapeTime;
|
|
119
|
+
private suggestion;
|
|
120
|
+
private readonly spinnerFrames;
|
|
121
|
+
private spinnerTimer;
|
|
122
|
+
constructor(options?: FooterV2Options);
|
|
123
|
+
/** Get the full input value (all lines joined with newlines) */
|
|
124
|
+
private getInputValue;
|
|
125
|
+
/** Get the current line content */
|
|
126
|
+
private getCurrentLineContent;
|
|
127
|
+
/** Clear input and reset to single empty line */
|
|
128
|
+
private clearInput;
|
|
129
|
+
start(): void;
|
|
130
|
+
stop(): void;
|
|
131
|
+
/**
|
|
132
|
+
* Print a semantic item to the scrolling zone.
|
|
133
|
+
* FooterV2 handles all formatting based on the item type.
|
|
134
|
+
*/
|
|
135
|
+
print(item: PrintableItem): void;
|
|
136
|
+
/**
|
|
137
|
+
* Execute a callback that outputs to terminal.
|
|
138
|
+
* Handles clear → callback → render automatically.
|
|
139
|
+
* Use this for complex output that needs multiple console.log calls.
|
|
140
|
+
* @deprecated Prefer using print() with PrintableItem
|
|
141
|
+
*/
|
|
142
|
+
output(callback: () => void): void;
|
|
143
|
+
setAgentRunning(running: boolean): void;
|
|
144
|
+
isAgentRunning(): boolean;
|
|
145
|
+
setTodos(todos: TodoItem[]): void;
|
|
146
|
+
getTodos(): TodoItem[];
|
|
147
|
+
setSpinnerText(text: string | null): void;
|
|
148
|
+
setCurrentTool(tool: string | null): void;
|
|
149
|
+
setMode(mode: AgentMode): void;
|
|
150
|
+
getMode(): AgentMode;
|
|
151
|
+
setProjectName(name: string | null): void;
|
|
152
|
+
getProjectName(): string | null;
|
|
153
|
+
/**
|
|
154
|
+
* Set ghost text suggestion (shown when input is empty)
|
|
155
|
+
*/
|
|
156
|
+
setSuggestion(text: string | null): void;
|
|
157
|
+
getSuggestion(): string | null;
|
|
158
|
+
clearSuggestion(): void;
|
|
159
|
+
getQueuedInputs(): string[];
|
|
160
|
+
popQueuedInput(): string | null;
|
|
161
|
+
hasQueuedInput(): boolean;
|
|
162
|
+
clearQueue(): void;
|
|
163
|
+
/**
|
|
164
|
+
* Pause footer completely (for overlays)
|
|
165
|
+
*/
|
|
166
|
+
pauseAnimation(): void;
|
|
167
|
+
/**
|
|
168
|
+
* Resume footer after pause
|
|
169
|
+
*/
|
|
170
|
+
resumeAnimation(): void;
|
|
171
|
+
/**
|
|
172
|
+
* Restart input after command
|
|
173
|
+
*/
|
|
174
|
+
restartInput(): void;
|
|
175
|
+
/**
|
|
176
|
+
* Refresh prompt with theme colors
|
|
177
|
+
*/
|
|
178
|
+
refreshPrompt(): void;
|
|
179
|
+
/**
|
|
180
|
+
* @deprecated Use print() or output() instead
|
|
181
|
+
*/
|
|
182
|
+
clearForOutput(): void;
|
|
183
|
+
/**
|
|
184
|
+
* @deprecated Use print() or output() instead
|
|
185
|
+
*/
|
|
186
|
+
forceRender(): void;
|
|
187
|
+
private clear;
|
|
188
|
+
private render;
|
|
189
|
+
private buildSpinnerLine;
|
|
190
|
+
private buildTodoLine;
|
|
191
|
+
private buildModeLine;
|
|
192
|
+
private buildAutocompleteLines;
|
|
193
|
+
private buildFileAutocompleteLines;
|
|
194
|
+
private updateAutocomplete;
|
|
195
|
+
private acceptAutocomplete;
|
|
196
|
+
private closeAutocomplete;
|
|
197
|
+
private navigateAutocompleteUp;
|
|
198
|
+
private navigateAutocompleteDown;
|
|
199
|
+
private addToHistory;
|
|
200
|
+
private navigateHistoryUp;
|
|
201
|
+
private navigateHistoryDown;
|
|
202
|
+
private resetHistoryNavigation;
|
|
203
|
+
private startSpinnerAnimation;
|
|
204
|
+
private stopSpinnerAnimation;
|
|
205
|
+
private keyHandler;
|
|
206
|
+
private dataHandler;
|
|
207
|
+
private startKeyboardCapture;
|
|
208
|
+
private stopKeyboardCapture;
|
|
209
|
+
/**
|
|
210
|
+
* Handle word left (Option+Left) - move cursor to previous word boundary
|
|
211
|
+
*/
|
|
212
|
+
private handleWordLeft;
|
|
213
|
+
/**
|
|
214
|
+
* Handle word right (Option+Right) - move cursor to next word boundary
|
|
215
|
+
*/
|
|
216
|
+
private handleWordRight;
|
|
217
|
+
/**
|
|
218
|
+
* Handle Escape key - called from raw data handler for reliable detection
|
|
219
|
+
*/
|
|
220
|
+
private handleEscape;
|
|
221
|
+
private handleKeypress;
|
|
222
|
+
}
|