@nine-lab/nine-mu 0.1.299 → 0.1.301

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.299",
3
+ "version": "0.1.301",
4
4
  "description": "AI-Driven Full-Stack Code Fabrication Engine",
5
5
  "type": "module",
6
6
  "main": "./dist/nine-mu.umd.js",
@@ -831,6 +831,35 @@
831
831
  }
832
832
  .btn { padding: 8px 20px; cursor: pointer; border-radius: 4px; border: 1px solid #ccc; font-weight: bold; }
833
833
  .btn-confirm { background: #007bff; color: white; border: none; }
834
+
835
+ .tab-pages .tab-page {
836
+ height: 100%;
837
+ }
838
+
839
+ nine-dialog {
840
+ display: flex;
841
+ flex-direction: column;
842
+ width: 85vw;
843
+ height: 80vh; /* 팝업 전체 높이를 브라우저 화면의 80%로 제한 */
844
+ min-width: 900px;
845
+ overflow: hidden; /* 다이얼로그 자체가 늘어나며 바깥 스크롤 생기는 현상 방지 */
846
+ }
847
+
848
+ /* 🎯 [핵심 교정]: 탭 영역이 남은 다이얼로그 높이를 100% 꽉 채우도록 설정 */
849
+ nine-tab {
850
+ flex: 1;
851
+ min-height: 0; /* 플렉스 자식의 무한 늘어남 방지 (스크롤 유도 필수 속성) */
852
+ display: flex;
853
+ flex-direction: column;
854
+ }
855
+
856
+ .footer1111 {
857
+ display: flex;
858
+ justify-content: flex-end;
859
+ gap: 10px;
860
+ padding: 15px 0 0 0;
861
+ border-top: 1px solid #e5e7eb;
862
+ }
834
863
  }
835
864
 
836
865
  :host(nine-diff) {
@@ -125,7 +125,7 @@ export class NineChat extends HTMLElement {
125
125
 
126
126
  const asis = await this.#manager.getRoutes();
127
127
 
128
- if (parsed?.selected_tool === "source-missing") {
128
+ if (parsed?.selected_tool === "generator-menu") {
129
129
  const hasCreated = parsed?.data.some(item => item.action === 'CREATE');
130
130
  const hasUpdated = parsed?.data.some(item => item.action === 'UPDATE');
131
131
  const hasDeleted = parsed?.data.some(item => item.action === 'DELETE');
@@ -142,9 +142,6 @@ export class NineChat extends HTMLElement {
142
142
  }
143
143
  }
144
144
 
145
-
146
-
147
-
148
145
  // 💡 만약 intent가 EXECUTE_TOOL이거나 NAVIGATE일 때 프론트에서
149
146
  // 화면 이동(Routing)이나 추가 액션을 해야 한다면 여기서 parsedData.target_path 등을 활용하면 됩니다!
150
147
 
@@ -256,9 +253,20 @@ export class NineChat extends HTMLElement {
256
253
  const container = this.shadowRoot.querySelector('.wrapper') || this.shadowRoot;
257
254
  container.appendChild($diffPopup);
258
255
 
256
+ const filePayload = {
257
+ //layer: "Unknown",
258
+ full_path: "unknown_file",
259
+ asis_source: asis || "",
260
+ source: tobe || ""
261
+ };
262
+ collectedFiles.push(filePayload);
263
+
264
+ $diffPopup.data([...collectedFiles]);
265
+ $diffPopup.popup();
266
+
259
267
  // 4. 데이터 주입 및 팝업 실행
260
268
  // 💡 팝업이 네이티브 <dialog> 기반이라면 .popup() 내부에서 showModal()이 실행될 겁니다.
261
- $diffPopup.popup().data(asis, tobe, lang);
269
+ //$diffPopup.popup().data(asis, tobe, lang);
262
270
  }
263
271
  }
264
272
 
@@ -79,10 +79,10 @@ export class NineDiffPopup extends HTMLElement {
79
79
  fileList.forEach((file) => {
80
80
  const { layer, full_path } = file;
81
81
  const fileName = full_path.split('/').pop() || "Unknown";
82
- const captionName = `${layer.toUpperCase()} (${fileName})`;
82
+ //const captionName = `${layer.toUpperCase()} (${fileName})`;
83
83
 
84
84
  totalTabHtml += `
85
- <nine-tab-page caption="${captionName}">
85
+ <nine-tab-page caption="${fileName}">
86
86
  <nine-diff class="${layer}"></nine-diff>
87
87
  </nine-tab-page>
88
88
  `;