@nine-lab/nine-mu 0.1.342 β†’ 0.1.344

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 CHANGED
@@ -9,7 +9,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
9
9
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
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
- var _owner, _collectedFiles, _NotificationHandler_instances, handleLoggingMessage_fn, _collectModifySource, _openDiffPopup, _openRouteDiffPopup, _generateSource, _generateMenu, _mcpClient, _onAction, _onStatus, _onMessage, _owner2, _routeUrl, _chatHistory, _notiHandler, _NineChatManager_instances, connect_fn, updateStatus_fn, callTool_fn, _getSourcePath, _service, _packageName, _routesPath, _connectorUrl, _manager, _config, _$nineChatMessage, _NineChat_instances, initInteractions_fn, initActions_fn, render_fn, _sourceGenHandler, _asisEditorView, _tobeEditorView, _asisEditorEl, _tobeEditorEl, _isDirty, _initialAsisSrc, _initialTobeSrc, _languageCompartment, _isScrollSyncActive, _initCodeMirror, _checkDirtyState, _setupScrollSync, _applyDiffDecorations, _dialog, _tabContainer, _fileList, _host, _NineDiffPopup_instances, renderScaffolding_fn, handleConfirmAll_fn, handleCancel_fn, _dialog2, _diffView, _asisBackup, _host2, _NineMenuDiffPopup_instances, render_fn2, handleConfirm_fn, handleCancel_fn2, _message, _data, _unique, _init, _message2, _init2, _progressData, _progressElements, _animationIntervals, _ProgressMessage_instances, updateCurrentActiveProgress_fn, renderProgress_fn, updateProgressItemVisuals_fn, startAnimation_fn, updateProgressItem_fn, _renderer, _init3, _lastPath, _hasError, _cssPath, _oldOnError, _ExceptionHook_instances, setupGlobalSniffer_fn, _renderer2, injectShadowStylesheet_fn, _handleRuntimeError, _handlePromiseError, _handleLocationChange, _sendToAiAction, renderError_fn;
12
+ var _owner, _collectedFiles, _NotificationHandler_instances, handleLoggingMessage_fn, _collectModifySource, _openDiffPopup, _openRouteDiffPopup, _generateSource, _generateMenu, _mcpClient, _onAction, _onStatus, _onMessage, _owner2, _routeUrl, _chatHistory, _notiHandler, _NineChatManager_instances, connect_fn, updateStatus_fn, callTool_fn, _getSourcePath, _service, _packageName, _routesPath, _connectorUrl, _manager, _config, _$nineChatMessage, _NineChat_instances, initInteractions_fn, initActions_fn, render_fn, _sourceGenHandler, _asisEditorView, _tobeEditorView, _asisEditorEl, _tobeEditorEl, _isDirty, _initialAsisSrc, _initialTobeSrc, _languageCompartment, _isScrollSyncActive, _initCodeMirror, _checkDirtyState, _setupScrollSync, _applyDiffDecorations, _dialog, _tabContainer, _fileList, _host, _NineDiffPopup_instances, renderScaffolding_fn, handleConfirmAll_fn, handleCancel_fn, _dialog2, _diffView, _asisBackup, _host2, _NineMenuDiffPopup_instances, render_fn2, handleConfirm_fn, handleCancel_fn2, _message, _data, _unique, _init, _message2, _init2, _progressData, _progressElements, _animationIntervals, _ProgressMessage_instances, updateCurrentActiveProgress_fn, renderProgress_fn, updateProgressItemVisuals_fn, startAnimation_fn, updateProgressItem_fn, _renderer, _init3, _lastPath, _hasError, _cssPath, _oldOnError, _ExceptionHook_instances, setupGlobalSniffer_fn, _renderer2, injectShadowStylesheet_fn, _handleRuntimeError, _handlePromiseError, _handleLocationChange, removeExternalOverlay_fn, _sendToAiAction, renderError_fn;
13
13
  import { trace as trace$1, api, nine as nine$1 } from "@nine-lab/nine-util";
14
14
  class Trace extends trace$1.constructor {
15
15
  constructor() {
@@ -17537,7 +17537,7 @@ render_fn = function() {
17537
17537
  const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
17538
17538
  this.shadowRoot.innerHTML = `
17539
17539
  <style>
17540
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.341"}/dist/css/nine-mu.css";
17540
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.343"}/dist/css/nine-mu.css";
17541
17541
  ${customImport}
17542
17542
  </style>
17543
17543
  <div class="wrapper">
@@ -43787,7 +43787,7 @@ class NineDiff extends HTMLElement {
43787
43787
  const customImport = nine.cssPath ? `@import "${nine.cssPath}/nine-mu.css";` : "";
43788
43788
  this.shadowRoot.innerHTML = `
43789
43789
  <style>
43790
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.341"}/dist/css/nine-mu.css";
43790
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.343"}/dist/css/nine-mu.css";
43791
43791
  ${customImport}
43792
43792
  </style>
43793
43793
 
@@ -43927,7 +43927,7 @@ renderScaffolding_fn = function() {
43927
43927
  const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
43928
43928
  this.shadowRoot.innerHTML = `
43929
43929
  <style>
43930
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.341"}/dist/css/nine-mu.css";
43930
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.343"}/dist/css/nine-mu.css";
43931
43931
  ${customImport}
43932
43932
  </style>
43933
43933
 
@@ -44036,7 +44036,7 @@ render_fn2 = function() {
44036
44036
  const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
44037
44037
  this.shadowRoot.innerHTML = `
44038
44038
  <style>
44039
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.341"}/dist/css/nine-mu.css";
44039
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.343"}/dist/css/nine-mu.css";
44040
44040
  ${customImport}
44041
44041
  </style>
44042
44042
 
@@ -44366,7 +44366,7 @@ class ChatMessageBody extends HTMLElement {
44366
44366
  const customImport = nine.cssPath ? `@import "${nine.cssPath}/nine-mu.css";` : "";
44367
44367
  this.shadowRoot.innerHTML = `
44368
44368
  <style>
44369
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.341"}/dist/css/nine-mu.css";
44369
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.343"}/dist/css/nine-mu.css";
44370
44370
  ${customImport}
44371
44371
  </style>
44372
44372
 
@@ -44476,11 +44476,15 @@ class ExceptionHook extends HTMLElement {
44476
44476
  const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
44477
44477
  this.shadowRoot.innerHTML = `
44478
44478
  <style>
44479
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.341"}/dist/css/nine-mu.css";
44479
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.343"}/dist/css/nine-mu.css";
44480
44480
  ${customImport}
44481
+ :host {
44482
+ display: block;
44483
+ width: 100%;
44484
+ height: 100%;
44485
+ }
44481
44486
  </style>
44482
-
44483
- <div class="nine-hook-core">
44487
+ <div class="nine-hook-core" style="width: 100%; height: 100%;">
44484
44488
  <slot></slot>
44485
44489
  </div>
44486
44490
  <div class="nine-exception-board"></div>
@@ -44489,17 +44493,11 @@ class ExceptionHook extends HTMLElement {
44489
44493
  __privateAdd(this, _handleRuntimeError, (event) => {
44490
44494
  var _a2, _b;
44491
44495
  trace.log("🚨 [nine-exception-hook] window.addEventListener('error') λ¦¬μŠ€λ„ˆ 포착!!", event);
44492
- if (__privateGet(this, _hasError)) {
44493
- trace.log("⚠️ [nine-exception-hook] 이미 μ—λŸ¬ 화면이 ν™œμ„±ν™”λ˜μ–΄ μžˆμ–΄ 이벀트 λ¦¬μŠ€λ„ˆ 패슀");
44494
- return;
44495
- }
44496
+ if (__privateGet(this, _hasError)) return;
44496
44497
  const errorMessage = ((_a2 = event.error) == null ? void 0 : _a2.message) || event.message || String(event);
44497
44498
  const errorStack = ((_b = event.error) == null ? void 0 : _b.stack) || "No stack trace available";
44498
44499
  if (errorMessage && errorMessage !== "Script error.") {
44499
- trace.log("🎯 [nine-exception-hook] 정상적인 μ—λŸ¬ λ©”μ‹œμ§€ 확인 -> μ—λŸ¬ λ³΄λ“œ 좜λ ₯ μ‹œλ„", { errorMessage });
44500
44500
  __privateMethod(this, _ExceptionHook_instances, renderError_fn).call(this, errorMessage, errorStack);
44501
- } else {
44502
- trace.log("⚠️ [nine-exception-hook] 'Script error.' μ΄κ±°λ‚˜ 빈 λ©”μ‹œμ§€λΌ λ¬΄μ‹œλ¨");
44503
44501
  }
44504
44502
  });
44505
44503
  __privateAdd(this, _handlePromiseError, (event) => {
@@ -44508,38 +44506,30 @@ class ExceptionHook extends HTMLElement {
44508
44506
  const reason = event.reason;
44509
44507
  const errorMessage = (reason == null ? void 0 : reason.message) || String(reason || "Unhandled Promise Rejection");
44510
44508
  const errorStack = (reason == null ? void 0 : reason.stack) || "No stack trace available";
44511
- trace.log("🎯 [nine-exception-hook] Promise κ±°λΆ€ 확인 -> μ—λŸ¬ λ³΄λ“œ 좜λ ₯ μ‹œλ„");
44512
44509
  __privateMethod(this, _ExceptionHook_instances, renderError_fn).call(this, errorMessage, errorStack);
44513
44510
  });
44514
44511
  __privateAdd(this, _handleLocationChange, () => {
44515
44512
  setTimeout(() => {
44516
- trace.log("πŸ“ [nine-exception-hook] μ£Όμ†Œ 이동 감지 체크", {
44517
- hasError: __privateGet(this, _hasError),
44518
- lastPath: __privateGet(this, _lastPath),
44519
- currentPath: window.location.pathname
44520
- });
44521
44513
  if (__privateGet(this, _hasError) && __privateGet(this, _lastPath) !== window.location.pathname) {
44522
- trace.log("✨ [nine-exception-hook] Shadow DOM λ‚΄λΆ€ μ˜ˆμ™Έ μ²­μ†Œ 및 정상 볡ꡬ");
44514
+ trace.log("✨ [nine-exception-hook] Shadow DOM 및 κΈ€λ‘œλ²Œ μ˜€λ²„λ ˆμ΄ λ‚΄λΆ€ μ˜ˆμ™Έ μ²­μ†Œ 및 정상 볡ꡬ");
44523
44515
  __privateSet(this, _lastPath, window.location.pathname);
44524
44516
  __privateSet(this, _hasError, false);
44525
- const exceptionBoard = this.shadowRoot.querySelector(".nine-exception-board");
44526
- if (exceptionBoard) exceptionBoard.innerHTML = "";
44517
+ __privateMethod(this, _ExceptionHook_instances, removeExternalOverlay_fn).call(this);
44527
44518
  const coreContainer = this.shadowRoot.querySelector(".nine-hook-core");
44528
44519
  if (coreContainer) coreContainer.style.display = "";
44529
44520
  }
44530
- }, 10);
44521
+ }, 50);
44531
44522
  });
44532
44523
  __privateAdd(this, _sendToAiAction, async (errorMessage, errorStack) => {
44533
- trace.log("πŸš€ [nine-exception-hook] AI μˆ˜μ • μš”μ²­ λ²„νŠΌ 클릭됨");
44534
- const btn = this.shadowRoot.querySelector(".nine-ai-btn");
44535
- const footer = this.shadowRoot.querySelector(".nine-error-footer");
44524
+ const root = document.getElementById("nine-global-exception-container") || this.shadowRoot;
44525
+ const btn = root.querySelector(".nine-ai-btn");
44526
+ const footer = root.querySelector(".nine-error-footer");
44536
44527
  if (!btn) return;
44537
44528
  btn.disabled = true;
44538
44529
  btn.innerText = "⚑ AI κ΄€μ œνƒ‘μ— μ†ŒμŠ€ 뢄석 μš”μ²­ 쀑...";
44539
44530
  btn.classList.add("loading");
44540
44531
  try {
44541
44532
  if (window.triggerAutoRecovery) {
44542
- trace.log("πŸ“‘ [nine-exception-hook] window.triggerAutoRecovery 호좜 μ‹€ν–‰");
44543
44533
  await window.triggerAutoRecovery({
44544
44534
  message: errorMessage,
44545
44535
  stack: errorStack || "No stack trace available",
@@ -44579,6 +44569,7 @@ class ExceptionHook extends HTMLElement {
44579
44569
  window.onerror = __privateGet(this, _oldOnError);
44580
44570
  trace.log("πŸ” [nine-exception-hook] window.onerror 볡ꡬ μ™„λ£Œ");
44581
44571
  }
44572
+ __privateMethod(this, _ExceptionHook_instances, removeExternalOverlay_fn).call(this);
44582
44573
  }
44583
44574
  }
44584
44575
  _lastPath = new WeakMap();
@@ -44619,39 +44610,55 @@ injectShadowStylesheet_fn = function() {
44619
44610
  _handleRuntimeError = new WeakMap();
44620
44611
  _handlePromiseError = new WeakMap();
44621
44612
  _handleLocationChange = new WeakMap();
44613
+ removeExternalOverlay_fn = function() {
44614
+ const target = document.getElementById("nine-global-exception-container");
44615
+ if (target) target.remove();
44616
+ };
44622
44617
  _sendToAiAction = new WeakMap();
44623
44618
  renderError_fn = function(errorMessage, errorStack) {
44624
44619
  if (__privateGet(this, _hasError)) return;
44625
44620
  __privateSet(this, _hasError, true);
44626
44621
  setTimeout(() => {
44627
- trace.log("🎨 [nine-exception-hook] λ¦¬μ•‘νŠΈ 사이클 μ’…λ£Œ ν›„ μ—λŸ¬ UI μ΅œμ’… λ Œλ”λ§");
44622
+ trace.log("🎨 [nine-exception-hook] λ¦¬μ•‘νŠΈ 사이클 μ’…λ£Œ ν›„ μ΅œμƒλ‹¨ κΈ€λ‘œλ²Œ μ—λŸ¬ λ ˆμ΄μ–΄ 생성");
44628
44623
  const coreContainer = this.shadowRoot.querySelector(".nine-hook-core");
44629
- if (coreContainer) {
44630
- coreContainer.style.display = "none";
44631
- trace.log("🎨 [nine-exception-hook] <slot> λ³Έλ¬Έ μ˜μ—­ μ»¨ν…Œμ΄λ„ˆ μˆ¨κΉ€");
44632
- }
44633
- const exceptionBoard = this.shadowRoot.querySelector(".nine-exception-board");
44634
- if (!exceptionBoard) {
44635
- trace.error("❌ [nine-exception-hook] .nine-exception-board μ—˜λ¦¬λ¨ΌνŠΈλ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.");
44636
- return;
44637
- }
44624
+ if (coreContainer) coreContainer.style.display = "none";
44625
+ __privateMethod(this, _ExceptionHook_instances, removeExternalOverlay_fn).call(this);
44626
+ const externalContainer = document.createElement("div");
44627
+ externalContainer.id = "nine-global-exception-container";
44628
+ Object.assign(externalContainer.style, {
44629
+ position: "fixed",
44630
+ top: "0",
44631
+ left: "0",
44632
+ width: "100vw",
44633
+ height: "100vh",
44634
+ backgroundColor: "#FFF5F5",
44635
+ zIndex: "2147483647",
44636
+ // λΈŒλΌμš°μ € ν‘œν˜„ μ΅œλŒ€ z-index κ°’ λΆ€μ—¬
44637
+ overflow: "auto",
44638
+ boxSizing: "border-box",
44639
+ display: "block"
44640
+ });
44638
44641
  const errorHTML = `
44639
- <div class="nine-error-container">
44640
- <h3 class="nine-error-title">⚠️ μ‹œμŠ€ν…œ μ˜ˆμ™Έ 감지 (${this.tagName.toLowerCase()})</h3>
44641
- <p class="nine-error-label">[μ—λŸ¬ 원인 둜그]:</p>
44642
- <pre class="nine-error-log">${errorMessage}</pre>
44642
+ <div class="nine-error-container" style="padding: 40px; max-width: 1200px; margin: 40px auto; font-family: sans-serif; background: white; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.08); text-align: left;">
44643
+ <h3 class="nine-error-title" style="color: #C53030; margin-top: 0; font-size: 22px; font-weight: 700; border-bottom: 2px solid #FED2D2; padding-bottom: 12px; font-family: sans-serif;">⚠️ μ‹œμŠ€ν…œ μ˜ˆμ™Έ 감지 (nine-exception-hook)</h3>
44644
+ <p class="nine-error-label" style="font-weight: bold; margin: 20px 0 8px 0; color: #4A5568; font-size: 15px; font-family: sans-serif;">[μ—λŸ¬ 원인 둜그]:</p>
44645
+ <pre class="nine-error-log" style="background: #1A202C; color: #EDF2F7; padding: 20px; border-radius: 6px; overflow-x: auto; white-space: pre-wrap; font-family: monospace; font-size: 14px; line-height: 1.6; margin-bottom: 25px;">${errorMessage}
44646
+
44647
+ [Stack Trace]
44648
+ ${errorStack}</pre>
44643
44649
 
44644
- <div class="nine-action-area" style="margin-top: 20px; display: flex; align-items: center; gap: 15px;">
44645
- <button class="nine-ai-btn">πŸ€– AIμ—κ²Œ μ†ŒμŠ€μ½”λ“œ μˆ˜μ • μš”μ²­</button>
44646
- <div class="nine-error-footer">
44650
+ <div class="nine-action-area" style="display: flex; align-items: center; gap: 20px; border-top: 1px solid #E2E8F0; padding-top: 20px;">
44651
+ <button class="nine-ai-btn" style="background: #3182CE; color: white; border: none; padding: 14px 28px; border-radius: 6px; font-weight: bold; cursor: pointer; font-size: 16px;">πŸ€– AIμ—κ²Œ μ†ŒμŠ€μ½”λ“œ μˆ˜μ • μš”μ²­</button>
44652
+ <div class="nine-error-footer" style="font-size: 14px; color: #718096; line-height: 1.4; font-family: sans-serif;">
44647
44653
  λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ AIκ°€ 둜그 및 μ»΄ν¬λ„ŒνŠΈ 맡을 μ—­μΆ”μ ν•˜μ—¬ μˆ˜μ •μ„ μ‹œμž‘ν•©λ‹ˆλ‹€.
44648
44654
  </div>
44649
44655
  </div>
44650
44656
  </div>
44651
44657
  `;
44652
- exceptionBoard.innerHTML = errorHTML;
44653
- trace.log("🎨 [nine-exception-hook] Shadow DOM에 μ—λŸ¬ UI μ΅œμ’… μ‚½μž… 성곡");
44654
- const aiBtn = this.shadowRoot.querySelector(".nine-ai-btn");
44658
+ externalContainer.innerHTML = errorHTML;
44659
+ document.body.appendChild(externalContainer);
44660
+ trace.log("🎨 [nine-exception-hook] λΈŒλΌμš°μ € Body μ΅œμƒλ‹¨ λ ˆμ΄μ–΄ λ°°μ • 성곡");
44661
+ const aiBtn = externalContainer.querySelector(".nine-ai-btn");
44655
44662
  if (aiBtn) {
44656
44663
  aiBtn.addEventListener("click", () => __privateGet(this, _sendToAiAction).call(this, errorMessage, errorStack));
44657
44664
  trace.log("🎨 [nine-exception-hook] AI μš”μ²­ λ²„νŠΌ 이벀트 λ¦¬μŠ€λ„ˆ μ΅œμ’… 바인딩 성곡");
@@ -44662,7 +44669,7 @@ if (!customElements.get("nine-exception-hook")) {
44662
44669
  customElements.define("nine-exception-hook", ExceptionHook);
44663
44670
  }
44664
44671
  const NineMu = {
44665
- version: "0.1.341",
44672
+ version: "0.1.343",
44666
44673
  init: (config2) => {
44667
44674
  trace$1.log("πŸ› οΈ Nine-Mu Engine initialized", config2);
44668
44675
  }