dmux 3.5.3 → 4.0.0
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/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +69 -4
- package/dist/DmuxApp.js.map +1 -1
- package/dist/components/dialogs/TmuxHooksPromptDialog.d.ts +13 -0
- package/dist/components/dialogs/TmuxHooksPromptDialog.d.ts.map +1 -0
- package/dist/components/dialogs/TmuxHooksPromptDialog.js +36 -0
- package/dist/components/dialogs/TmuxHooksPromptDialog.js.map +1 -0
- package/dist/components/panes/PaneCard.d.ts.map +1 -1
- package/dist/components/panes/PaneCard.js +18 -3
- package/dist/components/panes/PaneCard.js.map +1 -1
- package/dist/components/panes/PanesGrid.d.ts.map +1 -1
- package/dist/components/panes/PanesGrid.js +3 -3
- package/dist/components/panes/PanesGrid.js.map +1 -1
- package/dist/components/ui/FooterHelp.d.ts.map +1 -1
- package/dist/components/ui/FooterHelp.js +3 -3
- package/dist/components/ui/FooterHelp.js.map +1 -1
- package/dist/hooks/usePanes.d.ts +10 -1
- package/dist/hooks/usePanes.d.ts.map +1 -1
- package/dist/hooks/usePanes.js +73 -13
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/index.js +22 -19
- package/dist/index.js.map +1 -1
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +93 -25
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/services/LogService.d.ts +7 -2
- package/dist/services/LogService.d.ts.map +1 -1
- package/dist/services/LogService.js +96 -17
- package/dist/services/LogService.js.map +1 -1
- package/dist/services/PaneAnalyzer.d.ts +35 -1
- package/dist/services/PaneAnalyzer.d.ts.map +1 -1
- package/dist/services/PaneAnalyzer.js +167 -65
- package/dist/services/PaneAnalyzer.js.map +1 -1
- package/dist/services/PaneEventService.d.ts +101 -0
- package/dist/services/PaneEventService.d.ts.map +1 -0
- package/dist/services/PaneEventService.js +246 -0
- package/dist/services/PaneEventService.js.map +1 -0
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +5 -4
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/services/TmuxHookManager.d.ts +76 -0
- package/dist/services/TmuxHookManager.d.ts.map +1 -0
- package/dist/services/TmuxHookManager.js +229 -0
- package/dist/services/TmuxHookManager.js.map +1 -0
- package/dist/services/TmuxService.d.ts +33 -0
- package/dist/services/TmuxService.d.ts.map +1 -1
- package/dist/services/TmuxService.js +68 -0
- package/dist/services/TmuxService.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/execAsync.d.ts +78 -0
- package/dist/utils/execAsync.d.ts.map +1 -0
- package/dist/utils/execAsync.js +141 -0
- package/dist/utils/execAsync.js.map +1 -0
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +1 -1
- package/dist/utils/git.d.ts +27 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +150 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +1 -1
- package/dist/utils/paneCapture.d.ts +11 -0
- package/dist/utils/paneCapture.d.ts.map +1 -1
- package/dist/utils/paneCapture.js +69 -0
- package/dist/utils/paneCapture.js.map +1 -1
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +6 -0
- package/dist/utils/settingsManager.js.map +1 -1
- package/dist/utils/shellPaneDetection.d.ts +1 -1
- package/dist/utils/shellPaneDetection.d.ts.map +1 -1
- package/dist/utils/shellPaneDetection.js +14 -21
- package/dist/utils/shellPaneDetection.js.map +1 -1
- package/dist/workers/panePollingWorker.d.ts +13 -0
- package/dist/workers/panePollingWorker.d.ts.map +1 -0
- package/dist/workers/panePollingWorker.js +129 -0
- package/dist/workers/panePollingWorker.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePanes.js","sourceRoot":"","sources":["../../src/hooks/usePanes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"usePanes.js","sourceRoot":"","sources":["../../src/hooks/usePanes.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -96,15 +96,16 @@ class Dmux {
|
|
|
96
96
|
// Expected - session doesn't exist, create new one
|
|
97
97
|
// Create new session first
|
|
98
98
|
execSync(`tmux new-session -d -s ${this.sessionName}`, { stdio: 'inherit' });
|
|
99
|
-
//
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
99
|
+
// Batch all session configuration commands into a single tmux call for faster startup
|
|
100
|
+
// This reduces 5 process spawns to 1, significantly improving startup time
|
|
101
|
+
const sessionOptions = [
|
|
102
|
+
`set-option -t ${this.sessionName} pane-border-status top`,
|
|
103
|
+
`set-option -t ${this.sessionName} pane-active-border-style "fg=colour${TMUX_COLORS.activeBorder}"`,
|
|
104
|
+
`set-option -t ${this.sessionName} pane-border-style "fg=colour${TMUX_COLORS.inactiveBorder}"`,
|
|
105
|
+
`set-option -t ${this.sessionName} pane-border-format " #{pane_title} "`,
|
|
106
|
+
`select-pane -t ${this.sessionName} -T "dmux v${packageJson.version} - ${this.projectName}"`,
|
|
107
|
+
].join(' \\; ');
|
|
108
|
+
execSync(`tmux ${sessionOptions}`, { stdio: 'inherit' });
|
|
108
109
|
// Send dmux command to the new session (use dev command if in dev mode)
|
|
109
110
|
// In dev mode, use current directory if we're in a worktree, otherwise use projectRoot
|
|
110
111
|
let devDirectory = this.projectRoot;
|
|
@@ -224,10 +225,8 @@ class Dmux {
|
|
|
224
225
|
LogService.getInstance().debug('Welcome pane exists, applying correct layout', 'Setup');
|
|
225
226
|
// Apply correct layout: sidebar (40) | welcome pane (rest)
|
|
226
227
|
// Use "latest" mode so window auto-follows terminal size
|
|
227
|
-
//
|
|
228
|
-
execSync(`tmux set-window-option window-size latest`, { stdio: 'pipe' });
|
|
229
|
-
execSync(`tmux set-window-option main-pane-width ${SIDEBAR_WIDTH}`, { stdio: 'pipe' });
|
|
230
|
-
execSync(`tmux select-layout main-vertical`, { stdio: 'pipe' });
|
|
228
|
+
// Batch layout commands into single tmux call for better performance
|
|
229
|
+
execSync(`tmux set-window-option window-size latest \\; set-window-option main-pane-width ${SIDEBAR_WIDTH} \\; select-layout main-vertical`, { stdio: 'pipe' });
|
|
231
230
|
await tmuxService.refreshClient();
|
|
232
231
|
}
|
|
233
232
|
}
|
|
@@ -538,14 +537,17 @@ class Dmux {
|
|
|
538
537
|
}
|
|
539
538
|
setupPaneSplitHook() {
|
|
540
539
|
try {
|
|
541
|
-
// Set up
|
|
542
|
-
// This allows
|
|
540
|
+
// Set up hooks that send SIGUSR2 to dmux process for pane events
|
|
541
|
+
// This allows immediate detection of pane changes
|
|
543
542
|
const pid = process.pid;
|
|
543
|
+
// Detect manually created panes via Ctrl+b %
|
|
544
544
|
execSync(`tmux set-hook -t '${this.sessionName}' after-split-window 'run-shell "kill -USR2 ${pid} 2>/dev/null || true"'`, { stdio: 'pipe' });
|
|
545
|
-
//
|
|
545
|
+
// Detect pane closures via Ctrl+b x or process exit
|
|
546
|
+
execSync(`tmux set-hook -t '${this.sessionName}' pane-exited 'run-shell "kill -USR2 ${pid} 2>/dev/null || true"'`, { stdio: 'pipe' });
|
|
547
|
+
// LogService.getInstance().debug(`Set up pane detection hooks for session ${this.sessionName}`, 'Setup');
|
|
546
548
|
}
|
|
547
549
|
catch (error) {
|
|
548
|
-
LogService.getInstance().warn('Failed to set up pane
|
|
550
|
+
LogService.getInstance().warn('Failed to set up pane hooks', 'Setup');
|
|
549
551
|
}
|
|
550
552
|
}
|
|
551
553
|
cleanupResizeHook() {
|
|
@@ -560,9 +562,10 @@ class Dmux {
|
|
|
560
562
|
}
|
|
561
563
|
cleanupPaneSplitHook() {
|
|
562
564
|
try {
|
|
563
|
-
// Remove pane
|
|
565
|
+
// Remove pane hooks
|
|
564
566
|
execSync(`tmux set-hook -u -t '${this.sessionName}' after-split-window`, { stdio: 'pipe' });
|
|
565
|
-
|
|
567
|
+
execSync(`tmux set-hook -u -t '${this.sessionName}' pane-exited`, { stdio: 'pipe' });
|
|
568
|
+
LogService.getInstance().debug('Cleaned up pane hooks', 'Setup');
|
|
566
569
|
}
|
|
567
570
|
catch {
|
|
568
571
|
// Ignore cleanup errors
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-assets.d.ts","sourceRoot":"","sources":["../../src/server/embedded-assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"embedded-assets.d.ts","sourceRoot":"","sources":["../../src/server/embedded-assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAi9CxD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAInE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export const embeddedAssets = {
|
|
6
6
|
'DmuxApp.js': {
|
|
7
7
|
content: `import React, { useState, useEffect } from "react";
|
|
8
|
-
import { Box, Text, useApp, useStdout } from "ink";
|
|
8
|
+
import { Box, Text, useApp, useStdout, useInput } from "ink";
|
|
9
9
|
import { createRequire } from "module";
|
|
10
10
|
import { TmuxService } from "./services/TmuxService.js";
|
|
11
11
|
// Hooks
|
|
@@ -48,6 +48,8 @@ import LoadingIndicator from "./components/indicators/LoadingIndicator.js";
|
|
|
48
48
|
import RunningIndicator from "./components/indicators/RunningIndicator.js";
|
|
49
49
|
import UpdatingIndicator from "./components/indicators/UpdatingIndicator.js";
|
|
50
50
|
import FooterHelp from "./components/ui/FooterHelp.js";
|
|
51
|
+
import TmuxHooksPromptDialog from "./components/dialogs/TmuxHooksPromptDialog.js";
|
|
52
|
+
import { PaneEventService } from "./services/PaneEventService.js";
|
|
51
53
|
const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoot, autoUpdater, serverPort, server, controlPaneId, rerenderRef, }) => {
|
|
52
54
|
const { stdout } = useStdout();
|
|
53
55
|
const terminalHeight = stdout?.rows || 40;
|
|
@@ -89,6 +91,11 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
89
91
|
const [currentToast, setCurrentToast] = useState(null);
|
|
90
92
|
const [toastQueueLength, setToastQueueLength] = useState(0);
|
|
91
93
|
const [toastQueuePosition, setToastQueuePosition] = useState(null);
|
|
94
|
+
// Tmux hooks prompt state
|
|
95
|
+
const [showHooksPrompt, setShowHooksPrompt] = useState(false);
|
|
96
|
+
const [hooksPromptIndex, setHooksPromptIndex] = useState(0);
|
|
97
|
+
// undefined = not yet determined, true = use hooks, false = use polling
|
|
98
|
+
const [useHooks, setUseHooks] = useState(undefined);
|
|
92
99
|
// Subscribe to StateManager for unread error/warning count and toast updates
|
|
93
100
|
useEffect(() => {
|
|
94
101
|
const stateManager = StateManager.getInstance();
|
|
@@ -109,7 +116,34 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
109
116
|
};
|
|
110
117
|
}, []);
|
|
111
118
|
// Panes state and persistence (skipLoading will be updated after actionSystem is initialized)
|
|
112
|
-
const { panes, setPanes, isLoading, loadPanes, savePanes } = usePanes(panesFile, false);
|
|
119
|
+
const { panes, setPanes, isLoading, loadPanes, savePanes, eventMode } = usePanes(panesFile, false, sessionName, controlPaneId, useHooks);
|
|
120
|
+
// Check for tmux hooks preference on startup
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
const checkHooksPreference = async () => {
|
|
123
|
+
// Check if user already has a preference
|
|
124
|
+
const settings = settingsManager.getSettings();
|
|
125
|
+
if (settings.useTmuxHooks !== undefined) {
|
|
126
|
+
// User has already decided
|
|
127
|
+
setUseHooks(settings.useTmuxHooks);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
// Check if hooks are already installed (from previous session)
|
|
131
|
+
const paneEventService = PaneEventService.getInstance();
|
|
132
|
+
paneEventService.initialize({ sessionName, controlPaneId });
|
|
133
|
+
const hooksInstalled = await paneEventService.canUseHooks();
|
|
134
|
+
if (hooksInstalled) {
|
|
135
|
+
// Hooks already installed, use them automatically
|
|
136
|
+
setUseHooks(true);
|
|
137
|
+
// Save the preference
|
|
138
|
+
settingsManager.updateSetting('useTmuxHooks', true, 'global');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
// Need to ask user - show prompt
|
|
142
|
+
setShowHooksPrompt(true);
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
checkHooksPreference();
|
|
146
|
+
}, [sessionName, controlPaneId, settingsManager]);
|
|
113
147
|
// Pane lifecycle manager - handles locking to prevent race conditions
|
|
114
148
|
// Replaces the old timeout-based intentionallyClosedPanes Set
|
|
115
149
|
const lifecycleManager = React.useMemo(() => PaneLifecycleManager.getInstance(), []);
|
|
@@ -563,6 +597,36 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
563
597
|
process.exit(0);
|
|
564
598
|
}, 100);
|
|
565
599
|
};
|
|
600
|
+
// Handle tmux hooks prompt input
|
|
601
|
+
useInput((input, key) => {
|
|
602
|
+
if (!showHooksPrompt)
|
|
603
|
+
return;
|
|
604
|
+
if (key.upArrow || input === 'k') {
|
|
605
|
+
setHooksPromptIndex(Math.max(0, hooksPromptIndex - 1));
|
|
606
|
+
}
|
|
607
|
+
else if (key.downArrow || input === 'j') {
|
|
608
|
+
setHooksPromptIndex(Math.min(1, hooksPromptIndex + 1));
|
|
609
|
+
}
|
|
610
|
+
else if (input === 'y') {
|
|
611
|
+
// Yes - install hooks
|
|
612
|
+
setShowHooksPrompt(false);
|
|
613
|
+
setUseHooks(true);
|
|
614
|
+
settingsManager.updateSetting('useTmuxHooks', true, 'global');
|
|
615
|
+
}
|
|
616
|
+
else if (input === 'n') {
|
|
617
|
+
// No - use polling
|
|
618
|
+
setShowHooksPrompt(false);
|
|
619
|
+
setUseHooks(false);
|
|
620
|
+
settingsManager.updateSetting('useTmuxHooks', false, 'global');
|
|
621
|
+
}
|
|
622
|
+
else if (key.return) {
|
|
623
|
+
// Select current option
|
|
624
|
+
setShowHooksPrompt(false);
|
|
625
|
+
const selected = hooksPromptIndex === 0;
|
|
626
|
+
setUseHooks(selected);
|
|
627
|
+
settingsManager.updateSetting('useTmuxHooks', selected, 'global');
|
|
628
|
+
}
|
|
629
|
+
}, { isActive: showHooksPrompt });
|
|
566
630
|
// Input handling - extracted to dedicated hook
|
|
567
631
|
useInputHandling({
|
|
568
632
|
panes,
|
|
@@ -573,7 +637,7 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
573
637
|
runningCommand,
|
|
574
638
|
isUpdating,
|
|
575
639
|
isLoading,
|
|
576
|
-
ignoreInput,
|
|
640
|
+
ignoreInput: ignoreInput || showHooksPrompt, // Block other input when hooks prompt is shown
|
|
577
641
|
quitConfirmMode,
|
|
578
642
|
setQuitConfirmMode,
|
|
579
643
|
showCommandPrompt,
|
|
@@ -664,7 +728,8 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
664
728
|
showCommandPrompt && (React.createElement(CommandPromptDialog, { type: showCommandPrompt, value: commandInput, onChange: setCommandInput })),
|
|
665
729
|
showFileCopyPrompt && React.createElement(FileCopyPrompt, null),
|
|
666
730
|
runningCommand && React.createElement(RunningIndicator, null),
|
|
667
|
-
isUpdating && React.createElement(UpdatingIndicator, null)
|
|
731
|
+
isUpdating && React.createElement(UpdatingIndicator, null),
|
|
732
|
+
showHooksPrompt && (React.createElement(TmuxHooksPromptDialog, { selectedIndex: hooksPromptIndex }))),
|
|
668
733
|
statusMessage && (React.createElement(Box, null,
|
|
669
734
|
React.createElement(Text, { color: "green" }, statusMessage))),
|
|
670
735
|
actionSystem.actionState.statusMessage && (React.createElement(Box, null,
|
|
@@ -695,7 +760,7 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
695
760
|
export default DmuxApp;
|
|
696
761
|
//# sourceMappingURL=DmuxApp.js.map`,
|
|
697
762
|
mimeType: 'application/javascript',
|
|
698
|
-
size:
|
|
763
|
+
size: 35428
|
|
699
764
|
},
|
|
700
765
|
'chunks/styles.css_vue_type_style_index_0_src_true_lang-pW5mq51o.js': {
|
|
701
766
|
content: `(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();/**
|
|
@@ -844,15 +909,16 @@ class Dmux {
|
|
|
844
909
|
// Expected - session doesn't exist, create new one
|
|
845
910
|
// Create new session first
|
|
846
911
|
execSync(\`tmux new-session -d -s \${this.sessionName}\`, { stdio: 'inherit' });
|
|
847
|
-
//
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
912
|
+
// Batch all session configuration commands into a single tmux call for faster startup
|
|
913
|
+
// This reduces 5 process spawns to 1, significantly improving startup time
|
|
914
|
+
const sessionOptions = [
|
|
915
|
+
\`set-option -t \${this.sessionName} pane-border-status top\`,
|
|
916
|
+
\`set-option -t \${this.sessionName} pane-active-border-style "fg=colour\${TMUX_COLORS.activeBorder}"\`,
|
|
917
|
+
\`set-option -t \${this.sessionName} pane-border-style "fg=colour\${TMUX_COLORS.inactiveBorder}"\`,
|
|
918
|
+
\`set-option -t \${this.sessionName} pane-border-format " #{pane_title} "\`,
|
|
919
|
+
\`select-pane -t \${this.sessionName} -T "dmux v\${packageJson.version} - \${this.projectName}"\`,
|
|
920
|
+
].join(' \\\\; ');
|
|
921
|
+
execSync(\`tmux \${sessionOptions}\`, { stdio: 'inherit' });
|
|
856
922
|
// Send dmux command to the new session (use dev command if in dev mode)
|
|
857
923
|
// In dev mode, use current directory if we're in a worktree, otherwise use projectRoot
|
|
858
924
|
let devDirectory = this.projectRoot;
|
|
@@ -972,10 +1038,8 @@ class Dmux {
|
|
|
972
1038
|
LogService.getInstance().debug('Welcome pane exists, applying correct layout', 'Setup');
|
|
973
1039
|
// Apply correct layout: sidebar (40) | welcome pane (rest)
|
|
974
1040
|
// Use "latest" mode so window auto-follows terminal size
|
|
975
|
-
//
|
|
976
|
-
execSync(\`tmux set-window-option window-size latest\`, { stdio: 'pipe' });
|
|
977
|
-
execSync(\`tmux set-window-option main-pane-width \${SIDEBAR_WIDTH}\`, { stdio: 'pipe' });
|
|
978
|
-
execSync(\`tmux select-layout main-vertical\`, { stdio: 'pipe' });
|
|
1041
|
+
// Batch layout commands into single tmux call for better performance
|
|
1042
|
+
execSync(\`tmux set-window-option window-size latest \\\\; set-window-option main-pane-width \${SIDEBAR_WIDTH} \\\\; select-layout main-vertical\`, { stdio: 'pipe' });
|
|
979
1043
|
await tmuxService.refreshClient();
|
|
980
1044
|
}
|
|
981
1045
|
}
|
|
@@ -1286,14 +1350,17 @@ class Dmux {
|
|
|
1286
1350
|
}
|
|
1287
1351
|
setupPaneSplitHook() {
|
|
1288
1352
|
try {
|
|
1289
|
-
// Set up
|
|
1290
|
-
// This allows
|
|
1353
|
+
// Set up hooks that send SIGUSR2 to dmux process for pane events
|
|
1354
|
+
// This allows immediate detection of pane changes
|
|
1291
1355
|
const pid = process.pid;
|
|
1356
|
+
// Detect manually created panes via Ctrl+b %
|
|
1292
1357
|
execSync(\`tmux set-hook -t '\${this.sessionName}' after-split-window 'run-shell "kill -USR2 \${pid} 2>/dev/null || true"'\`, { stdio: 'pipe' });
|
|
1293
|
-
//
|
|
1358
|
+
// Detect pane closures via Ctrl+b x or process exit
|
|
1359
|
+
execSync(\`tmux set-hook -t '\${this.sessionName}' pane-exited 'run-shell "kill -USR2 \${pid} 2>/dev/null || true"'\`, { stdio: 'pipe' });
|
|
1360
|
+
// LogService.getInstance().debug(\`Set up pane detection hooks for session \${this.sessionName}\`, 'Setup');
|
|
1294
1361
|
}
|
|
1295
1362
|
catch (error) {
|
|
1296
|
-
LogService.getInstance().warn('Failed to set up pane
|
|
1363
|
+
LogService.getInstance().warn('Failed to set up pane hooks', 'Setup');
|
|
1297
1364
|
}
|
|
1298
1365
|
}
|
|
1299
1366
|
cleanupResizeHook() {
|
|
@@ -1308,9 +1375,10 @@ class Dmux {
|
|
|
1308
1375
|
}
|
|
1309
1376
|
cleanupPaneSplitHook() {
|
|
1310
1377
|
try {
|
|
1311
|
-
// Remove pane
|
|
1378
|
+
// Remove pane hooks
|
|
1312
1379
|
execSync(\`tmux set-hook -u -t '\${this.sessionName}' after-split-window\`, { stdio: 'pipe' });
|
|
1313
|
-
|
|
1380
|
+
execSync(\`tmux set-hook -u -t '\${this.sessionName}' pane-exited\`, { stdio: 'pipe' });
|
|
1381
|
+
LogService.getInstance().debug('Cleaned up pane hooks', 'Setup');
|
|
1314
1382
|
}
|
|
1315
1383
|
catch {
|
|
1316
1384
|
// Ignore cleanup errors
|
|
@@ -1379,7 +1447,7 @@ class Dmux {
|
|
|
1379
1447
|
})();
|
|
1380
1448
|
//# sourceMappingURL=index.js.map`,
|
|
1381
1449
|
mimeType: 'application/javascript',
|
|
1382
|
-
size:
|
|
1450
|
+
size: 30903
|
|
1383
1451
|
},
|
|
1384
1452
|
'styles.css': {
|
|
1385
1453
|
content: `*{margin:0;padding:0;box-sizing:border-box}:root{--bg-gradient-start: #0f0f23;--bg-gradient-mid: #1a1a2e;--bg-gradient-end: #16213e;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-tertiary: #808080;--text-dim: #606060;--text-dimmer: #666;--text-bright: #fff;--border-color: rgba(255, 255, 255, .1);--border-accent: rgba(255, 140, 0, .3);--card-bg: rgba(255, 255, 255, .05);--card-border: rgba(255, 255, 255, .1);--header-bg: rgba(255, 255, 255, .05);--input-bg: rgba(255, 255, 255, .05);--input-border: rgba(255, 255, 255, .12);--input-focus-border: rgba(255, 140, 0, .5);--input-focus-bg: rgba(255, 255, 255, .08);--input-focus-shadow: rgba(255, 140, 0, .1);--button-bg: rgba(200, 210, 230, .15);--button-border: rgba(255, 255, 255, .08);--button-hover-bg: rgba(200, 210, 230, .25);--button-hover-border: rgba(255, 255, 255, .15);--tooltip-bg: rgba(20, 20, 30, .98);--tooltip-border: rgba(255, 255, 255, .15);--hint-bg: rgba(255, 255, 255, .05);--agent-bg: rgba(255, 255, 255, .08);--agent-border: rgba(255, 255, 255, .15);--idle-badge-bg: rgba(255, 255, 255, .08);--idle-badge-border: rgba(255, 255, 255, .1)}[data-theme=light]{--bg-gradient-start: #f0f4f8;--bg-gradient-mid: #e6eef5;--bg-gradient-end: #dce7f0;--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-tertiary: #718096;--text-dim: #a0aec0;--text-dimmer: #cbd5e0;--text-bright: #000;--border-color: rgba(0, 0, 0, .1);--border-accent: rgba(255, 140, 0, .4);--card-bg: rgba(255, 255, 255, .8);--card-border: rgba(0, 0, 0, .08);--header-bg: rgba(255, 255, 255, .9);--input-bg: rgba(255, 255, 255, .6);--input-border: rgba(0, 0, 0, .15);--input-focus-border: rgba(255, 140, 0, .6);--input-focus-bg: rgba(255, 255, 255, .9);--input-focus-shadow: rgba(255, 140, 0, .15);--button-bg: rgba(0, 0, 0, .05);--button-border: rgba(0, 0, 0, .1);--button-hover-bg: rgba(0, 0, 0, .1);--button-hover-border: rgba(0, 0, 0, .2);--tooltip-bg: rgba(255, 255, 255, .98);--tooltip-border: rgba(0, 0, 0, .15);--hint-bg: rgba(0, 0, 0, .03);--agent-bg: rgba(0, 0, 0, .05);--agent-border: rgba(0, 0, 0, .12);--idle-badge-bg: rgba(0, 0, 0, .05);--idle-badge-border: rgba(0, 0, 0, .1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-mid) 50%,var(--bg-gradient-end) 100%);background-attachment:fixed;color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s ease,color .3s ease}.container{max-width:1400px;margin:0 auto;padding:40px 20px;width:100%;flex:1;display:flex;flex-direction:column;animation:fadeIn .5s ease-out}header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;margin-bottom:0;background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:2px solid var(--border-accent);animation:slideInFromTop .6s ease-out;gap:16px}.logo{height:24px;width:auto;flex-shrink:0}h1{font-size:18px;font-weight:600;letter-spacing:-.5px;color:var(--text-primary);flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:500px;margin:0 auto}.session-info{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--text-secondary);flex-shrink:0}.theme-toggle{background:transparent;border:none;padding:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;width:24px;height:24px}.theme-toggle:hover{color:var(--text-primary);transform:scale(1.1)}.theme-toggle svg{width:20px;height:20px;fill:currentColor}.session-info span{display:flex;align-items:center;gap:6px}.status-indicator{color:#4ade80;font-size:16px;animation:pulse 2s ease-in-out infinite}main{flex:1;padding-top:40px;min-height:0}.panes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px;margin-bottom:40px}.pane-card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:12px;padding:12px;position:relative;animation:fadeIn .5s ease-out backwards;color:inherit;display:block;min-width:0;overflow:hidden}.pane-card:nth-child(1){animation-delay:.1s}.pane-card:nth-child(2){animation-delay:.15s}.pane-card:nth-child(3){animation-delay:.2s}.pane-card:nth-child(4){animation-delay:.25s}.pane-card:nth-child(5){animation-delay:.3s}.pane-card:nth-child(6){animation-delay:.35s}.pane-header{margin-bottom:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative}.pane-header-content{flex:1;display:flex;flex-direction:column;gap:6px}.action-menu-btn{background:transparent;border:none;color:var(--text-tertiary);font-size:20px;padding:4px 8px;cursor:pointer;transition:all .2s ease;line-height:1;flex-shrink:0}.action-menu-btn:hover{color:var(--text-primary);background:var(--button-hover-bg);border-radius:4px}.action-menu-dropdown{position:absolute;top:32px;right:0;background:var(--tooltip-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--tooltip-border);border-radius:8px;padding:4px;z-index:100;min-width:180px;box-shadow:0 8px 24px #0000004d;animation:fadeIn .2s ease-out}.action-menu-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .15s ease;text-align:left}.action-menu-item:hover:not(:disabled){background:var(--button-hover-bg)}.action-menu-item:disabled{opacity:.5;cursor:not-allowed}.action-icon{font-size:14px;width:16px;text-align:center}.action-label{flex:1}.pane-title-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:inherit;width:fit-content}.pane-title-link:hover .pane-title{text-decoration:underline}.pane-title{font-size:20px;font-weight:600;color:var(--text-bright);letter-spacing:-.3px}.pane-arrow{font-size:16px;color:var(--text-secondary);transition:all .2s ease;opacity:.6}.pane-title-link:hover .pane-arrow{color:#ff8c00;transform:translate(2px);opacity:1}.pane-meta{display:flex;align-items:center;gap:12px}.pane-agent{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:var(--agent-bg);border:1px solid var(--agent-border);color:var(--text-tertiary);white-space:nowrap}.pane-agent.claude{background:#d9775726;border-color:#d977574d;color:#d97757}.pane-agent.opencode{background:#667eea26;border-color:#667eea4d;color:#667eea}.pane-prompt-section{margin-bottom:12px}.prompt-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);transition:color .2s ease}.pane-prompt-preview{display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:all .2s ease}.pane-prompt-preview:hover .prompt-text{color:var(--text-primary)}.pane-prompt-preview:hover .prompt-label{color:var(--text-secondary)}.prompt-header{display:flex;align-items:center;gap:6px}.prompt-text{color:var(--text-secondary);font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.pane-prompt-preview.expanded .prompt-text{white-space:normal;display:none}.expand-icon{font-size:10px;color:var(--text-tertiary);transition:transform .2s ease;flex-shrink:0}.pane-prompt-full{color:var(--text-secondary);font-size:13px;margin-top:4px;line-height:1.6;font-family:SF Mono,Monaco,Courier New,monospace;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%}.agent-summary{color:var(--text-secondary);font-size:13px;margin-bottom:12px;padding:10px 12px;line-height:1.5;background:#60a5fa14;border:1px solid rgba(96,165,250,.2);border-radius:6px;font-style:italic}.analyzer-error{color:#ef4444;font-size:13px;margin-bottom:12px;padding:10px 12px;line-height:1.5;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;font-weight:500}.tooltip{position:absolute;background:var(--tooltip-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--tooltip-border);padding:16px;border-radius:12px;z-index:1000;white-space:pre-wrap;max-width:400px;max-height:200px;overflow-y:auto;box-shadow:0 20px 60px #0000004d,0 0 0 1px var(--border-color);font-size:13px;color:var(--text-primary);pointer-events:none;animation:fadeIn .2s ease-out}.pane-status{display:flex;flex-direction:column;gap:10px}.status-item{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:8px 0}.status-label{color:var(--text-tertiary);font-weight:500}.status-value{display:flex;align-items:center;gap:6px}.status-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;transition:all .2s ease}.status-badge.working{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;box-shadow:0 2px 8px #fbbf2466}.status-badge.waiting{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#000;box-shadow:0 2px 8px #60a5fa66}.status-badge.idle{background:var(--idle-badge-bg);color:var(--text-tertiary);border:1px solid var(--idle-badge-border)}.status-badge.running,.status-badge.passed{background:linear-gradient(135deg,#4ade80,#22c55e);color:#000;box-shadow:0 2px 8px #4ade8066}.status-badge.failed{background:linear-gradient(135deg,#f87171,#ef4444);color:#000;box-shadow:0 2px 8px #f8717166}.status-badge.analyzing{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#000;box-shadow:0 2px 8px #a78bfa66;animation:pulse 2s ease-in-out infinite}.pane-id{font-family:SF Mono,Monaco,monospace;font-size:10px;color:var(--text-dimmer);font-weight:500;letter-spacing:.2px}.pane-interactive{margin-top:12px}.options-dialog{display:flex;flex-direction:column;gap:12px}.options-question{font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.4}.options-warning{padding:8px 12px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:6px;color:#fca5a5;font-size:12px;display:flex;align-items:center;gap:6px}.options-buttons{display:flex;flex-wrap:wrap;gap:8px}.option-button{padding:8px 16px;background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#000;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #60a5fa4d}.option-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #60a5fa66}.option-button:active{transform:translateY(0)}.option-button-danger{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 2px 8px #f871714d}.option-button-danger:hover{box-shadow:0 4px 12px #f8717166}.analyzing-state{display:flex;align-items:center;gap:12px;padding:8px 0;color:#a78bfa;font-size:14px;font-weight:500}.loader-spinner{width:20px;height:20px;border:3px solid rgba(167,139,250,.2);border-top-color:#a78bfa;border-radius:50%;animation:spin 1s linear infinite}.prompt-input-wrapper{display:flex;align-items:flex-start;gap:8px;padding:8px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;transition:all .2s ease}.prompt-input-wrapper:focus-within{border-color:var(--input-focus-border);background:var(--input-focus-bg);box-shadow:0 0 0 3px var(--input-focus-shadow)}.queued-message{margin-top:8px;padding:6px 10px;background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:6px;color:#4ade80;font-size:12px;animation:fadeIn .3s ease-out}.prompt-textarea{flex:1;min-height:20px;max-height:150px;padding:0;background:transparent;border:none;color:var(--text-primary);font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;line-height:1.4;resize:none;overflow-y:auto}.prompt-textarea:focus{outline:none}.prompt-textarea:disabled{opacity:.5;cursor:not-allowed}.prompt-textarea::placeholder{color:var(--text-dimmer)}.send-button{flex-shrink:0;width:28px;height:28px;padding:6px;background:var(--button-bg);color:var(--text-secondary);border:1px solid var(--button-border);border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.send-button:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--button-hover-border)}.send-button:active:not(:disabled){transform:scale(.92)}.send-button:disabled{opacity:.3;cursor:not-allowed}.send-button svg{width:100%;height:100%;fill:currentColor}.button-loader{width:14px;height:14px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}.dev-server-status{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px;font-size:12px}.dev-link{color:#ff8c00;text-decoration:none;font-weight:600;transition:color .2s ease}.dev-link:hover{color:orange}.no-panes{text-align:center;padding:100px 20px;color:var(--text-tertiary);animation:fadeIn .6s ease-out}.no-panes p{margin-bottom:16px;font-size:18px;font-weight:500}.hint{font-size:14px;color:var(--text-dim);background:var(--hint-bg);padding:12px 24px;border-radius:12px;display:inline-block;margin-top:8px}footer{padding:12px 0;margin-top:auto;animation:fadeIn .8s ease-out}.footer-info{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim);padding:0}.footer-info span{display:flex;align-items:center;gap:8px}@media (max-width: 768px){.container{padding:0 16px 24px}header{padding:12px 18px;gap:8px}.logo{height:20px}h1{font-size:14px;max-width:none}.session-info{font-size:11px;gap:8px}.session-info span:not(.status-indicator){display:none}main{padding-top:24px}.panes-grid{grid-template-columns:1fr;gap:16px}.footer-info{flex-direction:column;gap:6px;font-size:10px}}.term-fg-black{color:#000}.term-fg-red{color:#cd3131}.term-fg-green{color:#0dbc79}.term-fg-yellow{color:#e5e510}.term-fg-blue{color:#2472c8}.term-fg-magenta{color:#bc3fbc}.term-fg-cyan{color:#11a8cd}.term-fg-white{color:#e5e5e5}.term-fg-bright-black{color:#666}.term-fg-bright-red{color:#f14c4c}.term-fg-bright-green{color:#23d18b}.term-fg-bright-yellow{color:#f5f543}.term-fg-bright-blue{color:#3b8eea}.term-fg-bright-magenta{color:#d670d6}.term-fg-bright-cyan{color:#29b8db}.term-fg-bright-white{color:#fff}.term-bg-black{background-color:#000}.term-bg-red{background-color:#cd3131}.term-bg-green{background-color:#0dbc79}.term-bg-yellow{background-color:#e5e510}.term-bg-blue{background-color:#2472c8}.term-bg-magenta{background-color:#bc3fbc}.term-bg-cyan{background-color:#11a8cd}.term-bg-white{background-color:#e5e5e5}.term-bold{font-weight:700}.term-dim{opacity:.7}.term-italic{font-style:italic}.term-underline{text-decoration:underline}.term-strikethrough{text-decoration:line-through}.action-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.action-dialog{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:16px;padding:32px;max-width:540px;width:90%;box-shadow:0 20px 60px #0006;animation:slideInFromTop .3s ease-out}.action-dialog h3{margin:0 0 20px;font-size:24px;font-weight:600;color:var(--text-bright);letter-spacing:-.5px}.action-dialog p,.action-dialog .dialog-message{margin:0 0 20px;color:var(--text-secondary);font-size:14px;line-height:1.5;white-space:pre-wrap;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.action-dialog label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.2px}.action-dialog textarea{width:100%;padding:14px 16px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:10px;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;resize:vertical;transition:all .2s ease;margin-bottom:20px}.action-dialog textarea:focus{outline:none;border-color:var(--input-focus-border);background:var(--input-focus-bg);box-shadow:0 0 0 4px var(--input-focus-shadow)}.action-dialog textarea::placeholder{color:var(--text-dim);font-style:italic}.dialog-hint{font-size:13px;color:var(--text-tertiary);margin-bottom:16px;display:flex;align-items:center;gap:6px}.dialog-hint kbd{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,monospace;font-size:11px;font-weight:600;color:var(--text-primary);box-shadow:0 1px 2px #0000001a}.dialog-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--text-secondary);font-size:15px;font-weight:500}.dialog-loading .loader-spinner{width:24px;height:24px;border:3px solid rgba(96,165,250,.2);border-top-color:#60a5fa;border-radius:50%;animation:spin .8s linear infinite}.dialog-input{width:100%;padding:14px 16px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:10px;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;transition:all .2s ease;margin-bottom:20px}.dialog-input:focus{outline:none;border-color:var(--input-focus-border);background:var(--input-focus-bg);box-shadow:0 0 0 4px var(--input-focus-shadow)}.dialog-input::placeholder{color:var(--text-dim);font-style:italic}.dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.dialog-btn{padding:12px 24px;border:2px solid var(--button-border);border-radius:10px;background:var(--button-bg);color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.dialog-btn:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border);transform:translateY(-1px)}.dialog-btn:active{transform:translateY(0)}.dialog-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.dialog-btn-primary{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#000;border-color:transparent;box-shadow:0 2px 8px #60a5fa4d}.dialog-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #60a5fa80}.dialog-btn-primary:active{transform:translateY(-1px);box-shadow:0 4px 12px #60a5fa66}.dialog-btn-primary:disabled{opacity:.6;transform:none;box-shadow:0 2px 8px #60a5fa33}.choice-options{display:flex;flex-direction:column;gap:8px}.choice-option-btn{width:100%;padding:12px 16px;background:var(--button-bg);border:1px solid var(--button-border);border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:4px}.choice-option-btn:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border);transform:translate(4px)}.choice-option-btn.danger{border-color:#f871714d;background:#f871711a}.choice-option-btn.danger:hover{border-color:#f8717180;background:#f8717133}.agent-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.agent-choice-button{padding:16px 20px;background:var(--button-bg);border:2px solid var(--button-border);border-radius:12px;color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;text-transform:capitalize;position:relative;overflow:hidden}.agent-choice-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#60a5fa1a,#3b82f61a);opacity:0;transition:opacity .2s ease}.agent-choice-button:hover{background:var(--button-hover-bg);border-color:var(--input-focus-border);transform:translateY(-2px);box-shadow:0 4px 12px #60a5fa33}.agent-choice-button:hover:before{opacity:1}.agent-choice-button:active{transform:translateY(0)}.agent-choice-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.option-description{font-size:12px;color:var(--text-tertiary);font-weight:400}.terminal-page{display:flex;flex-direction:column;height:100vh;background:#000}.back-button{color:#e0e0e0;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s;white-space:nowrap;flex-shrink:0}.back-button:hover{color:#fff}.terminal-content{flex:1;overflow:auto;padding:10px}.terminal-page .terminal-output{font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;line-height:1.2;color:#f0f0f0;margin:0;min-height:100%}.terminal-row{white-space:pre;margin:0;padding:0;line-height:1.2}.mobile-toolbar{display:flex;gap:6px;padding:8px;background:#1a1a1a;border-bottom:1px solid #333;overflow-x:auto;flex-wrap:nowrap}.toolbar-key{background:#2d2d2d;border:1px solid #444;border-radius:4px;color:#e0e0e0;padding:8px 12px;font-size:13px;font-family:SF Mono,Monaco,monospace;cursor:pointer;flex-shrink:0;min-width:44px;transition:all .15s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.toolbar-key:active{background:#3d3d3d;transform:scale(.95)}.toolbar-key.active{background:#667eea;border-color:#667eea;color:#fff}.mobile-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:.01;pointer-events:none}.actions-bar{display:flex;justify-content:flex-end;margin-bottom:20px;padding:0 4px}.create-pane-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#000;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #60a5fa4d}.create-pane-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #60a5fa66}.create-pane-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.create-pane-button svg{width:16px;height:16px;fill:none;stroke-width:2.5}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.modal-dialog{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:32px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:var(--button-hover-bg);color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;flex:1}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.modal-textarea{width:100%;padding:12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;resize:vertical;min-height:100px;transition:all .2s ease}.modal-textarea:focus{outline:none;border-color:var(--input-focus-border);background:var(--input-focus-bg);box-shadow:0 0 0 3px var(--input-focus-shadow)}.modal-textarea:disabled{opacity:.5;cursor:not-allowed}.input-hint{font-size:12px;color:var(--text-tertiary);margin-top:6px}.agent-selector{display:flex;gap:12px}.agent-option{flex:1;display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--button-bg);border:2px solid var(--button-border);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:600;text-transform:capitalize;cursor:pointer;transition:all .2s ease}.agent-logo{width:40px;height:40px;flex-shrink:0}.agent-option:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--button-hover-border)}.agent-option.selected{background:var(--input-focus-bg);border-color:var(--input-focus-border);color:var(--text-bright)}.agent-option:disabled{opacity:.5;cursor:not-allowed}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border-color);justify-content:flex-end}.modal-button{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;gap:8px}.modal-button-secondary{background:var(--button-bg);color:var(--text-primary);border:1px solid var(--button-border)}.modal-button-secondary:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--button-hover-border)}.modal-button-primary{background:var(--input-focus-bg);color:var(--text-bright);border:1px solid var(--input-focus-border)}.modal-button-primary:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--button-hover-border)}.modal-button:disabled{opacity:.5;cursor:not-allowed}.button-loader{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--button-bg);color:var(--text-primary);border:1px solid var(--button-border);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:12px}.settings-button:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--button-hover-border);transform:translateY(-1px)}.settings-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.settings-button svg{width:16px;height:16px;fill:currentColor}.settings-dialog{max-width:700px}.settings-list{display:flex;flex-direction:column;gap:24px;margin-bottom:24px;max-height:500px;overflow-y:auto}.setting-item{border-bottom:1px solid var(--border-color);padding-bottom:20px}.setting-item:last-child{border-bottom:none;padding-bottom:0}.setting-header{margin-bottom:12px}.setting-info{display:flex;flex-direction:column;gap:4px}.setting-label{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.2px}.setting-description{font-size:13px;color:var(--text-secondary);line-height:1.5}.setting-control{display:flex;flex-direction:column;gap:12px}.setting-value{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.setting-value strong{color:var(--text-bright);font-weight:600}.setting-scope{font-size:11px;color:var(--text-tertiary);padding:2px 6px;background:var(--agent-bg);border:1px solid var(--agent-border);border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.setting-buttons{display:flex;flex-wrap:wrap;gap:8px}.setting-btn{padding:8px 16px;background:var(--button-bg);color:var(--text-primary);border:1px solid var(--button-border);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.setting-btn:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--button-hover-border);transform:translateY(-1px)}.setting-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.setting-select-group{padding-left:16px;border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.setting-option-label{font-size:13px;color:var(--text-secondary);font-weight:500}.setting-btn-action{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#000;border-color:transparent;box-shadow:0 2px 8px #60a5fa4d}.setting-btn-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #60a5fa66}.hooks-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.hooks-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.hooks-header h4{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;flex:1}.back-btn{background:transparent;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;gap:4px}.back-btn:hover{background:var(--button-hover-bg);color:var(--text-primary)}.hooks-list{display:flex;flex-direction:column;gap:12px}.hook-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;transition:all .2s ease}.hook-item:hover{background:var(--input-focus-bg);border-color:var(--input-focus-border)}.hook-name{font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;color:var(--text-primary);font-weight:500}.hook-status{font-size:12px;font-weight:600;color:var(--text-tertiary);padding:4px 10px;background:var(--idle-badge-bg);border:1px solid var(--idle-badge-border);border-radius:6px;text-transform:uppercase;letter-spacing:.3px}.hook-status.hook-active{background:#4ade801a;border-color:#4ade804d;color:#4ade80}.hooks-actions{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color);display:flex;justify-content:center}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-assets.js","sourceRoot":"","sources":["../../src/server/embedded-assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,YAAY,EAAE;QACZ,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"embedded-assets.js","sourceRoot":"","sources":["../../src/server/embedded-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,11 +18,16 @@ export interface LogEntry {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* LogService singleton - central logging hub for dmux
|
|
21
|
+
*
|
|
22
|
+
* Performance optimizations:
|
|
23
|
+
* - Uses circular buffer for O(1) log insertion
|
|
24
|
+
* - Bounded memory usage (1000 entries max)
|
|
25
|
+
* - No array shifting on overflow
|
|
21
26
|
*/
|
|
22
27
|
export declare class LogService extends EventEmitter {
|
|
23
28
|
private static instance;
|
|
24
29
|
private logs;
|
|
25
|
-
private maxLogs;
|
|
30
|
+
private readonly maxLogs;
|
|
26
31
|
private logCounter;
|
|
27
32
|
private constructor();
|
|
28
33
|
static getInstance(): LogService;
|
|
@@ -32,7 +37,7 @@ export declare class LogService extends EventEmitter {
|
|
|
32
37
|
*/
|
|
33
38
|
setSuppressConsole(suppress: boolean): void;
|
|
34
39
|
/**
|
|
35
|
-
* Add a log entry
|
|
40
|
+
* Add a log entry (O(1) operation with circular buffer)
|
|
36
41
|
*/
|
|
37
42
|
private addLog;
|
|
38
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogService.d.ts","sourceRoot":"","sources":["../../src/services/LogService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"LogService.d.ts","sourceRoot":"","sources":["../../src/services/LogService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwFD;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO;IAKP,MAAM,CAAC,WAAW,IAAI,UAAU;IAOhC,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3C;;OAEG;IACH,OAAO,CAAC,MAAM;IAuCd;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAK7E;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE;QACf,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,QAAQ,EAAE;IA0Bd;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAI/B;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAUlC;;OAEG;IACH,aAAa,IAAI,IAAI;IAOrB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAatC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQlC;;OAEG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB;IAWD;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,gBAAgB,CAAC,KAAK,GAAE,MAAY,GAAG,IAAI;CA4C5C;;AAGD,wBAAwC"}
|