codeep 1.0.128 → 1.0.130
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/dist/app.js
CHANGED
|
@@ -35,6 +35,7 @@ import { saveContext, loadContext, clearContext, mergeContext } from './utils/co
|
|
|
35
35
|
import { performCodeReview, formatReviewResult } from './utils/codeReview.js';
|
|
36
36
|
import { learnFromProject, addCustomRule, getLearningStatus } from './utils/learning.js';
|
|
37
37
|
import { getAllSkills, findSkill, formatSkillsList, formatSkillHelp, generateSkillPrompt, saveCustomSkill, deleteCustomSkill, parseSkillChain, parseSkillArgs, searchSkills, trackSkillUsage, getSkillStats } from './utils/skills.js';
|
|
38
|
+
import { AgentStatusBar } from './components/AgentProgress.js';
|
|
38
39
|
import { createActionLog } from './utils/tools.js';
|
|
39
40
|
import { scanProject, saveProjectIntelligence, loadProjectIntelligence, generateContextFromIntelligence } from './utils/projectIntelligence.js';
|
|
40
41
|
export const App = () => {
|
|
@@ -360,8 +361,7 @@ export const App = () => {
|
|
|
360
361
|
actionLine = `${status} Edited **${target}**${statusColor}`;
|
|
361
362
|
}
|
|
362
363
|
else if (actionType === 'read') {
|
|
363
|
-
|
|
364
|
-
return;
|
|
364
|
+
actionLine = `→ Reading **${target}**`;
|
|
365
365
|
}
|
|
366
366
|
else if (actionType === 'delete') {
|
|
367
367
|
actionLine = `${status} Deleted **${fullPath}**${statusColor}`;
|
|
@@ -377,8 +377,7 @@ export const App = () => {
|
|
|
377
377
|
}
|
|
378
378
|
}
|
|
379
379
|
else if (actionType === 'search') {
|
|
380
|
-
|
|
381
|
-
return;
|
|
380
|
+
actionLine = `→ Searching **${target}**`;
|
|
382
381
|
}
|
|
383
382
|
else if (actionType === 'mkdir') {
|
|
384
383
|
actionLine = `${status} Created directory **${fullPath}**${statusColor}`;
|
|
@@ -387,8 +386,7 @@ export const App = () => {
|
|
|
387
386
|
actionLine = `${status} Fetched ${target}${statusColor}`;
|
|
388
387
|
}
|
|
389
388
|
else if (actionType === 'list') {
|
|
390
|
-
|
|
391
|
-
return;
|
|
389
|
+
actionLine = `→ Listing **${target}**`;
|
|
392
390
|
}
|
|
393
391
|
else {
|
|
394
392
|
actionLine = `◦ ${actionType}: ${target}`;
|
|
@@ -1444,7 +1442,7 @@ export const App = () => {
|
|
|
1444
1442
|
// Helper to check if we're showing an inline menu
|
|
1445
1443
|
const isInlineMenu = ['help', 'status', 'settings', 'sessions', 'sessions-delete',
|
|
1446
1444
|
'logout', 'search', 'export', 'model', 'provider', 'protocol', 'language'].includes(screen);
|
|
1447
|
-
return (_jsxs(Box, { flexDirection: "column", children: [messages.length === 0 && !isLoading && _jsx(Logo, {}), messages.length === 0 && !isLoading && (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Box, { justifyContent: "center", children: _jsxs(Text, { children: ["Connected to ", _jsx(Text, { color: "#f02a30", children: config.get('model') }), ". Type ", _jsx(Text, { color: "#f02a30", children: "/help" }), " for commands."] }) }), _jsx(Text, { children: " " }), _jsx(Box, { justifyContent: "center", children: _jsx(Text, { color: "cyan", bold: true, children: "Welcome to Codeep - Your AI Coding Assistant" }) }), _jsx(Text, { children: " " }), _jsxs(Box, { flexDirection: "column", paddingX: 2, children: [_jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Ask questions about your code or request implementations"] }), _jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Use ", _jsxs(Text, { color: "cyan", children: ["/agent ", '<task>'] }), " for autonomous task execution"] }), _jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Type ", _jsx(Text, { color: "cyan", children: "/diff" }), " to review changes, ", _jsx(Text, { color: "cyan", children: "/commit" }), " to generate commit messages"] }), _jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Configure settings with ", _jsx(Text, { color: "cyan", children: "/settings" }), " - enable Agent Mode for auto-execution"] })] }), _jsx(Text, { children: " " }), _jsx(Box, { justifyContent: "center", children: _jsx(Text, { color: "gray", children: "Start typing your message or use a command to begin..." }) }), _jsx(Text, { children: " " })] })), _jsx(MessageList, { messages: messages, streamingContent: streamingContent, agentStreamingContent: isAgentRunning ? agentStreamingContent : undefined }, sessionId), isLoading && !isAgentRunning && _jsx(Loading, { isStreaming: !!streamingContent }), isAgentRunning && (
|
|
1445
|
+
return (_jsxs(Box, { flexDirection: "column", children: [messages.length === 0 && !isLoading && _jsx(Logo, {}), messages.length === 0 && !isLoading && (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Box, { justifyContent: "center", children: _jsxs(Text, { children: ["Connected to ", _jsx(Text, { color: "#f02a30", children: config.get('model') }), ". Type ", _jsx(Text, { color: "#f02a30", children: "/help" }), " for commands."] }) }), _jsx(Text, { children: " " }), _jsx(Box, { justifyContent: "center", children: _jsx(Text, { color: "cyan", bold: true, children: "Welcome to Codeep - Your AI Coding Assistant" }) }), _jsx(Text, { children: " " }), _jsxs(Box, { flexDirection: "column", paddingX: 2, children: [_jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Ask questions about your code or request implementations"] }), _jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Use ", _jsxs(Text, { color: "cyan", children: ["/agent ", '<task>'] }), " for autonomous task execution"] }), _jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Type ", _jsx(Text, { color: "cyan", children: "/diff" }), " to review changes, ", _jsx(Text, { color: "cyan", children: "/commit" }), " to generate commit messages"] }), _jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", children: "\u2022" }), " Configure settings with ", _jsx(Text, { color: "cyan", children: "/settings" }), " - enable Agent Mode for auto-execution"] })] }), _jsx(Text, { children: " " }), _jsx(Box, { justifyContent: "center", children: _jsx(Text, { color: "gray", children: "Start typing your message or use a command to begin..." }) }), _jsx(Text, { children: " " })] })), _jsx(MessageList, { messages: messages, streamingContent: streamingContent, agentStreamingContent: isAgentRunning ? agentStreamingContent : undefined }, sessionId), isLoading && !isAgentRunning && _jsx(Loading, { isStreaming: !!streamingContent }), isAgentRunning && (_jsx(AgentStatusBar, { iteration: agentIteration, actionsCount: agentActions.length, dryRun: agentDryRun, currentAction: agentActions.length > 0 ? `${agentActions[agentActions.length - 1].type}: ${agentActions[agentActions.length - 1].target.split('/').pop()}` : undefined })), pendingFileChanges.length > 0 && !isLoading && (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#f02a30", padding: 1, marginY: 1, children: [_jsxs(Text, { color: "#f02a30", bold: true, children: ["\u2713 Detected ", pendingFileChanges.length, " file change(s):"] }), pendingFileChanges.map((change, i) => {
|
|
1448
1446
|
const actionColor = change.action === 'delete' ? 'red' : change.action === 'edit' ? 'yellow' : 'green';
|
|
1449
1447
|
const actionLabel = change.action === 'delete' ? 'DELETE' : change.action === 'edit' ? 'EDIT' : 'CREATE';
|
|
1450
1448
|
return (_jsxs(Text, { children: ["\u2022 ", _jsxs(Text, { color: actionColor, children: ["[", actionLabel, "]"] }), " ", change.path, change.action !== 'delete' && change.content.includes('\n') && ` (${change.content.split('\n').length} lines)`] }, i));
|
|
@@ -45,4 +45,15 @@ interface ChangesListProps {
|
|
|
45
45
|
actions: ActionLog[];
|
|
46
46
|
}
|
|
47
47
|
export declare const ChangesList: React.FC<ChangesListProps>;
|
|
48
|
+
/**
|
|
49
|
+
* Agent Status Bar - fixed height, with spinner animation
|
|
50
|
+
* Shows above input, doesn't cause chat jumping
|
|
51
|
+
*/
|
|
52
|
+
interface AgentStatusBarProps {
|
|
53
|
+
iteration: number;
|
|
54
|
+
actionsCount: number;
|
|
55
|
+
dryRun?: boolean;
|
|
56
|
+
currentAction?: string;
|
|
57
|
+
}
|
|
58
|
+
export declare const AgentStatusBar: React.FC<AgentStatusBarProps>;
|
|
48
59
|
export {};
|
|
@@ -361,3 +361,8 @@ export const ChangesList = ({ actions }) => {
|
|
|
361
361
|
}
|
|
362
362
|
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", padding: 1, children: [_jsxs(Text, { color: "cyan", bold: true, children: ["Session Changes (", totalChanges, " total)"] }), _jsx(Text, { color: "cyan", children: '─'.repeat(40) }), writes.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: "green", bold: true, children: ["Created (", writes.length, "):"] }), writes.map((w, i) => (_jsxs(Text, { children: [" + ", w.target] }, i)))] })), edits.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: "yellow", bold: true, children: ["Modified (", edits.length, "):"] }), edits.map((e, i) => (_jsxs(Text, { children: [" ~ ", e.target] }, i)))] })), deletes.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: "red", bold: true, children: ["Deleted (", deletes.length, "):"] }), deletes.map((d, i) => (_jsxs(Text, { children: [" - ", d.target] }, i)))] })), mkdirs.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: "blue", bold: true, children: ["Directories (", mkdirs.length, "):"] }), mkdirs.map((m, i) => (_jsxs(Text, { children: [" + ", m.target, "/"] }, i)))] }))] }));
|
|
363
363
|
};
|
|
364
|
+
export const AgentStatusBar = memo(({ iteration, actionsCount, dryRun, currentAction }) => {
|
|
365
|
+
const color = dryRun ? 'yellow' : '#f02a30';
|
|
366
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: color, paddingX: 1, marginY: 1, height: 3, children: [_jsx(AgentSpinner, { color: color }), _jsxs(Text, { color: color, bold: true, children: [" ", dryRun ? 'DRY RUN' : 'AGENT', " "] }), _jsxs(Text, { color: "cyan", children: ["Step ", iteration] }), _jsx(Text, { color: "gray", children: " | " }), _jsxs(Text, { color: "white", children: [actionsCount, " actions"] }), currentAction && (_jsxs(_Fragment, { children: [_jsx(Text, { color: "gray", children: " | " }), _jsx(Text, { color: "cyan", children: currentAction })] })), _jsx(Text, { color: "gray", children: " | Press " }), _jsx(Text, { color: color, children: "Esc" }), _jsx(Text, { color: "gray", children: " to stop" })] }));
|
|
367
|
+
});
|
|
368
|
+
AgentStatusBar.displayName = 'AgentStatusBar';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeep",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.130",
|
|
4
4
|
"description": "AI-powered coding assistant built for the terminal. Multiple LLM providers, project-aware context, and a seamless development workflow.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|