codeep 1.0.93 → 1.0.95
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 +7 -2
- package/package.json +1 -1
package/dist/app.js
CHANGED
|
@@ -62,6 +62,7 @@ export const App = () => {
|
|
|
62
62
|
const [sessionId, setSessionId] = useState(getCurrentSessionId());
|
|
63
63
|
const [showIntro, setShowIntro] = useState(true);
|
|
64
64
|
const [clearInputTrigger, setClearInputTrigger] = useState(0);
|
|
65
|
+
const [chatRenderKey, setChatRenderKey] = useState(0);
|
|
65
66
|
// Project context
|
|
66
67
|
const [projectPath] = useState(process.cwd());
|
|
67
68
|
// Log application startup and set project path for logging
|
|
@@ -173,11 +174,15 @@ export const App = () => {
|
|
|
173
174
|
return () => clearTimeout(timer);
|
|
174
175
|
}
|
|
175
176
|
}, [notification, notificationDuration]);
|
|
176
|
-
// Clear input when opening modals
|
|
177
|
+
// Clear input when opening modals, force re-render when closing
|
|
177
178
|
useEffect(() => {
|
|
178
179
|
if (modalScreen !== null) {
|
|
179
180
|
setClearInputTrigger(prev => prev + 1);
|
|
180
181
|
}
|
|
182
|
+
else {
|
|
183
|
+
// Modal just closed - force chat screen re-render to clear ghost content
|
|
184
|
+
setChatRenderKey(prev => prev + 1);
|
|
185
|
+
}
|
|
181
186
|
}, [modalScreen]);
|
|
182
187
|
// Handle keyboard shortcuts
|
|
183
188
|
useInput((input, key) => {
|
|
@@ -1410,7 +1415,7 @@ export const App = () => {
|
|
|
1410
1415
|
const actionColor = change.action === 'delete' ? 'red' : change.action === 'edit' ? 'yellow' : 'green';
|
|
1411
1416
|
const actionLabel = change.action === 'delete' ? 'DELETE' : change.action === 'edit' ? 'EDIT' : 'CREATE';
|
|
1412
1417
|
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));
|
|
1413
|
-
}), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["Apply changes? ", _jsx(Text, { color: "#f02a30", bold: true, children: "[Y/n]" })] }), _jsx(Text, { color: "cyan", children: "Press Y to apply, N or Esc to reject" })] })), notification && (_jsx(Box, { justifyContent: "center", children: _jsx(Text, { color: "cyan", children: notification }) })), modalScreen === 'help' && (_jsx(ModalOverlay, { onClose: () => setModalScreen(null), children: _jsx(Help, {}) },
|
|
1418
|
+
}), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["Apply changes? ", _jsx(Text, { color: "#f02a30", bold: true, children: "[Y/n]" })] }), _jsx(Text, { color: "cyan", children: "Press Y to apply, N or Esc to reject" })] })), notification && (_jsx(Box, { justifyContent: "center", children: _jsx(Text, { color: "cyan", children: notification }) })), modalScreen === 'help' && (_jsx(ModalOverlay, { onClose: () => setModalScreen(null), children: _jsx(Help, {}) }, `help-modal-${chatRenderKey}`)), modalScreen === 'status' && (_jsx(ModalOverlay, { onClose: () => setModalScreen(null), children: _jsx(Status, {}) }, `status-modal-${chatRenderKey}`)), modalScreen === 'settings' && (_jsx(ModalOverlay, { onClose: () => setModalScreen(null), children: _jsx(Settings, { onClose: () => setModalScreen(null), notify: notify, hasWriteAccess: hasWriteAccess, hasProjectContext: !!projectContext }) }, `settings-modal-${chatRenderKey}`)), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "#f02a30", children: '─'.repeat(Math.max(20, stdout?.columns || 80)) }), _jsx(Box, { paddingX: 1, children: _jsx(ChatInput, { onSubmit: handleSubmit, disabled: isLoading || isAgentRunning || pendingFileChanges.length > 0, history: inputHistory, clearTrigger: clearInputTrigger }) }), _jsx(Text, { color: "#f02a30", children: '─'.repeat(Math.max(20, stdout?.columns || 80)) })] }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: _jsxs(Text, { children: [_jsx(Text, { color: "#f02a30", bold: true, children: "Ctrl+V" }), _jsx(Text, { children: " Paste " }), _jsx(Text, { color: "#f02a30", bold: true, children: "Ctrl+L" }), _jsx(Text, { children: " Clear " }), _jsx(Text, { color: "#f02a30", bold: true, children: "Esc" }), _jsx(Text, { children: " Cancel " }), _jsx(Text, { color: "#f02a30", bold: true, children: "\u2191\u2193" }), _jsx(Text, { children: " History " }), _jsx(Text, { color: "#f02a30", bold: true, children: "/help" }), _jsx(Text, { children: " Commands" })] }) }), _jsx(Box, { children: config.get('agentMode') === 'on' ? (hasWriteAccess && projectContext ? (_jsx(Text, { color: "green", children: "Agent: ON \u2713" })) : (_jsx(Text, { color: "yellow", children: "Agent: ON (no permission - use /grant)" }))) : (_jsx(Text, { color: "cyan", children: "Agent: Manual (use /agent)" })) })] })] }, `chat-${chatRenderKey}`));
|
|
1414
1419
|
};
|
|
1415
1420
|
// Model selection component
|
|
1416
1421
|
const ModelSelect = ({ onClose, notify }) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeep",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.95",
|
|
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",
|