codeep 1.0.118 → 1.0.120
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 +15 -7
- package/dist/index.js +3 -30
- package/package.json +1 -1
package/dist/app.js
CHANGED
|
@@ -163,12 +163,20 @@ export const App = () => {
|
|
|
163
163
|
return () => clearTimeout(timer);
|
|
164
164
|
}
|
|
165
165
|
}, [notification, notificationDuration]);
|
|
166
|
-
//
|
|
167
|
-
// This
|
|
166
|
+
// Use alternate screen buffer for fullscreen views (non-chat screens)
|
|
167
|
+
// This prevents ghost content while keeping chat scrollable in normal buffer
|
|
168
168
|
useEffect(() => {
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
const isFullscreen = screen !== 'chat' && screen !== 'login' && screen !== 'permission' && screen !== 'session-picker';
|
|
170
|
+
if (isFullscreen) {
|
|
171
|
+
// Enter alternate buffer
|
|
172
|
+
stdout?.write('\x1b[?1049h\x1b[H');
|
|
171
173
|
}
|
|
174
|
+
return () => {
|
|
175
|
+
if (isFullscreen) {
|
|
176
|
+
// Exit alternate buffer when leaving fullscreen view
|
|
177
|
+
stdout?.write('\x1b[?1049l');
|
|
178
|
+
}
|
|
179
|
+
};
|
|
172
180
|
}, [screen, stdout]);
|
|
173
181
|
// Handle keyboard shortcuts
|
|
174
182
|
useInput((input, key) => {
|
|
@@ -1312,10 +1320,10 @@ export const App = () => {
|
|
|
1312
1320
|
return (_jsx(ProjectPermission, { projectPath: projectPath, onComplete: handlePermissionComplete }));
|
|
1313
1321
|
}
|
|
1314
1322
|
if (screen === 'help') {
|
|
1315
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Help, {}), _jsx(Text, { children: "Press Escape to close" })] }, "help-screen"));
|
|
1323
|
+
return (_jsxs(Box, { flexDirection: "column", height: stdout?.rows || 24, children: [_jsx(Help, {}), _jsx(Text, { children: "Press Escape to close" })] }, "help-screen"));
|
|
1316
1324
|
}
|
|
1317
1325
|
if (screen === 'status') {
|
|
1318
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Status, {}), _jsx(Text, { children: "Press Escape to close" })] }, "status-screen"));
|
|
1326
|
+
return (_jsxs(Box, { flexDirection: "column", height: stdout?.rows || 24, children: [_jsx(Status, {}), _jsx(Text, { children: "Press Escape to close" })] }, "status-screen"));
|
|
1319
1327
|
}
|
|
1320
1328
|
if (screen === 'session-picker') {
|
|
1321
1329
|
return (_jsx(SessionPicker, { projectPath: projectPath, onSelect: (loadedMessages, sessionName) => {
|
|
@@ -1356,7 +1364,7 @@ export const App = () => {
|
|
|
1356
1364
|
}, onCancel: () => setScreen('chat') }));
|
|
1357
1365
|
}
|
|
1358
1366
|
if (screen === 'settings') {
|
|
1359
|
-
return (_jsx(Settings, { onClose: () => setScreen('chat'), notify: notify, hasWriteAccess: hasWriteAccess, hasProjectContext: !!projectContext }));
|
|
1367
|
+
return (_jsx(Box, { flexDirection: "column", height: stdout?.rows || 24, children: _jsx(Settings, { onClose: () => setScreen('chat'), notify: notify, hasWriteAccess: hasWriteAccess, hasProjectContext: !!projectContext }) }, "settings-screen"));
|
|
1360
1368
|
}
|
|
1361
1369
|
if (screen === 'search') {
|
|
1362
1370
|
return (_jsx(Search, { results: searchResults, searchTerm: searchTerm, onClose: () => setScreen('chat'), onSelectMessage: (index) => {
|
package/dist/index.js
CHANGED
|
@@ -32,34 +32,7 @@ Contact: info@codeep.dev
|
|
|
32
32
|
`);
|
|
33
33
|
process.exit(0);
|
|
34
34
|
}
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
// Eliminates ghost content and jumping issues
|
|
38
|
-
process.stdout.write('\x1b[?1049h'); // Enter alternate buffer
|
|
39
|
-
process.stdout.write('\x1b[H'); // Move cursor to top-left
|
|
40
|
-
// Exit alternate buffer on app exit
|
|
41
|
-
const exitAlternateBuffer = () => {
|
|
42
|
-
process.stdout.write('\x1b[?1049l'); // Exit alternate buffer
|
|
43
|
-
};
|
|
44
|
-
// Handle various exit scenarios
|
|
45
|
-
process.on('exit', exitAlternateBuffer);
|
|
46
|
-
process.on('SIGINT', () => {
|
|
47
|
-
exitAlternateBuffer();
|
|
48
|
-
process.exit(0);
|
|
49
|
-
});
|
|
50
|
-
process.on('SIGTERM', () => {
|
|
51
|
-
exitAlternateBuffer();
|
|
52
|
-
process.exit(0);
|
|
53
|
-
});
|
|
54
|
-
// Also handle uncaught exceptions to ensure clean exit
|
|
55
|
-
process.on('uncaughtException', (err) => {
|
|
56
|
-
exitAlternateBuffer();
|
|
57
|
-
console.error('Uncaught Exception:', err);
|
|
58
|
-
process.exit(1);
|
|
59
|
-
});
|
|
35
|
+
// Clear screen on start
|
|
36
|
+
console.clear();
|
|
60
37
|
// Render app
|
|
61
|
-
|
|
62
|
-
// Ensure alternate buffer is exited when Ink unmounts
|
|
63
|
-
waitUntilExit().then(() => {
|
|
64
|
-
exitAlternateBuffer();
|
|
65
|
-
});
|
|
38
|
+
render(_jsx(App, {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeep",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.120",
|
|
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",
|