@bluehawks/cli 1.0.25 → 1.0.27
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/.bluehawks/history.json +8 -8
- package/dist/cli/app.d.ts.map +1 -1
- package/dist/cli/app.js +23 -27
- package/dist/cli/app.js.map +1 -1
- package/dist/config/constants.d.ts +1 -1
- package/dist/config/constants.js +1 -1
- package/package.json +1 -1
- package/src/cli/app.tsx +76 -139
- package/src/config/constants.ts +1 -1
package/.bluehawks/history.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
"id": "
|
|
3
|
-
"startTime": "2026-02-
|
|
2
|
+
"id": "session_1770658224066_su365y",
|
|
3
|
+
"startTime": "2026-02-09T17:30:24.066Z",
|
|
4
4
|
"messages": [
|
|
5
5
|
{
|
|
6
6
|
"role": "user",
|
|
7
|
-
"content": "what
|
|
7
|
+
"content": "what are the content of client.ts?"
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
"role": "assistant",
|
|
11
|
-
"content": "I'll check the
|
|
11
|
+
"content": "I'll check the content of client.ts for you. Since I don't see a file named client.ts in the current directory structure, I'll search for it first.\n\nI found two files named client.ts. Let me check the content of the most likely one - src/core/api/client.ts, which seems to be the primary API client file.\n\nThe content of `src/core/api/client.ts` is a comprehensive API client implementation for Bluehawks CLI. Here's a summary of its key features:\n\n## Overview\nThis file implements an OpenAI-compatible API client with streaming support, handling chat completions, embeddings, and reranking operations.\n\n## Key Features\n\n1. **Configuration Management**\n - Uses environment variables and constants for API settings\n - Supports configurable base URL, API key, model, and timeout settings\n\n2. **Core Functionality**\n - `createChatCompletion()`: Non-streaming chat completions with tool support\n - `createStreamingChatCompletion()`: Streaming chat completions with proper chunk handling\n - `createEmbeddings()`: Generates text embeddings\n - `rerank()`: Reranks documents based on query relevance\n\n3. **Qwen3 Tool Call Parsing**\n - Special handling for Qwen3's native tool call format (using `<tool_call>` markup)\n - Parses tool calls from text content when standard JSON format isn't present\n\n4. **Error Handling & Retries**\n - Built-in retry mechanism with exponential backoff\n - Timeout handling and proper error reporting\n - Comprehensive error types with status codes and messages\n\n5. **Streaming Support**\n - Implements proper streaming chunk processing with delta content and tool calls\n - Handles tool call updates incrementally during streaming\n\n6. **Tool Integration**\n - Supports tool definitions and tool choice parameters\n - Provides methods to send tool results back to the API\n\n7. **Singleton Pattern**\n - Exports a global `apiClient` instance for easy access\n\nThe client is designed to be flexible, supporting various LLM backends while maintaining compatibility with OpenAI's API specification. It includes robust error handling, timeout management, and special handling for different tool call formats."
|
|
12
12
|
}
|
|
13
13
|
],
|
|
14
14
|
"metadata": {
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"model": "Qwen/Qwen3-4B-Instruct-2507",
|
|
17
17
|
"tokensUsed": 0,
|
|
18
18
|
"toolsUsed": [
|
|
19
|
-
"
|
|
20
|
-
"
|
|
19
|
+
"find_files",
|
|
20
|
+
"read_file"
|
|
21
21
|
],
|
|
22
22
|
"successfulToolCalls": 2,
|
|
23
23
|
"failedToolCalls": 0,
|
|
24
|
-
"apiTime":
|
|
25
|
-
"toolTime":
|
|
24
|
+
"apiTime": 19943,
|
|
25
|
+
"toolTime": 19
|
|
26
26
|
}
|
|
27
27
|
}
|
package/dist/cli/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAqDhE,UAAU,QAAQ;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAOD,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAwWlC,CAAC"}
|
package/dist/cli/app.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Bluehawks CLI - Main Application Component
|
|
4
4
|
*/
|
|
@@ -16,25 +16,23 @@ import { hooksManager } from '../core/hooks/index.js';
|
|
|
16
16
|
import * as path from 'path';
|
|
17
17
|
import * as os from 'os';
|
|
18
18
|
// UI Components
|
|
19
|
-
const Branding = () => (_jsxs(Box, {
|
|
20
|
-
const
|
|
19
|
+
const Branding = () => (_jsxs(Box, { marginBottom: 1, children: [_jsxs(Text, { color: "#3B82F6", bold: true, children: ["\uD83E\uDD85 ", CLI_NAME.toUpperCase(), " AI"] }), _jsxs(Text, { color: "gray", children: [" (v", CLI_VERSION, ")"] })] }));
|
|
20
|
+
const Footer = ({ model, projectPath }) => {
|
|
21
21
|
const relativePath = projectPath.startsWith(os.homedir())
|
|
22
22
|
? '~/' + path.relative(os.homedir(), projectPath)
|
|
23
23
|
: projectPath;
|
|
24
|
-
return (
|
|
24
|
+
return (_jsxs(Box, { flexDirection: "row", marginTop: 0, paddingTop: 0, children: [_jsx(Text, { color: "gray", children: relativePath }), _jsx(Box, { flexGrow: 1 }), _jsxs(Text, { color: "gray", children: ["Auto (", model, ")"] })] }));
|
|
25
25
|
};
|
|
26
26
|
const Tips = () => {
|
|
27
27
|
const tipsList = [
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"Bluehawks
|
|
32
|
-
"Working on a specific repository? Bluehawks understands your local context automatically."
|
|
28
|
+
"Use /clear to reset context.",
|
|
29
|
+
"Type /yolo for auto-approval.",
|
|
30
|
+
"Use /help for commands.",
|
|
31
|
+
"Bluehawks is context-aware."
|
|
33
32
|
];
|
|
34
33
|
const [tip] = useState(() => tipsList[Math.floor(Math.random() * tipsList.length)]);
|
|
35
|
-
return (_jsx(Box, {
|
|
34
|
+
return (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: "gray", dimColor: true, children: ["Tip: ", tip] }) }));
|
|
36
35
|
};
|
|
37
|
-
const StatusBar = ({ isYoloMode }) => (_jsxs(Box, { marginTop: 1, paddingX: 1, borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: "gray", children: [_jsxs(Box, { flexGrow: 1, children: [_jsx(Text, { color: "gray", children: "Type " }), _jsx(Text, { color: "cyan", bold: true, children: "/help" }), _jsx(Text, { color: "gray", children: " for commands. " })] }), isYoloMode && (_jsx(Box, { children: _jsx(Text, { color: "#F59E0B", bold: true, children: "\u26A1 YOLO MODE ACTIVE " }) }))] }));
|
|
38
36
|
export const App = ({ initialPrompt, apiKey, yoloMode = false, onExit }) => {
|
|
39
37
|
const { exit } = useApp();
|
|
40
38
|
const exitCalledRef = React.useRef(false);
|
|
@@ -154,8 +152,8 @@ export const App = ({ initialPrompt, apiKey, yoloMode = false, onExit }) => {
|
|
|
154
152
|
{
|
|
155
153
|
role: 'system',
|
|
156
154
|
content: newValue
|
|
157
|
-
? '⚡ YOLO mode enabled
|
|
158
|
-
: '🛡️ YOLO mode disabled.
|
|
155
|
+
? '⚡ YOLO mode enabled.'
|
|
156
|
+
: '🛡️ YOLO mode disabled.',
|
|
159
157
|
},
|
|
160
158
|
]);
|
|
161
159
|
return newValue;
|
|
@@ -249,28 +247,26 @@ export const App = ({ initialPrompt, apiKey, yoloMode = false, onExit }) => {
|
|
|
249
247
|
return COLORS.muted;
|
|
250
248
|
}
|
|
251
249
|
};
|
|
252
|
-
return (_jsxs(Box, { flexDirection: "column", paddingX:
|
|
250
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, paddingY: 0, children: [_jsx(Branding, {}), messages.length === 0 && _jsx(Tips, {}), _jsxs(Box, { flexDirection: "column", flexGrow: 1, marginBottom: 0, children: [messages.slice(-50).map((msg, i) => {
|
|
253
251
|
// Custom rendering for Tool messages (Boxed UI)
|
|
254
252
|
if (msg.role === 'tool') {
|
|
255
253
|
try {
|
|
256
254
|
const content = JSON.parse(msg.content);
|
|
257
|
-
if (content.type === '
|
|
258
|
-
|
|
259
|
-
const jsonStr = JSON.stringify(content.args);
|
|
260
|
-
const displayArgs = jsonStr.length < 80 ? jsonStr : JSON.stringify(content.args, null, 2);
|
|
261
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "magenta", paddingX: 1, marginY: 0, marginBottom: 1, alignSelf: "flex-start", children: [_jsxs(Box, { children: [_jsx(Text, { color: "magenta", bold: true, children: "\u26A1 TOOL CALL: " }), _jsx(Text, { color: "white", bold: true, children: content.name })] }), _jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: "gray", children: displayArgs }) })] }, i));
|
|
262
|
-
}
|
|
263
|
-
else if (content.type === 'tool_end') {
|
|
264
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 1, marginBottom: 1, alignSelf: "flex-start", children: [_jsxs(Box, { children: [_jsx(Text, { color: "green", bold: true, children: "\u2705 TOOL RESULT: " }), _jsx(Text, { color: "white", bold: true, children: content.name })] }), _jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: "gray", children: content.result ? content.result.substring(0, 200) + (content.result.length > 200 ? '...' : '') : 'Completed' }) })] }, i));
|
|
255
|
+
if (content.type === 'tool_end') {
|
|
256
|
+
return (_jsxs(Box, { flexDirection: "row", marginBottom: 0, children: [_jsx(Text, { color: "gray", children: " \u2514\u2500 " }), _jsxs(Text, { color: "green", children: ["\u2714 ", content.name] }), _jsxs(Text, { color: "gray", dimColor: true, children: [" ", content.result ? `(${content.result.length} chars)` : ''] })] }, i));
|
|
265
257
|
}
|
|
258
|
+
return null; // Skip tool_start in history to reduce noise
|
|
266
259
|
}
|
|
267
260
|
catch {
|
|
268
|
-
|
|
269
|
-
return (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: "gray", children: ["\uD83D\uDD27 ", msg.content] }) }, i));
|
|
261
|
+
return _jsx(Box, { children: _jsxs(Text, { color: "gray", children: ["\uD83D\uDD27 ", msg.content] }) }, i);
|
|
270
262
|
}
|
|
271
263
|
}
|
|
272
|
-
//
|
|
273
|
-
|
|
274
|
-
|
|
264
|
+
// User Message
|
|
265
|
+
if (msg.role === 'user') {
|
|
266
|
+
return (_jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsx(Text, { color: COLORS.primary, bold: true, children: "\u276F " }), _jsx(Text, { color: "white", children: msg.content })] }, i));
|
|
267
|
+
}
|
|
268
|
+
// Assistant/System Message
|
|
269
|
+
return (_jsxs(Box, { marginTop: 0, marginBottom: 0, flexDirection: "column", children: [msg.role !== 'assistant' && (_jsx(Text, { bold: true, color: getRoleColor(msg.role), children: msg.role === 'error' ? '❌ ERROR' : 'ℹ️ SYSTEM' })), _jsx(Box, { marginLeft: 0, children: _jsx(Text, { color: "white", children: msg.content }) })] }, i));
|
|
270
|
+
}), streamingContent && (_jsx(Box, { marginTop: 0, flexDirection: "column", children: _jsx(Box, { marginLeft: 0, children: _jsx(Text, { color: "white", children: streamingContent }) }) })), currentTool && (_jsxs(Box, { flexDirection: "row", marginY: 0, children: [_jsx(Text, { color: "magenta", children: " \u251C\u2500 " }), _jsx(Spinner, { type: "dots" }), _jsxs(Text, { color: "magenta", children: [" Executing ", currentTool, "..."] })] })), pendingApproval && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "yellow", paddingX: 1, marginTop: 1, children: [_jsxs(Text, { color: COLORS.warning, bold: true, children: ["Action Required: ", pendingApproval.toolName] }), _jsxs(Text, { color: "white", children: ["Args: ", JSON.stringify(pendingApproval.args).substring(0, 100), "..."] }), _jsx(Text, { color: "gray", children: "[Y]es / [N]o" })] }))] }), !pendingApproval && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Box, { borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: "gray", marginBottom: 0 }), _jsxs(Box, { children: [_jsx(Text, { color: COLORS.primary, bold: true, children: "\u276F " }), isProcessing ? (_jsx(Text, { color: COLORS.muted, children: "Thinking..." })) : (_jsx(TextInput, { value: input, onChange: setInput, onSubmit: handleSubmit, placeholder: "..." }))] }), isYoloMode && (_jsx(Box, { marginTop: 0, children: _jsx(Text, { color: "#F59E0B", bold: true, children: "\u26A1 YOLO Mode Active" }) }))] })), _jsx(Box, { marginTop: 1, children: _jsx(Footer, { model: apiClient.currentModel, projectPath: process.cwd() }) })] }));
|
|
275
271
|
};
|
|
276
272
|
//# sourceMappingURL=app.js.map
|
package/dist/cli/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare const DEFAULT_MODEL = "Qwen/Qwen3-8B";
|
|
|
6
6
|
export declare const DEFAULT_EMBEDDING_MODEL = "Qwen/Qwen3-Embedding-0.6B";
|
|
7
7
|
export declare const DEFAULT_RERANK_MODEL = "Qwen/Qwen3-Reranker-0.6B";
|
|
8
8
|
export declare const CLI_NAME = "bluehawks";
|
|
9
|
-
export declare const CLI_VERSION = "1.0.
|
|
9
|
+
export declare const CLI_VERSION = "1.0.27";
|
|
10
10
|
export declare const CLI_DESCRIPTION = "A production-ready multi-agent AI CLI assistant";
|
|
11
11
|
export declare const CONFIG_DIR_NAME = ".bluehawks";
|
|
12
12
|
export declare const SETTINGS_FILE = "settings.json";
|
package/dist/config/constants.js
CHANGED
|
@@ -8,7 +8,7 @@ export const DEFAULT_EMBEDDING_MODEL = 'Qwen/Qwen3-Embedding-0.6B';
|
|
|
8
8
|
export const DEFAULT_RERANK_MODEL = 'Qwen/Qwen3-Reranker-0.6B';
|
|
9
9
|
// CLI Metadata
|
|
10
10
|
export const CLI_NAME = 'bluehawks';
|
|
11
|
-
export const CLI_VERSION = '1.0.
|
|
11
|
+
export const CLI_VERSION = '1.0.27';
|
|
12
12
|
export const CLI_DESCRIPTION = 'A production-ready multi-agent AI CLI assistant';
|
|
13
13
|
// Configuration Paths
|
|
14
14
|
export const CONFIG_DIR_NAME = '.bluehawks';
|
package/package.json
CHANGED
package/src/cli/app.tsx
CHANGED
|
@@ -19,75 +19,42 @@ import * as os from 'os';
|
|
|
19
19
|
|
|
20
20
|
// UI Components
|
|
21
21
|
const Branding = () => (
|
|
22
|
-
<Box
|
|
23
|
-
<Text color="#3B82F6"
|
|
24
|
-
<Text color="
|
|
25
|
-
<Text color="#8B5CF6">{"██████╔╝██║ ██║ ██║█████╗ ███████║███████║██║ █╗ ██║█████╔╝ ███████╗"}</Text>
|
|
26
|
-
<Text color="#A855F7">{"██╔══██╗██║ ██║ ██║██╔══╝ ██╔══██║██╔══██║██║███╗██║██╔═██╗ ╚════██║"}</Text>
|
|
27
|
-
<Text color="#D946EF">{"██████╔╝███████╗╚██████╔╝███████╗██║ ██║██║ ██║╚███╔███╔╝██║ ██╗███████║"}</Text>
|
|
28
|
-
<Text color="#EC4899">{"╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚══════╝"}</Text>
|
|
22
|
+
<Box marginBottom={1}>
|
|
23
|
+
<Text color="#3B82F6" bold>🦅 {CLI_NAME.toUpperCase()} AI</Text>
|
|
24
|
+
<Text color="gray"> (v{CLI_VERSION})</Text>
|
|
29
25
|
</Box>
|
|
30
26
|
);
|
|
31
27
|
|
|
32
|
-
const
|
|
28
|
+
const Footer: React.FC<{ model: string; projectPath: string }> = ({ model, projectPath }) => {
|
|
33
29
|
const relativePath = projectPath.startsWith(os.homedir())
|
|
34
30
|
? '~/' + path.relative(os.homedir(), projectPath)
|
|
35
31
|
: projectPath;
|
|
36
32
|
|
|
37
33
|
return (
|
|
38
|
-
<Box
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
<Text color="gray">(v{version})</Text>
|
|
43
|
-
</Box>
|
|
44
|
-
<Box marginTop={0}>
|
|
45
|
-
<Text color="gray">Model: </Text>
|
|
46
|
-
<Text color="white">{model}</Text>
|
|
47
|
-
</Box>
|
|
48
|
-
<Box>
|
|
49
|
-
<Text color="gray">Path: </Text>
|
|
50
|
-
<Text color="white">{relativePath}</Text>
|
|
51
|
-
</Box>
|
|
52
|
-
</Box>
|
|
34
|
+
<Box flexDirection="row" marginTop={0} paddingTop={0}>
|
|
35
|
+
<Text color="gray">{relativePath}</Text>
|
|
36
|
+
<Box flexGrow={1} />
|
|
37
|
+
<Text color="gray">Auto ({model})</Text>
|
|
53
38
|
</Box>
|
|
54
39
|
);
|
|
55
40
|
};
|
|
56
41
|
|
|
57
42
|
const Tips = () => {
|
|
58
43
|
const tipsList = [
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"Bluehawks
|
|
63
|
-
"Working on a specific repository? Bluehawks understands your local context automatically."
|
|
44
|
+
"Use /clear to reset context.",
|
|
45
|
+
"Type /yolo for auto-approval.",
|
|
46
|
+
"Use /help for commands.",
|
|
47
|
+
"Bluehawks is context-aware."
|
|
64
48
|
];
|
|
65
49
|
const [tip] = useState(() => tipsList[Math.floor(Math.random() * tipsList.length)]);
|
|
66
50
|
|
|
67
51
|
return (
|
|
68
|
-
<Box
|
|
69
|
-
<Text color="gray">
|
|
52
|
+
<Box marginBottom={1}>
|
|
53
|
+
<Text color="gray" dimColor>Tip: {tip}</Text>
|
|
70
54
|
</Box>
|
|
71
55
|
);
|
|
72
56
|
};
|
|
73
57
|
|
|
74
|
-
const StatusBar: React.FC<{ isYoloMode: boolean }> = ({ isYoloMode }) => (
|
|
75
|
-
<Box marginTop={1} paddingX={1} borderStyle="single" borderTop={true} borderBottom={false} borderLeft={false} borderRight={false} borderColor="gray">
|
|
76
|
-
<Box flexGrow={1}>
|
|
77
|
-
{/* Usage tips simplified as they are now at top when empty */}
|
|
78
|
-
<Text color="gray">Type </Text>
|
|
79
|
-
<Text color="cyan" bold>/help</Text>
|
|
80
|
-
<Text color="gray"> for commands. </Text>
|
|
81
|
-
</Box>
|
|
82
|
-
{isYoloMode && (
|
|
83
|
-
<Box>
|
|
84
|
-
<Text color="#F59E0B" bold>⚡ YOLO MODE ACTIVE </Text>
|
|
85
|
-
</Box>
|
|
86
|
-
)}
|
|
87
|
-
</Box>
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
|
|
91
58
|
interface AppProps {
|
|
92
59
|
initialPrompt?: string;
|
|
93
60
|
apiKey?: string;
|
|
@@ -238,8 +205,8 @@ export const App: React.FC<AppProps> = ({ initialPrompt, apiKey, yoloMode = fals
|
|
|
238
205
|
{
|
|
239
206
|
role: 'system',
|
|
240
207
|
content: newValue
|
|
241
|
-
? '⚡ YOLO mode enabled
|
|
242
|
-
: '🛡️ YOLO mode disabled.
|
|
208
|
+
? '⚡ YOLO mode enabled.'
|
|
209
|
+
: '🛡️ YOLO mode disabled.',
|
|
243
210
|
},
|
|
244
211
|
]);
|
|
245
212
|
return newValue;
|
|
@@ -342,77 +309,54 @@ export const App: React.FC<AppProps> = ({ initialPrompt, apiKey, yoloMode = fals
|
|
|
342
309
|
};
|
|
343
310
|
|
|
344
311
|
return (
|
|
345
|
-
<Box flexDirection="column" paddingX={
|
|
346
|
-
{/* Branding
|
|
347
|
-
<
|
|
348
|
-
<Branding />
|
|
349
|
-
<Box marginLeft={4}>
|
|
350
|
-
<HeaderBox
|
|
351
|
-
version={CLI_VERSION}
|
|
352
|
-
model={apiClient.currentModel}
|
|
353
|
-
projectPath={process.cwd()}
|
|
354
|
-
/>
|
|
355
|
-
</Box>
|
|
356
|
-
</Box>
|
|
312
|
+
<Box flexDirection="column" paddingX={1} paddingY={0}>
|
|
313
|
+
{/* Branding - Minimal */}
|
|
314
|
+
<Branding />
|
|
357
315
|
|
|
358
316
|
{/* Tips only shown on start */}
|
|
359
317
|
{messages.length === 0 && <Tips />}
|
|
360
318
|
|
|
361
319
|
{/* Messages */}
|
|
362
|
-
<Box flexDirection="column" flexGrow={1} marginBottom={
|
|
363
|
-
{messages.slice(-
|
|
320
|
+
<Box flexDirection="column" flexGrow={1} marginBottom={0}>
|
|
321
|
+
{messages.slice(-50).map((msg, i) => {
|
|
364
322
|
// Custom rendering for Tool messages (Boxed UI)
|
|
365
323
|
if (msg.role === 'tool') {
|
|
366
324
|
try {
|
|
367
325
|
const content = JSON.parse(msg.content);
|
|
368
|
-
if (content.type === '
|
|
369
|
-
// Smart JSON formatting: one line if short, indented if long
|
|
370
|
-
const jsonStr = JSON.stringify(content.args);
|
|
371
|
-
const displayArgs = jsonStr.length < 80 ? jsonStr : JSON.stringify(content.args, null, 2);
|
|
372
|
-
|
|
373
|
-
return (
|
|
374
|
-
<Box key={i} flexDirection="column" borderStyle="round" borderColor="magenta" paddingX={1} marginY={0} marginBottom={1} alignSelf="flex-start">
|
|
375
|
-
<Box>
|
|
376
|
-
<Text color="magenta" bold>⚡ TOOL CALL: </Text>
|
|
377
|
-
<Text color="white" bold>{content.name}</Text>
|
|
378
|
-
</Box>
|
|
379
|
-
<Box marginLeft={1}>
|
|
380
|
-
<Text color="gray">{displayArgs}</Text>
|
|
381
|
-
</Box>
|
|
382
|
-
</Box>
|
|
383
|
-
);
|
|
384
|
-
} else if (content.type === 'tool_end') {
|
|
326
|
+
if (content.type === 'tool_end') {
|
|
385
327
|
return (
|
|
386
|
-
<Box key={i} flexDirection="
|
|
387
|
-
<
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
</Box>
|
|
391
|
-
<Box marginLeft={1}>
|
|
392
|
-
<Text color="gray">{content.result ? content.result.substring(0, 200) + (content.result.length > 200 ? '...' : '') : 'Completed'}</Text>
|
|
393
|
-
</Box>
|
|
328
|
+
<Box key={i} flexDirection="row" marginBottom={0}>
|
|
329
|
+
<Text color="gray"> └─ </Text>
|
|
330
|
+
<Text color="green">✔ {content.name}</Text>
|
|
331
|
+
<Text color="gray" dimColor> {content.result ? `(${content.result.length} chars)` : ''}</Text>
|
|
394
332
|
</Box>
|
|
395
333
|
);
|
|
396
334
|
}
|
|
335
|
+
return null; // Skip tool_start in history to reduce noise
|
|
397
336
|
} catch {
|
|
398
|
-
|
|
399
|
-
return (
|
|
400
|
-
<Box key={i} marginBottom={1}>
|
|
401
|
-
<Text color="gray">🔧 {msg.content}</Text>
|
|
402
|
-
</Box>
|
|
403
|
-
);
|
|
337
|
+
return <Box key={i}><Text color="gray">🔧 {msg.content}</Text></Box>;
|
|
404
338
|
}
|
|
405
339
|
}
|
|
406
340
|
|
|
407
|
-
//
|
|
341
|
+
// User Message
|
|
342
|
+
if (msg.role === 'user') {
|
|
343
|
+
return (
|
|
344
|
+
<Box key={i} marginTop={1} flexDirection="row">
|
|
345
|
+
<Text color={COLORS.primary} bold>❯ </Text>
|
|
346
|
+
<Text color="white">{msg.content}</Text>
|
|
347
|
+
</Box>
|
|
348
|
+
);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
// Assistant/System Message
|
|
408
352
|
return (
|
|
409
|
-
<Box key={i} marginBottom={
|
|
410
|
-
|
|
353
|
+
<Box key={i} marginTop={0} marginBottom={0} flexDirection="column">
|
|
354
|
+
{msg.role !== 'assistant' && (
|
|
411
355
|
<Text bold color={getRoleColor(msg.role)}>
|
|
412
|
-
{msg.role === '
|
|
356
|
+
{msg.role === 'error' ? '❌ ERROR' : 'ℹ️ SYSTEM'}
|
|
413
357
|
</Text>
|
|
414
|
-
|
|
415
|
-
<Box marginLeft={
|
|
358
|
+
)}
|
|
359
|
+
<Box marginLeft={0}>
|
|
416
360
|
<Text color="white">
|
|
417
361
|
{msg.content}
|
|
418
362
|
</Text>
|
|
@@ -423,72 +367,65 @@ export const App: React.FC<AppProps> = ({ initialPrompt, apiKey, yoloMode = fals
|
|
|
423
367
|
|
|
424
368
|
{/* Streaming content */}
|
|
425
369
|
{streamingContent && (
|
|
426
|
-
<Box
|
|
427
|
-
<Box>
|
|
428
|
-
<Text bold color={COLORS.success}>🦅 BLUEHAWKS </Text>
|
|
429
|
-
</Box>
|
|
430
|
-
<Box marginLeft={2}>
|
|
370
|
+
<Box marginTop={0} flexDirection="column">
|
|
371
|
+
<Box marginLeft={0}>
|
|
431
372
|
<Text color="white">{streamingContent}</Text>
|
|
432
373
|
</Box>
|
|
433
374
|
</Box>
|
|
434
375
|
)}
|
|
435
376
|
|
|
436
|
-
{/* Current tool -
|
|
437
|
-
{currentTool &&
|
|
438
|
-
<Box flexDirection="
|
|
439
|
-
<
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
<Text color="white" bold>{currentTool}</Text>
|
|
443
|
-
</Box>
|
|
377
|
+
{/* Current tool - Minimal Spinner */}
|
|
378
|
+
{currentTool && (
|
|
379
|
+
<Box flexDirection="row" marginY={0}>
|
|
380
|
+
<Text color="magenta"> ├─ </Text>
|
|
381
|
+
<Spinner type="dots" />
|
|
382
|
+
<Text color="magenta"> Executing {currentTool}...</Text>
|
|
444
383
|
</Box>
|
|
445
384
|
)}
|
|
446
385
|
|
|
447
386
|
{/* Approval prompt */}
|
|
448
387
|
{pendingApproval && (
|
|
449
|
-
<Box flexDirection="column" borderStyle="
|
|
450
|
-
<Text color={COLORS.warning} bold>
|
|
451
|
-
|
|
452
|
-
</Text>
|
|
453
|
-
<Box marginY={1} paddingX={1} borderStyle="single" borderColor="gray">
|
|
454
|
-
<Text color="white" bold>{pendingApproval.toolName}</Text>
|
|
455
|
-
<Text color="gray">
|
|
456
|
-
{"\n"}Args: {JSON.stringify(pendingApproval.args, null, 2).substring(0, 500)}
|
|
457
|
-
</Text>
|
|
458
|
-
</Box>
|
|
459
|
-
<Box>
|
|
460
|
-
<Text>Press </Text>
|
|
461
|
-
<Text color="green" bold>Y</Text>
|
|
462
|
-
<Text> to approve, </Text>
|
|
463
|
-
<Text color="red" bold>N</Text>
|
|
464
|
-
<Text> to deny</Text>
|
|
465
|
-
</Box>
|
|
388
|
+
<Box flexDirection="column" borderStyle="single" borderColor="yellow" paddingX={1} marginTop={1}>
|
|
389
|
+
<Text color={COLORS.warning} bold>Action Required: {pendingApproval.toolName}</Text>
|
|
390
|
+
<Text color="white">Args: {JSON.stringify(pendingApproval.args).substring(0, 100)}...</Text>
|
|
391
|
+
<Text color="gray">[Y]es / [N]o</Text>
|
|
466
392
|
</Box>
|
|
467
393
|
)}
|
|
468
394
|
</Box>
|
|
469
395
|
|
|
470
|
-
{/* Input Area */}
|
|
396
|
+
{/* Input Area - Command Bar Style */}
|
|
471
397
|
{!pendingApproval && (
|
|
472
|
-
<Box flexDirection="column">
|
|
473
|
-
|
|
398
|
+
<Box flexDirection="column" marginTop={1}>
|
|
399
|
+
{/* Separator Line */}
|
|
400
|
+
<Box borderStyle="single" borderTop={true} borderBottom={false} borderLeft={false} borderRight={false} borderColor="gray" marginBottom={0} />
|
|
401
|
+
|
|
402
|
+
<Box>
|
|
474
403
|
<Text color={COLORS.primary} bold>❯ </Text>
|
|
475
404
|
{isProcessing ? (
|
|
476
|
-
<
|
|
477
|
-
<Spinner type="simpleDotsScrolling" />
|
|
478
|
-
<Text color={COLORS.muted}> Agent is thinking...</Text>
|
|
479
|
-
</Box>
|
|
405
|
+
<Text color={COLORS.muted}>Thinking...</Text>
|
|
480
406
|
) : (
|
|
481
407
|
<TextInput
|
|
482
408
|
value={input}
|
|
483
409
|
onChange={setInput}
|
|
484
410
|
onSubmit={handleSubmit}
|
|
485
|
-
placeholder="
|
|
411
|
+
placeholder="..."
|
|
486
412
|
/>
|
|
487
413
|
)}
|
|
488
414
|
</Box>
|
|
489
|
-
|
|
415
|
+
|
|
416
|
+
{/* Yolo Indicator */}
|
|
417
|
+
{isYoloMode && (
|
|
418
|
+
<Box marginTop={0}>
|
|
419
|
+
<Text color="#F59E0B" bold>⚡ YOLO Mode Active</Text>
|
|
420
|
+
</Box>
|
|
421
|
+
)}
|
|
490
422
|
</Box>
|
|
491
423
|
)}
|
|
424
|
+
|
|
425
|
+
{/* Footer */}
|
|
426
|
+
<Box marginTop={1}>
|
|
427
|
+
<Footer model={apiClient.currentModel} projectPath={process.cwd()} />
|
|
428
|
+
</Box>
|
|
492
429
|
</Box>
|
|
493
430
|
);
|
|
494
431
|
};
|
package/src/config/constants.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const DEFAULT_RERANK_MODEL = 'Qwen/Qwen3-Reranker-0.6B';
|
|
|
10
10
|
|
|
11
11
|
// CLI Metadata
|
|
12
12
|
export const CLI_NAME = 'bluehawks';
|
|
13
|
-
export const CLI_VERSION = '1.0.
|
|
13
|
+
export const CLI_VERSION = '1.0.27';
|
|
14
14
|
export const CLI_DESCRIPTION = 'A production-ready multi-agent AI CLI assistant';
|
|
15
15
|
|
|
16
16
|
// Configuration Paths
|