aicodeman 0.7.1 → 0.8.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 (106) hide show
  1. package/dist/mux-interface.d.ts +6 -2
  2. package/dist/mux-interface.d.ts.map +1 -1
  3. package/dist/session-cli-builder.d.ts +16 -2
  4. package/dist/session-cli-builder.d.ts.map +1 -1
  5. package/dist/session-cli-builder.js +21 -1
  6. package/dist/session-cli-builder.js.map +1 -1
  7. package/dist/session.d.ts +6 -1
  8. package/dist/session.d.ts.map +1 -1
  9. package/dist/session.js +23 -6
  10. package/dist/session.js.map +1 -1
  11. package/dist/tmux-manager.d.ts +4 -4
  12. package/dist/tmux-manager.d.ts.map +1 -1
  13. package/dist/tmux-manager.js +55 -25
  14. package/dist/tmux-manager.js.map +1 -1
  15. package/dist/types/session.d.ts +12 -0
  16. package/dist/types/session.d.ts.map +1 -1
  17. package/dist/types/session.js +10 -1
  18. package/dist/types/session.js.map +1 -1
  19. package/dist/utils/event-loop-monitor.d.ts +28 -0
  20. package/dist/utils/event-loop-monitor.d.ts.map +1 -0
  21. package/dist/utils/event-loop-monitor.js +43 -0
  22. package/dist/utils/event-loop-monitor.js.map +1 -0
  23. package/dist/utils/index.d.ts +2 -0
  24. package/dist/utils/index.d.ts.map +1 -1
  25. package/dist/utils/index.js +1 -0
  26. package/dist/utils/index.js.map +1 -1
  27. package/dist/web/public/api-client.3adebdc2.js.gz +0 -0
  28. package/dist/web/public/{app.f67b92cc.js → app.d044eb65.js} +5 -5
  29. package/dist/web/public/app.d044eb65.js.br +0 -0
  30. package/dist/web/public/app.d044eb65.js.gz +0 -0
  31. package/dist/web/public/constants.cb6426c4.js.gz +0 -0
  32. package/dist/web/public/{image-input.926911b4.js → image-input.7cade6a8.js} +53 -1
  33. package/dist/web/public/image-input.7cade6a8.js.br +0 -0
  34. package/dist/web/public/image-input.7cade6a8.js.gz +0 -0
  35. package/dist/web/public/index.html +11 -10
  36. package/dist/web/public/index.html.br +0 -0
  37. package/dist/web/public/index.html.gz +0 -0
  38. package/dist/web/public/input-cjk.88082175.js.gz +0 -0
  39. package/dist/web/public/{keyboard-accessory.29aebd9c.js → keyboard-accessory.cdfd8c04.js} +62 -17
  40. package/dist/web/public/keyboard-accessory.cdfd8c04.js.br +0 -0
  41. package/dist/web/public/keyboard-accessory.cdfd8c04.js.gz +0 -0
  42. package/dist/web/public/mobile-handlers.1e2a8ef8.js.gz +0 -0
  43. package/dist/web/public/mobile.26dc30d6.css +1 -0
  44. package/dist/web/public/mobile.26dc30d6.css.br +0 -0
  45. package/dist/web/public/{mobile.37d62c06.css.gz → mobile.26dc30d6.css.gz} +0 -0
  46. package/dist/web/public/notification-manager.9c984ac2.js.gz +0 -0
  47. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  48. package/dist/web/public/panels-ui.cf998835.js.gz +0 -0
  49. package/dist/web/public/ralph-panel.61076370.js.gz +0 -0
  50. package/dist/web/public/{ralph-wizard.6b0f0be7.js → ralph-wizard.52d533d2.js} +4 -4
  51. package/dist/web/public/ralph-wizard.52d533d2.js.br +0 -0
  52. package/dist/web/public/{ralph-wizard.6b0f0be7.js.gz → ralph-wizard.52d533d2.js.gz} +0 -0
  53. package/dist/web/public/respawn-ui.5377f958.js.gz +0 -0
  54. package/dist/web/public/session-ui.3e0cf024.js +36 -0
  55. package/dist/web/public/session-ui.3e0cf024.js.br +0 -0
  56. package/dist/web/public/session-ui.3e0cf024.js.gz +0 -0
  57. package/dist/web/public/settings-ui.25a18120.js.gz +0 -0
  58. package/dist/web/public/{styles.c2babdcb.css → styles.42be1d59.css} +1 -1
  59. package/dist/web/public/styles.42be1d59.css.br +0 -0
  60. package/dist/web/public/styles.42be1d59.css.gz +0 -0
  61. package/dist/web/public/subagent-windows.a366a4ad.js.gz +0 -0
  62. package/dist/web/public/sw.js.gz +0 -0
  63. package/dist/web/public/terminal-ui.37caa926.js +3 -0
  64. package/dist/web/public/terminal-ui.37caa926.js.br +0 -0
  65. package/dist/web/public/terminal-ui.37caa926.js.gz +0 -0
  66. package/dist/web/public/upload.html.gz +0 -0
  67. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  68. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  69. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  70. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  71. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  72. package/dist/web/public/vendor/xterm.css.gz +0 -0
  73. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  74. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  75. package/dist/web/routes/ralph-routes.d.ts.map +1 -1
  76. package/dist/web/routes/ralph-routes.js +2 -1
  77. package/dist/web/routes/ralph-routes.js.map +1 -1
  78. package/dist/web/routes/session-routes.d.ts.map +1 -1
  79. package/dist/web/routes/session-routes.js +9 -1
  80. package/dist/web/routes/session-routes.js.map +1 -1
  81. package/dist/web/schemas.d.ts +24 -0
  82. package/dist/web/schemas.d.ts.map +1 -1
  83. package/dist/web/schemas.js +13 -0
  84. package/dist/web/schemas.js.map +1 -1
  85. package/dist/web/server.d.ts +1 -0
  86. package/dist/web/server.d.ts.map +1 -1
  87. package/dist/web/server.js +13 -1
  88. package/dist/web/server.js.map +1 -1
  89. package/package.json +1 -1
  90. package/dist/web/public/app.f67b92cc.js.br +0 -0
  91. package/dist/web/public/app.f67b92cc.js.gz +0 -0
  92. package/dist/web/public/image-input.926911b4.js.br +0 -0
  93. package/dist/web/public/image-input.926911b4.js.gz +0 -0
  94. package/dist/web/public/keyboard-accessory.29aebd9c.js.br +0 -0
  95. package/dist/web/public/keyboard-accessory.29aebd9c.js.gz +0 -0
  96. package/dist/web/public/mobile.37d62c06.css +0 -1
  97. package/dist/web/public/mobile.37d62c06.css.br +0 -0
  98. package/dist/web/public/ralph-wizard.6b0f0be7.js.br +0 -0
  99. package/dist/web/public/session-ui.f1555cd1.js +0 -36
  100. package/dist/web/public/session-ui.f1555cd1.js.br +0 -0
  101. package/dist/web/public/session-ui.f1555cd1.js.gz +0 -0
  102. package/dist/web/public/styles.c2babdcb.css.br +0 -0
  103. package/dist/web/public/styles.c2babdcb.css.gz +0 -0
  104. package/dist/web/public/terminal-ui.7616b9fd.js +0 -3
  105. package/dist/web/public/terminal-ui.7616b9fd.js.br +0 -0
  106. package/dist/web/public/terminal-ui.7616b9fd.js.gz +0 -0
@@ -29,6 +29,7 @@ import { writeFile, rename } from 'node:fs/promises';
29
29
  import { dirname, join } from 'node:path';
30
30
  import { homedir } from 'node:os';
31
31
  import { getErrorMessage, DEFAULT_NICE_CONFIG, } from './types.js';
32
+ import { buildEffortCliArgs } from './session-cli-builder.js';
32
33
  import { wrapWithNice, SAFE_PATH_PATTERN, findClaudeDir, resolveOpenCodeDir } from './utils/index.js';
33
34
  // ============================================================================
34
35
  // Timing Constants
@@ -215,22 +216,36 @@ function buildOpenCodeCommand(config) {
215
216
  * Build the spawn command for any session mode.
216
217
  * Shared by createSession() and respawnPane() to avoid duplication.
217
218
  */
219
+ /**
220
+ * Build the shell fragment carrying the effort level as a SOFT default
221
+ * (see buildEffortCliArgs — `--effort <level>` for regular levels incl. max,
222
+ * `--settings '{"ultracode":true}'` for ultracode; deliberately not the
223
+ * CLAUDE_CODE_EFFORT_LEVEL env var, which hard-locks /effort switching).
224
+ *
225
+ * Injection-safe: effort is validated against the EFFORT_LEVELS allowlist inside
226
+ * buildEffortCliArgs, so the single-quoted values contain no user-controlled characters.
227
+ */
228
+ function buildEffortSettingsFlag(effort) {
229
+ const [flag, value] = buildEffortCliArgs(effort);
230
+ return flag && value ? ` ${flag} '${value}'` : '';
231
+ }
218
232
  function buildSpawnCommand(options) {
219
233
  if (options.mode === 'claude') {
220
234
  // Validate model to prevent command injection
221
235
  const safeModel = options.model && /^[a-zA-Z0-9._\-[\]]+$/.test(options.model) ? options.model : undefined;
222
236
  const modelFlag = safeModel ? ` --model "${safeModel}"` : '';
237
+ const effortFlag = buildEffortSettingsFlag(options.effort);
223
238
  // Use --resume to restore a previous conversation, otherwise --session-id for new sessions.
224
239
  // Wrap --resume in a fallback: if it exits non-zero (session not found, corrupt, etc.),
225
240
  // fall back to a new session with --session-id so the pane doesn't die.
226
241
  const safeResumeId = options.resumeSessionId && /^[a-f0-9-]+$/.test(options.resumeSessionId) ? options.resumeSessionId : undefined;
227
242
  const permFlags = buildClaudePermissionFlags(options.claudeMode, options.allowedTools);
228
243
  if (safeResumeId) {
229
- const resumeCmd = `claude${permFlags} --resume "${safeResumeId}"${modelFlag}`;
230
- const fallbackCmd = `claude${permFlags} --session-id "${options.sessionId}"${modelFlag}`;
244
+ const resumeCmd = `claude${permFlags} --resume "${safeResumeId}"${modelFlag}${effortFlag}`;
245
+ const fallbackCmd = `claude${permFlags} --session-id "${options.sessionId}"${modelFlag}${effortFlag}`;
231
246
  return `${resumeCmd} || ${fallbackCmd}`;
232
247
  }
233
- return `claude${permFlags} --session-id "${options.sessionId}"${modelFlag}`;
248
+ return `claude${permFlags} --session-id "${options.sessionId}"${modelFlag}${effortFlag}`;
234
249
  }
235
250
  if (options.mode === 'opencode') {
236
251
  return buildOpenCodeCommand(options.openCodeConfig);
@@ -460,6 +475,19 @@ export class TmuxManager extends EventEmitter {
460
475
  * shell-metachar injection even if upstream schema check is bypassed.
461
476
  */
462
477
  applyEnvOverrides(muxName, envOverrides) {
478
+ // Legacy cleanup: pre-0.7.2 set CLAUDE_CODE_EFFORT_LEVEL via setenv, which persists
479
+ // on the tmux session and hard-locks /effort switching in every respawned pane.
480
+ // Effort now flows as a `--settings` soft default (see buildEffortSettingsFlag),
481
+ // so unconditionally unset the stale var before applying current overrides.
482
+ try {
483
+ execSync(`${this.tmux()} setenv -t ${shellescape(muxName)} -u CLAUDE_CODE_EFFORT_LEVEL`, {
484
+ timeout: EXEC_TIMEOUT_MS,
485
+ stdio: ['pipe', 'pipe', 'pipe'],
486
+ });
487
+ }
488
+ catch {
489
+ /* Non-critical — var may not exist */
490
+ }
463
491
  if (!envOverrides)
464
492
  return;
465
493
  const VALID_KEY = /^[A-Z_][A-Z0-9_]*$/;
@@ -512,7 +540,7 @@ export class TmuxManager extends EventEmitter {
512
540
  * In test mode: creates an in-memory session only (no real tmux session).
513
541
  */
514
542
  async createSession(options) {
515
- const { sessionId, workingDir, mode, name, niceConfig, model, claudeMode, allowedTools, openCodeConfig, resumeSessionId, envOverrides, } = options;
543
+ const { sessionId, workingDir, mode, name, niceConfig, model, claudeMode, allowedTools, openCodeConfig, resumeSessionId, envOverrides, effort, } = options;
516
544
  const muxName = `codeman-${sessionId.slice(0, 8)}`;
517
545
  if (!isValidMuxName(muxName)) {
518
546
  throw new Error('Invalid session name: contains unsafe characters');
@@ -553,6 +581,7 @@ export class TmuxManager extends EventEmitter {
553
581
  allowedTools,
554
582
  openCodeConfig,
555
583
  resumeSessionId,
584
+ effort,
556
585
  });
557
586
  const config = niceConfig || DEFAULT_NICE_CONFIG;
558
587
  const cmd = wrapWithNice(baseCmd, config);
@@ -719,7 +748,7 @@ export class TmuxManager extends EventEmitter {
719
748
  * preserving the session and its scrollback buffer.
720
749
  */
721
750
  async respawnPane(options) {
722
- const { sessionId, workingDir, mode, niceConfig, model, claudeMode, allowedTools, openCodeConfig, resumeSessionId, envOverrides, } = options;
751
+ const { sessionId, workingDir, mode, niceConfig, model, claudeMode, allowedTools, openCodeConfig, resumeSessionId, envOverrides, effort, } = options;
723
752
  const session = this.sessions.get(sessionId);
724
753
  if (!session)
725
754
  return null;
@@ -737,6 +766,7 @@ export class TmuxManager extends EventEmitter {
737
766
  allowedTools,
738
767
  openCodeConfig,
739
768
  resumeSessionId,
769
+ effort,
740
770
  });
741
771
  const config = niceConfig || DEFAULT_NICE_CONFIG;
742
772
  const cmd = wrapWithNice(baseCmd, config);
@@ -1025,17 +1055,17 @@ export class TmuxManager extends EventEmitter {
1025
1055
  return null;
1026
1056
  }
1027
1057
  try {
1028
- const psOutput = execSync(`ps -o rss=,pcpu= -p ${session.pid} 2>/dev/null || echo "0 0"`, {
1058
+ const psOutput = (await execAsync(`ps -o rss=,pcpu= -p ${session.pid} 2>/dev/null || echo "0 0"`, {
1029
1059
  encoding: 'utf-8',
1030
1060
  timeout: EXEC_TIMEOUT_MS,
1031
- }).trim();
1061
+ })).stdout.trim();
1032
1062
  const [rss, cpu] = psOutput.split(/\s+/).map((x) => parseFloat(x) || 0);
1033
1063
  let childCount = 0;
1034
1064
  try {
1035
- const childOutput = execSync(`pgrep -P ${session.pid} | wc -l`, {
1065
+ const childOutput = (await execAsync(`pgrep -P ${session.pid} | wc -l`, {
1036
1066
  encoding: 'utf-8',
1037
1067
  timeout: EXEC_TIMEOUT_MS,
1038
- }).trim();
1068
+ })).stdout.trim();
1039
1069
  childCount = parseInt(childOutput, 10) || 0;
1040
1070
  }
1041
1071
  catch {
@@ -1068,10 +1098,10 @@ export class TmuxManager extends EventEmitter {
1068
1098
  try {
1069
1099
  // Step 1: Get descendant PIDs
1070
1100
  const descendantMap = new Map();
1071
- const pgrepOutput = execSync(`for p in ${sessionPids.join(' ')}; do children=$(pgrep -P $p 2>/dev/null | tr '\\n' ','); echo "$p:$children"; done`, {
1101
+ const pgrepOutput = (await execAsync(`for p in ${sessionPids.join(' ')}; do children=$(pgrep -P $p 2>/dev/null | tr '\\n' ','); echo "$p:$children"; done`, {
1072
1102
  encoding: 'utf-8',
1073
1103
  timeout: EXEC_TIMEOUT_MS,
1074
- }).trim();
1104
+ })).stdout.trim();
1075
1105
  for (const line of pgrepOutput.split('\n')) {
1076
1106
  const [pidStr, childrenStr] = line.split(':');
1077
1107
  const sessionPid = parseInt(pidStr, 10);
@@ -1093,10 +1123,10 @@ export class TmuxManager extends EventEmitter {
1093
1123
  // Step 3: Single ps call
1094
1124
  const pidArray = Array.from(allPids);
1095
1125
  if (pidArray.length > 0) {
1096
- const psOutput = execSync(`ps -o pid=,rss=,pcpu= -p ${pidArray.join(',')} 2>/dev/null || true`, {
1126
+ const psOutput = (await execAsync(`ps -o pid=,rss=,pcpu= -p ${pidArray.join(',')} 2>/dev/null || true`, {
1097
1127
  encoding: 'utf-8',
1098
1128
  timeout: EXEC_TIMEOUT_MS,
1099
- }).trim();
1129
+ })).stdout.trim();
1100
1130
  const processStats = new Map();
1101
1131
  for (const line of psOutput.split('\n')) {
1102
1132
  const parts = line.trim().split(/\s+/);
@@ -1175,11 +1205,11 @@ export class TmuxManager extends EventEmitter {
1175
1205
  if (this.mouseSyncInterval) {
1176
1206
  clearInterval(this.mouseSyncInterval);
1177
1207
  }
1178
- this.mouseSyncInterval = setInterval(() => {
1208
+ this.mouseSyncInterval = setInterval(async () => {
1179
1209
  if (IS_TEST_MODE)
1180
1210
  return;
1181
1211
  for (const session of this.sessions.values()) {
1182
- const panes = this.listPanes(session.muxName);
1212
+ const panes = await this.listPanes(session.muxName);
1183
1213
  const count = panes.length;
1184
1214
  if (count === 0)
1185
1215
  continue;
@@ -1188,13 +1218,13 @@ export class TmuxManager extends EventEmitter {
1188
1218
  continue;
1189
1219
  // Pane count changed — toggle mouse mode
1190
1220
  if (count > 1) {
1191
- if (this.enableMouseMode(session.muxName)) {
1221
+ if (await this.enableMouseMode(session.muxName)) {
1192
1222
  this.lastPaneCount.set(session.muxName, count);
1193
1223
  }
1194
1224
  // If enableMouseMode fails, DON'T update lastPaneCount — retry next poll
1195
1225
  }
1196
1226
  else {
1197
- if (this.disableMouseMode(session.muxName)) {
1227
+ if (await this.disableMouseMode(session.muxName)) {
1198
1228
  this.lastPaneCount.set(session.muxName, count);
1199
1229
  }
1200
1230
  }
@@ -1308,7 +1338,7 @@ export class TmuxManager extends EventEmitter {
1308
1338
  * Allows clicking to select panes in agent team split-pane layouts.
1309
1339
  * When mouse mode is on, tmux intercepts mouse events (slow selection, no browser copy).
1310
1340
  */
1311
- enableMouseMode(muxName) {
1341
+ async enableMouseMode(muxName) {
1312
1342
  if (IS_TEST_MODE)
1313
1343
  return true;
1314
1344
  if (!isValidMuxName(muxName)) {
@@ -1316,7 +1346,7 @@ export class TmuxManager extends EventEmitter {
1316
1346
  return false;
1317
1347
  }
1318
1348
  try {
1319
- execSync(`${this.tmux()} set-option -t "${muxName}" mouse on`, {
1349
+ await execAsync(`${this.tmux()} set-option -t "${muxName}" mouse on`, {
1320
1350
  encoding: 'utf-8',
1321
1351
  timeout: EXEC_TIMEOUT_MS,
1322
1352
  });
@@ -1332,7 +1362,7 @@ export class TmuxManager extends EventEmitter {
1332
1362
  * Disable mouse mode for an existing tmux session.
1333
1363
  * Restores native xterm.js text selection and browser clipboard copy.
1334
1364
  */
1335
- disableMouseMode(muxName) {
1365
+ async disableMouseMode(muxName) {
1336
1366
  if (IS_TEST_MODE)
1337
1367
  return true;
1338
1368
  if (!isValidMuxName(muxName)) {
@@ -1340,7 +1370,7 @@ export class TmuxManager extends EventEmitter {
1340
1370
  return false;
1341
1371
  }
1342
1372
  try {
1343
- execSync(`${this.tmux()} set-option -t "${muxName}" mouse off`, {
1373
+ await execAsync(`${this.tmux()} set-option -t "${muxName}" mouse off`, {
1344
1374
  encoding: 'utf-8',
1345
1375
  timeout: EXEC_TIMEOUT_MS,
1346
1376
  });
@@ -1357,10 +1387,10 @@ export class TmuxManager extends EventEmitter {
1357
1387
  * Called by TeamWatcher when teammates spawn/despawn panes.
1358
1388
  * Uses `tmux list-panes` for bulletproof detection — counts actual panes, not config.
1359
1389
  */
1360
- syncMouseMode(muxName) {
1390
+ async syncMouseMode(muxName) {
1361
1391
  if (IS_TEST_MODE)
1362
1392
  return true;
1363
- const panes = this.listPanes(muxName);
1393
+ const panes = await this.listPanes(muxName);
1364
1394
  if (panes.length > 1) {
1365
1395
  return this.enableMouseMode(muxName);
1366
1396
  }
@@ -1372,7 +1402,7 @@ export class TmuxManager extends EventEmitter {
1372
1402
  * List all panes in a tmux session.
1373
1403
  * Returns structured info for each pane.
1374
1404
  */
1375
- listPanes(muxName) {
1405
+ async listPanes(muxName) {
1376
1406
  if (IS_TEST_MODE)
1377
1407
  return [];
1378
1408
  if (!isValidMuxName(muxName)) {
@@ -1380,7 +1410,7 @@ export class TmuxManager extends EventEmitter {
1380
1410
  return [];
1381
1411
  }
1382
1412
  try {
1383
- const output = execSync(`${this.tmux()} list-panes -t "${muxName}" -F '#{pane_id}:#{pane_index}:#{pane_pid}:#{pane_width}:#{pane_height}'`, { encoding: 'utf-8', timeout: EXEC_TIMEOUT_MS }).trim();
1413
+ const output = (await execAsync(`${this.tmux()} list-panes -t "${muxName}" -F '#{pane_id}:#{pane_index}:#{pane_pid}:#{pane_width}:#{pane_height}'`, { encoding: 'utf-8', timeout: EXEC_TIMEOUT_MS })).stdout.trim();
1384
1414
  return output
1385
1415
  .split('\n')
1386
1416
  .map((line) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-manager.js","sourceRoot":"","sources":["../src/tmux-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux-manager.js","sourceRoot":"","sources":["../src/tmux-manager.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,16 @@ export type SessionStatus = 'idle' | 'busy' | 'stopped' | 'error';
35
35
  export type ClaudeMode = 'dangerously-skip-permissions' | 'normal' | 'allowedTools';
36
36
  /** Session mode: which CLI backend a session runs */
37
37
  export type SessionMode = 'claude' | 'shell' | 'opencode';
38
+ /**
39
+ * Valid Claude CLI effort levels (claude >= 2.1.154).
40
+ * `ultracode` = xhigh effort + standing dynamic-workflow orchestration; it is a
41
+ * separate `ultracode` settings key rather than an `effortLevel` value.
42
+ */
43
+ export declare const EFFORT_LEVELS: readonly ["low", "medium", "high", "xhigh", "max", "ultracode"];
44
+ /** Claude CLI effort level for new sessions (soft default, switchable via /effort in-session) */
45
+ export type EffortLevel = (typeof EFFORT_LEVELS)[number];
46
+ /** Type guard: is the string a valid EffortLevel? */
47
+ export declare function isEffortLevel(value: string | undefined): value is EffortLevel;
38
48
  /** OpenCode session configuration */
39
49
  export interface OpenCodeConfig {
40
50
  /** Model identifier (e.g., "anthropic/claude-sonnet-4-5", "openai/gpt-5.2", "ollama/codellama") */
@@ -139,6 +149,8 @@ export interface SessionState {
139
149
  openCodeConfig?: OpenCodeConfig;
140
150
  /** Claude conversation session ID to resume after reboot (set by restore script) */
141
151
  resumeSessionId?: string;
152
+ /** Claude CLI effort level (soft default via --settings, switchable in-session via /effort) */
153
+ effort?: EffortLevel;
142
154
  }
143
155
  /**
144
156
  * Output captured from a session
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,16 @@
23
23
  * Persisted to `~/.codeman/state.json`. Served at `GET /api/sessions` and
24
24
  * `GET /api/sessions/:id`.
25
25
  */
26
- export {};
26
+ /**
27
+ * Valid Claude CLI effort levels (claude >= 2.1.154).
28
+ * `ultracode` = xhigh effort + standing dynamic-workflow orchestration; it is a
29
+ * separate `ultracode` settings key rather than an `effortLevel` value.
30
+ */
31
+ export const EFFORT_LEVELS = ['low', 'medium', 'high', 'xhigh', 'max', 'ultracode'];
32
+ /** Type guard: is the string a valid EffortLevel? */
33
+ export function isEffortLevel(value) {
34
+ return value !== undefined && EFFORT_LEVELS.includes(value);
35
+ }
27
36
  /**
28
37
  * Output captured from a session
29
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AA6HH;;GAEG"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAkBH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAU,CAAC;AAK7F,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,OAAO,KAAK,KAAK,SAAS,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrF,CAAC;AA+GD;;GAEG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @fileoverview Event-loop lag monitor.
3
+ *
4
+ * Node is single-threaded: any synchronous work (e.g. a blocking `execSync`)
5
+ * freezes the whole event loop, so the HTTP server stops answering on its port
6
+ * while the process stays alive and other ports are unaffected. Such stalls
7
+ * self-heal and never restart the process, so a periodic loopback healthcheck
8
+ * misses them entirely — they leave no trace.
9
+ *
10
+ * This monitor samples how late a fixed-interval timer actually fires versus when
11
+ * it was scheduled; the excess is time the loop was blocked. When that exceeds a
12
+ * threshold it logs the measured stall, turning otherwise-invisible "port briefly
13
+ * unreachable" incidents into a timestamped, quantified log line.
14
+ *
15
+ * @module utils/event-loop-monitor
16
+ */
17
+ export interface EventLoopMonitorHandle {
18
+ stop(): void;
19
+ }
20
+ /**
21
+ * Start sampling event-loop lag.
22
+ *
23
+ * @param sampleMs How often to sample (and the baseline interval lag is measured against).
24
+ * @param thresholdMs Only stalls at or above this many ms are logged (noise floor).
25
+ * @param log Sink for stall reports; defaults to console.warn (lands in the web log).
26
+ */
27
+ export declare function startEventLoopMonitor(sampleMs?: number, thresholdMs?: number, log?: (msg: string) => void): EventLoopMonitorHandle;
28
+ //# sourceMappingURL=event-loop-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-loop-monitor.d.ts","sourceRoot":"","sources":["../../src/utils/event-loop-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,sBAAsB;IACrC,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,SAAO,EACf,WAAW,SAAO,EAClB,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAA6B,GAClD,sBAAsB,CAqBxB"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @fileoverview Event-loop lag monitor.
3
+ *
4
+ * Node is single-threaded: any synchronous work (e.g. a blocking `execSync`)
5
+ * freezes the whole event loop, so the HTTP server stops answering on its port
6
+ * while the process stays alive and other ports are unaffected. Such stalls
7
+ * self-heal and never restart the process, so a periodic loopback healthcheck
8
+ * misses them entirely — they leave no trace.
9
+ *
10
+ * This monitor samples how late a fixed-interval timer actually fires versus when
11
+ * it was scheduled; the excess is time the loop was blocked. When that exceeds a
12
+ * threshold it logs the measured stall, turning otherwise-invisible "port briefly
13
+ * unreachable" incidents into a timestamped, quantified log line.
14
+ *
15
+ * @module utils/event-loop-monitor
16
+ */
17
+ /**
18
+ * Start sampling event-loop lag.
19
+ *
20
+ * @param sampleMs How often to sample (and the baseline interval lag is measured against).
21
+ * @param thresholdMs Only stalls at or above this many ms are logged (noise floor).
22
+ * @param log Sink for stall reports; defaults to console.warn (lands in the web log).
23
+ */
24
+ export function startEventLoopMonitor(sampleMs = 1000, thresholdMs = 1000, log = (m) => console.warn(m)) {
25
+ let last = performance.now();
26
+ const timer = setInterval(() => {
27
+ const now = performance.now();
28
+ // Lag = elapsed beyond the scheduled interval = time the loop was blocked.
29
+ const lag = Math.round(now - last - sampleMs);
30
+ if (lag >= thresholdMs) {
31
+ log(`[EventLoopLag] event loop blocked ~${lag}ms (at ${new Date().toISOString()})`);
32
+ }
33
+ last = now;
34
+ }, sampleMs);
35
+ // Never keep the process alive solely for this monitor.
36
+ timer.unref?.();
37
+ return {
38
+ stop() {
39
+ clearInterval(timer);
40
+ },
41
+ };
42
+ }
43
+ //# sourceMappingURL=event-loop-monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-loop-monitor.js","sourceRoot":"","sources":["../../src/utils/event-loop-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,IAAI,EAClB,MAA6B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnD,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,2EAA2E;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;QAC9C,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YACvB,GAAG,CAAC,sCAAsC,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,GAAG,GAAG,CAAC;IACb,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEb,wDAAwD;IACxD,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAEhB,OAAO;QACL,IAAI;YACF,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -8,6 +8,8 @@
8
8
  export { BufferAccumulator } from './buffer-accumulator.js';
9
9
  export { CleanupManager } from './cleanup-manager.js';
10
10
  export { Debouncer, KeyedDebouncer } from './debouncer.js';
11
+ export { startEventLoopMonitor } from './event-loop-monitor.js';
12
+ export type { EventLoopMonitorHandle } from './event-loop-monitor.js';
11
13
  export { StaleExpirationMap } from './stale-expiration-map.js';
12
14
  export { ANSI_ESCAPE_PATTERN_FULL, ANSI_ESCAPE_PATTERN_SIMPLE, TOKEN_PATTERN, SPINNER_PATTERN, stripAnsi, SAFE_PATH_PATTERN, execPattern, } from './regex-patterns.js';
13
15
  export { MAX_SESSION_TOKENS } from './token-validation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -8,6 +8,7 @@
8
8
  export { BufferAccumulator } from './buffer-accumulator.js';
9
9
  export { CleanupManager } from './cleanup-manager.js';
10
10
  export { Debouncer, KeyedDebouncer } from './debouncer.js';
11
+ export { startEventLoopMonitor } from './event-loop-monitor.js';
11
12
  export { StaleExpirationMap } from './stale-expiration-map.js';
12
13
  export { ANSI_ESCAPE_PATTERN_FULL, ANSI_ESCAPE_PATTERN_SIMPLE, TOKEN_PATTERN, SPINNER_PATTERN, stripAnsi, SAFE_PATH_PATTERN, execPattern, } from './regex-patterns.js';
13
14
  export { MAX_SESSION_TOKENS } from './token-validation.js';