@travisennis/acai 0.0.5 → 0.0.6
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 +4 -2
- package/dist/agent/index.d.ts +119 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +406 -0
- package/dist/agent/manual-loop.d.ts +41 -0
- package/dist/agent/manual-loop.d.ts.map +1 -0
- package/dist/agent/manual-loop.js +278 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +27 -33
- package/dist/commands/add-directory-command.d.ts +3 -0
- package/dist/commands/add-directory-command.d.ts.map +1 -0
- package/dist/commands/add-directory-command.js +85 -0
- package/dist/commands/application-log-command.d.ts.map +1 -1
- package/dist/commands/application-log-command.js +34 -0
- package/dist/commands/clear-command.d.ts.map +1 -1
- package/dist/commands/clear-command.js +8 -0
- package/dist/commands/compact-command.d.ts.map +1 -1
- package/dist/commands/compact-command.js +15 -2
- package/dist/commands/context-command.d.ts +3 -0
- package/dist/commands/context-command.d.ts.map +1 -0
- package/dist/commands/context-command.js +183 -0
- package/dist/commands/copy-command.d.ts.map +1 -1
- package/dist/commands/copy-command.js +28 -0
- package/dist/commands/edit-command.d.ts.map +1 -1
- package/dist/commands/edit-command.js +33 -0
- package/dist/commands/edit-prompt-command.d.ts.map +1 -1
- package/dist/commands/edit-prompt-command.js +28 -0
- package/dist/commands/exit-command.d.ts.map +1 -1
- package/dist/commands/exit-command.js +20 -0
- package/dist/commands/files-command.d.ts.map +1 -1
- package/dist/commands/files-command.js +57 -0
- package/dist/commands/generate-rules-command.d.ts.map +1 -1
- package/dist/commands/generate-rules-command.js +311 -1
- package/dist/commands/handoff-command.d.ts +3 -0
- package/dist/commands/handoff-command.d.ts.map +1 -0
- package/dist/commands/handoff-command.js +202 -0
- package/dist/commands/health-command.d.ts.map +1 -1
- package/dist/commands/health-command.js +119 -2
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +28 -0
- package/dist/commands/history-command.d.ts +3 -0
- package/dist/commands/history-command.d.ts.map +1 -0
- package/dist/commands/history-command.js +534 -0
- package/dist/commands/init-command.d.ts +1 -1
- package/dist/commands/init-command.d.ts.map +1 -1
- package/dist/commands/init-command.js +55 -18
- package/dist/commands/last-log-command.d.ts.map +1 -1
- package/dist/commands/last-log-command.js +27 -0
- package/dist/commands/list-directories-command.d.ts +3 -0
- package/dist/commands/list-directories-command.d.ts.map +1 -0
- package/dist/commands/list-directories-command.js +48 -0
- package/dist/commands/list-tools-command.d.ts.map +1 -1
- package/dist/commands/list-tools-command.js +66 -3
- package/dist/commands/manager.d.ts +15 -3
- package/dist/commands/manager.d.ts.map +1 -1
- package/dist/commands/manager.js +86 -26
- package/dist/commands/model-command.d.ts +22 -0
- package/dist/commands/model-command.d.ts.map +1 -1
- package/dist/commands/model-command.js +256 -0
- package/dist/commands/paste-command.d.ts.map +1 -1
- package/dist/commands/paste-command.js +92 -0
- package/dist/commands/pickup-command.d.ts +3 -0
- package/dist/commands/pickup-command.d.ts.map +1 -0
- package/dist/commands/pickup-command.js +161 -0
- package/dist/commands/prompt-command.d.ts +1 -1
- package/dist/commands/prompt-command.d.ts.map +1 -1
- package/dist/commands/prompt-command.js +117 -2
- package/dist/commands/remove-directory-command.d.ts +3 -0
- package/dist/commands/remove-directory-command.d.ts.map +1 -0
- package/dist/commands/remove-directory-command.js +87 -0
- package/dist/commands/reset-command.d.ts +1 -1
- package/dist/commands/reset-command.d.ts.map +1 -1
- package/dist/commands/reset-command.js +13 -2
- package/dist/commands/rules-command.d.ts.map +1 -1
- package/dist/commands/rules-command.js +65 -0
- package/dist/commands/save-command.d.ts.map +1 -1
- package/dist/commands/save-command.js +12 -0
- package/dist/commands/shell-command.d.ts.map +1 -1
- package/dist/commands/shell-command.js +68 -0
- package/dist/commands/types.d.ts +9 -4
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/usage-command.d.ts.map +1 -1
- package/dist/commands/usage-command.js +22 -0
- package/dist/config.d.ts +6 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -29
- package/dist/formatting.d.ts +108 -0
- package/dist/formatting.d.ts.map +1 -1
- package/dist/formatting.js +147 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +140 -38
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +47 -18
- package/dist/mentions.d.ts +2 -1
- package/dist/mentions.d.ts.map +1 -1
- package/dist/mentions.js +16 -1
- package/dist/messages.d.ts +8 -0
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +56 -19
- package/dist/middleware/cache.d.ts +3 -0
- package/dist/middleware/cache.d.ts.map +1 -0
- package/dist/middleware/cache.js +53 -0
- package/dist/middleware/index.d.ts +1 -0
- package/dist/middleware/index.d.ts.map +1 -1
- package/dist/middleware/index.js +1 -0
- package/dist/models/ai-config.d.ts +4 -2
- package/dist/models/ai-config.d.ts.map +1 -1
- package/dist/models/ai-config.js +12 -2
- package/dist/models/anthropic-provider.d.ts.map +1 -1
- package/dist/models/anthropic-provider.js +3 -60
- package/dist/models/manager.d.ts +2 -1
- package/dist/models/manager.d.ts.map +1 -1
- package/dist/models/manager.js +26 -2
- package/dist/models/openrouter-provider.d.ts +7 -14
- package/dist/models/openrouter-provider.d.ts.map +1 -1
- package/dist/models/openrouter-provider.js +114 -169
- package/dist/models/providers.d.ts +1 -1
- package/dist/models/providers.d.ts.map +1 -1
- package/dist/prompts.d.ts +1 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +53 -4
- package/dist/repl/display-tool-messages.d.ts +1 -1
- package/dist/repl/display-tool-messages.d.ts.map +1 -1
- package/dist/repl/display-tool-messages.js +47 -44
- package/dist/repl/get-prompt-header.d.ts.map +1 -1
- package/dist/repl/get-prompt-header.js +1 -30
- package/dist/repl/project-status-line.d.ts +2 -0
- package/dist/repl/project-status-line.d.ts.map +1 -0
- package/dist/repl/project-status-line.js +31 -0
- package/dist/repl/prompt.d.ts +21 -0
- package/dist/repl/prompt.d.ts.map +1 -0
- package/dist/{repl-prompt.js → repl/prompt.js} +119 -22
- package/dist/repl/tool-call-repair.d.ts.map +1 -1
- package/dist/repl/tool-call-repair.js +8 -4
- package/dist/repl-new.d.ts +53 -0
- package/dist/repl-new.d.ts.map +1 -0
- package/dist/repl-new.js +374 -0
- package/dist/repl.d.ts +3 -5
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +74 -166
- package/dist/terminal/checkbox-prompt.d.ts.map +1 -1
- package/dist/terminal/checkbox-prompt.js +10 -4
- package/dist/terminal/index.d.ts +7 -0
- package/dist/terminal/index.d.ts.map +1 -1
- package/dist/terminal/index.js +94 -0
- package/dist/terminal/input-prompt.d.ts +2 -1
- package/dist/terminal/input-prompt.d.ts.map +1 -1
- package/dist/terminal/markdown.js +3 -0
- package/dist/terminal/search-prompt.d.ts.map +1 -1
- package/dist/terminal/search-prompt.js +11 -10
- package/dist/terminal/select-prompt.d.ts +2 -2
- package/dist/terminal/select-prompt.d.ts.map +1 -1
- package/dist/terminal/select-prompt.js +47 -39
- package/dist/tokens/threshold.d.ts +35 -0
- package/dist/tokens/threshold.d.ts.map +1 -0
- package/dist/tokens/threshold.js +85 -0
- package/dist/tools/advanced-edit-file.d.ts +69 -0
- package/dist/tools/advanced-edit-file.d.ts.map +1 -0
- package/dist/tools/advanced-edit-file.js +281 -0
- package/dist/tools/agent.d.ts +16 -5
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/agent.js +71 -58
- package/dist/tools/bash-utils.d.ts +1 -1
- package/dist/tools/bash-utils.d.ts.map +1 -1
- package/dist/tools/bash-utils.js +14 -6
- package/dist/tools/bash.d.ts +21 -12
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +88 -135
- package/dist/tools/code-interpreter.d.ts +21 -9
- package/dist/tools/code-interpreter.d.ts.map +1 -1
- package/dist/tools/code-interpreter.js +138 -137
- package/dist/tools/delete-file.d.ts +17 -10
- package/dist/tools/delete-file.d.ts.map +1 -1
- package/dist/tools/delete-file.js +51 -95
- package/dist/tools/directory-tree.d.ts +17 -6
- package/dist/tools/directory-tree.d.ts.map +1 -1
- package/dist/tools/directory-tree.js +47 -49
- package/dist/tools/dynamic-tool-loader.d.ts +18 -8
- package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
- package/dist/tools/dynamic-tool-loader.js +121 -129
- package/dist/tools/dynamic-tool-parser.d.ts +1 -0
- package/dist/tools/dynamic-tool-parser.d.ts.map +1 -1
- package/dist/tools/dynamic-tool-parser.js +1 -0
- package/dist/tools/edit-file.d.ts +35 -15
- package/dist/tools/edit-file.d.ts.map +1 -1
- package/dist/tools/edit-file.js +112 -112
- package/dist/tools/filesystem-utils.d.ts +2 -1
- package/dist/tools/filesystem-utils.d.ts.map +1 -1
- package/dist/tools/filesystem-utils.js +31 -17
- package/dist/tools/glob.d.ts +36 -0
- package/dist/tools/glob.d.ts.map +1 -0
- package/dist/tools/glob.js +143 -0
- package/dist/tools/grep.d.ts +73 -12
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +413 -168
- package/dist/tools/index.d.ts +204 -124
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +242 -135
- package/dist/tools/llm-edit-fixer.d.ts +25 -0
- package/dist/tools/llm-edit-fixer.d.ts.map +1 -0
- package/dist/tools/llm-edit-fixer.js +150 -0
- package/dist/tools/move-file.d.ts +19 -7
- package/dist/tools/move-file.d.ts.map +1 -1
- package/dist/tools/move-file.js +40 -33
- package/dist/tools/read-file.d.ts +47 -9
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +74 -69
- package/dist/tools/read-multiple-files.d.ts +17 -6
- package/dist/tools/read-multiple-files.d.ts.map +1 -1
- package/dist/tools/read-multiple-files.js +76 -73
- package/dist/tools/save-file.d.ts +45 -12
- package/dist/tools/save-file.d.ts.map +1 -1
- package/dist/tools/save-file.js +58 -101
- package/dist/tools/think.d.ts +15 -7
- package/dist/tools/think.d.ts.map +1 -1
- package/dist/tools/think.js +30 -22
- package/dist/tools/types.d.ts +4 -10
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +9 -0
- package/dist/tools/utils.d.ts +14 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +16 -0
- package/dist/tools/web-fetch.d.ts +11 -4
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +39 -38
- package/dist/tools/web-search.d.ts +15 -6
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +50 -32
- package/dist/tui/autocomplete.d.ts +44 -0
- package/dist/tui/autocomplete.d.ts.map +1 -0
- package/dist/tui/autocomplete.js +466 -0
- package/dist/tui/components/assistant-message.d.ts +18 -0
- package/dist/tui/components/assistant-message.d.ts.map +1 -0
- package/dist/tui/components/assistant-message.js +29 -0
- package/dist/tui/components/editor.d.ts +51 -0
- package/dist/tui/components/editor.d.ts.map +1 -0
- package/dist/tui/components/editor.js +758 -0
- package/dist/tui/components/footer.d.ts +24 -0
- package/dist/tui/components/footer.d.ts.map +1 -0
- package/dist/tui/components/footer.js +197 -0
- package/dist/tui/components/input.d.ts +14 -0
- package/dist/tui/components/input.d.ts.map +1 -0
- package/dist/tui/components/input.js +122 -0
- package/dist/tui/components/loader.d.ts +19 -0
- package/dist/tui/components/loader.d.ts.map +1 -0
- package/dist/tui/components/loader.js +45 -0
- package/dist/tui/components/markdown.d.ts +103 -0
- package/dist/tui/components/markdown.d.ts.map +1 -0
- package/dist/tui/components/markdown.js +533 -0
- package/dist/tui/components/modal.d.ts +40 -0
- package/dist/tui/components/modal.d.ts.map +1 -0
- package/dist/tui/components/modal.js +292 -0
- package/dist/tui/components/prompt-status.d.ts +16 -0
- package/dist/tui/components/prompt-status.d.ts.map +1 -0
- package/dist/tui/components/prompt-status.js +21 -0
- package/dist/tui/components/select-list.d.ts +22 -0
- package/dist/tui/components/select-list.d.ts.map +1 -0
- package/dist/tui/components/select-list.js +143 -0
- package/dist/tui/components/spacer.d.ts +16 -0
- package/dist/tui/components/spacer.d.ts.map +1 -0
- package/dist/tui/components/spacer.js +27 -0
- package/dist/tui/components/text.d.ts +26 -0
- package/dist/tui/components/text.d.ts.map +1 -0
- package/dist/tui/components/text.js +143 -0
- package/dist/tui/components/thinking-block.d.ts +14 -0
- package/dist/tui/components/thinking-block.d.ts.map +1 -0
- package/dist/tui/components/thinking-block.js +30 -0
- package/dist/tui/components/tool-execution.d.ts +17 -0
- package/dist/tui/components/tool-execution.d.ts.map +1 -0
- package/dist/tui/components/tool-execution.js +153 -0
- package/dist/tui/components/user-message.d.ts +9 -0
- package/dist/tui/components/user-message.d.ts.map +1 -0
- package/dist/tui/components/user-message.js +21 -0
- package/dist/tui/components/welcome.d.ts +6 -0
- package/dist/tui/components/welcome.d.ts.map +1 -0
- package/dist/tui/components/welcome.js +30 -0
- package/dist/tui/index.d.ts +14 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +18 -0
- package/dist/tui/terminal.d.ts +37 -0
- package/dist/tui/terminal.d.ts.map +1 -0
- package/dist/tui/terminal.js +104 -0
- package/dist/tui/tui.d.ts +67 -0
- package/dist/tui/tui.d.ts.map +1 -0
- package/dist/tui/tui.js +184 -0
- package/dist/tui/utils.d.ts +19 -0
- package/dist/tui/utils.d.ts.map +1 -0
- package/dist/tui/utils.js +31 -0
- package/dist/utils/generators.d.ts +3 -0
- package/dist/utils/generators.d.ts.map +1 -0
- package/dist/utils/generators.js +25 -0
- package/dist/utils/iterables.d.ts +2 -0
- package/dist/utils/iterables.d.ts.map +1 -0
- package/dist/utils/iterables.js +6 -0
- package/package.json +16 -16
- package/dist/conversation-analyzer.d.ts +0 -11
- package/dist/conversation-analyzer.d.ts.map +0 -1
- package/dist/conversation-analyzer.js +0 -88
- package/dist/repl-prompt.d.ts +0 -15
- package/dist/repl-prompt.d.ts.map +0 -1
- package/dist/tokens/manage-output.d.ts +0 -34
- package/dist/tokens/manage-output.d.ts.map +0 -1
- package/dist/tokens/manage-output.js +0 -44
- package/dist/tool-executor.d.ts +0 -28
- package/dist/tool-executor.d.ts.map +0 -1
- package/dist/tool-executor.js +0 -74
- package/dist/tools/file-editing-utils.d.ts +0 -2
- package/dist/tools/file-editing-utils.d.ts.map +0 -1
- package/dist/tools/file-editing-utils.js +0 -135
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { execSync } from "node:child_process";
|
|
2
|
+
import { formatMemoryUsage } from "../formatting.js";
|
|
3
|
+
import { Container, Modal, ModalTable, ModalText } from "../tui/index.js";
|
|
2
4
|
export function healthCommand({ terminal }, execFn = execSync) {
|
|
3
5
|
return {
|
|
4
6
|
command: "/health",
|
|
@@ -39,7 +41,7 @@ export function healthCommand({ terminal }, execFn = execSync) {
|
|
|
39
41
|
return [envVar.name, status, envVar.description];
|
|
40
42
|
});
|
|
41
43
|
// Display the table
|
|
42
|
-
terminal.
|
|
44
|
+
terminal.writeln("Environment Variables Status:");
|
|
43
45
|
terminal.table(envStatus, {
|
|
44
46
|
header: ["Variable", "Status", "Description"],
|
|
45
47
|
colWidths: [30, 15, 55],
|
|
@@ -76,7 +78,7 @@ export function healthCommand({ terminal }, execFn = execSync) {
|
|
|
76
78
|
return [tool.name, status];
|
|
77
79
|
});
|
|
78
80
|
terminal.lineBreak();
|
|
79
|
-
terminal.
|
|
81
|
+
terminal.writeln("Bash Tools Status:");
|
|
80
82
|
terminal.table(toolStatus, {
|
|
81
83
|
header: ["Tool", "Status"],
|
|
82
84
|
colWidths: [15, 20],
|
|
@@ -90,6 +92,121 @@ export function healthCommand({ terminal }, execFn = execSync) {
|
|
|
90
92
|
else {
|
|
91
93
|
terminal.info("✓ All required tools are installed.");
|
|
92
94
|
}
|
|
95
|
+
terminal.lineBreak();
|
|
96
|
+
terminal.writeln("Current Process:");
|
|
97
|
+
// Display memory usage
|
|
98
|
+
const usage = process.memoryUsage().rss;
|
|
99
|
+
const formattedUsage = formatMemoryUsage(usage);
|
|
100
|
+
if (usage >= 2 * 1024 * 1024 * 1024) {
|
|
101
|
+
terminal.error(`Memory Usage: ${formattedUsage}`);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
terminal.info(`Memory Usage: ${formattedUsage}`);
|
|
105
|
+
}
|
|
106
|
+
return "continue";
|
|
107
|
+
},
|
|
108
|
+
async handle(_args, { tui, editor }) {
|
|
109
|
+
// Define the environment variables we care about
|
|
110
|
+
const envVars = [
|
|
111
|
+
// AI Provider API Keys
|
|
112
|
+
{ name: "OPENAI_API_KEY", description: "OpenAI (GPT models)" },
|
|
113
|
+
{ name: "ANTHROPIC_API_KEY", description: "Anthropic (Claude models)" },
|
|
114
|
+
{
|
|
115
|
+
name: "GOOGLE_GENERATIVE_AI_API_KEY",
|
|
116
|
+
description: "Google (Gemini models)",
|
|
117
|
+
},
|
|
118
|
+
{ name: "DEEPSEEK_API_KEY", description: "DeepSeek" },
|
|
119
|
+
{ name: "GROQ_API_KEY", description: "Groq (multiple models)" },
|
|
120
|
+
{ name: "X_AI_API_KEY", description: "X.AI (Grok models)" },
|
|
121
|
+
{ name: "XAI_API_KEY", description: "X.AI (Grok models - alt)" },
|
|
122
|
+
{
|
|
123
|
+
name: "OPENROUTER_API_KEY",
|
|
124
|
+
description: "OpenRouter (multiple models)",
|
|
125
|
+
},
|
|
126
|
+
// Web Service API Keys
|
|
127
|
+
{ name: "EXA_API_KEY", description: "Exa (enhanced web search)" },
|
|
128
|
+
{
|
|
129
|
+
name: "JINA_READER_API_KEY",
|
|
130
|
+
description: "Jina Reader (web content extraction)",
|
|
131
|
+
},
|
|
132
|
+
// Application Configuration
|
|
133
|
+
{ name: "LOG_LEVEL", description: "Logging level" },
|
|
134
|
+
];
|
|
135
|
+
// Check each environment variable
|
|
136
|
+
const envStatus = envVars.map((envVar) => {
|
|
137
|
+
const value = process.env[envVar.name];
|
|
138
|
+
const hasValue = value !== undefined && value !== null && value.trim() !== "";
|
|
139
|
+
const status = hasValue ? "✓ Set" : "✗ Not set";
|
|
140
|
+
return [envVar.name, status, envVar.description];
|
|
141
|
+
});
|
|
142
|
+
// Check for required bash tools
|
|
143
|
+
const tools = [
|
|
144
|
+
{ name: "git", command: "git --version" },
|
|
145
|
+
{ name: "gh", command: "gh --version" },
|
|
146
|
+
{ name: "rg", command: "rg --version" },
|
|
147
|
+
{ name: "fd", command: "fd --version" },
|
|
148
|
+
{ name: "ast-grep", command: "ast-grep --version" },
|
|
149
|
+
{ name: "jq", command: "jq --version" },
|
|
150
|
+
{ name: "yq", command: "yq --version" },
|
|
151
|
+
];
|
|
152
|
+
const toolStatus = tools.map((tool) => {
|
|
153
|
+
let status = "✗ Not installed";
|
|
154
|
+
try {
|
|
155
|
+
execFn(tool.command, { stdio: "ignore", timeout: 5000 });
|
|
156
|
+
status = "✓ Installed";
|
|
157
|
+
}
|
|
158
|
+
catch (_error) {
|
|
159
|
+
// Ignore error, tool is not installed
|
|
160
|
+
}
|
|
161
|
+
return [tool.name, status];
|
|
162
|
+
});
|
|
163
|
+
// Count how many are set
|
|
164
|
+
const setCount = envStatus.filter((row) => row[1] === "✓ Set").length;
|
|
165
|
+
const totalCount = envVars.length;
|
|
166
|
+
const installedCount = toolStatus.filter((row) => row[1] === "✓ Installed").length;
|
|
167
|
+
const totalTools = tools.length;
|
|
168
|
+
// Display memory usage
|
|
169
|
+
const usage = process.memoryUsage().rss;
|
|
170
|
+
const formattedUsage = formatMemoryUsage(usage);
|
|
171
|
+
// Build modal content
|
|
172
|
+
const modalContent = new Container();
|
|
173
|
+
// Environment variables section
|
|
174
|
+
modalContent.addChild(new ModalText("Environment Variables Status:", 0, 1));
|
|
175
|
+
modalContent.addChild(new ModalTable(envStatus, ["Variable", "Status", "Description"]));
|
|
176
|
+
const envSummary = `Summary: ${setCount}/${totalCount} environment variables are set`;
|
|
177
|
+
modalContent.addChild(new ModalText(envSummary, 0, 1));
|
|
178
|
+
if (setCount === 0) {
|
|
179
|
+
modalContent.addChild(new ModalText("⚠️ No AI provider API keys are configured. The app may not function properly.", 0, 1));
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
modalContent.addChild(new ModalText("✓ At least one AI provider is configured.", 0, 1));
|
|
183
|
+
}
|
|
184
|
+
// Tools section
|
|
185
|
+
modalContent.addChild(new ModalText("", 0, 1)); // Spacer
|
|
186
|
+
modalContent.addChild(new ModalText("Bash Tools Status:", 0, 1));
|
|
187
|
+
modalContent.addChild(new ModalTable(toolStatus, ["Tool", "Status"]));
|
|
188
|
+
const toolSummary = `Tool Summary: ${installedCount}/${totalTools} tools are installed.`;
|
|
189
|
+
modalContent.addChild(new ModalText(toolSummary, 0, 1));
|
|
190
|
+
if (installedCount < totalTools) {
|
|
191
|
+
modalContent.addChild(new ModalText("⚠️ Some tools are missing. Install them for full functionality.", 0, 1));
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
modalContent.addChild(new ModalText("✓ All required tools are installed.", 0, 1));
|
|
195
|
+
}
|
|
196
|
+
// Memory usage
|
|
197
|
+
modalContent.addChild(new ModalText("", 0, 1)); // Spacer
|
|
198
|
+
modalContent.addChild(new ModalText("Current Process:", 0, 1));
|
|
199
|
+
const memoryText = usage >= 2 * 1024 * 1024 * 1024
|
|
200
|
+
? `Memory Usage: ${formattedUsage}`
|
|
201
|
+
: `Memory Usage: ${formattedUsage}`;
|
|
202
|
+
modalContent.addChild(new ModalText(memoryText, 0, 1));
|
|
203
|
+
// Create and show modal
|
|
204
|
+
const modal = new Modal("Health Status", modalContent, true, () => {
|
|
205
|
+
// Modal closed callback
|
|
206
|
+
editor.setText("");
|
|
207
|
+
tui.requestRender();
|
|
208
|
+
});
|
|
209
|
+
tui.showModal(modal);
|
|
93
210
|
return "continue";
|
|
94
211
|
},
|
|
95
212
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-command.d.ts","sourceRoot":"","sources":["../../source/commands/help-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"help-command.d.ts","sourceRoot":"","sources":["../../source/commands/help-command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,eAAO,MAAM,WAAW,GACtB,cAAc,cAAc,EAC5B,MAAM,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,KAC7B,WAwDF,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Modal, Container as ModalContainer, ModalTable, ModalText, } from "../tui/index.js";
|
|
1
2
|
export const helpCommand = ({ terminal }, cmds) => {
|
|
2
3
|
return {
|
|
3
4
|
command: "/help",
|
|
@@ -14,5 +15,32 @@ export const helpCommand = ({ terminal }, cmds) => {
|
|
|
14
15
|
});
|
|
15
16
|
return "continue";
|
|
16
17
|
},
|
|
18
|
+
async handle(_args, { tui, editor }) {
|
|
19
|
+
const commands = cmds;
|
|
20
|
+
const entries = Array.from(commands.entries())
|
|
21
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
22
|
+
.map(([key, cmd]) => [key, cmd.description]);
|
|
23
|
+
// Build modal content
|
|
24
|
+
const modalContent = new ModalContainer();
|
|
25
|
+
if (entries.length === 0) {
|
|
26
|
+
modalContent.addChild(new ModalText("No commands available.", 0, 1));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
// Convert entries to table format
|
|
30
|
+
const tableData = entries.map(([command, description]) => [
|
|
31
|
+
command,
|
|
32
|
+
description,
|
|
33
|
+
]);
|
|
34
|
+
modalContent.addChild(new ModalTable(tableData, ["Command", "Description"], [30, 70]));
|
|
35
|
+
}
|
|
36
|
+
// Create and show modal
|
|
37
|
+
const modal = new Modal("Available Commands", modalContent, true, () => {
|
|
38
|
+
// Modal closed callback
|
|
39
|
+
editor.setText("");
|
|
40
|
+
tui.requestRender();
|
|
41
|
+
});
|
|
42
|
+
tui.showModal(modal);
|
|
43
|
+
return "continue";
|
|
44
|
+
},
|
|
17
45
|
};
|
|
18
46
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-command.d.ts","sourceRoot":"","sources":["../../source/commands/history-command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqL9D,eAAO,MAAM,cAAc,GAAI,mEAM5B,cAAc,KAAG,WAuOnB,CAAC"}
|