triflux 7.5.0 → 7.5.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.
@@ -19,7 +19,9 @@ export class CodexBackend {
19
19
  */
20
20
  buildArgs(prompt, resultFile, opts = {}) {
21
21
  const modelFlag = opts.model ? ` --model '${opts.model}'` : "";
22
- return `codex exec --dangerously-bypass-approvals-and-sandbox ${prompt} --output-last-message '${resultFile}' --color never${modelFlag}`;
22
+ // Codex 0.117.0+: config.toml에 sandbox 설정이 있으면 CLI 플래그 중복 불가
23
+ // --dangerously-bypass-approvals-and-sandbox 대신 exec 서브커맨드만 사용 (config가 sandbox 관리)
24
+ return `codex exec ${prompt} --output-last-message '${resultFile}' --color never${modelFlag}`;
23
25
  }
24
26
 
25
27
  env() { return {}; }
@@ -259,7 +259,7 @@ function collectResults(results) {
259
259
  // B3 fix: git diff를 루프 밖에서 1회만 실행 (워커 수만큼 중복 방지)
260
260
  let gitDiffFiles;
261
261
  try {
262
- const diffOut = execSync("git diff --name-only HEAD", { encoding: "utf8", timeout: 5000 });
262
+ const diffOut = execSync("git diff --name-only HEAD", { encoding: "utf8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] });
263
263
  gitDiffFiles = diffOut.trim().split("\n").filter(Boolean);
264
264
  } catch { /* git 미설치 또는 non-repo — 무시 */ }
265
265
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triflux",
3
- "version": "7.5.0",
3
+ "version": "7.5.1",
4
4
  "description": "CLI-first multi-model orchestrator for Claude Code — route tasks to Codex, Gemini, and Claude",
5
5
  "type": "module",
6
6
  "bin": {
package/scripts/setup.mjs CHANGED
@@ -293,6 +293,14 @@ function ensureCodexProfiles() {
293
293
  }
294
294
  }
295
295
 
296
+ // headless 모드에서 승인 없이 실행하려면 sandbox 설정 필수
297
+ // Codex 0.117.0+: config.toml 설정과 CLI 플래그 중복 시 에러
298
+ if (process.platform === "win32" && !updated.includes('[windows]')) {
299
+ if (updated.length > 0 && !updated.endsWith("\n")) updated += "\n";
300
+ updated += "\n[windows]\nsandbox = \"elevated\"\n";
301
+ changed++;
302
+ }
303
+
296
304
  if (changed > 0) {
297
305
  writeFileSync(CODEX_CONFIG_PATH, updated, "utf8");
298
306
  }