@ai-dev-methodologies/rlp-desk 0.13.0 → 0.13.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-dev-methodologies/rlp-desk",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "description": "Fresh-context iterative loops for Claude Code \u2014 autonomous task completion with independent verification",
5
5
  "scripts": {
6
6
  "postinstall": "node scripts/postinstall.js",
@@ -46,4 +46,4 @@
46
46
  "engines": {
47
47
  "node": ">=16"
48
48
  }
49
- }
49
+ }
@@ -245,8 +245,27 @@ function nextWorkerModel(currentModel, consecutiveFailures) {
245
245
  return model;
246
246
  }
247
247
 
248
- async function defaultCreateSession({ sessionName, workingDir }) {
249
- const { stdout } = await execFileAsync('tmux', [
248
+ export async function defaultCreateSession({ sessionName, workingDir, env = process.env, execFile: execFileImpl } = {}) {
249
+ const exec = execFileImpl ?? execFileAsync;
250
+ // v0.13.1: when invoked from inside an attached tmux session, the user
251
+ // expects worker/verifier/flywheel panes to split off the CURRENT pane in
252
+ // the CURRENT window (mirrors zsh runner src/scripts/run_ralph_desk.zsh
253
+ // L815-823). The detached `new-session` fallback below is preserved for
254
+ // non-tmux invocation (CI, plain shells).
255
+ if (env && env.TMUX) {
256
+ const { stdout: paneOut } = await exec('tmux', [
257
+ 'display-message', '-p', '-F', '#{pane_id}',
258
+ ]);
259
+ const { stdout: sessOut } = await exec('tmux', [
260
+ 'display-message', '-p', '-F', '#{session_name}',
261
+ ]);
262
+ return {
263
+ sessionName: sessOut.trim() || sessionName,
264
+ leaderPaneId: paneOut.trim(),
265
+ };
266
+ }
267
+
268
+ const { stdout } = await exec('tmux', [
250
269
  'new-session',
251
270
  '-d',
252
271
  '-P',
@@ -1052,6 +1071,7 @@ async function _runCampaignBody(slug, options, paths, rootDir) {
1052
1071
  const session = await createSession({
1053
1072
  sessionName: options.sessionName ?? `rlp-${slug}`,
1054
1073
  workingDir: rootDir,
1074
+ env: options.env ?? process.env,
1055
1075
  });
1056
1076
  state.session_name = session.sessionName;
1057
1077
  state.leader_pane_id = session.leaderPaneId;