@nine-lab/nine-mu 0.1.404 → 0.1.405

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,8 +9,9 @@ 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, _schema, _connectorUrl2, _aiProcessor, _tipPopup, _NineNatualQuery_instances, runQuery_fn, render_fn3, handleQuestion_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, _schema, _connectorUrl2, _aiProcessor, _tipPopup, _NineNaturalQuery_instances, runQuery_fn, render_fn3, handleQuestion_fn, _data2, _wrapper, _gridContainer, _NineNaturalQueryResult_instances, updateGrid_fn, generateGridHtml_fn, bindGridData_fn, render_fn4;
13
13
  import { trace as trace$1, api, nine as nine$1 } from "@nine-lab/nine-util";
14
+ import "@nine-lab/nine-ai";
14
15
  import React, { createContext, Suspense, useContext, useState, lazy } from "react";
15
16
  import { Routes, Route } from "react-router-dom";
16
17
  class Trace extends trace$1.constructor {
@@ -17539,7 +17540,7 @@ render_fn = function() {
17539
17540
  const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
17540
17541
  this.shadowRoot.innerHTML = `
17541
17542
  <style>
17542
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.403"}/dist/css/nine-mu.css";
17543
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.404"}/dist/css/nine-mu.css";
17543
17544
  ${customImport}
17544
17545
  </style>
17545
17546
  <div class="wrapper">
@@ -43789,7 +43790,7 @@ class NineDiff extends HTMLElement {
43789
43790
  const customImport = nine.cssPath ? `@import "${nine.cssPath}/nine-mu.css";` : "";
43790
43791
  this.shadowRoot.innerHTML = `
43791
43792
  <style>
43792
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.403"}/dist/css/nine-mu.css";
43793
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.404"}/dist/css/nine-mu.css";
43793
43794
  ${customImport}
43794
43795
  </style>
43795
43796
 
@@ -43929,7 +43930,7 @@ renderScaffolding_fn = function() {
43929
43930
  const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
43930
43931
  this.shadowRoot.innerHTML = `
43931
43932
  <style>
43932
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.403"}/dist/css/nine-mu.css";
43933
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.404"}/dist/css/nine-mu.css";
43933
43934
  ${customImport}
43934
43935
  </style>
43935
43936
 
@@ -44038,7 +44039,7 @@ render_fn2 = function() {
44038
44039
  const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
44039
44040
  this.shadowRoot.innerHTML = `
44040
44041
  <style>
44041
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.403"}/dist/css/nine-mu.css";
44042
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.404"}/dist/css/nine-mu.css";
44042
44043
  ${customImport}
44043
44044
  </style>
44044
44045
 
@@ -44368,7 +44369,7 @@ class ChatMessageBody extends HTMLElement {
44368
44369
  const customImport = nine.cssPath ? `@import "${nine.cssPath}/nine-mu.css";` : "";
44369
44370
  this.shadowRoot.innerHTML = `
44370
44371
  <style>
44371
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.403"}/dist/css/nine-mu.css";
44372
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.404"}/dist/css/nine-mu.css";
44372
44373
  ${customImport}
44373
44374
  </style>
44374
44375
 
@@ -44466,10 +44467,10 @@ if (!customElements.get("nine-chat-ing")) {
44466
44467
  if (!customElements.get("nine-chat-progress")) {
44467
44468
  customElements.define("nine-chat-progress", ProgressMessage);
44468
44469
  }
44469
- class NineNatualQuery extends HTMLElement {
44470
+ class NineNaturalQuery extends HTMLElement {
44470
44471
  constructor() {
44471
44472
  super();
44472
- __privateAdd(this, _NineNatualQuery_instances);
44473
+ __privateAdd(this, _NineNaturalQuery_instances);
44473
44474
  __privateAdd(this, _schema, null);
44474
44475
  __privateAdd(this, _connectorUrl2, "");
44475
44476
  __privateAdd(this, _aiProcessor, null);
@@ -44478,14 +44479,14 @@ class NineNatualQuery extends HTMLElement {
44478
44479
  }
44479
44480
  async connectedCallback() {
44480
44481
  __privateSet(this, _connectorUrl2, this.getAttribute("connector-url") || "http://localhost:3001");
44481
- __privateMethod(this, _NineNatualQuery_instances, render_fn3).call(this);
44482
+ __privateMethod(this, _NineNaturalQuery_instances, render_fn3).call(this);
44482
44483
  }
44483
44484
  }
44484
44485
  _schema = new WeakMap();
44485
44486
  _connectorUrl2 = new WeakMap();
44486
44487
  _aiProcessor = new WeakMap();
44487
44488
  _tipPopup = new WeakMap();
44488
- _NineNatualQuery_instances = new WeakSet();
44489
+ _NineNaturalQuery_instances = new WeakSet();
44489
44490
  runQuery_fn = async function(sql) {
44490
44491
  try {
44491
44492
  trace.log("🚀 쿼리 실행 요청:", sql);
@@ -44511,7 +44512,7 @@ render_fn3 = function() {
44511
44512
  const customImport = nine.cssPath ? `@import "${nine.cssPath}/nine-mu.css";` : "";
44512
44513
  this.shadowRoot.innerHTML = `
44513
44514
  <style>
44514
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.403"}/dist/css/nine-mu.css";
44515
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.404"}/dist/css/nine-mu.css";
44515
44516
  ${customImport}
44516
44517
  </style>
44517
44518
 
@@ -44532,7 +44533,7 @@ render_fn3 = function() {
44532
44533
  if (e.key === "Enter") {
44533
44534
  const question2 = e.target.value.trim();
44534
44535
  if (question2) {
44535
- __privateMethod(this, _NineNatualQuery_instances, handleQuestion_fn).call(this, question2);
44536
+ __privateMethod(this, _NineNaturalQuery_instances, handleQuestion_fn).call(this, question2);
44536
44537
  e.target.value = "";
44537
44538
  }
44538
44539
  }
@@ -44553,8 +44554,132 @@ handleQuestion_fn = async function(question2) {
44553
44554
  (_b = __privateGet(this, _tipPopup)) == null ? void 0 : _b.close();
44554
44555
  }
44555
44556
  };
44556
- if (!customElements.get("nine-natual-query")) {
44557
- customElements.define("nine-natual-query", NineNatualQuery);
44557
+ if (!customElements.get("nine-natural-query")) {
44558
+ customElements.define("nine-natural-query", NineNaturalQuery);
44559
+ }
44560
+ class NineNaturalQueryResult extends HTMLElement {
44561
+ constructor() {
44562
+ super();
44563
+ __privateAdd(this, _NineNaturalQueryResult_instances);
44564
+ // 내부 상태 및 상수 캡슐화
44565
+ __privateAdd(this, _data2, []);
44566
+ __privateAdd(this, _wrapper, null);
44567
+ __privateAdd(this, _gridContainer, null);
44568
+ this.attachShadow({ mode: "open" });
44569
+ }
44570
+ connectedCallback() {
44571
+ __privateMethod(this, _NineNaturalQueryResult_instances, render_fn4).call(this);
44572
+ }
44573
+ /**
44574
+ * 외부 공개 메서드: 데이터 주입 및 그리드 갱신
44575
+ */
44576
+ redraw(data) {
44577
+ __privateSet(this, _data2, data || []);
44578
+ __privateMethod(this, _NineNaturalQueryResult_instances, updateGrid_fn).call(this);
44579
+ }
44580
+ }
44581
+ _data2 = new WeakMap();
44582
+ _wrapper = new WeakMap();
44583
+ _gridContainer = new WeakMap();
44584
+ _NineNaturalQueryResult_instances = new WeakSet();
44585
+ /**
44586
+ * 내부 그리드 업데이트 로직 (Private)
44587
+ */
44588
+ updateGrid_fn = function() {
44589
+ __privateSet(this, _wrapper, this.shadowRoot.querySelector(".result-wrapper"));
44590
+ __privateSet(this, _gridContainer, this.shadowRoot.querySelector("#grid-container"));
44591
+ if (!__privateGet(this, _wrapper) || !__privateGet(this, _gridContainer)) return;
44592
+ if (__privateGet(this, _data2).length === 0) {
44593
+ nine$1.alert("일치하는 검색 결과가 없습니다.").rgb().shake();
44594
+ return;
44595
+ }
44596
+ __privateGet(this, _wrapper).classList.remove("empty");
44597
+ __privateGet(this, _gridContainer).innerHTML = "";
44598
+ const keys = Object.keys(__privateGet(this, _data2)[0]);
44599
+ const gridHtml = __privateMethod(this, _NineNaturalQueryResult_instances, generateGridHtml_fn).call(this, keys);
44600
+ __privateGet(this, _gridContainer).innerHTML = gridHtml;
44601
+ __privateMethod(this, _NineNaturalQueryResult_instances, bindGridData_fn).call(this);
44602
+ };
44603
+ /**
44604
+ * nine-grid HTML 구조 생성 (Private)
44605
+ */
44606
+ generateGridHtml_fn = function(keys) {
44607
+ return `
44608
+ <nine-grid
44609
+ caption="검색 결과"
44610
+ select-type="row"
44611
+ show-title-bar="true"
44612
+ show-menu-icon="true"
44613
+ show-status-bar="true"
44614
+ enable-fixed-col="true"
44615
+ row-resizable="false"
44616
+ col-movable="true"
44617
+ >
44618
+ <table>
44619
+ <colgroup>
44620
+ <col width="50" fixed="left" />
44621
+ ${keys.map(() => `<col width="150"/>`).join("")}
44622
+ </colgroup>
44623
+ <thead>
44624
+ <tr>
44625
+ <th>No.</th>
44626
+ ${keys.map((key) => `<th>${key.toUpperCase()}</th>`).join("")}
44627
+ </tr>
44628
+ </thead>
44629
+ <tbody>
44630
+ <tr>
44631
+ <th><ng-row-indicator/></th>
44632
+ ${keys.map((key) => `<td data-bind="${key}"></td>`).join("")}
44633
+ </tr>
44634
+ </tbody>
44635
+ </table>
44636
+ </nine-grid>
44637
+ `;
44638
+ };
44639
+ /**
44640
+ * ninegrid2 라이브러리 엔진 바인딩 (Private)
44641
+ */
44642
+ bindGridData_fn = function() {
44643
+ const newGrid = __privateGet(this, _gridContainer).querySelector("nine-grid");
44644
+ const attemptBind = () => {
44645
+ if (newGrid && newGrid.data) {
44646
+ newGrid.data.source = __privateGet(this, _data2);
44647
+ } else {
44648
+ setTimeout(attemptBind, 10);
44649
+ }
44650
+ };
44651
+ attemptBind();
44652
+ };
44653
+ /**
44654
+ * 초기 렌더링 및 스타일 주입 (Private)
44655
+ */
44656
+ /**
44657
+ * 초기 렌더링 및 스타일 주입 (Private)
44658
+ */
44659
+ render_fn4 = function() {
44660
+ const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
44661
+ this.shadowRoot.innerHTML = `
44662
+ <style>
44663
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.404"}/dist/css/nine-mu.css";
44664
+ ${customImport}
44665
+ </style>
44666
+
44667
+ <div class="result-wrapper empty">
44668
+ <div id="grid-container"></div>
44669
+
44670
+ <!-- 깔끔한 안내 영역 -->
44671
+ <div id="no-result-container" class="no-result">
44672
+ <div class="main-message">Ready to Query with Nine AI</div>
44673
+ <div class="sub-message">
44674
+ 검색창에 궁금한 데이터를 자연어로 입력해보세요.<br>
44675
+ AI가 즉시 분석하여 최적화된 데이타를 조회합니다.
44676
+ </div>
44677
+ </div>
44678
+ </div>
44679
+ `;
44680
+ };
44681
+ if (!customElements.get("nine-natural-query-result")) {
44682
+ customElements.define("nine-natural-query-result", NineNaturalQueryResult);
44558
44683
  }
44559
44684
  const ScreenContext = createContext();
44560
44685
  const useScreen = () => useContext(ScreenContext);
@@ -44770,7 +44895,7 @@ function NineHook({ children, menuData, views, error404, onCatch, fallback, styl
44770
44895
  );
44771
44896
  }
44772
44897
  const NineMu = {
44773
- version: "0.1.403",
44898
+ version: "0.1.404",
44774
44899
  init: (config2) => {
44775
44900
  trace$1.log("🛠️ Nine-Mu Engine initialized", config2);
44776
44901
  }