@nine-lab/nine-mu 0.1.353 → 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.353",
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,63 +1,67 @@
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
10
  background: '#121314', // 터미널 다크 블랙 배경
11
- border: '1px solid #343A40', // 외곽 메탈릭 테두리
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
+ 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 8px 0', // 하단 마진 축소
23
- letterSpacing: '0.5px'
22
+ margin: '0 0 12px 0', // 정확히 하단 여백 12px
23
+ letterSpacing: '0.5px',
24
+ padding: '0',
25
+ lineHeight: '1' // 줄간 격차 원천 차단
24
26
  },
25
27
  pre: {
26
28
  background: 'transparent',
27
29
  color: '#F8F9FA',
28
30
  padding: '0',
29
- margin: '0 0 12px 0', // 하단 마진 축소하여 다음 라인과 밀착
31
+ margin: '0 0 12px 0', // 정확히 하단 여백 12px
30
32
  border: 'none',
31
33
  overflowX: 'auto',
32
34
  whiteSpace: 'pre-wrap',
33
35
  fontFamily: 'Consolas, Monaco, monospace',
34
- fontSize: '14px'
36
+ fontSize: '14px',
37
+ lineHeight: '1' // 줄간 격차 원천 차단
35
38
  },
36
39
  footer: {
37
40
  fontSize: '14px',
38
- color: '#E2E8F0',
39
- margin: '0', // 불필요한 공백 제거
41
+ color: '#999', // ⭐ 전체 기본 텍스트 톤을 #999로 변경
42
+ margin: '0',
43
+ padding: '0',
40
44
  display: 'flex',
41
45
  flexDirection: 'column',
42
- gap: '6px'
46
+ gap: '12px' // 하단 상태 로그 적재 시 간격 12px
43
47
  },
44
48
  promptRow: {
45
- display: 'block', // 자연스러운 텍스트 흐름을 위해 block 처리
46
- margin: '0'
49
+ margin: '0',
50
+ padding: '0',
51
+ display: 'block',
52
+ lineHeight: '1', // 줄간 격차 원천 차단
53
+ color: '#999' // ⭐ 괄호 및 텍스트 전체 #999 적용
47
54
  },
48
- // ⭐ y 글자에 직접 바인딩할 터미널 링크 스타일
49
55
  cliLink: {
50
- background: 'transparent',
51
- color: '#38A169', // 터미널 그린
52
- border: 'none',
53
- padding: '0 2px',
56
+ color: '#38A169', // 선택 수단 y는 터미널 그린 유지
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: '2px',
60
- display: 'inline'
63
+ textUnderlineOffset: '3px',
64
+ lineHeight: '1'
61
65
  }
62
66
  };
63
67
 
@@ -109,7 +113,7 @@ export class NineExceptionHook extends React.Component {
109
113
 
110
114
  handleLocationChange() {
111
115
  setTimeout(() => {
112
- if (this.state.hasError && this.lastPath !== window.location.pathname) {
116
+ if (this.state.hasError && this.state.reportStatus !== 'idle') {
113
117
  console.log("[Nine-Library] 페이지 주소 변경 감지 -> 에러 상태 초기화");
114
118
  this.lastPath = window.location.pathname;
115
119
  this.setState({ hasError: false, error: null, reportStatus: 'idle' });
@@ -155,20 +159,20 @@ export class NineExceptionHook extends React.Component {
155
159
  '[SYSTEM] COMPONENT RENDER ERROR DETECTED'
156
160
  ),
157
161
 
158
- // 2. 에러 내용 (하단 마진을 줄여 다음 줄과 간격을 맞춤)
162
+ // 2. 에러 내용
159
163
  React.createElement('pre', { style: { ...NineExceptionStyles.pre, ...customStyles.pre } }, errorMessage),
160
164
 
161
- // 3. CLI 프롬프트 및 링크 영역
165
+ // 3. CLI 프롬프트 영역
162
166
  React.createElement(
163
167
  'div',
164
168
  { style: { ...NineExceptionStyles.footer, ...customStyles.footer } },
165
169
 
166
170
  this.state.reportStatus === 'idle' && React.createElement(
167
171
  'div',
168
- { style: NineExceptionStyles.promptRow },
172
+ { style: { ...NineExceptionStyles.promptRow, ...customStyles.promptRow } },
169
173
  React.createElement('span', null, 'Send error log to Control Tower ('),
170
174
  React.createElement(
171
- 'button',
175
+ 'span',
172
176
  {
173
177
  style: { ...NineExceptionStyles.cliLink, ...customStyles.cliLink },
174
178
  onClick: this.handleReport
@@ -180,15 +184,15 @@ export class NineExceptionHook extends React.Component {
180
184
 
181
185
  this.state.reportStatus === 'sending' && React.createElement(
182
186
  'div',
183
- { style: { color: '#ED8936' } },
187
+ { style: { color: '#ED8936', margin: '0', lineHeight: '1' } },
184
188
  '>> Connecting to Control Tower... Sending payload.'
185
189
  ),
186
190
 
187
191
  this.state.reportStatus === 'success' && React.createElement(
188
192
  'div',
189
- { style: { display: 'flex', flexDirection: 'column', gap: '4px' } },
190
- React.createElement('div', { style: { color: '#38A169', fontWeight: 'bold' } }, '>> Transmit complete. Core engine initialized.'),
191
- React.createElement('div', { style: { color: '#A0AEC0', fontStyle: 'italic', fontSize: '13px' } }, 'AI가 소스 코드를 재수정하는 동안 잠시만 기다려주세요...')
193
+ { style: { display: 'flex', flexDirection: 'column', gap: '12px', margin: '0' } },
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가 소스 코드를 재수정하는 동안 잠시만 기다려주세요...')
192
196
  )
193
197
  )
194
198
  );