@nine-lab/nine-mu 0.1.234 → 0.1.236

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.234",
3
+ "version": "0.1.236",
4
4
  "description": "AI-Driven Full-Stack Code Fabrication Engine",
5
5
  "type": "module",
6
6
  "main": "./dist/nine-mu.umd.js",
@@ -119,10 +119,16 @@ export class NineChat extends HTMLElement {
119
119
  const asis = await this.#manager.getRoutes();
120
120
 
121
121
  if (parsed?.selected_tool === "source-missing") {
122
- nine.alert("메뉴 정리를 위한 라우터 정보 저장 화면으로 이동합니다.").then(res => {
123
- const tobe = (parsed?.data || []).map(({ isNew, ...rest }) => rest);
124
- this.#showDiff(asis, tobe, "json");
125
- });
122
+ const hasCreated = parsed?.data.some(item => item.action === 'CREATE');
123
+ const hasUpdated = parsed?.data.some(item => item.action === 'UPDATE');
124
+
125
+ if (hasUpdated || hasCreated) {
126
+ // 진짜 메뉴명 변경이나 이동만 요청한 경우
127
+ nine.alert("메뉴 정리를 위한 라우터 정보 저장 화면으로 이동합니다.").then(res => {
128
+ const tobe = (parsed?.data || []).map(({ isNew, action, ...rest }) => rest);
129
+ this.#showDiff(asis, tobe, "json");
130
+ });
131
+ }
126
132
  }
127
133
 
128
134
 
@@ -108,7 +108,12 @@ export class NineChatManager {
108
108
  }
109
109
 
110
110
  async #callTool(toolName, args = {}) {
111
- return this.#mcpClient.callTool({ name: toolName, arguments: args });
111
+ // return this.#mcpClient.callTool({ name: toolName, arguments: args });
112
+ return this.#mcpClient.callTool(
113
+ { name: toolName, arguments: args },
114
+ undefined, // 필요 시 extra 변수 자리 (기본값 undefined)
115
+ { timeout: 300000 } // 💡 개별 요청 타임아웃을 5분으로 확장
116
+ );
112
117
  }
113
118
 
114
119
  async getRoutes(toolName, args = {}) {