@nine-lab/nine-mu 0.1.119 → 0.1.121
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/dist/nine-mu.js +34 -34
- package/dist/nine-mu.js.map +1 -1
- package/dist/nine-mu.umd.js +2 -2
- package/dist/nine-mu.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/NineChat.js +1 -1
- package/src/external/NoPeer.js +3 -3
package/dist/nine-mu.js
CHANGED
|
@@ -10,8 +10,8 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
10
10
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
11
11
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
12
12
|
var _logger, _getSourcePath, _service, _routes, _diffPopup, _packageName, _routesPath, _connectorUrl, _mcpClient, _NineChat_instances, initInteractions_fn, initActions_fn, _initMcp, render_fn, _makeMenuHandler, _sourceGenHandler, _showDiff, _asisEditorView, _tobeEditorView, _asisEditorEl, _tobeEditorEl, _languageCompartment, _isScrollSyncActive, _initCodeMirror, _setupScrollSync, _applyDiffDecorations, _dialog, _diffView, _asisBackup, _host, _NineDiffPopup_instances, render_fn2, handleConfirm_fn, handleCancel_fn;
|
|
13
|
-
import { trace, api, nine } from "@nine-lab/nine-util";
|
|
14
|
-
class NineMuTrace extends trace {
|
|
13
|
+
import { trace as trace$1, api, nine } from "@nine-lab/nine-util";
|
|
14
|
+
class NineMuTrace extends trace$1.constructor {
|
|
15
15
|
constructor() {
|
|
16
16
|
super();
|
|
17
17
|
__privateAdd(this, _logger);
|
|
@@ -25,7 +25,7 @@ class NineMuTrace extends trace {
|
|
|
25
25
|
// 필요하다면 warn, error도 똑같이...
|
|
26
26
|
}
|
|
27
27
|
_logger = new WeakMap();
|
|
28
|
-
const
|
|
28
|
+
const trace = new NineMuTrace();
|
|
29
29
|
class NineMuService {
|
|
30
30
|
constructor(connectorUrl) {
|
|
31
31
|
__privateAdd(this, _getSourcePath, (menuUrl) => {
|
|
@@ -41,7 +41,7 @@ class NineMuService {
|
|
|
41
41
|
*/
|
|
42
42
|
async generate(command2, targets, currentRoutes) {
|
|
43
43
|
try {
|
|
44
|
-
trace.log(`공정 시작: "${command2}" [대상: ${targets.join(", ")}]`);
|
|
44
|
+
trace$1.log(`공정 시작: "${command2}" [대상: ${targets.join(", ")}]`);
|
|
45
45
|
const response = await fetch(`${this.connectorUrl}/api/mu/generate`, {
|
|
46
46
|
method: "POST",
|
|
47
47
|
headers: { "Content-Type": "application/json" },
|
|
@@ -58,7 +58,7 @@ class NineMuService {
|
|
|
58
58
|
}
|
|
59
59
|
return result;
|
|
60
60
|
} catch (error) {
|
|
61
|
-
trace.error("NineMu Service Error:", error);
|
|
61
|
+
trace$1.error("NineMu Service Error:", error);
|
|
62
62
|
throw error;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -66,7 +66,7 @@ class NineMuService {
|
|
|
66
66
|
}
|
|
67
67
|
async generateAll_BAK(command2, targets, currentRoutes) {
|
|
68
68
|
try {
|
|
69
|
-
trace.log(`공정 시작: "${command2}" [대상: ${targets.join(", ")}]`);
|
|
69
|
+
trace$1.log(`공정 시작: "${command2}" [대상: ${targets.join(", ")}]`);
|
|
70
70
|
const srcPath = __privateGet(this, _getSourcePath).call(this, "/admin/payment/order-list");
|
|
71
71
|
const srcPath1 = {
|
|
72
72
|
mybatis: "",
|
|
@@ -75,9 +75,9 @@ class NineMuService {
|
|
|
75
75
|
javascriptFrom: "",
|
|
76
76
|
javascriptTo: ""
|
|
77
77
|
};
|
|
78
|
-
trace.log(srcPath);
|
|
78
|
+
trace$1.log(srcPath);
|
|
79
79
|
const src = await api.post("/nine-ai/source/read", srcPath);
|
|
80
|
-
trace.log(src);
|
|
80
|
+
trace$1.log(src);
|
|
81
81
|
const response = await fetch(`${this.connectorUrl}/api/mu/generateAll`, {
|
|
82
82
|
method: "POST",
|
|
83
83
|
headers: { "Content-Type": "application/json" },
|
|
@@ -88,14 +88,14 @@ class NineMuService {
|
|
|
88
88
|
//currentRoutes
|
|
89
89
|
})
|
|
90
90
|
});
|
|
91
|
-
trace.log(response);
|
|
91
|
+
trace$1.log(response);
|
|
92
92
|
const result = await response.json();
|
|
93
93
|
if (!result.success) {
|
|
94
94
|
throw new Error(result.error || "소스 생성 중 서버 오류가 발생했습니다.");
|
|
95
95
|
}
|
|
96
96
|
return result;
|
|
97
97
|
} catch (error) {
|
|
98
|
-
trace.error("NineMu Service Error:", error);
|
|
98
|
+
trace$1.error("NineMu Service Error:", error);
|
|
99
99
|
throw error;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -108,7 +108,7 @@ class NineMuService {
|
|
|
108
108
|
const res = await fetch(routeUrl);
|
|
109
109
|
return await res.json();
|
|
110
110
|
} catch (err) {
|
|
111
|
-
trace.error("Route load fail", err);
|
|
111
|
+
trace$1.error("Route load fail", err);
|
|
112
112
|
return [];
|
|
113
113
|
}
|
|
114
114
|
}
|
|
@@ -13617,21 +13617,21 @@ class NineChat extends HTMLElement {
|
|
|
13617
13617
|
name: "nine-mcp-client",
|
|
13618
13618
|
version: "1.0.0"
|
|
13619
13619
|
}, { capabilities: { tools: {} } }));
|
|
13620
|
-
|
|
13620
|
+
trace.log("Connecting to MCP via WebSocket...");
|
|
13621
13621
|
await __privateGet(this, _mcpClient).connect(transport);
|
|
13622
|
-
|
|
13622
|
+
trace.log("✅ Nine MCP Connected (WebSocket)");
|
|
13623
13623
|
} catch (err) {
|
|
13624
|
-
|
|
13624
|
+
trace.error("❌ MCP 초기화 에러:", err);
|
|
13625
13625
|
}
|
|
13626
13626
|
});
|
|
13627
13627
|
__privateAdd(this, _makeMenuHandler, async (e) => {
|
|
13628
13628
|
const prompt = await nine.prompt("메뉴생성시 필요한 AI 프롬프트를 입력하세요.").rgb();
|
|
13629
13629
|
if (prompt === null || prompt === void 0) return;
|
|
13630
13630
|
const res = await api.post(`/nine-mu/source/readFile`, { path: __privateGet(this, _routesPath) });
|
|
13631
|
-
|
|
13631
|
+
trace.log(res);
|
|
13632
13632
|
if (!res || !(res == null ? void 0 : res.contents)) return;
|
|
13633
13633
|
const jsonRoutes = (res == null ? void 0 : res.contents) ? JSON.parse(res == null ? void 0 : res.contents) : {};
|
|
13634
|
-
|
|
13634
|
+
trace.log(jsonRoutes);
|
|
13635
13635
|
const res2 = await api.post(`${__privateGet(this, _connectorUrl)}/api/source/missing`, {
|
|
13636
13636
|
routes: jsonRoutes,
|
|
13637
13637
|
prompt
|
|
@@ -13728,7 +13728,7 @@ render_fn = function() {
|
|
|
13728
13728
|
const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
|
|
13729
13729
|
this.shadowRoot.innerHTML = `
|
|
13730
13730
|
<style>
|
|
13731
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
13731
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.120"}/dist/css/nine-mu.css";
|
|
13732
13732
|
${customImport}
|
|
13733
13733
|
</style>
|
|
13734
13734
|
<div class="wrapper">
|
|
@@ -39623,9 +39623,9 @@ class MergeButtonWidget extends WidgetType {
|
|
|
39623
39623
|
button.className = "cm-merge-button accept";
|
|
39624
39624
|
}
|
|
39625
39625
|
button.addEventListener("click", () => {
|
|
39626
|
-
trace.log(`버튼 클릭: ${this.isAsisButton ? "ASIS 쪽 (삭제)" : "TOBE 쪽 (적용)"}`, this.textToApply);
|
|
39627
|
-
trace.log("대상 에디터:", this.targetEditorView === this.hostComponent.asisEditorView ? "ASIS" : "TOBE");
|
|
39628
|
-
trace.log("대상 범위:", this.diffRange);
|
|
39626
|
+
trace$1.log(`버튼 클릭: ${this.isAsisButton ? "ASIS 쪽 (삭제)" : "TOBE 쪽 (적용)"}`, this.textToApply);
|
|
39627
|
+
trace$1.log("대상 에디터:", this.targetEditorView === this.hostComponent.asisEditorView ? "ASIS" : "TOBE");
|
|
39628
|
+
trace$1.log("대상 범위:", this.diffRange);
|
|
39629
39629
|
this.applyChanges(this.textToApply, this.targetEditorView, this.diffRange);
|
|
39630
39630
|
});
|
|
39631
39631
|
const container = document.createElement("div");
|
|
@@ -39636,7 +39636,7 @@ class MergeButtonWidget extends WidgetType {
|
|
|
39636
39636
|
// 실제 변경 적용 로직
|
|
39637
39637
|
applyChanges(text, editorView, range) {
|
|
39638
39638
|
if (!editorView || !range) {
|
|
39639
|
-
trace.error("Target editor view or range is undefined.", editorView, range);
|
|
39639
|
+
trace$1.error("Target editor view or range is undefined.", editorView, range);
|
|
39640
39640
|
return;
|
|
39641
39641
|
}
|
|
39642
39642
|
editorView.dispatch({
|
|
@@ -39677,7 +39677,7 @@ class NineDiff extends HTMLElement {
|
|
|
39677
39677
|
__privateSet(this, _asisEditorEl, this.shadowRoot.querySelector(".panel.asis"));
|
|
39678
39678
|
__privateSet(this, _tobeEditorEl, this.shadowRoot.querySelector(".panel.tobe"));
|
|
39679
39679
|
if (!__privateGet(this, _asisEditorEl) || !__privateGet(this, _tobeEditorEl)) {
|
|
39680
|
-
trace.error("CodeMirror panel containers not found!");
|
|
39680
|
+
trace$1.error("CodeMirror panel containers not found!");
|
|
39681
39681
|
return;
|
|
39682
39682
|
}
|
|
39683
39683
|
const basicExtensions = [
|
|
@@ -39718,7 +39718,7 @@ class NineDiff extends HTMLElement {
|
|
|
39718
39718
|
EditorView.updateListener.of((update) => {
|
|
39719
39719
|
if (update.view.contentDOM.firstChild && !update.view._initialAsisContentLoaded) {
|
|
39720
39720
|
update.view._initialAsisContentLoaded = true;
|
|
39721
|
-
trace.log("CodeMirror ASIS view is ready for initial content.");
|
|
39721
|
+
trace$1.log("CodeMirror ASIS view is ready for initial content.");
|
|
39722
39722
|
asisReady = true;
|
|
39723
39723
|
checkAllReady();
|
|
39724
39724
|
}
|
|
@@ -39740,7 +39740,7 @@ class NineDiff extends HTMLElement {
|
|
|
39740
39740
|
EditorView.updateListener.of((update) => {
|
|
39741
39741
|
if (update.view.contentDOM.firstChild && !update.view._initialTobeContentLoaded) {
|
|
39742
39742
|
update.view._initialTobeContentLoaded = true;
|
|
39743
|
-
trace.log("CodeMirror TOBE view is ready for initial content.");
|
|
39743
|
+
trace$1.log("CodeMirror TOBE view is ready for initial content.");
|
|
39744
39744
|
tobeReady = true;
|
|
39745
39745
|
checkAllReady();
|
|
39746
39746
|
}
|
|
@@ -39803,7 +39803,7 @@ class NineDiff extends HTMLElement {
|
|
|
39803
39803
|
const tobeRangeStart = tobeCursor;
|
|
39804
39804
|
switch (op) {
|
|
39805
39805
|
case diffMatchPatchExports.diff_match_patch.DIFF_INSERT:
|
|
39806
|
-
trace.log("DIFF_INSERT (TOBE added):", JSON.stringify(text));
|
|
39806
|
+
trace$1.log("DIFF_INSERT (TOBE added):", JSON.stringify(text));
|
|
39807
39807
|
const tobeLines = text.split("\n");
|
|
39808
39808
|
for (let i = 0; i < tobeLines.length; i++) {
|
|
39809
39809
|
if (!(i === tobeLines.length - 1 && tobeLines[i] === "" && text.endsWith("\n"))) {
|
|
@@ -39831,7 +39831,7 @@ class NineDiff extends HTMLElement {
|
|
|
39831
39831
|
);
|
|
39832
39832
|
break;
|
|
39833
39833
|
case diffMatchPatchExports.diff_match_patch.DIFF_DELETE:
|
|
39834
|
-
trace.log("DIFF_DELETE (ASIS deleted):", JSON.stringify(text));
|
|
39834
|
+
trace$1.log("DIFF_DELETE (ASIS deleted):", JSON.stringify(text));
|
|
39835
39835
|
const asisLines = text.split("\n");
|
|
39836
39836
|
for (let i = 0; i < asisLines.length; i++) {
|
|
39837
39837
|
if (!(i === asisLines.length - 1 && asisLines[i] === "" && text.endsWith("\n"))) {
|
|
@@ -39890,7 +39890,7 @@ class NineDiff extends HTMLElement {
|
|
|
39890
39890
|
});
|
|
39891
39891
|
__publicField(this, "initialize", (src1, src2, language2 = "javascript") => {
|
|
39892
39892
|
if (!__privateGet(this, _asisEditorView) || !__privateGet(this, _tobeEditorView)) {
|
|
39893
|
-
trace.warn("CodeMirror Editors not initialized yet.");
|
|
39893
|
+
trace$1.warn("CodeMirror Editors not initialized yet.");
|
|
39894
39894
|
return;
|
|
39895
39895
|
}
|
|
39896
39896
|
__privateSet(this, _isScrollSyncActive, false);
|
|
@@ -39946,7 +39946,7 @@ class NineDiff extends HTMLElement {
|
|
|
39946
39946
|
const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
|
|
39947
39947
|
this.shadowRoot.innerHTML = `
|
|
39948
39948
|
<style>
|
|
39949
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
39949
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.120"}/dist/css/nine-mu.css";
|
|
39950
39950
|
${customImport}
|
|
39951
39951
|
</style>
|
|
39952
39952
|
|
|
@@ -39963,7 +39963,7 @@ class NineDiff extends HTMLElement {
|
|
|
39963
39963
|
bubbles: true,
|
|
39964
39964
|
composed: true
|
|
39965
39965
|
}));
|
|
39966
|
-
trace.log("dispatchEvent");
|
|
39966
|
+
trace$1.log("dispatchEvent");
|
|
39967
39967
|
});
|
|
39968
39968
|
}
|
|
39969
39969
|
disconnectedCallback() {
|
|
@@ -40022,12 +40022,12 @@ class NineDiffPopup extends HTMLElement {
|
|
|
40022
40022
|
if (typeof src === "string" && (src.startsWith("url:") || src.startsWith("file:"))) {
|
|
40023
40023
|
const targetUrl = src.replace(/^(url:|file:)/, "");
|
|
40024
40024
|
try {
|
|
40025
|
-
trace.log(`📡 리모트 로드: ${targetUrl}`);
|
|
40025
|
+
trace$1.log(`📡 리모트 로드: ${targetUrl}`);
|
|
40026
40026
|
const res = await fetch(targetUrl);
|
|
40027
40027
|
if (!res.ok) throw new Error(`Status: ${res.status}`);
|
|
40028
40028
|
return await res.text();
|
|
40029
40029
|
} catch (e) {
|
|
40030
|
-
trace.error(`로드 실패 [${targetUrl}]:`, e);
|
|
40030
|
+
trace$1.error(`로드 실패 [${targetUrl}]:`, e);
|
|
40031
40031
|
return `// 로드 실패: ${targetUrl}
|
|
40032
40032
|
${e.message}`;
|
|
40033
40033
|
}
|
|
@@ -40056,7 +40056,7 @@ render_fn2 = function() {
|
|
|
40056
40056
|
const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
|
|
40057
40057
|
this.shadowRoot.innerHTML = `
|
|
40058
40058
|
<style>
|
|
40059
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
40059
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.120"}/dist/css/nine-mu.css";
|
|
40060
40060
|
${customImport}
|
|
40061
40061
|
</style>
|
|
40062
40062
|
|
|
@@ -40095,9 +40095,9 @@ handleCancel_fn = function() {
|
|
|
40095
40095
|
};
|
|
40096
40096
|
customElements.define("nine-diff-popup", NineDiffPopup);
|
|
40097
40097
|
const NineMu = {
|
|
40098
|
-
version: "0.1.
|
|
40098
|
+
version: "0.1.120",
|
|
40099
40099
|
init: (config2) => {
|
|
40100
|
-
trace.log("🛠️ Nine-Mu Engine initialized", config2);
|
|
40100
|
+
trace$1.log("🛠️ Nine-Mu Engine initialized", config2);
|
|
40101
40101
|
}
|
|
40102
40102
|
};
|
|
40103
40103
|
export {
|