aicodeman 1.43.0 → 1.44.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 +3 -2
- package/dist/cli-agent.d.ts +3 -3
- package/dist/cli-agent.d.ts.map +1 -1
- package/dist/cli-agent.js +8 -6
- package/dist/cli-agent.js.map +1 -1
- package/dist/config/cli-registry/stock.d.ts.map +1 -1
- package/dist/config/cli-registry/stock.js +8 -3
- package/dist/config/cli-registry/stock.js.map +1 -1
- package/dist/config/cli-registry/types.d.ts +2 -2
- package/dist/config/map-limits.d.ts +13 -1
- package/dist/config/map-limits.d.ts.map +1 -1
- package/dist/config/map-limits.js +28 -1
- package/dist/config/map-limits.js.map +1 -1
- package/dist/config-backup.d.ts +279 -0
- package/dist/config-backup.d.ts.map +1 -0
- package/dist/config-backup.js +794 -0
- package/dist/config-backup.js.map +1 -0
- package/dist/cron/cron-service.d.ts +5 -5
- package/dist/cron/cron-service.js +6 -6
- package/dist/cron/cron-service.js.map +1 -1
- package/dist/custom-model-hosts.d.ts +16 -0
- package/dist/custom-model-hosts.d.ts.map +1 -1
- package/dist/custom-model-hosts.js.map +1 -1
- package/dist/hooks-config.d.ts +15 -0
- package/dist/hooks-config.d.ts.map +1 -1
- package/dist/hooks-config.js +35 -0
- package/dist/hooks-config.js.map +1 -1
- package/dist/intent-store.d.ts +2 -0
- package/dist/intent-store.d.ts.map +1 -1
- package/dist/intent-store.js +9 -0
- package/dist/intent-store.js.map +1 -1
- package/dist/mux-interface.d.ts +21 -4
- package/dist/mux-interface.d.ts.map +1 -1
- package/dist/prompt-cache-keepwarm.d.ts +193 -0
- package/dist/prompt-cache-keepwarm.d.ts.map +1 -0
- package/dist/prompt-cache-keepwarm.js +359 -0
- package/dist/prompt-cache-keepwarm.js.map +1 -0
- package/dist/respawn-controller.d.ts.map +1 -1
- package/dist/respawn-controller.js +6 -5
- package/dist/respawn-controller.js.map +1 -1
- package/dist/session-auto-ops.d.ts.map +1 -1
- package/dist/session-auto-ops.js +6 -1
- package/dist/session-auto-ops.js.map +1 -1
- package/dist/session-cli-registry-bridge.d.ts +13 -0
- package/dist/session-cli-registry-bridge.d.ts.map +1 -1
- package/dist/session-cli-registry-bridge.js +20 -3
- package/dist/session-cli-registry-bridge.js.map +1 -1
- package/dist/session-submit-verifier.d.ts +19 -0
- package/dist/session-submit-verifier.d.ts.map +1 -1
- package/dist/session-submit-verifier.js +88 -0
- package/dist/session-submit-verifier.js.map +1 -1
- package/dist/session.d.ts +61 -5
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +112 -7
- package/dist/session.js.map +1 -1
- package/dist/state-store.d.ts +10 -0
- package/dist/state-store.d.ts.map +1 -1
- package/dist/state-store.js +35 -0
- package/dist/state-store.js.map +1 -1
- package/dist/tab-layout-service.d.ts +33 -0
- package/dist/tab-layout-service.d.ts.map +1 -1
- package/dist/tab-layout-service.js +75 -3
- package/dist/tab-layout-service.js.map +1 -1
- package/dist/tmux-manager.d.ts +50 -8
- package/dist/tmux-manager.d.ts.map +1 -1
- package/dist/tmux-manager.js +146 -30
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tmux-prefix-table.d.ts +54 -0
- package/dist/tmux-prefix-table.d.ts.map +1 -0
- package/dist/tmux-prefix-table.js +137 -0
- package/dist/tmux-prefix-table.js.map +1 -0
- package/dist/tui/tui-app.d.ts +9 -1
- package/dist/tui/tui-app.d.ts.map +1 -1
- package/dist/tui/tui-app.js +21 -8
- package/dist/tui/tui-app.js.map +1 -1
- package/dist/tui/tui-client.d.ts +3 -2
- package/dist/tui/tui-client.d.ts.map +1 -1
- package/dist/tui/tui-client.js +3 -2
- package/dist/tui/tui-client.js.map +1 -1
- package/dist/types/app-state.d.ts +6 -0
- package/dist/types/app-state.d.ts.map +1 -1
- package/dist/types/app-state.js.map +1 -1
- package/dist/types/session.d.ts +40 -1
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js.map +1 -1
- package/dist/usage-telemetry.d.ts +15 -0
- package/dist/usage-telemetry.d.ts.map +1 -1
- package/dist/usage-telemetry.js +45 -2
- package/dist/usage-telemetry.js.map +1 -1
- package/dist/utils/copilot-plan-usage.d.ts +46 -0
- package/dist/utils/copilot-plan-usage.d.ts.map +1 -0
- package/dist/utils/copilot-plan-usage.js +95 -0
- package/dist/utils/copilot-plan-usage.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/single-line.d.ts +22 -0
- package/dist/utils/single-line.d.ts.map +1 -0
- package/dist/utils/single-line.js +30 -0
- package/dist/utils/single-line.js.map +1 -0
- package/dist/web/approval-inbox.d.ts +6 -0
- package/dist/web/approval-inbox.d.ts.map +1 -1
- package/dist/web/approval-inbox.js +2 -2
- package/dist/web/approval-inbox.js.map +1 -1
- package/dist/web/plan-usage-latest.d.ts +2 -1
- package/dist/web/plan-usage-latest.d.ts.map +1 -1
- package/dist/web/plan-usage-latest.js +12 -2
- package/dist/web/plan-usage-latest.js.map +1 -1
- package/dist/web/ports/index.d.ts +1 -0
- package/dist/web/ports/index.d.ts.map +1 -1
- package/dist/web/ports/keep-warm-port.d.ts +9 -0
- package/dist/web/ports/keep-warm-port.d.ts.map +1 -0
- package/dist/web/ports/keep-warm-port.js +6 -0
- package/dist/web/ports/keep-warm-port.js.map +1 -0
- package/dist/web/ports/session-port.d.ts +3 -1
- package/dist/web/ports/session-port.d.ts.map +1 -1
- package/dist/web/public/admin-ui.js.gz +0 -0
- package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
- package/dist/web/public/app.9314ee60.js +43 -0
- package/dist/web/public/app.9314ee60.js.br +0 -0
- package/dist/web/public/app.9314ee60.js.gz +0 -0
- package/dist/web/public/approvals-ui.js.gz +0 -0
- package/dist/web/public/{constants.e5e588db.js → constants.4866ecc3.js} +49 -1
- package/dist/web/public/constants.4866ecc3.js.br +0 -0
- package/dist/web/public/constants.4866ecc3.js.gz +0 -0
- package/dist/web/public/cron-ui.js.gz +0 -0
- package/dist/web/public/entrance-animations.js.gz +0 -0
- package/dist/web/public/git-status-ui.js.gz +0 -0
- package/dist/web/public/home-sessions.js.gz +0 -0
- package/dist/web/public/host-wake-ui.js.gz +0 -0
- package/dist/web/public/i18n.22ca902b.js +2 -0
- package/dist/web/public/i18n.22ca902b.js.br +0 -0
- package/dist/web/public/i18n.22ca902b.js.gz +0 -0
- package/dist/web/public/image-input.941386e7.js.gz +0 -0
- package/dist/web/public/index.html +99 -14
- package/dist/web/public/index.html.br +0 -0
- package/dist/web/public/index.html.gz +0 -0
- package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
- package/dist/web/public/{keyboard-accessory.c283e827.js → keyboard-accessory.4e8b20ac.js} +23 -5
- package/dist/web/public/keyboard-accessory.4e8b20ac.js.br +0 -0
- package/dist/web/public/keyboard-accessory.4e8b20ac.js.gz +0 -0
- package/dist/web/public/{mobile-handlers.0ef9c311.js → mobile-handlers.44adaa07.js} +48 -16
- package/dist/web/public/mobile-handlers.44adaa07.js.br +0 -0
- package/dist/web/public/mobile-handlers.44adaa07.js.gz +0 -0
- package/dist/web/public/mobile-ime-preview.2dbaf262.js.gz +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.12fb18de.css +1 -0
- package/dist/web/public/mobile.12fb18de.css.br +0 -0
- package/dist/web/public/mobile.12fb18de.css.gz +0 -0
- package/dist/web/public/notification-manager.feb82c04.js.gz +0 -0
- package/dist/web/public/orchestrator-panel.js.gz +0 -0
- package/dist/web/public/{panels-ui.b7bfb9da.js → panels-ui.cbb24ba1.js} +65 -65
- package/dist/web/public/panels-ui.cbb24ba1.js.br +0 -0
- package/dist/web/public/panels-ui.cbb24ba1.js.gz +0 -0
- package/dist/web/public/ralph-panel.b350e2ef.js.gz +0 -0
- package/dist/web/public/ralph-wizard.b6c0dd19.js.gz +0 -0
- package/dist/web/public/readmymind-ui.js.gz +0 -0
- package/dist/web/public/reboot-restore-ui.js.gz +0 -0
- package/dist/web/public/respawn-ui.d7adcf6a.js.gz +0 -0
- package/dist/web/public/sanitize-html.e7147e76.js.gz +0 -0
- package/dist/web/public/session-lineage.js.gz +0 -0
- package/dist/web/public/{session-ui.be076c88.js → session-ui.9c1f009b.js} +7 -3
- package/dist/web/public/session-ui.9c1f009b.js.br +0 -0
- package/dist/web/public/session-ui.9c1f009b.js.gz +0 -0
- package/dist/web/public/settings-ui.fea9ddae.js +106 -0
- package/dist/web/public/settings-ui.fea9ddae.js.br +0 -0
- package/dist/web/public/settings-ui.fea9ddae.js.gz +0 -0
- package/dist/web/public/spreadsheet-preview-worker.js.gz +0 -0
- package/dist/web/public/spreadsheet-preview.75c751de.js.gz +0 -0
- package/dist/web/public/spreadsheet-xlsx-core.js.gz +0 -0
- package/dist/web/public/styles.e096fcd6.css +1 -0
- package/dist/web/public/styles.e096fcd6.css.br +0 -0
- package/dist/web/public/styles.e096fcd6.css.gz +0 -0
- package/dist/web/public/subagent-windows.07277a58.js.gz +0 -0
- package/dist/web/public/sw.js +2 -2
- package/dist/web/public/sw.js.br +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/tab-layout-browser.2d6189f7.js.gz +0 -0
- package/dist/web/public/tab-rail-resize.7157e0bd.js.gz +0 -0
- package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.gz +0 -0
- package/dist/web/public/terminal-split.js.gz +0 -0
- package/dist/web/public/terminal-tile.js +41 -22
- package/dist/web/public/terminal-tile.js.br +0 -0
- package/dist/web/public/terminal-tile.js.gz +0 -0
- package/dist/web/public/terminal-ui.68dbd352.js +2 -0
- package/dist/web/public/terminal-ui.68dbd352.js.br +0 -0
- package/dist/web/public/terminal-ui.68dbd352.js.gz +0 -0
- package/dist/web/public/tile-grid.js.gz +0 -0
- package/dist/web/public/ultracode-panel.js.gz +0 -0
- package/dist/web/public/ultracode-windows.js.gz +0 -0
- package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
- package/dist/web/public/vendor/exceljs.min.js.gz +0 -0
- package/dist/web/public/vendor/fflate.min.js.gz +0 -0
- package/dist/web/public/vendor/marked.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.gz +0 -0
- package/dist/web/public/vendor/xterm.css.gz +0 -0
- package/dist/web/public/vendor/xterm.min.js.gz +0 -0
- package/dist/web/public/voice-input.2342c37b.js.gz +0 -0
- package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
- package/dist/web/public/webview-tabs.js.gz +0 -0
- package/dist/web/public/whats-new.json +9 -9
- package/dist/web/routes/admin-routes.d.ts +2 -1
- package/dist/web/routes/admin-routes.d.ts.map +1 -1
- package/dist/web/routes/admin-routes.js +3 -0
- package/dist/web/routes/admin-routes.js.map +1 -1
- package/dist/web/routes/case-routes.d.ts +2 -2
- package/dist/web/routes/case-routes.d.ts.map +1 -1
- package/dist/web/routes/case-routes.js +81 -3
- package/dist/web/routes/case-routes.js.map +1 -1
- package/dist/web/routes/config-backup-routes.d.ts +54 -0
- package/dist/web/routes/config-backup-routes.d.ts.map +1 -0
- package/dist/web/routes/config-backup-routes.js +268 -0
- package/dist/web/routes/config-backup-routes.js.map +1 -0
- package/dist/web/routes/custom-model-routes.d.ts +17 -1
- package/dist/web/routes/custom-model-routes.d.ts.map +1 -1
- package/dist/web/routes/custom-model-routes.js +118 -13
- package/dist/web/routes/custom-model-routes.js.map +1 -1
- package/dist/web/routes/hook-event-routes.d.ts.map +1 -1
- package/dist/web/routes/hook-event-routes.js +26 -5
- package/dist/web/routes/hook-event-routes.js.map +1 -1
- package/dist/web/routes/index.d.ts +1 -0
- package/dist/web/routes/index.d.ts.map +1 -1
- package/dist/web/routes/index.js +1 -0
- package/dist/web/routes/index.js.map +1 -1
- package/dist/web/routes/ralph-routes.js +2 -2
- package/dist/web/routes/ralph-routes.js.map +1 -1
- package/dist/web/routes/reboot-restore-routes.d.ts.map +1 -1
- package/dist/web/routes/reboot-restore-routes.js +2 -0
- package/dist/web/routes/reboot-restore-routes.js.map +1 -1
- package/dist/web/routes/session-routes.d.ts +2 -2
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +86 -15
- package/dist/web/routes/session-routes.js.map +1 -1
- package/dist/web/routes/status-telemetry-routes.d.ts +2 -2
- package/dist/web/routes/status-telemetry-routes.d.ts.map +1 -1
- package/dist/web/routes/status-telemetry-routes.js +8 -4
- package/dist/web/routes/status-telemetry-routes.js.map +1 -1
- package/dist/web/routes/system-routes.d.ts +2 -2
- package/dist/web/routes/system-routes.d.ts.map +1 -1
- package/dist/web/routes/system-routes.js +7 -0
- package/dist/web/routes/system-routes.js.map +1 -1
- package/dist/web/routes/webview-routes.d.ts.map +1 -1
- package/dist/web/routes/webview-routes.js +1 -0
- package/dist/web/routes/webview-routes.js.map +1 -1
- package/dist/web/schemas.d.ts +19 -0
- package/dist/web/schemas.d.ts.map +1 -1
- package/dist/web/schemas.js +31 -2
- package/dist/web/schemas.js.map +1 -1
- package/dist/web/server.d.ts +12 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +116 -5
- package/dist/web/server.js.map +1 -1
- package/dist/web/session-listener-wiring.d.ts +6 -0
- package/dist/web/session-listener-wiring.d.ts.map +1 -1
- package/dist/web/session-listener-wiring.js +10 -3
- package/dist/web/session-listener-wiring.js.map +1 -1
- package/dist/web/sse-events.d.ts +5 -2
- package/dist/web/sse-events.d.ts.map +1 -1
- package/dist/web/sse-events.js +5 -2
- package/dist/web/sse-events.js.map +1 -1
- package/dist/web/webview-proxy.d.ts +8 -3
- package/dist/web/webview-proxy.d.ts.map +1 -1
- package/dist/web/webview-proxy.js +23 -5
- package/dist/web/webview-proxy.js.map +1 -1
- package/package.json +1 -1
- package/skills/codeman/SKILL.md +20 -9
- package/skills/codeman/preamble.sh +12 -2
- package/skills/codeman/reference/endpoints.md +8 -7
- package/skills/codeman/reference/recipes.md +1 -1
- package/skills/codeman/reference/verbs.md +21 -13
- package/dist/web/public/app.ae50029a.js +0 -43
- package/dist/web/public/app.ae50029a.js.br +0 -0
- package/dist/web/public/app.ae50029a.js.gz +0 -0
- package/dist/web/public/constants.e5e588db.js.br +0 -0
- package/dist/web/public/constants.e5e588db.js.gz +0 -0
- package/dist/web/public/i18n.8f291f06.js +0 -2
- package/dist/web/public/i18n.8f291f06.js.br +0 -0
- package/dist/web/public/i18n.8f291f06.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.c283e827.js.br +0 -0
- package/dist/web/public/keyboard-accessory.c283e827.js.gz +0 -0
- package/dist/web/public/mobile-handlers.0ef9c311.js.br +0 -0
- package/dist/web/public/mobile-handlers.0ef9c311.js.gz +0 -0
- package/dist/web/public/mobile.13514863.css +0 -1
- package/dist/web/public/mobile.13514863.css.br +0 -0
- package/dist/web/public/mobile.13514863.css.gz +0 -0
- package/dist/web/public/panels-ui.b7bfb9da.js.br +0 -0
- package/dist/web/public/panels-ui.b7bfb9da.js.gz +0 -0
- package/dist/web/public/session-ui.be076c88.js.br +0 -0
- package/dist/web/public/session-ui.be076c88.js.gz +0 -0
- package/dist/web/public/settings-ui.fc4cc50a.js +0 -97
- package/dist/web/public/settings-ui.fc4cc50a.js.br +0 -0
- package/dist/web/public/settings-ui.fc4cc50a.js.gz +0 -0
- package/dist/web/public/styles.dcfa907f.css +0 -1
- package/dist/web/public/styles.dcfa907f.css.br +0 -0
- package/dist/web/public/styles.dcfa907f.css.gz +0 -0
- package/dist/web/public/terminal-ui.ae01a7d1.js +0 -2
- package/dist/web/public/terminal-ui.ae01a7d1.js.br +0 -0
- package/dist/web/public/terminal-ui.ae01a7d1.js.gz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-manager.d.ts","sourceRoot":"","sources":["../src/tmux-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux-manager.d.ts","sourceRoot":"","sources":["../src/tmux-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux-manager.js
CHANGED
|
@@ -25,7 +25,7 @@ import { collectDescendants } from './proc-tree.js';
|
|
|
25
25
|
import { execSync, exec, execFile } from 'node:child_process';
|
|
26
26
|
import { promisify } from 'node:util';
|
|
27
27
|
const execAsync = promisify(exec);
|
|
28
|
-
import { existsSync, readFileSync, mkdirSync } from 'node:fs';
|
|
28
|
+
import { existsSync, readFileSync, mkdirSync, realpathSync } from 'node:fs';
|
|
29
29
|
import { writeFile, rename } from 'node:fs/promises';
|
|
30
30
|
import { dirname } from 'node:path';
|
|
31
31
|
import { homedir } from 'node:os';
|
|
@@ -33,8 +33,9 @@ import { dataPath, DEFAULT_TMUX_SOCKET, CODEMAN_INSTANCE, SAFE_TMUX_SOCKET_PATTE
|
|
|
33
33
|
import { getErrorMessage, DEFAULT_NICE_CONFIG, } from './types.js';
|
|
34
34
|
import { getCli } from './config/cli-registry/registry.js';
|
|
35
35
|
import { missingCliMessage, resolveCliBinDir } from './utils/cli-resolver.js';
|
|
36
|
-
import { buildSpawnCommandFromRegistry, configSetenvValues, legacyConfigForMode, } from './session-cli-registry-bridge.js';
|
|
37
|
-
import {
|
|
36
|
+
import { buildSpawnCommandFromRegistry, configSetenvValues, launchGatePasses, legacyConfigForMode, } from './session-cli-registry-bridge.js';
|
|
37
|
+
import { keepWarmOn } from './prompt-cache-keepwarm.js';
|
|
38
|
+
import { resolveStatusLineCliCommand, readPlanUsageTelemetryEnabled, readKeepWarmSettings, findEffectiveUserStatusLineCommand, } from './hooks-config.js';
|
|
38
39
|
import { buildSshConnectionArgs, defaultRemoteCommandForMode, remoteLoginShellCommand, remoteSshTarget, remoteTmuxSessionAlive, } from './remote-hosts.js';
|
|
39
40
|
import { buildDockerBaseArgs, buildDockerCreateArgs, containerApiUrl, CONTAINER_HOME, defaultDockerCommandForMode, hostGatewayAlias, resolveDockerClaudeArtifacts, resolveDockerCredentialArtifacts, resolveDockerDaemonMountSource, } from './docker-hosts.js';
|
|
40
41
|
import { wrapWithNice, SAFE_PATH_PATTERN, resolveLocalShell, loginShellArgs, waitForProcessesExit, } from './utils/index.js';
|
|
@@ -44,6 +45,7 @@ import { decideReconnect, advanceBackoff, freshReconnectState, resetReconnectSta
|
|
|
44
45
|
// ============================================================================
|
|
45
46
|
import { EXEC_TIMEOUT_MS } from './config/exec-timeout.js';
|
|
46
47
|
import { ensureDeepSeekStatusShim } from './deepseek-status-shim.js';
|
|
48
|
+
import { restrictTmuxPrefixTable } from './tmux-prefix-table.js';
|
|
47
49
|
/** How long a cached process snapshot stays usable. */
|
|
48
50
|
const PROC_SNAPSHOT_TTL_MS = 2000;
|
|
49
51
|
/**
|
|
@@ -89,6 +91,22 @@ const DEFAULT_PANE_EXIT_INTERVAL_MS = 2000;
|
|
|
89
91
|
const DEFAULT_REMOTE_RECONNECT_INTERVAL_MS = 5000;
|
|
90
92
|
/** Stable cwd for tmux server/pane launch; actual session cwd is reached inside the pane. */
|
|
91
93
|
const TMUX_LAUNCH_CWD = '/tmp';
|
|
94
|
+
/**
|
|
95
|
+
* TMUX_LAUNCH_CWD in every spelling a pane can report it. tmux reads a pane's
|
|
96
|
+
* directory from its process, which comes back resolved (`/private/tmp` on
|
|
97
|
+
* macOS, where `/tmp` is a symlink), so the literal and the resolved spelling
|
|
98
|
+
* both count. Computed once.
|
|
99
|
+
*/
|
|
100
|
+
const TMUX_LAUNCH_CWD_SPELLINGS = (() => {
|
|
101
|
+
const spellings = new Set([TMUX_LAUNCH_CWD]);
|
|
102
|
+
try {
|
|
103
|
+
spellings.add(realpathSync(TMUX_LAUNCH_CWD));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// Unresolvable launch directory: the literal spelling is all there is.
|
|
107
|
+
}
|
|
108
|
+
return spellings;
|
|
109
|
+
})();
|
|
92
110
|
/** Claude Code native macOS recommendation for avoiding low nofile startup failures. */
|
|
93
111
|
export const CLAUDE_CODE_NOFILE_LIMIT = 2147483646;
|
|
94
112
|
/**
|
|
@@ -150,9 +168,13 @@ const PANE_LIST_SEP = '|';
|
|
|
150
168
|
* know a variable substitutes the empty string rather than failing, which is how
|
|
151
169
|
* tmux 3.2a answers `#{pane_dead_signal}` (added in 3.4), and the parser reads a
|
|
152
170
|
* short row as "pid known, deadness unknown" rather than discarding it.
|
|
171
|
+
*
|
|
172
|
+
* `#{pane_current_path}` comes last on purpose: a directory name may contain the
|
|
173
|
+
* separator, and only the final field can absorb it without ambiguity.
|
|
153
174
|
*/
|
|
154
175
|
const PANE_LIST_FORMAT = `#{session_name}${PANE_LIST_SEP}#{pane_pid}` +
|
|
155
|
-
`${PANE_LIST_SEP}#{pane_dead}${PANE_LIST_SEP}#{pane_dead_status}${PANE_LIST_SEP}#{pane_dead_signal}
|
|
176
|
+
`${PANE_LIST_SEP}#{pane_dead}${PANE_LIST_SEP}#{pane_dead_status}${PANE_LIST_SEP}#{pane_dead_signal}` +
|
|
177
|
+
`${PANE_LIST_SEP}#{pane_current_path}`;
|
|
156
178
|
/**
|
|
157
179
|
* 构建 pane 启动前的 nofile 修复命令。
|
|
158
180
|
*
|
|
@@ -201,6 +223,8 @@ export function parsePaneRows(output) {
|
|
|
201
223
|
dead: deadFlag === '1' ? true : deadFlag === '0' ? false : undefined,
|
|
202
224
|
exitStatus: paneField(fields, 3),
|
|
203
225
|
exitSignal: paneField(fields, 4),
|
|
226
|
+
// Everything after the fifth separator, so a path containing `|` stays whole.
|
|
227
|
+
currentPath: fields.slice(5).join(PANE_LIST_SEP) || undefined,
|
|
204
228
|
});
|
|
205
229
|
}
|
|
206
230
|
return rows;
|
|
@@ -864,6 +888,18 @@ export function buildCodexCommand(config) {
|
|
|
864
888
|
return 'codex';
|
|
865
889
|
return buildSpawnCommandFromRegistry(entry, { mode: 'codex', sessionId: '', codexConfig: config }) ?? 'codex';
|
|
866
890
|
}
|
|
891
|
+
/**
|
|
892
|
+
* Whether a launch carries `idleCompaction: false` in its one `--settings` JSON: keep-warm on
|
|
893
|
+
* at launch (`keepWarmOn`), the statusLine exporter injected (without its `prompt_cache` reports
|
|
894
|
+
* keep-warm cannot run, and the opt-out alone would only cost the user Claude Code's own idle
|
|
895
|
+
* compaction), and the CLI's `idleCompactionSetting` gate passed, fail-closed like `--name`:
|
|
896
|
+
* an unknown version means no key. Pure; `claudeCliVersion` as in buildSpawnCommand.
|
|
897
|
+
*/
|
|
898
|
+
export function decideIdleCompactionOptOut(o) {
|
|
899
|
+
return (o.statusLine === 'injected' &&
|
|
900
|
+
keepWarmOn(o.keepWarm, o.keepWarmDefault, !!o.spawnedByAgent) &&
|
|
901
|
+
launchGatePasses(o.mode, 'idleCompactionSetting', o.claudeCliVersion));
|
|
902
|
+
}
|
|
867
903
|
export function buildSpawnCommand(options) {
|
|
868
904
|
// Every CLI's command shape is registry DATA, rendered by the argv engine — see
|
|
869
905
|
// config/cli-registry/argv.ts for why config can never contain shell text. A `shell`-kind
|
|
@@ -1934,6 +1970,21 @@ export class TmuxManager extends EventEmitter {
|
|
|
1934
1970
|
const command = await resolveStatusLineCliCommand(workingDir, enabled);
|
|
1935
1971
|
return { command, state: command ? 'injected' : enabled ? 'workspace-statusline' : 'collection-off' };
|
|
1936
1972
|
}
|
|
1973
|
+
/**
|
|
1974
|
+
* Whether this launch carries `idleCompaction: false` (decideIdleCompactionOptOut), with the
|
|
1975
|
+
* keep-warm app default read fresh like the plan-usage switch above. Logged when keep-warm is
|
|
1976
|
+
* on but the version gate keeps the key off, so a session that may still idle-compact says why.
|
|
1977
|
+
*/
|
|
1978
|
+
async _resolveIdleCompactionOptOut(mode, statusLine, keepWarm, spawnedByAgent) {
|
|
1979
|
+
if (statusLine !== 'injected')
|
|
1980
|
+
return false; // no settings read for a launch that can never carry it
|
|
1981
|
+
const { keepWarmDefault } = await readKeepWarmSettings();
|
|
1982
|
+
const off = decideIdleCompactionOptOut({ mode, statusLine, keepWarm, keepWarmDefault, spawnedByAgent });
|
|
1983
|
+
if (!off && keepWarmOn(keepWarm, keepWarmDefault, !!spawnedByAgent)) {
|
|
1984
|
+
console.log(`[TmuxManager] Keep-warm is on but Claude Code's version is unknown or predates the idleCompaction setting; launching without the opt-out`);
|
|
1985
|
+
}
|
|
1986
|
+
return off;
|
|
1987
|
+
}
|
|
1937
1988
|
/**
|
|
1938
1989
|
* Export the user's own REAL statusLine command (found by
|
|
1939
1990
|
* findEffectiveUserStatusLineCommand) via tmux setenv, so the shared
|
|
@@ -1971,7 +2022,7 @@ export class TmuxManager extends EventEmitter {
|
|
|
1971
2022
|
* In test mode: creates an in-memory session only (no real tmux session).
|
|
1972
2023
|
*/
|
|
1973
2024
|
async createSession(options) {
|
|
1974
|
-
const { sessionId, workingDir, mode, name, cliName, niceConfig, model, claudeMode, allowedTools, openCodeConfig, codexConfig, geminiConfig, antigravityConfig, piConfig, grokConfig, copilotConfig, deepSeekConfig, ompConfig, resumeSessionId, envOverrides, effort, advisorModel, historyLimit = DEFAULT_TMUX_HISTORY_LIMIT, remote, docker, owner, } = options;
|
|
2025
|
+
const { sessionId, workingDir, mode, name, cliName, niceConfig, model, claudeMode, allowedTools, openCodeConfig, codexConfig, geminiConfig, antigravityConfig, piConfig, grokConfig, copilotConfig, deepSeekConfig, ompConfig, resumeSessionId, envOverrides, effort, advisorModel, keepWarm, spawnedByAgent, historyLimit = DEFAULT_TMUX_HISTORY_LIMIT, remote, docker, owner, } = options;
|
|
1975
2026
|
const muxName = `codeman-${sessionId.slice(0, 8)}`;
|
|
1976
2027
|
if (!isValidMuxName(muxName)) {
|
|
1977
2028
|
throw new Error('Invalid session name: contains unsafe characters');
|
|
@@ -2022,6 +2073,7 @@ export class TmuxManager extends EventEmitter {
|
|
|
2022
2073
|
}
|
|
2023
2074
|
const envExportsStr = this.buildEnvExports(sessionId, muxName, mode).join(' && ');
|
|
2024
2075
|
const { command: statusLineCommand, state: statusLine } = await this._resolveStatusLine(mode, workingDir, !!(remote || docker));
|
|
2076
|
+
const idleCompactionOff = await this._resolveIdleCompactionOptOut(mode, statusLine, keepWarm, spawnedByAgent);
|
|
2025
2077
|
// The user's own REAL statusLine, if any (walked via Claude Code's own
|
|
2026
2078
|
// settings precedence) — exported below so the shared exporter script
|
|
2027
2079
|
// can wrap it. Only worth discovering when we're actually injecting.
|
|
@@ -2045,6 +2097,7 @@ export class TmuxManager extends EventEmitter {
|
|
|
2045
2097
|
effort,
|
|
2046
2098
|
advisorModel,
|
|
2047
2099
|
statusLineCommand,
|
|
2100
|
+
idleCompactionOff,
|
|
2048
2101
|
sessionName: cliName,
|
|
2049
2102
|
});
|
|
2050
2103
|
const config = niceConfig || DEFAULT_NICE_CONFIG;
|
|
@@ -2094,6 +2147,9 @@ export class TmuxManager extends EventEmitter {
|
|
|
2094
2147
|
catch {
|
|
2095
2148
|
/* Non-critical */
|
|
2096
2149
|
}
|
|
2150
|
+
// Browser keystrokes reach the attach client, so tmux's stock prefix table would
|
|
2151
|
+
// let Ctrl+B ( or s move a tab onto another session. Before the agent starts.
|
|
2152
|
+
restrictTmuxPrefixTable(this.tmux());
|
|
2097
2153
|
// Per-CLI env: API keys, config blobs, config-sourced vars, status bridges. All of
|
|
2098
2154
|
// it is registry data, so this is one unconditional call rather than a per-mode ladder.
|
|
2099
2155
|
this._configureCliEnv(muxName, sessionId, mode, legacyConfigForMode(mode, options));
|
|
@@ -2163,6 +2219,7 @@ export class TmuxManager extends EventEmitter {
|
|
|
2163
2219
|
attached: false,
|
|
2164
2220
|
name,
|
|
2165
2221
|
statusLine,
|
|
2222
|
+
idleCompactionOff,
|
|
2166
2223
|
};
|
|
2167
2224
|
this.sessions.set(sessionId, session);
|
|
2168
2225
|
this.saveSessions();
|
|
@@ -2250,7 +2307,7 @@ export class TmuxManager extends EventEmitter {
|
|
|
2250
2307
|
* preserving the session and its scrollback buffer.
|
|
2251
2308
|
*/
|
|
2252
2309
|
async respawnPane(options) {
|
|
2253
|
-
const { sessionId, workingDir, mode, niceConfig, model, claudeMode, allowedTools, openCodeConfig, codexConfig, geminiConfig, antigravityConfig, piConfig, grokConfig, copilotConfig, deepSeekConfig, ompConfig, resumeSessionId, envOverrides, unsetEnvKeys, effort, advisorModel, remote, docker, cliName, } = options;
|
|
2310
|
+
const { sessionId, workingDir, mode, niceConfig, model, claudeMode, allowedTools, openCodeConfig, codexConfig, geminiConfig, antigravityConfig, piConfig, grokConfig, copilotConfig, deepSeekConfig, ompConfig, resumeSessionId, envOverrides, unsetEnvKeys, effort, advisorModel, keepWarm, spawnedByAgent, remote, docker, cliName, } = options;
|
|
2254
2311
|
const session = this.sessions.get(sessionId);
|
|
2255
2312
|
if (!session)
|
|
2256
2313
|
return null;
|
|
@@ -2261,6 +2318,7 @@ export class TmuxManager extends EventEmitter {
|
|
|
2261
2318
|
const { pathExport } = this.buildPathExport(mode);
|
|
2262
2319
|
const envExportsStr = this.buildEnvExports(sessionId, muxName, mode).join(' && ');
|
|
2263
2320
|
const { command: statusLineCommand, state: statusLine } = await this._resolveStatusLine(mode, workingDir, !!(remote || docker));
|
|
2321
|
+
const idleCompactionOff = await this._resolveIdleCompactionOptOut(mode, statusLine, keepWarm, spawnedByAgent);
|
|
2264
2322
|
const userStatusLineCommand = statusLineCommand ? await findEffectiveUserStatusLineCommand(workingDir) : undefined;
|
|
2265
2323
|
const baseCmd = buildSpawnCommand({
|
|
2266
2324
|
mode,
|
|
@@ -2281,6 +2339,7 @@ export class TmuxManager extends EventEmitter {
|
|
|
2281
2339
|
effort,
|
|
2282
2340
|
advisorModel,
|
|
2283
2341
|
statusLineCommand,
|
|
2342
|
+
idleCompactionOff,
|
|
2284
2343
|
sessionName: cliName,
|
|
2285
2344
|
});
|
|
2286
2345
|
const config = niceConfig || DEFAULT_NICE_CONFIG;
|
|
@@ -2313,8 +2372,9 @@ export class TmuxManager extends EventEmitter {
|
|
|
2313
2372
|
const pid = this.getPanePid(muxName);
|
|
2314
2373
|
if (pid)
|
|
2315
2374
|
session.pid = pid;
|
|
2316
|
-
if (session.statusLine !== statusLine) {
|
|
2375
|
+
if (session.statusLine !== statusLine || session.idleCompactionOff !== idleCompactionOff) {
|
|
2317
2376
|
session.statusLine = statusLine;
|
|
2377
|
+
session.idleCompactionOff = idleCompactionOff;
|
|
2318
2378
|
this.saveSessions();
|
|
2319
2379
|
}
|
|
2320
2380
|
return pid;
|
|
@@ -2663,13 +2723,30 @@ export class TmuxManager extends EventEmitter {
|
|
|
2663
2723
|
// socket tag to reconcile and no cross-socket ambiguity that could mark a
|
|
2664
2724
|
// live session dead (the root cause of vanished/duplicate tabs).
|
|
2665
2725
|
let active;
|
|
2726
|
+
const paneDirs = new Map();
|
|
2666
2727
|
try {
|
|
2667
2728
|
const output = execSync(`${this.tmux()} list-panes -a -F '${PANE_LIST_FORMAT}' 2>/dev/null || true`, {
|
|
2668
2729
|
encoding: 'utf-8',
|
|
2669
2730
|
timeout: EXEC_TIMEOUT_MS,
|
|
2670
|
-
})
|
|
2731
|
+
});
|
|
2732
|
+
// Not trimmed: the directory is the last field, so trimming would cut a
|
|
2733
|
+
// trailing space off the last row's path. parsePaneRows skips empty lines.
|
|
2671
2734
|
const rows = parsePaneRows(output);
|
|
2672
2735
|
active = new Map(rows.map((row) => [row.sessionName, row.pid]));
|
|
2736
|
+
// A discovered session's directory, from its first pane with a usable path.
|
|
2737
|
+
// The path is admitted only if it passes the same check createSession and
|
|
2738
|
+
// respawnPane apply, since it was set by whoever owns the pane, not by us.
|
|
2739
|
+
// The launch directory counts as no answer: every pane starts there, and a
|
|
2740
|
+
// remote or docker pane never cds out of it, so for such a session it is
|
|
2741
|
+
// not the workspace — and a rediscovered record cannot tell it is one.
|
|
2742
|
+
for (const row of rows) {
|
|
2743
|
+
if (row.currentPath &&
|
|
2744
|
+
!TMUX_LAUNCH_CWD_SPELLINGS.has(row.currentPath) &&
|
|
2745
|
+
!paneDirs.has(row.sessionName) &&
|
|
2746
|
+
isValidPath(row.currentPath)) {
|
|
2747
|
+
paneDirs.set(row.sessionName, row.currentPath);
|
|
2748
|
+
}
|
|
2749
|
+
}
|
|
2673
2750
|
// The same read answers both questions, so recovery starts with a pane-exit
|
|
2674
2751
|
// reading rather than waiting for the first stats tick — which may never
|
|
2675
2752
|
// come, since the collector only starts when boot found a live session.
|
|
@@ -2681,6 +2758,11 @@ export class TmuxManager extends EventEmitter {
|
|
|
2681
2758
|
console.error('[TmuxManager] Failed to list tmux panes:', err);
|
|
2682
2759
|
active = new Map();
|
|
2683
2760
|
}
|
|
2761
|
+
// Sessions that survived an upgrade may sit on a server whose prefix table was never
|
|
2762
|
+
// reduced (createSession does it for new ones), so cover them at boot too. Only with
|
|
2763
|
+
// panes listed: on an empty socket `list-keys` spins up a throwaway server instead.
|
|
2764
|
+
if (active.size > 0)
|
|
2765
|
+
restrictTmuxPrefixTable(this.tmux());
|
|
2684
2766
|
// Check tracked sessions against the live pane list.
|
|
2685
2767
|
for (const [sessionId, session] of this.sessions) {
|
|
2686
2768
|
const pid = active.get(session.muxName);
|
|
@@ -2724,11 +2806,13 @@ export class TmuxManager extends EventEmitter {
|
|
|
2724
2806
|
muxName: sessionName,
|
|
2725
2807
|
pid,
|
|
2726
2808
|
createdAt: Date.now(),
|
|
2727
|
-
|
|
2809
|
+
// Where the pane actually works, when tmux said; the server's cwd is only a fallback.
|
|
2810
|
+
workingDir: paneDirs.get(sessionName) ?? process.cwd(),
|
|
2728
2811
|
mode: 'claude',
|
|
2729
2812
|
attached: false,
|
|
2730
2813
|
name: `Restored: ${sessionName}`,
|
|
2731
|
-
// Every field above except the name
|
|
2814
|
+
// Every field above except the name, the pid and, when tmux reported a
|
|
2815
|
+
// usable one, the directory is a guess: this record
|
|
2732
2816
|
// was rebuilt from the socket because Codeman's own bookkeeping did not
|
|
2733
2817
|
// have it. The synthetic id also cannot find the session's state.json
|
|
2734
2818
|
// entry, so a remote or docker session rediscovered this way arrives
|
|
@@ -3335,7 +3419,12 @@ export class TmuxManager extends EventEmitter {
|
|
|
3335
3419
|
* - Text followed by `\r` goes in as ONE bracketed paste (buildPasteTextCommands),
|
|
3336
3420
|
* so Codex cannot fold the Enter into a paste burst; a single character is typed
|
|
3337
3421
|
* with `send-keys -l` instead, so a dialog answer selects (submitsAsKeys)
|
|
3338
|
-
* -
|
|
3422
|
+
* - Single-line text without `\r` is typed literally with `send-keys -l` (no key
|
|
3423
|
+
* interpretation)
|
|
3424
|
+
* - A `\n` inside the text is kept (`\r\n` loses only its `\r`), and multi-line text
|
|
3425
|
+
* always goes in as ONE bracketed paste, with or without a following Enter: inside
|
|
3426
|
+
* the paste markers a CLI that enabled bracketed paste receives the line breaks as
|
|
3427
|
+
* pasted text, where typed as keys each one could submit a line on its own
|
|
3339
3428
|
* - `Enter` key is sent as a SEPARATE tmux invocation after a small delay
|
|
3340
3429
|
* - Ink (Claude CLI) needs text and Enter split to avoid treating Enter as a newline
|
|
3341
3430
|
*/
|
|
@@ -3345,8 +3434,10 @@ export class TmuxManager extends EventEmitter {
|
|
|
3345
3434
|
console.error(`[TmuxManager] sendInput failed: no session found for ${sessionId}. Known: ${Array.from(this.sessions.keys()).join(', ')}`);
|
|
3346
3435
|
return false;
|
|
3347
3436
|
}
|
|
3348
|
-
// TEST MODE: No-op — don't send input to real tmux sessions
|
|
3349
|
-
|
|
3437
|
+
// TEST MODE: No-op — don't send input to real tmux sessions. The gate lives in
|
|
3438
|
+
// inputRunner() so a test subclass can record what WOULD reach tmux.
|
|
3439
|
+
const run = this.inputRunner();
|
|
3440
|
+
if (!run) {
|
|
3350
3441
|
return true;
|
|
3351
3442
|
}
|
|
3352
3443
|
console.log(`[TmuxManager] sendInput to ${session.muxName}, input length: ${input.length}, hasCarriageReturn: ${input.includes('\r')}`);
|
|
@@ -3356,7 +3447,14 @@ export class TmuxManager extends EventEmitter {
|
|
|
3356
3447
|
}
|
|
3357
3448
|
try {
|
|
3358
3449
|
const hasCarriageReturn = input.includes('\r');
|
|
3359
|
-
|
|
3450
|
+
// Leading and trailing blank lines are dropped, so neither `"\nfix it\r"` nor
|
|
3451
|
+
// `" \nfix it\r"` pastes an empty first line (nor `"fix it\n\r"` an empty last
|
|
3452
|
+
// one). The leading match ends at a line break, so the first real line keeps its
|
|
3453
|
+
// indentation.
|
|
3454
|
+
const textPart = input
|
|
3455
|
+
.replace(/\r/g, '')
|
|
3456
|
+
.replace(/^\s*\n/, '')
|
|
3457
|
+
.trimEnd();
|
|
3360
3458
|
if (textPart && hasCarriageReturn) {
|
|
3361
3459
|
// Send text first, then Enter as a SEPARATE tmux command after a short delay.
|
|
3362
3460
|
// Ink (Claude CLI's terminal framework) needs them split — sending both in a
|
|
@@ -3367,25 +3465,29 @@ export class TmuxManager extends EventEmitter {
|
|
|
3367
3465
|
// selection dialog ignores a pasted `3` and Enter then confirms the
|
|
3368
3466
|
// highlighted option (see submitsAsKeys).
|
|
3369
3467
|
if (submitsAsKeys(textPart)) {
|
|
3370
|
-
await
|
|
3468
|
+
await run(`${this.tmux()} send-keys -t "${session.muxName}" -l ${shellescape(escapeTmuxTrailingSemicolon(textPart))}`);
|
|
3371
3469
|
}
|
|
3372
3470
|
else {
|
|
3373
|
-
await pasteText(
|
|
3471
|
+
await pasteText(run, buildPasteTextCommands(this.tmux(), session.muxName, textPart));
|
|
3374
3472
|
}
|
|
3375
3473
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
3376
|
-
await
|
|
3377
|
-
|
|
3378
|
-
|
|
3474
|
+
await run(`${this.tmux()} send-keys -t "${session.muxName}" Enter`);
|
|
3475
|
+
}
|
|
3476
|
+
else if (textPart.includes('\n')) {
|
|
3477
|
+
// Multi-line text, no Enter: pasted, because typed as keys every `\n` would
|
|
3478
|
+
// reach the pane as a key the CLI may read as submit. A pane that has not
|
|
3479
|
+
// enabled bracketed paste (POSIX sh, macOS /bin/bash 3.2) still gets every line
|
|
3480
|
+
// break as a CR, so there every line but the last runs; before line breaks were
|
|
3481
|
+
// kept, the joined text was typed and nothing ran.
|
|
3482
|
+
await pasteText(run, buildPasteTextCommands(this.tmux(), session.muxName, textPart));
|
|
3379
3483
|
}
|
|
3380
3484
|
else if (textPart) {
|
|
3381
3485
|
// Text only, no Enter
|
|
3382
|
-
await
|
|
3486
|
+
await run(`${this.tmux()} send-keys -t "${session.muxName}" -l ${shellescape(escapeTmuxTrailingSemicolon(textPart))}`);
|
|
3383
3487
|
}
|
|
3384
3488
|
else if (hasCarriageReturn) {
|
|
3385
3489
|
// Enter only
|
|
3386
|
-
await
|
|
3387
|
-
timeout: EXEC_TIMEOUT_MS,
|
|
3388
|
-
});
|
|
3490
|
+
await run(`${this.tmux()} send-keys -t "${session.muxName}" Enter`);
|
|
3389
3491
|
}
|
|
3390
3492
|
return true;
|
|
3391
3493
|
}
|
|
@@ -3394,6 +3496,16 @@ export class TmuxManager extends EventEmitter {
|
|
|
3394
3496
|
return false;
|
|
3395
3497
|
}
|
|
3396
3498
|
}
|
|
3499
|
+
/**
|
|
3500
|
+
* How {@link sendInput} reaches tmux, or null where it must not (vitest). Split
|
|
3501
|
+
* out like {@link readPaneRows}: with the test-mode gate at the top of sendInput,
|
|
3502
|
+
* no test could see which commands a submit actually sends.
|
|
3503
|
+
*/
|
|
3504
|
+
inputRunner() {
|
|
3505
|
+
if (IS_TEST_MODE)
|
|
3506
|
+
return null;
|
|
3507
|
+
return (cmd) => execAsync(cmd, { timeout: EXEC_TIMEOUT_MS });
|
|
3508
|
+
}
|
|
3397
3509
|
// ========== Pane Methods (for Agent Team teammate panes) ==========
|
|
3398
3510
|
/**
|
|
3399
3511
|
* Enable mouse mode for an existing tmux session.
|
|
@@ -3493,7 +3605,9 @@ export class TmuxManager extends EventEmitter {
|
|
|
3493
3605
|
}
|
|
3494
3606
|
/**
|
|
3495
3607
|
* Send input to a specific pane within a tmux session.
|
|
3496
|
-
*
|
|
3608
|
+
* Types the text literally with `send-keys -l`, line breaks stripped, then Enter
|
|
3609
|
+
* when the input carried a `\r`. Unlike sendInput(), it neither pastes nor keeps
|
|
3610
|
+
* the line breaks of multi-line text.
|
|
3497
3611
|
*/
|
|
3498
3612
|
sendInputToPane(muxName, paneTarget, input) {
|
|
3499
3613
|
if (IS_TEST_MODE)
|
|
@@ -3563,19 +3677,21 @@ export class TmuxManager extends EventEmitter {
|
|
|
3563
3677
|
/**
|
|
3564
3678
|
* Plain visible-frame text for the working/idle probe (see `session.ts`).
|
|
3565
3679
|
*
|
|
3566
|
-
* One `capture-pane` and nothing else: no
|
|
3567
|
-
*
|
|
3568
|
-
*
|
|
3569
|
-
*
|
|
3680
|
+
* One `capture-pane` and nothing else: no `display-message` cursor query, no
|
|
3681
|
+
* repaint reconstruction: this feeds a regex, not a terminal. `styles` adds
|
|
3682
|
+
* `-e` for a reader that must tell faint text from typed text (the keep-warm
|
|
3683
|
+
* composer check); lines stay `\n`-separated either way. Returns null in tests
|
|
3684
|
+
* (no tmux) so callers fall back to their stream heuristics rather than
|
|
3685
|
+
* reading an empty screen as "not working".
|
|
3570
3686
|
*/
|
|
3571
|
-
capturePaneText(muxName, paneTarget) {
|
|
3687
|
+
capturePaneText(muxName, paneTarget, opts) {
|
|
3572
3688
|
if (IS_TEST_MODE)
|
|
3573
3689
|
return null;
|
|
3574
3690
|
const target = resolveTmuxPaneTarget(muxName, paneTarget);
|
|
3575
3691
|
if (!target)
|
|
3576
3692
|
return null;
|
|
3577
3693
|
try {
|
|
3578
|
-
return execSync(`${this.tmux()} capture-pane -p -t ${shellescape(target)}`, {
|
|
3694
|
+
return execSync(`${this.tmux()} capture-pane -p${opts?.styles ? ' -e' : ''} -t ${shellescape(target)}`, {
|
|
3579
3695
|
encoding: 'utf-8',
|
|
3580
3696
|
timeout: EXEC_TIMEOUT_MS,
|
|
3581
3697
|
});
|