@nine-lab/nine-mu 0.1.354 → 0.1.355

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