@miphamai/cli 0.24.10 → 0.24.11
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/bin/mipham.ts +21 -0
- package/package.json +1 -1
- package/src/agent-view/dashboard.tsx +3 -3
package/bin/mipham.ts
CHANGED
|
@@ -308,6 +308,27 @@ async function runUpdate(): Promise<boolean> {
|
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
async function main() {
|
|
311
|
+
// ── Disable terminal software flow control (XON/XOFF) ──────────────────
|
|
312
|
+
// Ctrl+S and Ctrl+Q are intercepted by the terminal for flow control by default.
|
|
313
|
+
// Disabling it lets our app receive these key combinations (e.g. Agent Dashboard).
|
|
314
|
+
const { execSync } = await import('node:child_process')
|
|
315
|
+
try {
|
|
316
|
+
execSync('stty -ixon 2>/dev/null || true', { stdio: 'ignore' })
|
|
317
|
+
} catch {
|
|
318
|
+
// Non-POSIX platform (Windows) — no flow control to disable
|
|
319
|
+
}
|
|
320
|
+
// Restore flow control on exit
|
|
321
|
+
const restoreFlowControl = () => {
|
|
322
|
+
try {
|
|
323
|
+
execSync('stty ixon 2>/dev/null || true', { stdio: 'ignore' })
|
|
324
|
+
} catch {
|
|
325
|
+
/* ignore */
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
process.on('exit', restoreFlowControl)
|
|
329
|
+
process.on('SIGINT', restoreFlowControl)
|
|
330
|
+
process.on('SIGTERM', restoreFlowControl)
|
|
331
|
+
|
|
311
332
|
// ── Read version fresh from package.json at startup (bypasses Bun module cache) ──
|
|
312
333
|
const { readFileSync } = await import('node:fs')
|
|
313
334
|
const { join } = await import('node:path')
|
package/package.json
CHANGED
|
@@ -103,8 +103,8 @@ export function AgentViewDashboard({ manager, onAttach, onExit }: DashboardProps
|
|
|
103
103
|
return
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
// Ctrl+
|
|
107
|
-
if (input === '\
|
|
106
|
+
// Ctrl+T — toggle group by (status ↔ directory)
|
|
107
|
+
if (input === '\x14') {
|
|
108
108
|
setGroupBy((prev) => (prev === 'status' ? 'directory' : 'status'))
|
|
109
109
|
showFeedback(`Grouped by ${_groupBy === 'status' ? 'directory' : 'status'}`)
|
|
110
110
|
return
|
|
@@ -207,7 +207,7 @@ export function AgentViewDashboard({ manager, onAttach, onExit }: DashboardProps
|
|
|
207
207
|
</Box>
|
|
208
208
|
<Box>
|
|
209
209
|
<Text dimColor>
|
|
210
|
-
j/k navigate · Space peek · Enter attach · Ctrl+
|
|
210
|
+
j/k navigate · Space peek · Enter attach · Ctrl+T group · Ctrl+R rename · Esc back
|
|
211
211
|
</Text>
|
|
212
212
|
</Box>
|
|
213
213
|
</Box>
|