dmux 5.1.0 → 5.2.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.
Files changed (161) hide show
  1. package/README.md +44 -145
  2. package/dist/actions/implementations/closeAction.d.ts.map +1 -1
  3. package/dist/actions/implementations/closeAction.js +25 -20
  4. package/dist/actions/implementations/closeAction.js.map +1 -1
  5. package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
  6. package/dist/actions/implementations/mergeAction.js +2 -1
  7. package/dist/actions/implementations/mergeAction.js.map +1 -1
  8. package/dist/actions/merge/conflictResolution.d.ts.map +1 -1
  9. package/dist/actions/merge/conflictResolution.js +2 -1
  10. package/dist/actions/merge/conflictResolution.js.map +1 -1
  11. package/dist/actions/merge/mergeExecution.d.ts.map +1 -1
  12. package/dist/actions/merge/mergeExecution.js +2 -1
  13. package/dist/actions/merge/mergeExecution.js.map +1 -1
  14. package/dist/components/dialogs/SettingsDialog.d.ts.map +1 -1
  15. package/dist/components/dialogs/SettingsDialog.js +3 -1
  16. package/dist/components/dialogs/SettingsDialog.js.map +1 -1
  17. package/dist/components/panes/MergePane.d.ts +1 -0
  18. package/dist/components/panes/MergePane.d.ts.map +1 -1
  19. package/dist/components/panes/MergePane.js +14 -3
  20. package/dist/components/panes/MergePane.js.map +1 -1
  21. package/dist/components/popups/projectSelectPopup.d.ts +7 -0
  22. package/dist/components/popups/projectSelectPopup.d.ts.map +1 -0
  23. package/dist/components/popups/projectSelectPopup.js +124 -0
  24. package/dist/components/popups/projectSelectPopup.js.map +1 -0
  25. package/dist/components/popups/settingsPopup.js +25 -8
  26. package/dist/components/popups/settingsPopup.js.map +1 -1
  27. package/dist/components/popups/shared/DirectoryList.d.ts +14 -0
  28. package/dist/components/popups/shared/DirectoryList.d.ts.map +1 -0
  29. package/dist/components/popups/shared/DirectoryList.js +46 -0
  30. package/dist/components/popups/shared/DirectoryList.js.map +1 -0
  31. package/dist/components/popups/shared/index.d.ts +1 -0
  32. package/dist/components/popups/shared/index.d.ts.map +1 -1
  33. package/dist/components/popups/shared/index.js +1 -0
  34. package/dist/components/popups/shared/index.js.map +1 -1
  35. package/dist/hooks/useAutoUpdater.d.ts.map +1 -1
  36. package/dist/hooks/useAutoUpdater.js +42 -23
  37. package/dist/hooks/useAutoUpdater.js.map +1 -1
  38. package/dist/hooks/useInputHandling.d.ts.map +1 -1
  39. package/dist/hooks/useInputHandling.js +1 -1
  40. package/dist/hooks/useInputHandling.js.map +1 -1
  41. package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
  42. package/dist/hooks/useWorktreeActions.js +16 -8
  43. package/dist/hooks/useWorktreeActions.js.map +1 -1
  44. package/dist/index.js +5 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/server/embedded-assets.d.ts.map +1 -1
  47. package/dist/server/embedded-assets.js +37 -26
  48. package/dist/server/embedded-assets.js.map +1 -1
  49. package/dist/services/AutoUpdater.d.ts +4 -0
  50. package/dist/services/AutoUpdater.d.ts.map +1 -1
  51. package/dist/services/AutoUpdater.js +23 -0
  52. package/dist/services/AutoUpdater.js.map +1 -1
  53. package/dist/services/PopupManager.d.ts +1 -0
  54. package/dist/services/PopupManager.d.ts.map +1 -1
  55. package/dist/services/PopupManager.js +24 -8
  56. package/dist/services/PopupManager.js.map +1 -1
  57. package/dist/services/TmuxService.d.ts +6 -1
  58. package/dist/services/TmuxService.d.ts.map +1 -1
  59. package/dist/services/TmuxService.js +11 -1
  60. package/dist/services/TmuxService.js.map +1 -1
  61. package/dist/services/WorktreeCleanupService.d.ts +22 -0
  62. package/dist/services/WorktreeCleanupService.d.ts.map +1 -0
  63. package/dist/services/WorktreeCleanupService.js +80 -0
  64. package/dist/services/WorktreeCleanupService.js.map +1 -0
  65. package/dist/types.d.ts +5 -1
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/utils/agentLaunch.d.ts +4 -0
  68. package/dist/utils/agentLaunch.d.ts.map +1 -1
  69. package/dist/utils/agentLaunch.js +24 -0
  70. package/dist/utils/agentLaunch.js.map +1 -1
  71. package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
  72. package/dist/utils/conflictResolutionPane.js +61 -23
  73. package/dist/utils/conflictResolutionPane.js.map +1 -1
  74. package/dist/utils/dirScanner.d.ts +30 -0
  75. package/dist/utils/dirScanner.d.ts.map +1 -0
  76. package/dist/utils/dirScanner.js +99 -0
  77. package/dist/utils/dirScanner.js.map +1 -0
  78. package/dist/utils/generated-agents-doc.d.ts +1 -1
  79. package/dist/utils/generated-agents-doc.js +1 -1
  80. package/dist/utils/git.d.ts +13 -0
  81. package/dist/utils/git.d.ts.map +1 -1
  82. package/dist/utils/git.js +20 -0
  83. package/dist/utils/git.js.map +1 -1
  84. package/dist/utils/hooks.js +1 -1
  85. package/dist/utils/hooks.js.map +1 -1
  86. package/dist/utils/hooksDocs.d.ts +1 -1
  87. package/dist/utils/mergeExecution.d.ts.map +1 -1
  88. package/dist/utils/mergeExecution.js +6 -3
  89. package/dist/utils/mergeExecution.js.map +1 -1
  90. package/dist/utils/paneCreation.d.ts.map +1 -1
  91. package/dist/utils/paneCreation.js +106 -34
  92. package/dist/utils/paneCreation.js.map +1 -1
  93. package/dist/utils/promptStore.d.ts +7 -0
  94. package/dist/utils/promptStore.d.ts.map +1 -0
  95. package/dist/utils/promptStore.js +75 -0
  96. package/dist/utils/promptStore.js.map +1 -0
  97. package/dist/utils/reopenWorktree.d.ts.map +1 -1
  98. package/dist/utils/reopenWorktree.js +10 -3
  99. package/dist/utils/reopenWorktree.js.map +1 -1
  100. package/dist/utils/settingsManager.d.ts.map +1 -1
  101. package/dist/utils/settingsManager.js +59 -0
  102. package/dist/utils/settingsManager.js.map +1 -1
  103. package/dist/workers/updateChecker.js +21 -6
  104. package/dist/workers/updateChecker.js.map +1 -1
  105. package/package.json +5 -8
  106. package/dist/components/popups/remotePopup.d.ts +0 -6
  107. package/dist/components/popups/remotePopup.d.ts.map +0 -1
  108. package/dist/components/popups/remotePopup.js +0 -166
  109. package/dist/components/popups/remotePopup.js.map +0 -1
  110. package/dist/hooks/useTunnelManagement.d.ts +0 -18
  111. package/dist/hooks/useTunnelManagement.d.ts.map +0 -1
  112. package/dist/hooks/useTunnelManagement.js +0 -55
  113. package/dist/hooks/useTunnelManagement.js.map +0 -1
  114. package/dist/server/actionsApi.d.ts +0 -37
  115. package/dist/server/actionsApi.d.ts.map +0 -1
  116. package/dist/server/actionsApi.js +0 -256
  117. package/dist/server/actionsApi.js.map +0 -1
  118. package/dist/server/index.d.ts +0 -21
  119. package/dist/server/index.d.ts.map +0 -1
  120. package/dist/server/index.js +0 -100
  121. package/dist/server/index.js.map +0 -1
  122. package/dist/server/routes/actionsRoutes.d.ts +0 -2
  123. package/dist/server/routes/actionsRoutes.d.ts.map +0 -1
  124. package/dist/server/routes/actionsRoutes.js +0 -110
  125. package/dist/server/routes/actionsRoutes.js.map +0 -1
  126. package/dist/server/routes/healthRoutes.d.ts +0 -13
  127. package/dist/server/routes/healthRoutes.d.ts.map +0 -1
  128. package/dist/server/routes/healthRoutes.js +0 -70
  129. package/dist/server/routes/healthRoutes.js.map +0 -1
  130. package/dist/server/routes/index.d.ts +0 -8
  131. package/dist/server/routes/index.d.ts.map +0 -1
  132. package/dist/server/routes/index.js +0 -67
  133. package/dist/server/routes/index.js.map +0 -1
  134. package/dist/server/routes/keysRoutes.d.ts +0 -33
  135. package/dist/server/routes/keysRoutes.d.ts.map +0 -1
  136. package/dist/server/routes/keysRoutes.js +0 -128
  137. package/dist/server/routes/keysRoutes.js.map +0 -1
  138. package/dist/server/routes/panesRoutes.d.ts +0 -2
  139. package/dist/server/routes/panesRoutes.d.ts.map +0 -1
  140. package/dist/server/routes/panesRoutes.js +0 -414
  141. package/dist/server/routes/panesRoutes.js.map +0 -1
  142. package/dist/server/routes/settingsRoutes.d.ts +0 -94
  143. package/dist/server/routes/settingsRoutes.d.ts.map +0 -1
  144. package/dist/server/routes/settingsRoutes.js +0 -159
  145. package/dist/server/routes/settingsRoutes.js.map +0 -1
  146. package/dist/server/routes/streamRoutes.d.ts +0 -18
  147. package/dist/server/routes/streamRoutes.d.ts.map +0 -1
  148. package/dist/server/routes/streamRoutes.js +0 -87
  149. package/dist/server/routes/streamRoutes.js.map +0 -1
  150. package/dist/server/routes/tunnelRoutes.d.ts +0 -11
  151. package/dist/server/routes/tunnelRoutes.d.ts.map +0 -1
  152. package/dist/server/routes/tunnelRoutes.js +0 -28
  153. package/dist/server/routes/tunnelRoutes.js.map +0 -1
  154. package/dist/server/routes.d.ts +0 -17
  155. package/dist/server/routes.d.ts.map +0 -1
  156. package/dist/server/routes.js +0 -17
  157. package/dist/server/routes.js.map +0 -1
  158. package/dist/services/TunnelService.d.ts +0 -10
  159. package/dist/services/TunnelService.d.ts.map +0 -1
  160. package/dist/services/TunnelService.js +0 -98
  161. package/dist/services/TunnelService.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reopenWorktree.js","sourceRoot":"","sources":["../../src/utils/reopenWorktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reopenWorktree.js","sourceRoot":"","sources":["../../src/utils/reopenWorktree.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settingsManager.d.ts","sourceRoot":"","sources":["../../src/utils/settingsManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIlF,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EA+BlD,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAAoB;gBAE/B,WAAW,CAAC,EAAE,MAAM;IAMhC,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,WAAW,IAAI,YAAY;IAO3B;;OAEG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAKjE;;OAEG;IACH,iBAAiB,IAAI,YAAY;IAIjC;;OAEG;IACH,kBAAkB,IAAI,YAAY;IAIlC;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,YAAY,EACxC,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,KAAK,EAAE,aAAa,GACnB,IAAI;IAUP;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAU3E;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAUlE,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAAY,GAAG,OAAO;IAInD;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAAY,GAAG,aAAa,GAAG,IAAI;CAKjE"}
1
+ {"version":3,"file":"settingsManager.d.ts","sourceRoot":"","sources":["../../src/utils/settingsManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAclF,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EA6DlD,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAAoB;gBAE/B,WAAW,CAAC,EAAE,MAAM;IAMhC,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,WAAW,IAAI,YAAY;IAQ3B;;OAEG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAKjE;;OAEG;IACH,iBAAiB,IAAI,YAAY;IAIjC;;OAEG;IACH,kBAAkB,IAAI,YAAY;IAIlC;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,YAAY,EACxC,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,KAAK,EAAE,aAAa,GACnB,IAAI;IAoBP;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAoB3E;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAUlE,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAAY,GAAG,OAAO;IAInD;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAAY,GAAG,aAAa,GAAG,IAAI;CAKjE"}
@@ -1,8 +1,30 @@
1
1
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
2
2
  import { dirname, join } from 'path';
3
3
  import { homedir } from 'os';
4
+ import { isValidBranchName } from './git.js';
4
5
  const GLOBAL_SETTINGS_PATH = join(homedir(), '.dmux.global.json');
6
+ const PERMISSION_MODES = ['', 'plan', 'acceptEdits', 'bypassPermissions'];
7
+ function isPermissionMode(value) {
8
+ return PERMISSION_MODES.includes(value);
9
+ }
10
+ const DEFAULT_SETTINGS = {
11
+ // Most permissive defaults for new dmux setups.
12
+ permissionMode: 'bypassPermissions',
13
+ enableAutopilotByDefault: true,
14
+ };
5
15
  export const SETTING_DEFINITIONS = [
16
+ {
17
+ key: 'permissionMode',
18
+ label: 'Agent Permission Mode',
19
+ description: 'Controls how much permission is granted to launched agents',
20
+ type: 'select',
21
+ options: [
22
+ { value: '', label: 'Agent default (ask)' },
23
+ { value: 'plan', label: 'Plan mode (Claude only)' },
24
+ { value: 'acceptEdits', label: 'Accept edits' },
25
+ { value: 'bypassPermissions', label: 'Bypass permissions (most permissive)' },
26
+ ],
27
+ },
6
28
  {
7
29
  key: 'enableAutopilotByDefault',
8
30
  label: 'Enable Autopilot by Default',
@@ -27,6 +49,24 @@ export const SETTING_DEFINITIONS = [
27
49
  description: 'Use tmux hooks for event-driven updates (lower CPU). If disabled, uses polling in a worker thread.',
28
50
  type: 'boolean',
29
51
  },
52
+ {
53
+ key: 'baseBranch',
54
+ label: 'Base Branch',
55
+ description: 'Branch to create new worktrees from. Leave empty to use current HEAD.',
56
+ type: 'text',
57
+ },
58
+ {
59
+ key: 'branchPrefix',
60
+ label: 'Branch Name Prefix',
61
+ description: 'Prefix for new branch names (e.g. "feat/" produces branch "feat/fix-auth"). Leave empty for no prefix.',
62
+ type: 'select',
63
+ options: [
64
+ { value: '', label: 'No prefix (default)' },
65
+ { value: 'feat/', label: 'feat/' },
66
+ { value: 'fix/', label: 'fix/' },
67
+ { value: 'chore/', label: 'chore/' },
68
+ ],
69
+ },
30
70
  {
31
71
  key: 'hooks',
32
72
  label: 'Manage Hooks',
@@ -71,6 +111,7 @@ export class SettingsManager {
71
111
  */
72
112
  getSettings() {
73
113
  return {
114
+ ...DEFAULT_SETTINGS,
74
115
  ...this.globalSettings,
75
116
  ...this.projectSettings,
76
117
  };
@@ -98,6 +139,15 @@ export class SettingsManager {
98
139
  * Update a setting at the specified scope
99
140
  */
100
141
  updateSetting(key, value, scope) {
142
+ // Validate branch-related settings
143
+ if ((key === 'baseBranch' || key === 'branchPrefix') && typeof value === 'string' && value !== '') {
144
+ if (!isValidBranchName(value)) {
145
+ throw new Error(`Invalid ${key}: contains characters not allowed in git branch names`);
146
+ }
147
+ }
148
+ if (key === 'permissionMode' && typeof value === 'string' && !isPermissionMode(value)) {
149
+ throw new Error(`Invalid permissionMode: "${value}"`);
150
+ }
101
151
  if (scope === 'global') {
102
152
  this.globalSettings[key] = value;
103
153
  this.saveGlobalSettings();
@@ -111,6 +161,15 @@ export class SettingsManager {
111
161
  * Update multiple settings at once
112
162
  */
113
163
  updateSettings(settings, scope) {
164
+ if (typeof settings.permissionMode === 'string' && !isPermissionMode(settings.permissionMode)) {
165
+ throw new Error(`Invalid permissionMode: "${settings.permissionMode}"`);
166
+ }
167
+ if (typeof settings.baseBranch === 'string' && settings.baseBranch !== '' && !isValidBranchName(settings.baseBranch)) {
168
+ throw new Error('Invalid baseBranch: contains characters not allowed in git branch names');
169
+ }
170
+ if (typeof settings.branchPrefix === 'string' && settings.branchPrefix !== '' && !isValidBranchName(settings.branchPrefix)) {
171
+ throw new Error('Invalid branchPrefix: contains characters not allowed in git branch names');
172
+ }
114
173
  if (scope === 'global') {
115
174
  this.globalSettings = { ...this.globalSettings, ...settings };
116
175
  this.saveGlobalSettings();
@@ -1 +1 @@
1
- {"version":3,"file":"settingsManager.js","sourceRoot":"","sources":["../../src/utils/settingsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingsManager.js","sourceRoot":"","sources":["../../src/utils/settingsManager.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,27 @@
1
- import { parentPort } from 'worker_threads';
1
+ import { parentPort, workerData } from 'worker_threads';
2
2
  import { AutoUpdater } from '../services/AutoUpdater.js';
3
- import os from 'os';
4
- import path from 'path';
5
3
  async function checkForUpdates() {
6
4
  try {
7
- const dmuxDir = path.join(os.homedir(), '.dmux');
8
- const autoUpdater = new AutoUpdater(dmuxDir);
9
- const updateInfo = await autoUpdater.checkForUpdates();
5
+ const { configFile } = workerData;
6
+ if (!configFile) {
7
+ throw new Error('Missing config file path for update checker worker');
8
+ }
9
+ const autoUpdater = new AutoUpdater(configFile);
10
+ const shouldCheck = await autoUpdater.shouldCheckForUpdates();
11
+ let updateInfo = shouldCheck
12
+ ? await autoUpdater.checkForUpdates()
13
+ : await autoUpdater.getCachedUpdateInfo();
14
+ // Keep showing a known update if today's check couldn't reach npm.
15
+ if (shouldCheck && updateInfo && updateInfo.latestVersion === 'unknown') {
16
+ const cachedUpdateInfo = await autoUpdater.getCachedUpdateInfo();
17
+ if (cachedUpdateInfo) {
18
+ updateInfo = cachedUpdateInfo;
19
+ }
20
+ }
21
+ // No cache yet: run an initial check even if interval says "not yet".
22
+ if (!updateInfo) {
23
+ updateInfo = await autoUpdater.checkForUpdates();
24
+ }
10
25
  const shouldShow = await autoUpdater.shouldShowUpdateNotification(updateInfo);
11
26
  if (shouldShow && updateInfo.hasUpdate) {
12
27
  parentPort?.postMessage({
@@ -1 +1 @@
1
- {"version":3,"file":"updateChecker.js","sourceRoot":"","sources":["../../src/workers/updateChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAE9E,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACvC,UAAU,EAAE,WAAW,CAAC;gBACtB,IAAI,EAAE,kBAAkB;gBACxB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,UAAU,EAAE,WAAW,CAAC;gBACtB,IAAI,EAAE,WAAW;gBACjB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,EAAE,WAAW,CAAC;YACtB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,kBAAkB;AAClB,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"updateChecker.js","sourceRoot":"","sources":["../../src/workers/updateChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAMzD,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,UAAqC,CAAC;QAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,qBAAqB,EAAE,CAAC;QAC9D,IAAI,UAAU,GAAG,WAAW;YAC1B,CAAC,CAAC,MAAM,WAAW,CAAC,eAAe,EAAE;YACrC,CAAC,CAAC,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAE5C,mEAAmE;QACnE,IAAI,WAAW,IAAI,UAAU,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACjE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,UAAU,GAAG,gBAAgB,CAAC;YAChC,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAE9E,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACvC,UAAU,EAAE,WAAW,CAAC;gBACtB,IAAI,EAAE,kBAAkB;gBACxB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,UAAU,EAAE,WAAW,CAAC;gBACtB,IAAI,EAAE,WAAW;gBACjB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,EAAE,WAAW,CAAC;YACtB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,kBAAkB;AAClB,eAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dmux",
3
- "version": "5.1.0",
3
+ "version": "5.2.0",
4
4
  "description": "Tmux pane manager with AI agent integration for parallel development workflows",
5
5
  "type": "module",
6
6
  "author": "Justin Schroeder",
@@ -8,7 +8,7 @@
8
8
  "homepage": "https://github.com/formkit/dmux#readme",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://github.com/formkit/dmux.git"
11
+ "url": "git+https://github.com/standardagents/dmux.git"
12
12
  },
13
13
  "bugs": {
14
14
  "url": "https://github.com/formkit/dmux/issues"
@@ -46,14 +46,12 @@
46
46
  "dependencies": {
47
47
  "chalk": "^5.3.0",
48
48
  "chokidar": "^4.0.3",
49
- "h3": "^1.15.4",
50
49
  "ink": "^5.0.1",
51
50
  "ink-text-input": "^6.0.0",
52
51
  "p-queue": "^9.0.0",
53
52
  "qrcode-terminal": "^0.12.0",
54
53
  "react": "^18.2.0",
55
54
  "string-width": "^7.2.0",
56
- "untun": "^0.1.3",
57
55
  "vue": "^3.5.22"
58
56
  },
59
57
  "devDependencies": {
@@ -73,12 +71,11 @@
73
71
  "vitest": "^1.6.1"
74
72
  },
75
73
  "scripts": {
76
- "build": "pnpm run generate:hooks-docs && pnpm run build:frontend && pnpm run embed:assets && tsc",
74
+ "build": "pnpm run generate:hooks-docs && pnpm run build:frontend && tsc",
77
75
  "build:frontend": "pnpm --filter dmux-frontend run build",
78
76
  "build:docs": "pnpm --filter dmux-docs run build",
79
- "embed:assets": "node scripts/embed-assets.js",
80
77
  "generate:hooks-docs": "node scripts/generate-hooks-docs.js",
81
- "clean": "rm -rf dist src/server/embedded-assets.ts src/utils/generated-agents-doc.ts",
78
+ "clean": "rm -rf dist src/utils/generated-agents-doc.ts",
82
79
  "dev": "tsc && DMUX_DEV=true tsx src/index.ts",
83
80
  "dev:watch": "run-p dev:watch:compile dev:watch:run",
84
81
  "dev:watch:compile": "tsc --watch --preserveWatchOutput --pretty false > /dev/null 2>&1",
@@ -86,7 +83,7 @@
86
83
  "dev:frontend": "pnpm --filter dmux-frontend run dev",
87
84
  "dev:docs": "pnpm --filter dmux-docs run dev",
88
85
  "start": "node dist/index.js",
89
- "typecheck": "tsc --noEmit",
86
+ "typecheck": "pnpm run generate:hooks-docs && tsc --noEmit",
90
87
  "test": "vitest --run",
91
88
  "prerelease": "run-s clean build typecheck",
92
89
  "release": "bumpp --commit --push --tag",
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Remote Access Popup - Displays tunnel URL and QR code for remote access
4
- */
5
- export {};
6
- //# sourceMappingURL=remotePopup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remotePopup.d.ts","sourceRoot":"","sources":["../../../src/components/popups/remotePopup.tsx"],"names":[],"mappings":";AACA;;GAEG"}
@@ -1,166 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Remote Access Popup - Displays tunnel URL and QR code for remote access
4
- */
5
- import React, { useState, useEffect, useMemo } from 'react';
6
- import { render, Box, Text, useInput, useApp } from 'ink';
7
- import * as fs from 'fs';
8
- import { execSync } from 'child_process';
9
- // @ts-ignore - No types available for qrcode-terminal
10
- import qrcode from 'qrcode-terminal';
11
- import { PopupWrapper } from './shared/index.js';
12
- import { POPUP_CONFIG } from './config.js';
13
- const RemotePopupApp = ({ resultFile, serverPort, statusFile }) => {
14
- const { exit } = useApp();
15
- const [tunnelUrl, setTunnelUrl] = useState(null);
16
- const [error, setError] = useState(null);
17
- const [isCreating, setIsCreating] = useState(true);
18
- const [spinnerFrame, setSpinnerFrame] = useState(0);
19
- const [copied, setCopied] = useState(false);
20
- const closePopup = (wasCopied) => {
21
- try {
22
- fs.writeFileSync(resultFile, JSON.stringify({ closed: true, copied: wasCopied }));
23
- }
24
- catch (error) {
25
- console.error('[remotePopup] Failed to write result file:', error);
26
- }
27
- exit();
28
- };
29
- useInput((input, key) => {
30
- if (key.escape || input === 'q') {
31
- closePopup(false);
32
- }
33
- else if (input === 'c' && tunnelUrl) {
34
- // Copy URL to clipboard
35
- try {
36
- // Try pbcopy (macOS)
37
- execSync(`pbcopy`, { input: tunnelUrl, stdio: 'pipe' });
38
- }
39
- catch {
40
- try {
41
- // Try xclip (Linux)
42
- execSync(`xclip -selection clipboard`, { input: tunnelUrl, stdio: 'pipe' });
43
- }
44
- catch {
45
- // Clipboard not available
46
- }
47
- }
48
- // Close popup after copying, mark as copied
49
- closePopup(true);
50
- }
51
- });
52
- // Spinner animation
53
- useEffect(() => {
54
- if (!isCreating)
55
- return;
56
- const spinnerInterval = setInterval(() => {
57
- setSpinnerFrame((prev) => (prev + 1) % 10);
58
- }, 80); // Update every 80ms
59
- return () => clearInterval(spinnerInterval);
60
- }, [isCreating]);
61
- // Poll status file for tunnel creation result
62
- useEffect(() => {
63
- const pollInterval = setInterval(() => {
64
- try {
65
- if (fs.existsSync(statusFile)) {
66
- const data = JSON.parse(fs.readFileSync(statusFile, 'utf-8'));
67
- if (data.url) {
68
- setTunnelUrl(data.url);
69
- setIsCreating(false);
70
- clearInterval(pollInterval);
71
- }
72
- else if (data.error) {
73
- setError(data.error);
74
- setIsCreating(false);
75
- clearInterval(pollInterval);
76
- }
77
- }
78
- }
79
- catch (err) {
80
- // File might not exist yet or be incomplete, keep polling
81
- }
82
- }, 100); // Poll every 100ms
83
- // Cleanup
84
- return () => clearInterval(pollInterval);
85
- }, [statusFile]);
86
- // Generate QR code
87
- const qrString = useMemo(() => {
88
- if (!tunnelUrl)
89
- return '';
90
- let output = '';
91
- qrcode.generate(tunnelUrl, { small: true }, (qr) => {
92
- output = qr;
93
- });
94
- return output;
95
- }, [tunnelUrl]);
96
- // Spinner frames
97
- const spinnerFrames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
98
- const currentSpinner = spinnerFrames[spinnerFrame];
99
- if (isCreating) {
100
- return (React.createElement(PopupWrapper, { resultFile: resultFile, allowEscapeToCancel: false },
101
- React.createElement(Box, { flexDirection: "column", padding: 1 },
102
- React.createElement(Box, { marginBottom: 1 },
103
- React.createElement(Text, { bold: true, color: POPUP_CONFIG.titleColor }, "Remote Access")),
104
- React.createElement(Box, { marginBottom: 1 },
105
- React.createElement(Text, { color: "yellow" },
106
- currentSpinner,
107
- " Creating tunnel...")),
108
- React.createElement(Box, { marginBottom: 1 },
109
- React.createElement(Text, { dimColor: true }, "This may take up to 30 seconds")),
110
- React.createElement(Box, { marginTop: 1 },
111
- React.createElement(Text, { dimColor: true }, "Press Esc to close")))));
112
- }
113
- if (error) {
114
- return (React.createElement(PopupWrapper, { resultFile: resultFile, allowEscapeToCancel: false },
115
- React.createElement(Box, { flexDirection: "column", padding: 1 },
116
- React.createElement(Box, { marginBottom: 1 },
117
- React.createElement(Text, { bold: true, color: POPUP_CONFIG.titleColor }, "Remote Access")),
118
- React.createElement(Text, { color: "red" }, error),
119
- React.createElement(Box, { marginTop: 1 },
120
- React.createElement(Text, { dimColor: true }, "Press Esc to close")))));
121
- }
122
- if (!tunnelUrl) {
123
- return (React.createElement(PopupWrapper, { resultFile: resultFile, allowEscapeToCancel: false },
124
- React.createElement(Box, { flexDirection: "column", padding: 1 },
125
- React.createElement(Box, { marginBottom: 1 },
126
- React.createElement(Text, { bold: true, color: POPUP_CONFIG.titleColor }, "Remote Access")),
127
- React.createElement(Text, { color: "red" }, "No tunnel URL available"),
128
- React.createElement(Box, { marginTop: 1 },
129
- React.createElement(Text, { dimColor: true }, "Press Esc to close")))));
130
- }
131
- return (React.createElement(PopupWrapper, { resultFile: resultFile, allowEscapeToCancel: false },
132
- React.createElement(Box, { flexDirection: "column", padding: 1 },
133
- React.createElement(Box, { marginBottom: 1 },
134
- React.createElement(Text, { bold: true, color: POPUP_CONFIG.titleColor }, "Remote Access")),
135
- React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
136
- React.createElement(Text, { dimColor: true }, "Scan to access dashboard:"),
137
- React.createElement(Text, null, qrString),
138
- React.createElement(Text, { dimColor: true }, tunnelUrl)),
139
- copied && (React.createElement(Box, { marginTop: 1, marginBottom: 1 },
140
- React.createElement(Text, { color: "green" }, "\u2713 Copied to clipboard!"))),
141
- React.createElement(Box, { marginTop: 1 },
142
- React.createElement(Text, { dimColor: true }, "Press [c] to copy URL \u2022 [Esc] to close")))));
143
- };
144
- // Main entry point
145
- const main = async () => {
146
- const resultFile = process.argv[2];
147
- if (!resultFile) {
148
- console.error('Error: Result file path required');
149
- process.exit(1);
150
- }
151
- const dataFile = process.argv[3];
152
- if (!dataFile) {
153
- console.error('Error: Data file path required');
154
- process.exit(1);
155
- }
156
- try {
157
- const data = JSON.parse(fs.readFileSync(dataFile, 'utf-8'));
158
- render(React.createElement(RemotePopupApp, { resultFile: resultFile, serverPort: data.serverPort, statusFile: data.statusFile }));
159
- }
160
- catch (error) {
161
- console.error('Failed to read data file:', error);
162
- process.exit(1);
163
- }
164
- };
165
- main();
166
- //# sourceMappingURL=remotePopup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remotePopup.js","sourceRoot":"","sources":["../../../src/components/popups/remotePopup.tsx"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,sDAAsD;AACtD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,cAAc,GAAkC,CAAC,EACrD,UAAU,EACV,UAAU,EACV,UAAU,EACX,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,CAAC,SAAkB,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAChC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;YACtC,wBAAwB;YACxB,IAAI,CAAC;gBACH,qBAAqB;gBACrB,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC;oBACH,oBAAoB;oBACpB,QAAQ,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;YACD,4CAA4C;YAC5C,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;QAE5B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC9D,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBACb,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACvB,aAAa,CAAC,KAAK,CAAC,CAAC;wBACrB,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC9B,CAAC;yBAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,aAAa,CAAC,KAAK,CAAC,CAAC;wBACrB,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,0DAA0D;YAC5D,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB;QAE5B,UAAU;QACV,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,mBAAmB;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAU,EAAE,EAAE;YACzD,MAAM,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,iBAAiB;IACjB,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAEnD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL,oBAAC,YAAY,IAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK;YAC9D,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;gBACpC,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;oBAClB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,YAAY,CAAC,UAAU,oBAAsB,CAC3D;gBACN,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;oBAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;wBAAE,cAAc;8CAA2B,CAC3D;gBACN,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;oBAClB,oBAAC,IAAI,IAAC,QAAQ,2CAAsC,CAChD;gBACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;oBACf,oBAAC,IAAI,IAAC,QAAQ,+BAA0B,CACpC,CACF,CACO,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,oBAAC,YAAY,IAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK;YAC9D,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;gBACpC,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;oBAClB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,YAAY,CAAC,UAAU,oBAAsB,CAC3D;gBACN,oBAAC,IAAI,IAAC,KAAK,EAAC,KAAK,IAAE,KAAK,CAAQ;gBAChC,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;oBACf,oBAAC,IAAI,IAAC,QAAQ,+BAA0B,CACpC,CACF,CACO,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,oBAAC,YAAY,IAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK;YAC9D,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;gBACpC,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;oBAClB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,YAAY,CAAC,UAAU,oBAAsB,CAC3D;gBACN,oBAAC,IAAI,IAAC,KAAK,EAAC,KAAK,8BAA+B;gBAChD,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;oBACf,oBAAC,IAAI,IAAC,QAAQ,+BAA0B,CACpC,CACF,CACO,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,YAAY,IAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK;QAC9D,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;YACpC,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;gBAClB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,YAAY,CAAC,UAAU,oBAAsB,CAC3D;YAEN,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC;gBACzC,oBAAC,IAAI,IAAC,QAAQ,sCAAiC;gBAC/C,oBAAC,IAAI,QAAE,QAAQ,CAAQ;gBACvB,oBAAC,IAAI,IAAC,QAAQ,UAAE,SAAS,CAAQ,CAC7B;YAEL,MAAM,IAAI,CACT,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;gBAChC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,kCAA8B,CAC7C,CACP;YAED,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,IAAI,IAAC,QAAQ,wDAA8C,CACxD,CACF,CACO,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB;AACnB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,oBAAC,cAAc,IACpB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,GAC3B,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Hook to manage tunnel/network state in DmuxApp
3
- * Handles: tunnel URL, creation status, spinner animation, copy feedback, local IP
4
- */
5
- export declare function useTunnelManagement(): {
6
- tunnelUrl: string | null;
7
- setTunnelUrl: import("react").Dispatch<import("react").SetStateAction<string | null>>;
8
- tunnelCreating: boolean;
9
- setTunnelCreating: import("react").Dispatch<import("react").SetStateAction<boolean>>;
10
- tunnelSpinnerFrame: number;
11
- setTunnelSpinnerFrame: import("react").Dispatch<import("react").SetStateAction<number>>;
12
- tunnelCopied: boolean;
13
- setTunnelCopied: import("react").Dispatch<import("react").SetStateAction<boolean>>;
14
- localIp: string;
15
- setLocalIp: import("react").Dispatch<import("react").SetStateAction<string>>;
16
- getSpinnerChar: () => string;
17
- };
18
- //# sourceMappingURL=useTunnelManagement.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTunnelManagement.d.ts","sourceRoot":"","sources":["../../src/hooks/useTunnelManagement.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,mBAAmB;;;;;;;;;;;;EAqDlC"}
@@ -1,55 +0,0 @@
1
- import { useState, useEffect } from "react";
2
- /**
3
- * Hook to manage tunnel/network state in DmuxApp
4
- * Handles: tunnel URL, creation status, spinner animation, copy feedback, local IP
5
- */
6
- export function useTunnelManagement() {
7
- const [tunnelUrl, setTunnelUrl] = useState(null);
8
- const [tunnelCreating, setTunnelCreating] = useState(false);
9
- const [tunnelSpinnerFrame, setTunnelSpinnerFrame] = useState(0);
10
- const [tunnelCopied, setTunnelCopied] = useState(false);
11
- const [localIp, setLocalIp] = useState("127.0.0.1");
12
- // Spinner animation for tunnel creation
13
- useEffect(() => {
14
- if (!tunnelCreating)
15
- return;
16
- const spinnerInterval = setInterval(() => {
17
- setTunnelSpinnerFrame((prev) => (prev + 1) % 10);
18
- }, 80); // Update every 80ms
19
- return () => clearInterval(spinnerInterval);
20
- }, [tunnelCreating]);
21
- /**
22
- * Get the current spinner frame character
23
- */
24
- const getSpinnerChar = () => {
25
- const spinnerFrames = [
26
- "⠋",
27
- "⠙",
28
- "⠹",
29
- "⠸",
30
- "⠼",
31
- "⠴",
32
- "⠦",
33
- "⠧",
34
- "⠇",
35
- "⠏",
36
- ];
37
- return spinnerFrames[tunnelSpinnerFrame];
38
- };
39
- return {
40
- // State
41
- tunnelUrl,
42
- setTunnelUrl,
43
- tunnelCreating,
44
- setTunnelCreating,
45
- tunnelSpinnerFrame,
46
- setTunnelSpinnerFrame,
47
- tunnelCopied,
48
- setTunnelCopied,
49
- localIp,
50
- setLocalIp,
51
- // Helper functions
52
- getSpinnerChar,
53
- };
54
- }
55
- //# sourceMappingURL=useTunnelManagement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTunnelManagement.js","sourceRoot":"","sources":["../../src/hooks/useTunnelManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE3C;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAS,WAAW,CAAC,CAAA;IAE3D,wCAAwC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc;YAAE,OAAM;QAE3B,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;QAClD,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,oBAAoB;QAE3B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IAC7C,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB;;OAEG;IACH,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,aAAa,GAAG;YACpB,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAA;QACD,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC1C,CAAC,CAAA;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,kBAAkB;QAClB,qBAAqB;QACrB,YAAY;QACZ,eAAe;QACf,OAAO;QACP,UAAU;QAEV,mBAAmB;QACnB,cAAc;KACf,CAAA;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * REST API for Pane Actions
3
- *
4
- * Provides HTTP endpoints for executing standardized pane actions.
5
- */
6
- import type { IncomingMessage, ServerResponse } from 'http';
7
- /**
8
- * Handle GET /api/actions
9
- * List all available actions with metadata
10
- */
11
- export declare function handleListActions(req: IncomingMessage, res: ServerResponse): Promise<void>;
12
- /**
13
- * Handle GET /api/panes/:paneId/actions
14
- * Get available actions for a specific pane
15
- */
16
- export declare function handleGetPaneActions(req: IncomingMessage, res: ServerResponse, paneId: string): Promise<void>;
17
- /**
18
- * Handle POST /api/panes/:paneId/actions/:actionId
19
- * Execute an action on a pane
20
- */
21
- export declare function handleExecuteAction(req: IncomingMessage, res: ServerResponse, paneId: string, actionId: string): Promise<void>;
22
- /**
23
- * Handle POST /api/callbacks/confirm/:callbackId
24
- * Respond to a confirm dialog
25
- */
26
- export declare function handleConfirmCallback(req: IncomingMessage, res: ServerResponse, callbackId: string): Promise<void>;
27
- /**
28
- * Handle POST /api/callbacks/choice/:callbackId
29
- * Respond to a choice dialog
30
- */
31
- export declare function handleChoiceCallback(req: IncomingMessage, res: ServerResponse, callbackId: string): Promise<void>;
32
- /**
33
- * Handle POST /api/callbacks/input/:callbackId
34
- * Respond to an input dialog
35
- */
36
- export declare function handleInputCallback(req: IncomingMessage, res: ServerResponse, callbackId: string): Promise<void>;
37
- //# sourceMappingURL=actionsApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionsApi.d.ts","sourceRoot":"","sources":["../../src/server/actionsApi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAM5D;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA4Ff;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}