dmux 5.1.0 → 5.3.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/README.md +46 -143
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +99 -56
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/implementations/closeAction.d.ts.map +1 -1
- package/dist/actions/implementations/closeAction.js +55 -21
- package/dist/actions/implementations/closeAction.js.map +1 -1
- package/dist/actions/implementations/index.d.ts +1 -0
- package/dist/actions/implementations/index.d.ts.map +1 -1
- package/dist/actions/implementations/index.js +3 -0
- package/dist/actions/implementations/index.js.map +1 -1
- package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
- package/dist/actions/implementations/mergeAction.js +61 -20
- package/dist/actions/implementations/mergeAction.js.map +1 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +6 -0
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/merge/conflictResolution.d.ts.map +1 -1
- package/dist/actions/merge/conflictResolution.js +19 -13
- package/dist/actions/merge/conflictResolution.js.map +1 -1
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts.map +1 -1
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js +8 -6
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js.map +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts.map +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js +9 -2
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js.map +1 -1
- package/dist/actions/merge/mergeExecution.d.ts.map +1 -1
- package/dist/actions/merge/mergeExecution.js +2 -1
- package/dist/actions/merge/mergeExecution.js.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.d.ts.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.js +33 -14
- package/dist/actions/merge/multiMergeOrchestrator.js.map +1 -1
- package/dist/actions/types.d.ts +4 -2
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js +19 -1
- package/dist/actions/types.js.map +1 -1
- package/dist/components/dialogs/AgentChoiceDialog.d.ts +2 -1
- package/dist/components/dialogs/AgentChoiceDialog.d.ts.map +1 -1
- package/dist/components/dialogs/AgentChoiceDialog.js +4 -5
- package/dist/components/dialogs/AgentChoiceDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts.map +1 -1
- package/dist/components/dialogs/SettingsDialog.js +3 -1
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/panes/MergePane.d.ts +1 -0
- package/dist/components/panes/MergePane.d.ts.map +1 -1
- package/dist/components/panes/MergePane.js +14 -3
- package/dist/components/panes/MergePane.js.map +1 -1
- package/dist/components/panes/PaneCard.d.ts +1 -3
- package/dist/components/panes/PaneCard.d.ts.map +1 -1
- package/dist/components/panes/PaneCard.js +54 -37
- package/dist/components/panes/PaneCard.js.map +1 -1
- package/dist/components/panes/PanesGrid.d.ts +1 -0
- package/dist/components/panes/PanesGrid.d.ts.map +1 -1
- package/dist/components/panes/PanesGrid.js +60 -78
- package/dist/components/panes/PanesGrid.js.map +1 -1
- package/dist/components/popups/agentChoicePopup.d.ts +2 -2
- package/dist/components/popups/agentChoicePopup.js +85 -56
- package/dist/components/popups/agentChoicePopup.js.map +1 -1
- package/dist/components/popups/diffPeekPopup.d.ts +7 -0
- package/dist/components/popups/diffPeekPopup.d.ts.map +1 -0
- package/dist/components/popups/diffPeekPopup.js +99 -0
- package/dist/components/popups/diffPeekPopup.js.map +1 -0
- package/dist/components/popups/enabledAgentsPopup.d.ts +7 -0
- package/dist/components/popups/enabledAgentsPopup.d.ts.map +1 -0
- package/dist/components/popups/enabledAgentsPopup.js +196 -0
- package/dist/components/popups/enabledAgentsPopup.js.map +1 -0
- package/dist/components/popups/kebabMenuPopup.js +2 -2
- package/dist/components/popups/kebabMenuPopup.js.map +1 -1
- package/dist/components/popups/mergeUncommittedChoicePopup.d.ts +7 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.d.ts.map +1 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.js +289 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.js.map +1 -0
- package/dist/components/popups/newPanePopup.js +8 -0
- package/dist/components/popups/newPanePopup.js.map +1 -1
- package/dist/components/popups/projectSelectPopup.d.ts +7 -0
- package/dist/components/popups/projectSelectPopup.d.ts.map +1 -0
- package/dist/components/popups/projectSelectPopup.js +124 -0
- package/dist/components/popups/projectSelectPopup.js.map +1 -0
- package/dist/components/popups/reopenWorktreePopup.js +33 -3
- package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
- package/dist/components/popups/settingsPopup.js +25 -8
- package/dist/components/popups/settingsPopup.js.map +1 -1
- package/dist/components/popups/shared/DirectoryList.d.ts +14 -0
- package/dist/components/popups/shared/DirectoryList.d.ts.map +1 -0
- package/dist/components/popups/shared/DirectoryList.js +46 -0
- package/dist/components/popups/shared/DirectoryList.js.map +1 -0
- package/dist/components/popups/shared/index.d.ts +1 -0
- package/dist/components/popups/shared/index.d.ts.map +1 -1
- package/dist/components/popups/shared/index.js +1 -0
- package/dist/components/popups/shared/index.js.map +1 -1
- package/dist/components/popups/shortcutsPopup.js +15 -12
- package/dist/components/popups/shortcutsPopup.js.map +1 -1
- package/dist/components/popups/singleAgentChoicePopup.d.ts +7 -0
- package/dist/components/popups/singleAgentChoicePopup.d.ts.map +1 -0
- package/dist/components/popups/singleAgentChoicePopup.js +95 -0
- package/dist/components/popups/singleAgentChoicePopup.js.map +1 -0
- package/dist/components/ui/FooterHelp.js +1 -1
- package/dist/components/ui/FooterHelp.js.map +1 -1
- package/dist/hooks/useActionSystem.d.ts +1 -1
- package/dist/hooks/useActionSystem.d.ts.map +1 -1
- package/dist/hooks/useActionSystem.js +1 -1
- package/dist/hooks/useActionSystem.js.map +1 -1
- package/dist/hooks/useAgentDetection.d.ts +2 -2
- package/dist/hooks/useAgentDetection.d.ts.map +1 -1
- package/dist/hooks/useAgentDetection.js +18 -88
- package/dist/hooks/useAgentDetection.js.map +1 -1
- package/dist/hooks/useAutoUpdater.d.ts.map +1 -1
- package/dist/hooks/useAutoUpdater.js +43 -26
- package/dist/hooks/useAutoUpdater.js.map +1 -1
- package/dist/hooks/useInputHandling.d.ts +5 -0
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +89 -16
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/hooks/useNavigation.d.ts +1 -1
- package/dist/hooks/useNavigation.d.ts.map +1 -1
- package/dist/hooks/useNavigation.js +26 -4
- package/dist/hooks/useNavigation.js.map +1 -1
- package/dist/hooks/usePaneCreation.d.ts +5 -2
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +123 -23
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneSync.d.ts +1 -1
- package/dist/hooks/usePaneSync.d.ts.map +1 -1
- package/dist/hooks/usePaneSync.js +14 -1
- package/dist/hooks/usePaneSync.js.map +1 -1
- package/dist/hooks/usePanes.js +1 -1
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/hooks/useServices.d.ts +1 -1
- package/dist/hooks/useServices.d.ts.map +1 -1
- package/dist/hooks/useServices.js +2 -2
- package/dist/hooks/useServices.js.map +1 -1
- package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
- package/dist/hooks/useWorktreeActions.js +16 -8
- package/dist/hooks/useWorktreeActions.js.map +1 -1
- package/dist/index.js +199 -18
- package/dist/index.js.map +1 -1
- package/dist/layout/SpacerManager.d.ts.map +1 -1
- package/dist/layout/SpacerManager.js +2 -1
- package/dist/layout/SpacerManager.js.map +1 -1
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +37 -26
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/services/AutoUpdater.d.ts +4 -0
- package/dist/services/AutoUpdater.d.ts.map +1 -1
- package/dist/services/AutoUpdater.js +23 -0
- package/dist/services/AutoUpdater.js.map +1 -1
- package/dist/services/PaneEventService.d.ts.map +1 -1
- package/dist/services/PaneEventService.js +2 -5
- package/dist/services/PaneEventService.js.map +1 -1
- package/dist/services/PaneWorkerManager.d.ts.map +1 -1
- package/dist/services/PaneWorkerManager.js +2 -14
- package/dist/services/PaneWorkerManager.js.map +1 -1
- package/dist/services/PopupManager.d.ts +8 -2
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +149 -27
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/services/TmuxService.d.ts +15 -1
- package/dist/services/TmuxService.d.ts.map +1 -1
- package/dist/services/TmuxService.js +29 -3
- package/dist/services/TmuxService.js.map +1 -1
- package/dist/services/WorktreeCleanupService.d.ts +22 -0
- package/dist/services/WorktreeCleanupService.d.ts.map +1 -0
- package/dist/services/WorktreeCleanupService.js +80 -0
- package/dist/services/WorktreeCleanupService.js.map +1 -0
- package/dist/types.d.ts +9 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/agentDetection.d.ts +15 -8
- package/dist/utils/agentDetection.d.ts.map +1 -1
- package/dist/utils/agentDetection.js +49 -73
- package/dist/utils/agentDetection.js.map +1 -1
- package/dist/utils/agentLaunch.d.ts +63 -1
- package/dist/utils/agentLaunch.d.ts.map +1 -1
- package/dist/utils/agentLaunch.js +497 -24
- package/dist/utils/agentLaunch.js.map +1 -1
- package/dist/utils/agentPromptDispatch.d.ts +33 -0
- package/dist/utils/agentPromptDispatch.d.ts.map +1 -0
- package/dist/utils/agentPromptDispatch.js +99 -0
- package/dist/utils/agentPromptDispatch.js.map +1 -0
- package/dist/utils/asciiArt.d.ts.map +1 -1
- package/dist/utils/asciiArt.js +6 -7
- package/dist/utils/asciiArt.js.map +1 -1
- package/dist/utils/attachAgent.d.ts +21 -0
- package/dist/utils/attachAgent.d.ts.map +1 -0
- package/dist/utils/attachAgent.js +128 -0
- package/dist/utils/attachAgent.js.map +1 -0
- package/dist/utils/conflictResolutionPane.d.ts +2 -1
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +69 -36
- package/dist/utils/conflictResolutionPane.js.map +1 -1
- package/dist/utils/devSource.d.ts +7 -0
- package/dist/utils/devSource.d.ts.map +1 -0
- package/dist/utils/devSource.js +19 -0
- package/dist/utils/devSource.js.map +1 -0
- package/dist/utils/devWatchCommand.d.ts +8 -0
- package/dist/utils/devWatchCommand.d.ts.map +1 -0
- package/dist/utils/devWatchCommand.js +14 -0
- package/dist/utils/devWatchCommand.js.map +1 -0
- package/dist/utils/dirScanner.d.ts +30 -0
- package/dist/utils/dirScanner.d.ts.map +1 -0
- package/dist/utils/dirScanner.js +99 -0
- package/dist/utils/dirScanner.js.map +1 -0
- package/dist/utils/geminiTrust.d.ts +8 -0
- package/dist/utils/geminiTrust.d.ts.map +1 -0
- package/dist/utils/geminiTrust.js +67 -0
- package/dist/utils/geminiTrust.js.map +1 -0
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +3 -3
- package/dist/utils/git.d.ts +13 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +20 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooks.js +1 -1
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +2 -9
- package/dist/utils/hooksDocs.d.ts.map +1 -1
- package/dist/utils/hooksDocs.js +26 -6
- package/dist/utils/hooksDocs.js.map +1 -1
- package/dist/utils/mergeExecution.d.ts.map +1 -1
- package/dist/utils/mergeExecution.js +6 -3
- package/dist/utils/mergeExecution.js.map +1 -1
- package/dist/utils/paneCreation.d.ts +8 -2
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +129 -80
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/paneGrouping.d.ts.map +1 -1
- package/dist/utils/paneGrouping.js +30 -0
- package/dist/utils/paneGrouping.js.map +1 -1
- package/dist/utils/projectActions.d.ts +5 -0
- package/dist/utils/projectActions.d.ts.map +1 -1
- package/dist/utils/projectActions.js +15 -4
- package/dist/utils/projectActions.js.map +1 -1
- package/dist/utils/promptStore.d.ts +7 -0
- package/dist/utils/promptStore.d.ts.map +1 -0
- package/dist/utils/promptStore.js +75 -0
- package/dist/utils/promptStore.js.map +1 -0
- package/dist/utils/reopenWorktree.d.ts +1 -1
- package/dist/utils/reopenWorktree.d.ts.map +1 -1
- package/dist/utils/reopenWorktree.js +26 -27
- package/dist/utils/reopenWorktree.js.map +1 -1
- package/dist/utils/runtimePaths.d.ts +2 -0
- package/dist/utils/runtimePaths.d.ts.map +1 -0
- package/dist/utils/runtimePaths.js +8 -0
- package/dist/utils/runtimePaths.js.map +1 -0
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +96 -4
- package/dist/utils/settingsManager.js.map +1 -1
- package/dist/utils/systemCheck.d.ts.map +1 -1
- package/dist/utils/systemCheck.js +0 -13
- package/dist/utils/systemCheck.js.map +1 -1
- package/dist/utils/welcomePane.d.ts +2 -1
- package/dist/utils/welcomePane.d.ts.map +1 -1
- package/dist/utils/welcomePane.js +3 -2
- package/dist/utils/welcomePane.js.map +1 -1
- package/dist/utils/welcomePaneManager.js +1 -1
- package/dist/utils/welcomePaneManager.js.map +1 -1
- package/dist/workers/PaneWorker.js.map +1 -1
- package/dist/workers/WorkerMessages.d.ts +2 -1
- package/dist/workers/WorkerMessages.d.ts.map +1 -1
- package/dist/workers/WorkerMessages.js.map +1 -1
- package/dist/workers/updateChecker.js +21 -6
- package/dist/workers/updateChecker.js.map +1 -1
- package/package.json +14 -12
- package/dist/components/popups/remotePopup.d.ts +0 -6
- package/dist/components/popups/remotePopup.d.ts.map +0 -1
- package/dist/components/popups/remotePopup.js +0 -166
- package/dist/components/popups/remotePopup.js.map +0 -1
- package/dist/hooks/useTunnelManagement.d.ts +0 -18
- package/dist/hooks/useTunnelManagement.d.ts.map +0 -1
- package/dist/hooks/useTunnelManagement.js +0 -55
- package/dist/hooks/useTunnelManagement.js.map +0 -1
- package/dist/server/actionsApi.d.ts +0 -37
- package/dist/server/actionsApi.d.ts.map +0 -1
- package/dist/server/actionsApi.js +0 -256
- package/dist/server/actionsApi.js.map +0 -1
- package/dist/server/index.d.ts +0 -21
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -100
- package/dist/server/index.js.map +0 -1
- package/dist/server/routes/actionsRoutes.d.ts +0 -2
- package/dist/server/routes/actionsRoutes.d.ts.map +0 -1
- package/dist/server/routes/actionsRoutes.js +0 -110
- package/dist/server/routes/actionsRoutes.js.map +0 -1
- package/dist/server/routes/healthRoutes.d.ts +0 -13
- package/dist/server/routes/healthRoutes.d.ts.map +0 -1
- package/dist/server/routes/healthRoutes.js +0 -70
- package/dist/server/routes/healthRoutes.js.map +0 -1
- package/dist/server/routes/index.d.ts +0 -8
- package/dist/server/routes/index.d.ts.map +0 -1
- package/dist/server/routes/index.js +0 -67
- package/dist/server/routes/index.js.map +0 -1
- package/dist/server/routes/keysRoutes.d.ts +0 -33
- package/dist/server/routes/keysRoutes.d.ts.map +0 -1
- package/dist/server/routes/keysRoutes.js +0 -128
- package/dist/server/routes/keysRoutes.js.map +0 -1
- package/dist/server/routes/panesRoutes.d.ts +0 -2
- package/dist/server/routes/panesRoutes.d.ts.map +0 -1
- package/dist/server/routes/panesRoutes.js +0 -414
- package/dist/server/routes/panesRoutes.js.map +0 -1
- package/dist/server/routes/settingsRoutes.d.ts +0 -94
- package/dist/server/routes/settingsRoutes.d.ts.map +0 -1
- package/dist/server/routes/settingsRoutes.js +0 -159
- package/dist/server/routes/settingsRoutes.js.map +0 -1
- package/dist/server/routes/streamRoutes.d.ts +0 -18
- package/dist/server/routes/streamRoutes.d.ts.map +0 -1
- package/dist/server/routes/streamRoutes.js +0 -87
- package/dist/server/routes/streamRoutes.js.map +0 -1
- package/dist/server/routes/tunnelRoutes.d.ts +0 -11
- package/dist/server/routes/tunnelRoutes.d.ts.map +0 -1
- package/dist/server/routes/tunnelRoutes.js +0 -28
- package/dist/server/routes/tunnelRoutes.js.map +0 -1
- package/dist/server/routes.d.ts +0 -17
- package/dist/server/routes.d.ts.map +0 -1
- package/dist/server/routes.js +0 -17
- package/dist/server/routes.js.map +0 -1
- package/dist/services/TunnelService.d.ts +0 -10
- package/dist/services/TunnelService.d.ts.map +0 -1
- package/dist/services/TunnelService.js +0 -98
- package/dist/services/TunnelService.js.map +0 -1
|
@@ -1,102 +1,78 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent Detection Utilities
|
|
3
3
|
*
|
|
4
|
-
* Utilities to detect available AI agents
|
|
4
|
+
* Utilities to detect available AI agents from the registry.
|
|
5
5
|
*/
|
|
6
6
|
import { execSync } from 'child_process';
|
|
7
7
|
import fs from 'fs/promises';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
export async function findClaudeCommand() {
|
|
8
|
+
import { getAgentDefinition, getAgentDefinitions, resolveEnabledAgentsSelection, } from './agentLaunch.js';
|
|
9
|
+
function resolveViaShell(testCommand) {
|
|
12
10
|
try {
|
|
13
11
|
const userShell = process.env.SHELL || '/bin/bash';
|
|
14
|
-
const result = execSync(`${userShell} -i -c "
|
|
12
|
+
const result = execSync(`${userShell} -i -c "${testCommand}"`, { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
15
13
|
if (result)
|
|
16
|
-
return result.split('\n')[0];
|
|
14
|
+
return result.split('\n')[0] || null;
|
|
17
15
|
}
|
|
18
|
-
catch {
|
|
19
|
-
|
|
20
|
-
`${process.env.HOME}/.claude/local/claude`,
|
|
21
|
-
`${process.env.HOME}/.local/bin/claude`,
|
|
22
|
-
'/usr/local/bin/claude',
|
|
23
|
-
'/opt/homebrew/bin/claude',
|
|
24
|
-
'/usr/bin/claude',
|
|
25
|
-
`${process.env.HOME}/bin/claude`,
|
|
26
|
-
];
|
|
27
|
-
for (const p of commonPaths) {
|
|
28
|
-
try {
|
|
29
|
-
await fs.access(p);
|
|
30
|
-
return p;
|
|
31
|
-
}
|
|
32
|
-
catch { }
|
|
16
|
+
catch {
|
|
17
|
+
// ignore
|
|
33
18
|
}
|
|
34
19
|
return null;
|
|
35
20
|
}
|
|
36
21
|
/**
|
|
37
|
-
* Find
|
|
22
|
+
* Find an agent command path by registry ID.
|
|
38
23
|
*/
|
|
39
|
-
export async function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
catch { }
|
|
47
|
-
const commonPaths = [
|
|
48
|
-
'/opt/homebrew/bin/opencode',
|
|
49
|
-
'/usr/local/bin/opencode',
|
|
50
|
-
`${process.env.HOME}/.local/bin/opencode`,
|
|
51
|
-
`${process.env.HOME}/bin/opencode`,
|
|
52
|
-
];
|
|
53
|
-
for (const p of commonPaths) {
|
|
24
|
+
export async function findAgentCommand(agent) {
|
|
25
|
+
const definition = getAgentDefinition(agent);
|
|
26
|
+
const fromPath = resolveViaShell(definition.installTestCommand);
|
|
27
|
+
if (fromPath)
|
|
28
|
+
return fromPath;
|
|
29
|
+
for (const candidate of definition.commonPaths) {
|
|
54
30
|
try {
|
|
55
|
-
await fs.access(
|
|
56
|
-
return
|
|
31
|
+
await fs.access(candidate);
|
|
32
|
+
return candidate;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// continue
|
|
57
36
|
}
|
|
58
|
-
catch { }
|
|
59
37
|
}
|
|
60
38
|
return null;
|
|
61
39
|
}
|
|
62
40
|
/**
|
|
63
|
-
*
|
|
41
|
+
* Backward-compatible helpers used by merge flows and tests.
|
|
64
42
|
*/
|
|
43
|
+
export async function findClaudeCommand() {
|
|
44
|
+
return findAgentCommand('claude');
|
|
45
|
+
}
|
|
46
|
+
export async function findOpencodeCommand() {
|
|
47
|
+
return findAgentCommand('opencode');
|
|
48
|
+
}
|
|
65
49
|
export async function findCodexCommand() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return null;
|
|
50
|
+
return findAgentCommand('codex');
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get all installed agents (enabled + disabled).
|
|
54
|
+
*/
|
|
55
|
+
export async function getInstalledAgents() {
|
|
56
|
+
const definitions = getAgentDefinitions();
|
|
57
|
+
const checks = await Promise.all(definitions.map(async (definition) => ({
|
|
58
|
+
id: definition.id,
|
|
59
|
+
command: await findAgentCommand(definition.id),
|
|
60
|
+
})));
|
|
61
|
+
return checks
|
|
62
|
+
.filter((entry) => !!entry.command)
|
|
63
|
+
.map((entry) => entry.id);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Filter installed agents by settings-enabled list.
|
|
67
|
+
*/
|
|
68
|
+
export function filterEnabledAgents(installedAgents, enabledAgentsSetting) {
|
|
69
|
+
const enabledAgents = new Set(resolveEnabledAgentsSelection(enabledAgentsSetting));
|
|
70
|
+
return installedAgents.filter((agent) => enabledAgents.has(agent));
|
|
88
71
|
}
|
|
89
72
|
/**
|
|
90
|
-
*
|
|
73
|
+
* Backward-compatible alias: returns installed agents.
|
|
91
74
|
*/
|
|
92
75
|
export async function getAvailableAgents() {
|
|
93
|
-
|
|
94
|
-
if (await findClaudeCommand())
|
|
95
|
-
agents.push('claude');
|
|
96
|
-
if (await findOpencodeCommand())
|
|
97
|
-
agents.push('opencode');
|
|
98
|
-
if (await findCodexCommand())
|
|
99
|
-
agents.push('codex');
|
|
100
|
-
return agents;
|
|
76
|
+
return getInstalledAgents();
|
|
101
77
|
}
|
|
102
78
|
//# sourceMappingURL=agentDetection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentDetection.js","sourceRoot":"","sources":["../../src/utils/agentDetection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agentDetection.js","sourceRoot":"","sources":["../../src/utils/agentDetection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAEL,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,SAAS,eAAe,CAAC,WAAmB;IAC1C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CACrB,GAAG,SAAS,WAAW,WAAW,GAAG,EACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CACrC,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAgB;IACrD,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACrC,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,OAAO,EAAE,MAAM,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;SAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAA4B,EAC5B,oBAAmD;IAEnD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,6BAA6B,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACnF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1,12 +1,74 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const AGENT_IDS: readonly ["claude", "opencode", "codex", "cline", "gemini", "qwen", "amp", "pi", "cursor", "copilot", "crush"];
|
|
2
|
+
export type AgentName = typeof AGENT_IDS[number];
|
|
3
|
+
export type PermissionMode = '' | 'plan' | 'acceptEdits' | 'bypassPermissions';
|
|
4
|
+
export type PromptTransport = 'positional' | 'option' | 'stdin' | 'send-keys';
|
|
2
5
|
export interface AgentLaunchOption {
|
|
3
6
|
id: string;
|
|
4
7
|
label: string;
|
|
5
8
|
agents: AgentName[];
|
|
6
9
|
isPair: boolean;
|
|
7
10
|
}
|
|
11
|
+
export interface AgentRegistryEntry {
|
|
12
|
+
id: AgentName;
|
|
13
|
+
name: string;
|
|
14
|
+
shortLabel: string;
|
|
15
|
+
description: string;
|
|
16
|
+
slugSuffix: string;
|
|
17
|
+
installTestCommand: string;
|
|
18
|
+
commonPaths: string[];
|
|
19
|
+
promptCommand: string;
|
|
20
|
+
noPromptCommand?: string;
|
|
21
|
+
promptTransport: PromptTransport;
|
|
22
|
+
promptOption?: string;
|
|
23
|
+
sendKeysPrePrompt?: string[];
|
|
24
|
+
sendKeysSubmit?: string[];
|
|
25
|
+
sendKeysPostPasteDelayMs?: number;
|
|
26
|
+
sendKeysReadyDelayMs?: number;
|
|
27
|
+
permissionFlags: Partial<Record<Exclude<PermissionMode, ''>, string>>;
|
|
28
|
+
defaultEnabled: boolean;
|
|
29
|
+
resumeCommandTemplate?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const AGENT_REGISTRY: Readonly<Record<AgentName, AgentRegistryEntry>>;
|
|
32
|
+
export declare function isAgentName(value: string): value is AgentName;
|
|
33
|
+
export declare function getAgentDefinitions(): AgentRegistryEntry[];
|
|
34
|
+
export declare function getAgentDefinition(agent: AgentName): AgentRegistryEntry;
|
|
8
35
|
export declare function getAgentLabel(agent: AgentName): string;
|
|
36
|
+
export declare function getAgentShortLabel(agent: AgentName): string;
|
|
37
|
+
export declare function getAgentDescription(agent: AgentName): string;
|
|
38
|
+
export declare function getPromptTransport(agent: AgentName): PromptTransport;
|
|
9
39
|
export declare function getAgentSlugSuffix(agent: AgentName): string;
|
|
40
|
+
export declare function getAgentProcessName(agent: AgentName): string;
|
|
41
|
+
export declare function getSendKeysSubmit(agent: AgentName): string[];
|
|
42
|
+
export declare function getSendKeysPrePrompt(agent: AgentName): string[];
|
|
43
|
+
export declare function getSendKeysPostPasteDelayMs(agent: AgentName): number;
|
|
44
|
+
export declare function getSendKeysReadyDelayMs(agent: AgentName): number;
|
|
45
|
+
export declare function getDefaultEnabledAgents(): AgentName[];
|
|
46
|
+
/**
|
|
47
|
+
* Resolve enabled agent list from settings.
|
|
48
|
+
* If the user has not configured enabledAgents, fall back to registry defaults.
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveEnabledAgentsSelection(enabledAgents: readonly string[] | undefined): AgentName[];
|
|
10
51
|
export declare function appendSlugSuffix(baseSlug: string, slugSuffix?: string): string;
|
|
11
52
|
export declare function buildAgentLaunchOptions(availableAgents: AgentName[]): AgentLaunchOption[];
|
|
53
|
+
/**
|
|
54
|
+
* Resolve CLI permission flags for a given agent and dmux permissionMode.
|
|
55
|
+
*/
|
|
56
|
+
export declare function getPermissionFlags(agent: AgentName, permissionMode: PermissionMode | undefined): string;
|
|
57
|
+
export declare function buildAgentCommand(agent: AgentName, permissionMode: PermissionMode | undefined): string;
|
|
58
|
+
export declare function buildInitialPromptCommand(agent: AgentName, promptToken: string, permissionMode: PermissionMode | undefined): string;
|
|
59
|
+
export declare function buildResumeCommand(agent: AgentName, permissionMode: PermissionMode | undefined): string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Launch an agent CLI inside an already-existing tmux pane.
|
|
62
|
+
*
|
|
63
|
+
* Shared by `createPane()` (new worktree panes) and `attachAgentToWorktree()`
|
|
64
|
+
* (sibling panes reusing an existing worktree).
|
|
65
|
+
*/
|
|
66
|
+
export declare function launchAgentInPane(opts: {
|
|
67
|
+
paneId: string;
|
|
68
|
+
agent: AgentName;
|
|
69
|
+
prompt: string;
|
|
70
|
+
slug: string;
|
|
71
|
+
projectRoot: string;
|
|
72
|
+
permissionMode?: '' | 'plan' | 'acceptEdits' | 'bypassPermissions';
|
|
73
|
+
}): Promise<void>;
|
|
12
74
|
//# sourceMappingURL=agentLaunch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentLaunch.d.ts","sourceRoot":"","sources":["../../src/utils/agentLaunch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agentLaunch.d.ts","sourceRoot":"","sources":["../../src/utils/agentLaunch.ts"],"names":[],"mappings":"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"}
|