@nine-lab/nine-mu 0.1.354 → 0.1.356

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": "@nine-lab/nine-mu",
3
- "version": "0.1.354",
3
+ "version": "0.1.356",
4
4
  "description": "AI-Driven Full-Stack Code Fabrication Engine",
5
5
  "type": "module",
6
6
  "main": "./dist/nine-mu.umd.js",
@@ -1,25 +1,26 @@
1
1
  import React from 'react';
2
2
 
3
3
  // ==========================================
4
- // 1. 터미널 프롬프트 테마 스타일 (픽셀 단위 정밀 제어)
4
+ // 1. 터미널 프롬프트 테마 스타일 (색상 행간 정밀 리튠)
5
5
  // ==========================================
6
6
  export const NineExceptionStyles = {
7
7
  container: {
8
8
  padding: '25px',
9
9
  margin: '20px',
10
- background: '#121314', // 터미널 다크 블랙 배경
11
- border: '1px solid #343A40', // 외곽 테두리
10
+ background: '#121314',
11
+ border: '1px solid #343A40',
12
12
  borderRadius: '6px',
13
13
  fontFamily: 'Consolas, Monaco, "Courier New", monospace',
14
14
  textAlign: 'left',
15
15
  boxShadow: '0 4px 12px rgba(0,0,0,0.3)',
16
- lineHeight: '1.2' // 기본 줄높이를 고정하여 서체 왜곡 방지
16
+ // 1. 수정: 전체 내부 줄간격을 1.5 정도로 주어 터미널 특유의 쾌적하고 꽉 찬 느낌을 제공
17
+ lineHeight: '1.5'
17
18
  },
18
19
  systemError: {
19
- color: '#E53E3E', // 터미널 레드 Warning
20
+ color: '#999', // 캡처 화면과 동일하게 #999 유지
20
21
  fontWeight: 'bold',
21
22
  fontSize: '14px',
22
- margin: '0 0 12px 0', // 번째 아래 여백 (12px)
23
+ margin: '0', // 2. 수정: 아래 마진을 없애서 순수 lineHeight로만 줄간격 통일
23
24
  letterSpacing: '0.5px',
24
25
  padding: '0'
25
26
  },
@@ -27,36 +28,41 @@ export const NineExceptionStyles = {
27
28
  background: 'transparent',
28
29
  color: '#F8F9FA',
29
30
  padding: '0',
30
- margin: '0 0 12px 0', // 브라우저 기본 마진을 지우고 정확히 하단 여백 12px 강제
31
+ margin: '0', // 3. 수정: 아래 마진을 없애서 다음 줄과의 간격을 줄 간격과 100% 일치시킴
31
32
  border: 'none',
32
33
  overflowX: 'auto',
33
34
  whiteSpace: 'pre-wrap',
34
35
  fontFamily: 'Consolas, Monaco, monospace',
35
- fontSize: '14px'
36
+ fontSize: '14px',
37
+ // 4. 추가: 브라우저가 pre 태그에 임의로 잡는 베이스라인 정렬을 강제로 리셋
38
+ display: 'block'
36
39
  },
37
40
  footer: {
38
41
  fontSize: '14px',
39
- color: '#E2E8F0',
42
+ color: '#999', // ⭐ 전체 기본 텍스트 톤을 #999로 변경
40
43
  margin: '0',
41
44
  padding: '0',
42
45
  display: 'flex',
43
46
  flexDirection: 'column',
44
- gap: '12px' // 상태 메시지들 간의 간격도 12px로 통일
47
+ gap: '12px' // 하단 상태 로그 적재 간격 12px
45
48
  },
46
49
  promptRow: {
47
50
  margin: '0',
48
51
  padding: '0',
49
- display: 'block'
52
+ display: 'block',
53
+ lineHeight: '1', // 줄간 격차 원천 차단
54
+ color: '#999' // ⭐ 괄호 및 텍스트 전체 #999 적용
50
55
  },
51
56
  cliLink: {
52
- color: '#38A169', // 터미널 그린
57
+ color: '#38A169', // 선택 수단 y는 터미널 그린 유지
53
58
  padding: '0',
54
59
  fontFamily: 'Consolas, Monaco, monospace',
55
60
  fontSize: '14px',
56
61
  fontWeight: 'bold',
57
62
  cursor: 'pointer',
58
63
  textDecoration: 'underline',
59
- textUnderlineOffset: '3px'
64
+ textUnderlineOffset: '3px',
65
+ lineHeight: '1'
60
66
  }
61
67
  };
62
68
 
@@ -108,7 +114,7 @@ export class NineExceptionHook extends React.Component {
108
114
 
109
115
  handleLocationChange() {
110
116
  setTimeout(() => {
111
- if (this.state.hasError && this.lastPath !== window.location.pathname) {
117
+ if (this.state.hasError && this.state.reportStatus !== 'idle') {
112
118
  console.log("[Nine-Library] 페이지 주소 변경 감지 -> 에러 상태 초기화");
113
119
  this.lastPath = window.location.pathname;
114
120
  this.setState({ hasError: false, error: null, reportStatus: 'idle' });
@@ -164,7 +170,7 @@ export class NineExceptionHook extends React.Component {
164
170
 
165
171
  this.state.reportStatus === 'idle' && React.createElement(
166
172
  'div',
167
- { style: NineExceptionStyles.promptRow },
173
+ { style: { ...NineExceptionStyles.promptRow, ...customStyles.promptRow } },
168
174
  React.createElement('span', null, 'Send error log to Control Tower ('),
169
175
  React.createElement(
170
176
  'span',
@@ -179,15 +185,15 @@ export class NineExceptionHook extends React.Component {
179
185
 
180
186
  this.state.reportStatus === 'sending' && React.createElement(
181
187
  'div',
182
- { style: { color: '#ED8936', margin: '0' } },
188
+ { style: { color: '#ED8936', margin: '0', lineHeight: '1' } },
183
189
  '>> Connecting to Control Tower... Sending payload.'
184
190
  ),
185
191
 
186
192
  this.state.reportStatus === 'success' && React.createElement(
187
193
  'div',
188
194
  { style: { display: 'flex', flexDirection: 'column', gap: '12px', margin: '0' } },
189
- React.createElement('div', { style: { color: '#38A169', fontWeight: 'bold' } }, '>> Transmit complete. Core engine initialized.'),
190
- React.createElement('div', { style: { color: '#A0AEC0', fontStyle: 'italic', fontSize: '13px' } }, 'AI가 소스 코드를 재수정하는 동안 잠시만 기다려주세요...')
195
+ React.createElement('div', { style: { color: '#38A169', fontWeight: 'bold', lineHeight: '1' } }, '>> Transmit complete. Core engine initialized.'),
196
+ React.createElement('div', { style: { color: '#A0AEC0', fontStyle: 'italic', fontSize: '13px', lineHeight: '1' } }, 'AI가 소스 코드를 재수정하는 동안 잠시만 기다려주세요...')
191
197
  )
192
198
  )
193
199
  );