@cliphijack/santaclaude 0.9.1 → 0.9.2

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 (2) hide show
  1. package/package.json +1 -1
  2. package/santaclaude.js +4 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cliphijack/santaclaude",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "publishConfig": { "access": "public" },
5
5
  "description": "SantaClaude 커넥터 — 클라우드 예약을 내 로컬 Claude(tmux)에 발사",
6
6
  "bin": { "santaclaude": "./santaclaude.js" },
package/santaclaude.js CHANGED
@@ -37,7 +37,7 @@ function inject(pane, message) {
37
37
  }
38
38
  // tmux 세션 새로 만들고 그 안에 claude 자동 실행 (cwd 지정 시 그 폴더에서 = 프로젝트별 분리)
39
39
  function spawnClaude(session, cmd, cwd) {
40
- const a = ['new-session', '-d', '-s', session];
40
+ const a = ['new-session', '-d', '-s', session, '-x', '220', '-y', '50']; // 크게 — 더 많은 줄 보이게
41
41
  if (cwd) a.push('-c', cwd);
42
42
  execFileSync('tmux', a);
43
43
  try { execFileSync('sh', ['-c', 'sleep 1']); } catch (e) {} // 셸 초기화 대기
@@ -47,6 +47,7 @@ function spawnClaude(session, cmd, cwd) {
47
47
  }
48
48
  // 한 세션(작업장) 안에 새 윈도우(탭)로 claude 실행 — 프로젝트별 분리
49
49
  function spawnWindow(session, name, cmd, cwd) {
50
+ try { execFileSync('tmux', ['resize-window', '-t', session, '-x', '220', '-y', '50']); } catch (e) {} // 세션 크게
50
51
  const a = ['new-window', '-t', session, '-n', name];
51
52
  if (cwd) a.push('-c', cwd);
52
53
  execFileSync('tmux', a);
@@ -67,7 +68,7 @@ function listWindows(session) {
67
68
  // 각 루돌프(탭) 화면 캡처 — 웹 미러용 (마지막 ~30줄)
68
69
  function captureWindow(session, name) {
69
70
  // -e: ANSI 색상 보존(웹에서 터미널 색 재현), -S -40: 최근 40줄
70
- try { return execFileSync('tmux', ['capture-pane', '-t', session + ':' + name, '-p', '-e', '-S', '-200'], { encoding: 'utf8' }).replace(/\n+$/, '').slice(-16000); }
71
+ try { return execFileSync('tmux', ['capture-pane', '-t', session + ':' + name, '-p', '-e', '-S', '-500'], { encoding: 'utf8' }).replace(/\n+$/, '').slice(-60000); }
71
72
  catch (e) { return ''; }
72
73
  }
73
74
  function captureAll(session) {
@@ -89,6 +90,7 @@ async function run(conf) {
89
90
 
90
91
  console.log(`🛷 SantaClaude 커넥터 가동 — pane=${pane} · ${every / 1000}s 폴링 · ${api}`);
91
92
  if (paneExists(pane)) {
93
+ try { execFileSync('tmux', ['resize-window', '-t', session, '-x', '220', '-y', '50']); } catch (e) {} // 기존 세션도 크게(더 많은 줄)
92
94
  console.log(` ✅ tmux "${session}" 세션에 붙음 (기존 claude에 주입).`);
93
95
  } else if (conf.spawn !== false) {
94
96
  console.log(` 🦌 "${session}" 세션이 없어서 claude를 새로 띄울게…`);