aicodeman 1.1.17 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/config/dependency-registry.d.ts.map +1 -1
  2. package/dist/config/dependency-registry.js +8 -0
  3. package/dist/config/dependency-registry.js.map +1 -1
  4. package/dist/mux-interface.d.ts +3 -1
  5. package/dist/mux-interface.d.ts.map +1 -1
  6. package/dist/ralph-tracker.d.ts +19 -1
  7. package/dist/ralph-tracker.d.ts.map +1 -1
  8. package/dist/ralph-tracker.js +44 -3
  9. package/dist/ralph-tracker.js.map +1 -1
  10. package/dist/search-service.d.ts +78 -0
  11. package/dist/search-service.d.ts.map +1 -0
  12. package/dist/search-service.js +155 -0
  13. package/dist/search-service.js.map +1 -0
  14. package/dist/session.d.ts +12 -6
  15. package/dist/session.d.ts.map +1 -1
  16. package/dist/session.js +36 -8
  17. package/dist/session.js.map +1 -1
  18. package/dist/tmux-manager.d.ts +4 -0
  19. package/dist/tmux-manager.d.ts.map +1 -1
  20. package/dist/tmux-manager.js +92 -5
  21. package/dist/tmux-manager.js.map +1 -1
  22. package/dist/types/index.d.ts +1 -0
  23. package/dist/types/index.d.ts.map +1 -1
  24. package/dist/types/index.js +1 -0
  25. package/dist/types/index.js.map +1 -1
  26. package/dist/types/ralph.d.ts +4 -0
  27. package/dist/types/ralph.d.ts.map +1 -1
  28. package/dist/types/ralph.js.map +1 -1
  29. package/dist/types/search.d.ts +73 -0
  30. package/dist/types/search.d.ts.map +1 -0
  31. package/dist/types/search.js +20 -0
  32. package/dist/types/search.js.map +1 -0
  33. package/dist/types/session.d.ts +15 -2
  34. package/dist/types/session.d.ts.map +1 -1
  35. package/dist/types/session.js +3 -1
  36. package/dist/types/session.js.map +1 -1
  37. package/dist/utils/gemini-cli-resolver.d.ts +20 -0
  38. package/dist/utils/gemini-cli-resolver.d.ts.map +1 -0
  39. package/dist/utils/gemini-cli-resolver.js +62 -0
  40. package/dist/utils/gemini-cli-resolver.js.map +1 -0
  41. package/dist/utils/index.d.ts +1 -0
  42. package/dist/utils/index.d.ts.map +1 -1
  43. package/dist/utils/index.js +1 -0
  44. package/dist/utils/index.js.map +1 -1
  45. package/dist/web/away-digest.d.ts +91 -0
  46. package/dist/web/away-digest.d.ts.map +1 -0
  47. package/dist/web/away-digest.js +244 -0
  48. package/dist/web/away-digest.js.map +1 -0
  49. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  50. package/dist/web/public/{app.d42616c5.js → app.a8d73c32.js} +2 -2
  51. package/dist/web/public/{app.d42616c5.js.br → app.a8d73c32.js.br} +0 -0
  52. package/dist/web/public/{app.d42616c5.js.gz → app.a8d73c32.js.gz} +0 -0
  53. package/dist/web/public/constants.1c779517.js.gz +0 -0
  54. package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
  55. package/dist/web/public/index.html +93 -8
  56. package/dist/web/public/index.html.br +0 -0
  57. package/dist/web/public/index.html.gz +0 -0
  58. package/dist/web/public/input-cjk.4e950e0a.js.gz +0 -0
  59. package/dist/web/public/keyboard-accessory.3f91acef.js.gz +0 -0
  60. package/dist/web/public/mobile-handlers.b5a667ef.js.gz +0 -0
  61. package/dist/web/public/mobile.8a9aff7a.css +1 -0
  62. package/dist/web/public/mobile.8a9aff7a.css.br +0 -0
  63. package/dist/web/public/mobile.8a9aff7a.css.gz +0 -0
  64. package/dist/web/public/notification-manager.ca9dc40d.js.gz +0 -0
  65. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  66. package/dist/web/public/{panels-ui.aedcf302.js → panels-ui.772e92c9.js} +131 -86
  67. package/dist/web/public/panels-ui.772e92c9.js.br +0 -0
  68. package/dist/web/public/panels-ui.772e92c9.js.gz +0 -0
  69. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  70. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  71. package/dist/web/public/respawn-ui.2d249da9.js.gz +0 -0
  72. package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
  73. package/dist/web/public/session-ui.da3e53f2.js +36 -0
  74. package/dist/web/public/session-ui.da3e53f2.js.br +0 -0
  75. package/dist/web/public/session-ui.da3e53f2.js.gz +0 -0
  76. package/dist/web/public/settings-ui.38feb956.js.gz +0 -0
  77. package/dist/web/public/styles.1b3e6147.css +1 -0
  78. package/dist/web/public/styles.1b3e6147.css.br +0 -0
  79. package/dist/web/public/styles.1b3e6147.css.gz +0 -0
  80. package/dist/web/public/subagent-windows.69b60c35.js.gz +0 -0
  81. package/dist/web/public/sw.js.gz +0 -0
  82. package/dist/web/public/terminal-ui.865f21f6.js +3 -0
  83. package/dist/web/public/terminal-ui.865f21f6.js.br +0 -0
  84. package/dist/web/public/terminal-ui.865f21f6.js.gz +0 -0
  85. package/dist/web/public/ultracode-panel.js.gz +0 -0
  86. package/dist/web/public/ultracode-windows.js.gz +0 -0
  87. package/dist/web/public/upload.html.gz +0 -0
  88. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  89. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  90. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  91. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  92. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  93. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  94. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  95. package/dist/web/public/vendor/xterm.css.gz +0 -0
  96. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  97. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  98. package/dist/web/routes/index.d.ts +1 -0
  99. package/dist/web/routes/index.d.ts.map +1 -1
  100. package/dist/web/routes/index.js +1 -0
  101. package/dist/web/routes/index.js.map +1 -1
  102. package/dist/web/routes/ralph-routes.d.ts.map +1 -1
  103. package/dist/web/routes/ralph-routes.js +7 -1
  104. package/dist/web/routes/ralph-routes.js.map +1 -1
  105. package/dist/web/routes/search-routes.d.ts +27 -0
  106. package/dist/web/routes/search-routes.d.ts.map +1 -0
  107. package/dist/web/routes/search-routes.js +123 -0
  108. package/dist/web/routes/search-routes.js.map +1 -0
  109. package/dist/web/routes/session-routes.d.ts.map +1 -1
  110. package/dist/web/routes/session-routes.js +41 -13
  111. package/dist/web/routes/session-routes.js.map +1 -1
  112. package/dist/web/routes/system-routes.d.ts.map +1 -1
  113. package/dist/web/routes/system-routes.js +56 -1
  114. package/dist/web/routes/system-routes.js.map +1 -1
  115. package/dist/web/schemas.d.ts +39 -0
  116. package/dist/web/schemas.d.ts.map +1 -1
  117. package/dist/web/schemas.js +49 -4
  118. package/dist/web/schemas.js.map +1 -1
  119. package/dist/web/server.d.ts.map +1 -1
  120. package/dist/web/server.js +5 -1
  121. package/dist/web/server.js.map +1 -1
  122. package/package.json +1 -1
  123. package/dist/web/public/mobile.38346326.css +0 -1
  124. package/dist/web/public/mobile.38346326.css.br +0 -0
  125. package/dist/web/public/mobile.38346326.css.gz +0 -0
  126. package/dist/web/public/panels-ui.aedcf302.js.br +0 -0
  127. package/dist/web/public/panels-ui.aedcf302.js.gz +0 -0
  128. package/dist/web/public/session-ui.0ee6c334.js +0 -36
  129. package/dist/web/public/session-ui.0ee6c334.js.br +0 -0
  130. package/dist/web/public/session-ui.0ee6c334.js.gz +0 -0
  131. package/dist/web/public/styles.4d2984bd.css +0 -1
  132. package/dist/web/public/styles.4d2984bd.css.br +0 -0
  133. package/dist/web/public/styles.4d2984bd.css.gz +0 -0
  134. package/dist/web/public/terminal-ui.f4f3b686.js +0 -3
  135. package/dist/web/public/terminal-ui.f4f3b686.js.br +0 -0
  136. package/dist/web/public/terminal-ui.f4f3b686.js.gz +0 -0
@@ -0,0 +1,155 @@
1
+ /**
2
+ * @fileoverview Pure cross-session federated search core (COD-9).
3
+ *
4
+ * `searchSources()` is the testable heart of `GET /api/search`: it takes a
5
+ * normalized query plus already-collected, in-memory source data and returns
6
+ * grouped, ranked, and capped results. It performs NO I/O — the route wrapper
7
+ * (`src/web/routes/search-routes.ts`) is responsible for harvesting the source
8
+ * arrays from the live server stores (sessions, run-summary trackers, attachment
9
+ * histories) in a bounded way before calling this.
10
+ *
11
+ * v1 scope (do not expand here): three sources — sessions/cases, run-summary
12
+ * events, file paths. Terminal-buffer scanning and any persisted index are
13
+ * explicitly deferred.
14
+ *
15
+ * Ranking: results are grouped by source type in the fixed order
16
+ * sessions → events → files. Within each group, exact (case-insensitive)
17
+ * name/path matches come first, then recency (newest timestamp first) as the
18
+ * tiebreak. There is no relevance-scoring pass in v1.
19
+ *
20
+ * Safety: file results only ever expose a workspace-relative path — server-
21
+ * private absolute paths are never placed in a result. Per-group and total caps
22
+ * bound the output so a broad query cannot return an unbounded payload.
23
+ *
24
+ * Key exports:
25
+ * - searchSources() — the pure core.
26
+ * - SEARCH_TOTAL_CAP / SEARCH_PER_GROUP_CAP — the output bounds.
27
+ * - SearchSources and the *Input row types — the source-data contract.
28
+ */
29
+ /** Maximum results returned across all groups combined. */
30
+ export const SEARCH_TOTAL_CAP = 60;
31
+ /** Maximum results returned within any single source group. */
32
+ export const SEARCH_PER_GROUP_CAP = 25;
33
+ /** Maximum characters in a result snippet. */
34
+ export const SEARCH_SNIPPET_MAX = 200;
35
+ /** Fixed group/render order. */
36
+ const GROUP_ORDER = ['session', 'event', 'file'];
37
+ function truncate(text, max = SEARCH_SNIPPET_MAX) {
38
+ const trimmed = text.trim().replace(/\s+/g, ' ');
39
+ return trimmed.length > max ? trimmed.slice(0, max - 1) + '…' : trimmed;
40
+ }
41
+ /**
42
+ * Sort a group's results: exact matches first, then newest timestamp first.
43
+ * Stable for equal keys.
44
+ */
45
+ function sortGroup(rows) {
46
+ return rows
47
+ .map((result, index) => ({ result, index }))
48
+ .sort((a, b) => {
49
+ if (a.result.exactMatch !== b.result.exactMatch) {
50
+ return a.result.exactMatch ? -1 : 1;
51
+ }
52
+ if (a.result.timestamp !== b.result.timestamp) {
53
+ return b.result.timestamp - a.result.timestamp;
54
+ }
55
+ return a.index - b.index;
56
+ })
57
+ .map((r) => r.result);
58
+ }
59
+ /**
60
+ * Search the provided in-memory sources for `query`.
61
+ *
62
+ * @param query Raw query string (already length-validated by the route). Blank
63
+ * queries return an empty result set.
64
+ * @param sources Harvested, bounded source arrays.
65
+ */
66
+ export function searchSources(query, sources) {
67
+ const needle = query.trim().toLowerCase();
68
+ if (needle.length === 0) {
69
+ return { query: query.trim(), groups: [], totalResults: 0, truncated: false };
70
+ }
71
+ const contains = (s) => !!s && s.toLowerCase().includes(needle);
72
+ const isExact = (s) => !!s && s.toLowerCase() === needle;
73
+ // -- Source: sessions/cases --
74
+ const sessionRows = [];
75
+ for (const s of sources.sessions) {
76
+ if (contains(s.sessionName) || contains(s.workingDir) || contains(s.sessionId)) {
77
+ sessionRows.push({
78
+ type: 'session',
79
+ sessionId: s.sessionId,
80
+ sessionName: s.sessionName,
81
+ timestamp: s.timestamp,
82
+ snippet: truncate(s.workingDir ? `${s.sessionName} — ${s.workingDir}` : s.sessionName),
83
+ exactMatch: isExact(s.sessionName),
84
+ jumpTo: { kind: 'session', sessionId: s.sessionId },
85
+ });
86
+ }
87
+ }
88
+ // -- Source: run-summary events --
89
+ const eventRows = [];
90
+ for (const e of sources.events) {
91
+ if (contains(e.title) || contains(e.details)) {
92
+ const snippetBase = e.details && contains(e.details) ? `${e.title}: ${e.details}` : e.title;
93
+ eventRows.push({
94
+ type: 'event',
95
+ sessionId: e.sessionId,
96
+ sessionName: e.sessionName,
97
+ timestamp: e.timestamp,
98
+ snippet: truncate(snippetBase),
99
+ exactMatch: isExact(e.title),
100
+ jumpTo: { kind: 'run-summary', sessionId: e.sessionId, targetId: e.eventId },
101
+ });
102
+ }
103
+ }
104
+ // -- Source: file paths --
105
+ const fileRows = [];
106
+ for (const f of sources.files) {
107
+ if (contains(f.fileName) || contains(f.relativePath)) {
108
+ fileRows.push({
109
+ type: 'file',
110
+ sessionId: f.sessionId,
111
+ sessionName: f.sessionName,
112
+ timestamp: f.timestamp,
113
+ snippet: truncate(f.relativePath ?? f.fileName),
114
+ // Exact match keys off the safe path (or filename) — never an absolute path.
115
+ exactMatch: isExact(f.relativePath) || isExact(f.fileName),
116
+ jumpTo: {
117
+ kind: 'file-preview',
118
+ sessionId: f.sessionId,
119
+ targetId: f.itemId,
120
+ // Only ever expose a relative path; absolute/external paths are not passed in.
121
+ relativePath: f.relativePath,
122
+ },
123
+ });
124
+ }
125
+ }
126
+ const byType = {
127
+ session: sortGroup(sessionRows),
128
+ event: sortGroup(eventRows),
129
+ file: sortGroup(fileRows),
130
+ };
131
+ const groups = [];
132
+ let total = 0;
133
+ let truncated = false;
134
+ for (const type of GROUP_ORDER) {
135
+ const all = byType[type];
136
+ if (all.length === 0)
137
+ continue;
138
+ // Per-group cap.
139
+ let capped = all.slice(0, SEARCH_PER_GROUP_CAP);
140
+ if (all.length > capped.length)
141
+ truncated = true;
142
+ // Total cap (never exceed the global budget).
143
+ const remaining = SEARCH_TOTAL_CAP - total;
144
+ if (capped.length > remaining) {
145
+ capped = capped.slice(0, Math.max(0, remaining));
146
+ truncated = true;
147
+ }
148
+ if (capped.length === 0)
149
+ continue;
150
+ groups.push({ type, results: capped });
151
+ total += capped.length;
152
+ }
153
+ return { query: query.trim(), groups, totalResults: total, truncated };
154
+ }
155
+ //# sourceMappingURL=search-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-service.js","sourceRoot":"","sources":["../src/search-service.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -28,7 +28,7 @@
28
28
  * @module session
29
29
  */
30
30
  import { EventEmitter } from 'node:events';
31
- import { SessionState, SessionStatus, SessionConfig, RalphTrackerState, RalphTodoItem, ActiveBashTool, NiceConfig, type ClaudeMode, type SessionMode, type OpenCodeConfig, type CodexConfig, type EffortLevel } from './types.js';
31
+ import { SessionState, SessionStatus, SessionConfig, RalphTrackerState, RalphTodoItem, ActiveBashTool, NiceConfig, type ClaudeMode, type SessionMode, type OpenCodeConfig, type CodexConfig, type EffortLevel, type GeminiConfig } from './types.js';
32
32
  import type { TerminalMultiplexer, MuxSession } from './mux-interface.js';
33
33
  import { TaskTracker, type BackgroundTask } from './task-tracker.js';
34
34
  import { RalphTracker } from './ralph-tracker.js';
@@ -44,11 +44,12 @@ export declare function isExternalCliMode(mode: SessionMode): boolean;
44
44
  * that we strip so the browser keeps everything in the main buffer with scrollback
45
45
  * reachable (the strip runs on both the live stream and the buffer replay).
46
46
  *
47
- * Codex and Claude Code are known, controlled TUIs that repaint via cursor
48
- * positioning, so dropping the alt-screen switch is safe — content stays in the
49
- * normal buffer. Excluded: `shell` (arbitrary programs like vim/less/htop
50
- * legitimately need the alt screen) and `opencode` (renders its own TUI that
51
- * may rely on it). Keep parity with the replay-side strip in session-routes.ts.
47
+ * Codex, Claude Code, and Gemini are known, controlled (Ink/React) TUIs that
48
+ * repaint via cursor positioning, so dropping the alt-screen switch is safe —
49
+ * content stays in the normal buffer. Excluded: `shell` (arbitrary programs like
50
+ * vim/less/htop legitimately need the alt screen) and `opencode` (renders its own
51
+ * TUI that may rely on it). Keep parity with the replay-side strip in
52
+ * session-routes.ts.
52
53
  */
53
54
  export declare function isAltScreenStripMode(mode: SessionMode): boolean;
54
55
  /**
@@ -192,6 +193,7 @@ export declare class Session extends EventEmitter {
192
193
  private _allowedTools;
193
194
  private _openCodeConfig;
194
195
  private _codexConfig;
196
+ private _geminiConfig;
195
197
  private _resumeSessionId;
196
198
  private _envOverrides;
197
199
  private _effort;
@@ -225,6 +227,8 @@ export declare class Session extends EventEmitter {
225
227
  openCodeConfig?: OpenCodeConfig;
226
228
  /** Codex configuration (only for mode === 'codex') */
227
229
  codexConfig?: CodexConfig;
230
+ /** Gemini configuration (only for mode === 'gemini') */
231
+ geminiConfig?: GeminiConfig;
228
232
  /** Resume a previous Claude conversation (used after server reboot) */
229
233
  resumeSessionId?: string;
230
234
  /** Extra env vars exported to the CLI at spawn time (no disk persistence) */
@@ -432,6 +436,7 @@ export declare class Session extends EventEmitter {
432
436
  cliLatestVersion?: string;
433
437
  openCodeConfig?: OpenCodeConfig;
434
438
  codexConfig?: CodexConfig;
439
+ geminiConfig?: GeminiConfig;
435
440
  resumeSessionId?: string;
436
441
  effort?: EffortLevel;
437
442
  attachmentHistory?: SessionAttachmentHistoryItem[];
@@ -521,6 +526,7 @@ export declare class Session extends EventEmitter {
521
526
  cliLatestVersion?: string;
522
527
  openCodeConfig?: OpenCodeConfig;
523
528
  codexConfig?: CodexConfig;
529
+ geminiConfig?: GeminiConfig;
524
530
  resumeSessionId?: string;
525
531
  effort?: EffortLevel;
526
532
  attachmentHistory?: SessionAttachmentHistoryItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -76,21 +76,36 @@ const CTRL_L_PATTERN = /\x0c/g;
76
76
  const NEWLINE_SPLIT_PATTERN = /\r?\n/;
77
77
  /** True for external-CLI run modes (non-Claude) that use their own TUI and output format. */
78
78
  export function isExternalCliMode(mode) {
79
- return mode === 'opencode' || mode === 'codex';
79
+ return mode === 'opencode' || mode === 'codex' || mode === 'gemini';
80
+ }
81
+ function getModeLabel(mode) {
82
+ switch (mode) {
83
+ case 'opencode':
84
+ return 'OpenCode';
85
+ case 'codex':
86
+ return 'Codex';
87
+ case 'gemini':
88
+ return 'Gemini';
89
+ case 'shell':
90
+ return 'Shell';
91
+ case 'claude':
92
+ return 'Claude';
93
+ }
80
94
  }
81
95
  /**
82
96
  * Modes whose TUI emits alt-screen / scrollback-erase / mouse-tracking sequences
83
97
  * that we strip so the browser keeps everything in the main buffer with scrollback
84
98
  * reachable (the strip runs on both the live stream and the buffer replay).
85
99
  *
86
- * Codex and Claude Code are known, controlled TUIs that repaint via cursor
87
- * positioning, so dropping the alt-screen switch is safe — content stays in the
88
- * normal buffer. Excluded: `shell` (arbitrary programs like vim/less/htop
89
- * legitimately need the alt screen) and `opencode` (renders its own TUI that
90
- * may rely on it). Keep parity with the replay-side strip in session-routes.ts.
100
+ * Codex, Claude Code, and Gemini are known, controlled (Ink/React) TUIs that
101
+ * repaint via cursor positioning, so dropping the alt-screen switch is safe —
102
+ * content stays in the normal buffer. Excluded: `shell` (arbitrary programs like
103
+ * vim/less/htop legitimately need the alt screen) and `opencode` (renders its own
104
+ * TUI that may rely on it). Keep parity with the replay-side strip in
105
+ * session-routes.ts.
91
106
  */
92
107
  export function isAltScreenStripMode(mode) {
93
- return mode === 'codex' || mode === 'claude';
108
+ return mode === 'codex' || mode === 'claude' || mode === 'gemini';
94
109
  }
95
110
  // Note: Claude CLI PATH resolution moved to session-cli-builder.ts (buildClaudeEnv)
96
111
  /** PTY fallback geometry when tmux can't be queried (matches pre-#80 hardcoded values). */
@@ -240,6 +255,8 @@ export class Session extends EventEmitter {
240
255
  _openCodeConfig;
241
256
  // Codex configuration (only for mode === 'codex')
242
257
  _codexConfig;
258
+ // Gemini configuration (only for mode === 'gemini')
259
+ _geminiConfig;
243
260
  _resumeSessionId;
244
261
  // Ephemeral env overrides (e.g., CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS). Exported by tmux
245
262
  // at spawn, preserved across respawns via persisted state. Not written to .claude/settings.local.json.
@@ -306,6 +323,10 @@ export class Session extends EventEmitter {
306
323
  if (config.codexConfig) {
307
324
  this._codexConfig = config.codexConfig;
308
325
  }
326
+ // Apply Gemini configuration
327
+ if (config.geminiConfig) {
328
+ this._geminiConfig = config.geminiConfig;
329
+ }
309
330
  // Apply env overrides (exported at spawn, not persisted to disk).
310
331
  // Legacy migration: pre-0.7.2 carried effort as the CLAUDE_CODE_EFFORT_LEVEL env var,
311
332
  // which hard-locks /effort switching. Extract it into _effort (--settings soft default)
@@ -734,6 +755,7 @@ export class Session extends EventEmitter {
734
755
  cliLatestVersion: this._cliLatestVersion || undefined,
735
756
  openCodeConfig: this._openCodeConfig,
736
757
  codexConfig: this._codexConfig,
758
+ geminiConfig: this._geminiConfig,
737
759
  resumeSessionId: this._resumeSessionId,
738
760
  effort: this._effort,
739
761
  attachmentHistory: this.attachmentHistory.length > 0 ? this.attachmentHistory : undefined,
@@ -962,7 +984,7 @@ export class Session extends EventEmitter {
962
984
  throw new Error('Session already has a running process');
963
985
  }
964
986
  this._resetBuffers();
965
- const modeLabel = this.mode === 'opencode' ? 'OpenCode' : this.mode === 'codex' ? 'Codex' : 'Claude';
987
+ const modeLabel = getModeLabel(this.mode);
966
988
  console.log(`[Session] Starting interactive ${modeLabel} session` + (this._useMux ? ` (with ${this._mux.backend})` : ''));
967
989
  // If mux wrapping is enabled, create or attach to a mux session
968
990
  if (this._useMux && this._mux) {
@@ -978,6 +1000,7 @@ export class Session extends EventEmitter {
978
1000
  allowedTools: this._allowedTools,
979
1001
  openCodeConfig: this._openCodeConfig,
980
1002
  codexConfig: this._codexConfig,
1003
+ geminiConfig: this._geminiConfig,
981
1004
  resumeSessionId: this._resumeSessionId,
982
1005
  envOverrides: this._envOverrides,
983
1006
  effort: this._effort,
@@ -993,6 +1016,7 @@ export class Session extends EventEmitter {
993
1016
  allowedTools: this._allowedTools,
994
1017
  openCodeConfig: this._openCodeConfig,
995
1018
  codexConfig: this._codexConfig,
1019
+ geminiConfig: this._geminiConfig,
996
1020
  resumeSessionId: this._resumeSessionId,
997
1021
  envOverrides: this._envOverrides,
998
1022
  effort: this._effort,
@@ -1066,6 +1090,10 @@ export class Session extends EventEmitter {
1066
1090
  if (this.mode === 'codex') {
1067
1091
  throw new Error('Codex sessions require tmux. Direct PTY fallback is not supported.');
1068
1092
  }
1093
+ // Gemini sessions require tmux for Gemini/Google auth env injection via setenv
1094
+ if (this.mode === 'gemini') {
1095
+ throw new Error('Gemini sessions require tmux. Direct PTY fallback is not supported.');
1096
+ }
1069
1097
  try {
1070
1098
  // Pass --session-id to use the SAME ID as the Codeman session
1071
1099
  // This ensures subagents can be directly matched to the correct tab