@nine-lab/nine-mu 0.1.172 → 0.1.173

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.
@@ -979,4 +979,221 @@
979
979
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
980
980
  }
981
981
  }
982
+
983
+ nine-chat-ing {
984
+ display: flex;
985
+ justify-content: flex-start;
986
+ padding: 0;
987
+
988
+ .chat-message {
989
+ padding: 0px 8px;
990
+ color: #999;
991
+ align-self: flex-start;
992
+ text-align: left;
993
+ position: relative;
994
+ font-size: 32px;
995
+ font-weight: bold;
996
+ }
997
+ }
998
+
999
+ nine-chat-ai {
1000
+ display: flex;
1001
+ justify-content: flex-start;
1002
+ padding: 5px;
1003
+ flex-direction: column;
1004
+
1005
+ .chat-message {
1006
+ max-width: 70%;
1007
+ border-radius: 8px;
1008
+ font-size: 14px;
1009
+ background-color: #fff;
1010
+ color: black;
1011
+ align-self: flex-start;
1012
+ text-align: left;
1013
+ position: relative;
1014
+ box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
1015
+ text-overflow: ellipsis;
1016
+ padding: 8px 16px;
1017
+ display: flex;
1018
+ align-items: center;
1019
+
1020
+ div.message {
1021
+ display: -webkit-box;
1022
+ -webkit-line-clamp: 3;
1023
+ -webkit-box-orient: vertical;
1024
+ overflow: hidden;
1025
+ padding: 0;
1026
+ flex-grow: 1;
1027
+ /* 줄바꿈 강제 적용 */
1028
+ /**word-wrap: break-word;*/ /* 긴 단어를 줄바꿈 */
1029
+ overflow-wrap: anywhere; /* 텍스트 길이에 따라 자동 줄바꿈 */
1030
+ white-space: normal; /* 공백 처리 */
1031
+ }
1032
+
1033
+ span.more {
1034
+ right: 4px;
1035
+ bottom: 0px;
1036
+ font-size: 9px;
1037
+ font-weight: 700;
1038
+
1039
+ a {
1040
+ position: relative;
1041
+ color: green;
1042
+ text-decoration: none;
1043
+ }
1044
+
1045
+ a::after {
1046
+ content: "";
1047
+ position: absolute;
1048
+ left: 0;
1049
+ bottom: -2px;
1050
+ width: 100%;
1051
+ height: 2px;
1052
+ background-color: green;
1053
+ transform: scaleX(0);
1054
+ transition: transform 0.3s ease-in-out;
1055
+ }
1056
+
1057
+ a:hover::after {
1058
+ transform: scaleX(1);
1059
+ }
1060
+ }
1061
+ }
1062
+
1063
+ .grid {
1064
+ margin-top: 8px;
1065
+ }
1066
+
1067
+ .chat-menu {
1068
+ display: flex;
1069
+ justify-content: space-between; /* 좌우 정렬 */
1070
+ align-items: center; /* 세로 중앙 정렬 */
1071
+ width: 100%;
1072
+ margin-top: 2px;
1073
+
1074
+ .left-menu{
1075
+ display: flex;
1076
+ gap: 4px;
1077
+
1078
+ .filter.disabled, .database.disabled {
1079
+ pointer-events: none;
1080
+ color: #ccc;
1081
+ }
1082
+
1083
+ .filter, .database, .excel, .maximize {
1084
+ margin-left: 0;
1085
+ cursor: pointer;
1086
+ color: #999;
1087
+ width: 16px;
1088
+ height: 16px;
1089
+ background-repeat: no-repeat;
1090
+ background-position: center;
1091
+ background-size: auto;
1092
+ }
1093
+
1094
+ .filter svg {
1095
+ color: #999;
1096
+ }
1097
+
1098
+ .filter:hover, .database:hover, .excel:hover, .maximize:hover {
1099
+ color: green;
1100
+ }
1101
+
1102
+ .filter {
1103
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="gray" viewBox="0 0 16 16"><path d="M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2z"/></svg>');
1104
+ }
1105
+ .database {
1106
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="gray" viewBox="0 0 16 16"><path d="M4.318 2.687C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4c0-.374.356-.875 1.318-1.313M13 5.698V7c0 .374-.356.875-1.318 1.313C10.766 8.729 9.464 9 8 9s-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777A5 5 0 0 0 13 5.698M14 4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16s3.022-.289 4.096-.777C13.125 14.755 14 14.007 14 13zm-1 4.698V10c0 .374-.356.875-1.318 1.313C10.766 11.729 9.464 12 8 12s-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10s3.022-.289 4.096-.777A5 5 0 0 0 13 8.698m0 3V13c0 .374-.356.875-1.318 1.313C10.766 14.729 9.464 15 8 15s-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13s3.022-.289 4.096-.777c.324-.147.633-.323.904-.525"/></svg>');
1107
+ }
1108
+ .excel {
1109
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="gray" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM6.472 15.29a1.2 1.2 0 0 1-.111-.449h.765a.58.58 0 0 0 .254.384q.106.073.25.114.143.041.319.041.246 0 .413-.07a.56.56 0 0 0 .255-.193.5.5 0 0 0 .085-.29.39.39 0 0 0-.153-.326q-.152-.12-.462-.193l-.619-.143a1.7 1.7 0 0 1-.539-.214 1 1 0 0 1-.351-.367 1.1 1.1 0 0 1-.123-.524q0-.366.19-.639.19-.272.527-.422.338-.15.777-.149.457 0 .78.152.324.153.5.41.18.255.2.566h-.75a.56.56 0 0 0-.12-.258.6.6 0 0 0-.247-.181.9.9 0 0 0-.369-.068q-.325 0-.513.152a.47.47 0 0 0-.184.384q0 .18.143.3a1 1 0 0 0 .405.175l.62.143q.326.075.566.211a1 1 0 0 1 .375.358q.135.222.135.56 0 .37-.188.656a1.2 1.2 0 0 1-.539.439q-.351.158-.858.158-.381 0-.665-.09a1.4 1.4 0 0 1-.478-.252 1.1 1.1 0 0 1-.29-.375m-2.945-3.358h-.893L1.81 13.37h-.036l-.832-1.438h-.93l1.227 1.983L0 15.931h.861l.853-1.415h.035l.85 1.415h.908L2.253 13.94zm2.727 3.325H4.557v-3.325h-.79v4h2.487z"/></svg>');
1110
+ }
1111
+ .maximize {
1112
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="gray" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707m4.344 0a.5.5 0 0 1 .707 0l4.096 4.096V11.5a.5.5 0 1 1 1 0v3.975a.5.5 0 0 1-.5.5H11.5a.5.5 0 0 1 0-1h2.768l-4.096-4.096a.5.5 0 0 1 0-.707m0-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707m-4.344 0a.5.5 0 0 1-.707 0L1.025 1.732V4.5a.5.5 0 0 1-1 0V.525a.5.5 0 0 1 .5-.5H4.5a.5.5 0 0 1 0 1H1.732l4.096 4.096a.5.5 0 0 1 0 .707"/></svg>');
1113
+ }
1114
+ }
1115
+ }
1116
+ }
1117
+
1118
+ nine-chat-progress {
1119
+ display: flex;
1120
+ justify-content: flex-start;
1121
+ padding: 5px;
1122
+ flex-direction: column;
1123
+
1124
+ .chat-message.progress-message {
1125
+ max-width: 80%;
1126
+ border-radius: 8px;
1127
+ font-size: 14px;
1128
+ background-color: #fff;
1129
+ color: black;
1130
+ align-self: flex-start;
1131
+ text-align: left;
1132
+ position: relative;
1133
+ box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
1134
+ padding: 8px 16px; /* 버블 자체의 패딩 */
1135
+ }
1136
+
1137
+ .progress-list {
1138
+ list-style: none;
1139
+ padding: 0;
1140
+ margin: 0;
1141
+ --font-size: 12px;
1142
+ }
1143
+
1144
+ .progress-item {
1145
+ display: flex;
1146
+ align-items: center; /* 번호, 텍스트, 점을 세로 중앙 정렬 */
1147
+ margin-bottom: 5px;
1148
+ color: #999; /* 기본 텍스트 색상 */
1149
+ font-size: 1em; /* 부모 폰트 사이즈(14px)를 따르도록 */
1150
+ line-height: 1.4; /* 가독성을 위해 줄 간격 추가 */
1151
+ }
1152
+
1153
+ .progress-item:last-child {
1154
+ margin-bottom: 0;
1155
+ }
1156
+
1157
+ /* 번호 스타일 */
1158
+ .progress-item .step-number {
1159
+ --font-weight: bold;
1160
+ margin-right: 5px; /* 번호와 텍스트 사이 간격 */
1161
+ color: #999; /* 번호 색상 */
1162
+ }
1163
+
1164
+ /* 텍스트 내용 */
1165
+ .progress-item .text {
1166
+ --flex-grow: 1; /* 텍스트가 공간을 채우도록 */
1167
+ white-space: nowrap; /* 텍스트가 줄바꿈되지 않도록 */
1168
+ }
1169
+
1170
+ /* 진행 중 점 애니메이션 */
1171
+ .progress-item .animated-dots {
1172
+ width: 20px; /* 점 공간 확보 */
1173
+ text-align: left; /* 점이 왼쪽에서 시작되도록 */
1174
+ font-weight: bold;
1175
+ }
1176
+
1177
+ /* completed 상태 */
1178
+ .progress-item.completed {
1179
+ color: #333; /* 완료된 텍스트 색상 */
1180
+ --font-weight: bold; /* 완료 시 굵게 */
1181
+ }
1182
+ .progress-item.completed .animated-dots::after {
1183
+ content: '✓'; /* 체크마크 */
1184
+ margin-left: 5px; /* 체크마크와 텍스트 사이 간격 */
1185
+ color: #28a745;
1186
+ font-size: 1.0em; /* 체크마크 크기 */
1187
+ font-weight: bold;
1188
+ }
1189
+
1190
+ .progress-item.completed .step-number {
1191
+ color: #333; /* 번호 색상 */
1192
+ }
1193
+
1194
+ /* pending 상태에만 애니메이션 점 표시 */
1195
+ .progress-item.pending .animated-dots {
1196
+ /* JS로 내용이 채워지므로 별도의 CSS 애니메이션은 필요 없음 */
1197
+ }
1198
+ }
982
1199
  }
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 _mcpClient, _onAction, _onStatus, _onMessage, _owner, _NineChatManager_instances, connect_fn, fetchRoutes_fn, pushMessage_fn, updateStatus_fn, callTool_fn, _getSourcePath, _service, _routes, _diffPopup, _packageName, _routesPath, _connectorUrl, _manager, _$nineChatMessage, _NineChat_instances, initInteractions_fn, initActions_fn, 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, _message, _data, _unique, _init, _message2, _init2, _progressData, _progressElements, _animationIntervals, _aiProgressMessage_instances, updateCurrentActiveProgress_fn, renderProgress_fn, updateProgressItemVisuals_fn, startAnimation_fn, updateProgressItem_fn, _renderer, _init3;
12
+ var _mcpClient, _onAction, _onStatus, _onMessage, _owner, _NineChatManager_instances, connect_fn, fetchRoutes_fn, pushMessage_fn, updateStatus_fn, callTool_fn, _getSourcePath, _service, _routes, _diffPopup, _packageName, _routesPath, _connectorUrl, _manager, _$nineChatMessage, _NineChat_instances, initInteractions_fn, initActions_fn, 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, _message, _data, _unique, _init, _message2, _init2, _progressData, _progressElements, _animationIntervals, _ProgressMessage_instances, updateCurrentActiveProgress_fn, renderProgress_fn, updateProgressItemVisuals_fn, startAnimation_fn, updateProgressItem_fn, _renderer, _init3;
13
13
  import { trace as trace$1, api, nine } from "@nine-lab/nine-util";
14
14
  class Trace extends trace$1.constructor {
15
15
  constructor() {
@@ -13805,8 +13805,8 @@ initActions_fn = function() {
13805
13805
  target.removeAttribute("disabled");
13806
13806
  target.focus();
13807
13807
  if (err) {
13808
- console.error("Manager 실행 에러:", err);
13809
- this.shadowRoot.querySelectorAll("nx-ai-ing-message").forEach((el) => el.remove());
13808
+ console.error(err);
13809
+ __privateGet(this, _$nineChatMessage).add("ai", err.message || "알 수 없는 오류가 발생했습니다. 다시 시도해주세요.");
13810
13810
  } else {
13811
13811
  console.log(result);
13812
13812
  __privateGet(this, _$nineChatMessage).add("ai", result.message);
@@ -13819,7 +13819,7 @@ render_fn = function() {
13819
13819
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
13820
13820
  this.shadowRoot.innerHTML = `
13821
13821
  <style>
13822
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.171"}/dist/css/nine-mu.css";
13822
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
13823
13823
  ${customImport}
13824
13824
  </style>
13825
13825
  <div class="wrapper">
@@ -40038,7 +40038,7 @@ class NineDiff extends HTMLElement {
40038
40038
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
40039
40039
  this.shadowRoot.innerHTML = `
40040
40040
  <style>
40041
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.171"}/dist/css/nine-mu.css";
40041
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
40042
40042
  ${customImport}
40043
40043
  </style>
40044
40044
 
@@ -40148,7 +40148,7 @@ render_fn2 = function() {
40148
40148
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
40149
40149
  this.shadowRoot.innerHTML = `
40150
40150
  <style>
40151
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.171"}/dist/css/nine-mu.css";
40151
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
40152
40152
  ${customImport}
40153
40153
  </style>
40154
40154
 
@@ -40186,7 +40186,7 @@ handleCancel_fn = function() {
40186
40186
  __privateGet(this, _dialog).close();
40187
40187
  };
40188
40188
  customElements.define("nine-diff-popup", NineDiffPopup);
40189
- class aiMessage extends HTMLElement {
40189
+ class AiMessage extends HTMLElement {
40190
40190
  constructor() {
40191
40191
  super();
40192
40192
  __privateAdd(this, _message);
@@ -40307,7 +40307,7 @@ _message = new WeakMap();
40307
40307
  _data = new WeakMap();
40308
40308
  _unique = new WeakMap();
40309
40309
  _init = new WeakMap();
40310
- class aiIngMessage extends HTMLElement {
40310
+ class IngMessage extends HTMLElement {
40311
40311
  constructor() {
40312
40312
  super();
40313
40313
  __privateAdd(this, _message2);
@@ -40344,17 +40344,16 @@ class MyMessage extends HTMLElement {
40344
40344
  `;
40345
40345
  }
40346
40346
  }
40347
- class aiProgressMessage extends HTMLElement {
40347
+ class ProgressMessage extends HTMLElement {
40348
40348
  constructor() {
40349
40349
  super();
40350
- __privateAdd(this, _aiProgressMessage_instances);
40350
+ __privateAdd(this, _ProgressMessage_instances);
40351
40351
  __privateAdd(this, _progressData, []);
40352
40352
  __privateAdd(this, _progressElements, /* @__PURE__ */ new Map());
40353
40353
  __privateAdd(this, _animationIntervals, /* @__PURE__ */ new Map());
40354
40354
  }
40355
40355
  connectedCallback() {
40356
40356
  this.innerHTML = `
40357
-
40358
40357
  <div class="chat-message progress-message">
40359
40358
  <ul class="progress-list"></ul>
40360
40359
  </div>
@@ -40371,8 +40370,8 @@ class aiProgressMessage extends HTMLElement {
40371
40370
  originalMessage: item.message
40372
40371
  })));
40373
40372
  setTimeout(() => {
40374
- __privateMethod(this, _aiProgressMessage_instances, renderProgress_fn).call(this);
40375
- __privateMethod(this, _aiProgressMessage_instances, updateCurrentActiveProgress_fn).call(this);
40373
+ __privateMethod(this, _ProgressMessage_instances, renderProgress_fn).call(this);
40374
+ __privateMethod(this, _ProgressMessage_instances, updateCurrentActiveProgress_fn).call(this);
40376
40375
  }, 300);
40377
40376
  }
40378
40377
  /**
@@ -40385,8 +40384,8 @@ class aiProgressMessage extends HTMLElement {
40385
40384
  if (itemIndex > -1) {
40386
40385
  if (__privateGet(this, _progressData)[itemIndex].status !== status) {
40387
40386
  __privateGet(this, _progressData)[itemIndex].status = status;
40388
- __privateMethod(this, _aiProgressMessage_instances, updateProgressItem_fn).call(this, __privateGet(this, _progressData)[itemIndex]);
40389
- __privateMethod(this, _aiProgressMessage_instances, updateCurrentActiveProgress_fn).call(this);
40387
+ __privateMethod(this, _ProgressMessage_instances, updateProgressItem_fn).call(this, __privateGet(this, _progressData)[itemIndex]);
40388
+ __privateMethod(this, _ProgressMessage_instances, updateCurrentActiveProgress_fn).call(this);
40390
40389
  }
40391
40390
  }
40392
40391
  }
@@ -40394,7 +40393,7 @@ class aiProgressMessage extends HTMLElement {
40394
40393
  _progressData = new WeakMap();
40395
40394
  _progressElements = new WeakMap();
40396
40395
  _animationIntervals = new WeakMap();
40397
- _aiProgressMessage_instances = new WeakSet();
40396
+ _ProgressMessage_instances = new WeakSet();
40398
40397
  // 현재 진행 중인 첫 번째 pending 항목을 찾아 'active' 상태로 만들고 애니메이션 시작
40399
40398
  // 이전에 active였던 항목의 애니메이션은 중지
40400
40399
  updateCurrentActiveProgress_fn = function() {
@@ -40410,7 +40409,7 @@ updateCurrentActiveProgress_fn = function() {
40410
40409
  }
40411
40410
  if (item.status === "pending" && !foundActive) {
40412
40411
  li.classList.add("active");
40413
- __privateMethod(this, _aiProgressMessage_instances, startAnimation_fn).call(this, item);
40412
+ __privateMethod(this, _ProgressMessage_instances, startAnimation_fn).call(this, item);
40414
40413
  foundActive = true;
40415
40414
  }
40416
40415
  });
@@ -40432,7 +40431,7 @@ renderProgress_fn = function() {
40432
40431
  `;
40433
40432
  progressList.appendChild(li);
40434
40433
  __privateGet(this, _progressElements).set(item.id, li);
40435
- __privateMethod(this, _aiProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40434
+ __privateMethod(this, _ProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40436
40435
  });
40437
40436
  };
40438
40437
  // 항목의 시각적 상태(텍스트, 완료 체크)만 업데이트
@@ -40467,16 +40466,16 @@ startAnimation_fn = function(item) {
40467
40466
  // 개별 항목의 상태 업데이트 (텍스트 변경, 클래스 추가/제거)
40468
40467
  // 애니메이션 시작/중지는 `#updateCurrentActiveProgress`에서 담당
40469
40468
  updateProgressItem_fn = function(item) {
40470
- __privateMethod(this, _aiProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40469
+ __privateMethod(this, _ProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40471
40470
  };
40472
- class ChatMessage extends HTMLElement {
40471
+ class ChatMessageBody extends HTMLElement {
40473
40472
  constructor() {
40474
40473
  super();
40475
40474
  __privateAdd(this, _renderer, () => {
40476
40475
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
40477
40476
  this.shadowRoot.innerHTML = `
40478
40477
  <style>
40479
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.171"}/dist/css/nine-mu.css";
40478
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
40480
40479
  ${customImport}
40481
40480
  </style>
40482
40481
 
@@ -40499,14 +40498,14 @@ class ChatMessage extends HTMLElement {
40499
40498
  target.appendChild(el);
40500
40499
  break;
40501
40500
  case "ing":
40502
- el = document.createElement("nx-ai-ing-message");
40501
+ el = document.createElement("nine-chat-ing");
40503
40502
  target.appendChild(el);
40504
40503
  break;
40505
40504
  case "ai":
40506
- this.shadowRoot.querySelectorAll("nx-ai-ing-message").forEach((el2) => {
40505
+ this.shadowRoot.querySelectorAll("nine-chat-ing").forEach((el2) => {
40507
40506
  el2.remove();
40508
40507
  });
40509
- el = document.createElement("nx-ai-message");
40508
+ el = document.createElement("nine-chat-ai");
40510
40509
  el.setAttribute("message", message);
40511
40510
  el.setAttribute("row-count", data ? data.length : 0);
40512
40511
  el.initialize(info, data, unique);
@@ -40529,10 +40528,10 @@ class ChatMessage extends HTMLElement {
40529
40528
  */
40530
40529
  __publicField(this, "addProgress", (progressData = null) => {
40531
40530
  const target = this.shadowRoot.querySelector(".chat-body");
40532
- this.shadowRoot.querySelectorAll("nx-ai-ing-message").forEach((el2) => {
40531
+ this.shadowRoot.querySelectorAll("nine-chat-ing").forEach((el2) => {
40533
40532
  el2.remove();
40534
40533
  });
40535
- let el = document.createElement("nx-ai-progress-message");
40534
+ let el = document.createElement("nine-chat-progress");
40536
40535
  if (progressData) {
40537
40536
  el.initialize(progressData);
40538
40537
  }
@@ -40554,23 +40553,23 @@ class ChatMessage extends HTMLElement {
40554
40553
  }
40555
40554
  _renderer = new WeakMap();
40556
40555
  _init3 = new WeakMap();
40557
- if (!customElements.get("nx-ai-message")) {
40558
- customElements.define("nx-ai-message", aiMessage);
40559
- }
40560
- if (!customElements.get("nx-ai-ing-message")) {
40561
- customElements.define("nx-ai-ing-message", aiIngMessage);
40562
- }
40563
- if (!customElements.get("nx-ai-progress-message")) {
40564
- customElements.define("nx-ai-progress-message", aiProgressMessage);
40565
- }
40566
40556
  if (!customElements.get("nine-chat-message")) {
40567
- customElements.define("nine-chat-message", ChatMessage);
40557
+ customElements.define("nine-chat-body", ChatMessageBody);
40568
40558
  }
40569
40559
  if (!customElements.get("nine-chat-me")) {
40570
40560
  customElements.define("nine-chat-me", MyMessage);
40571
40561
  }
40562
+ if (!customElements.get("nine-chat-ai")) {
40563
+ customElements.define("nine-chat-ai", AiMessage);
40564
+ }
40565
+ if (!customElements.get("nine-chat-ing")) {
40566
+ customElements.define("nine-chat-ing", IngMessage);
40567
+ }
40568
+ if (!customElements.get("nine-chat-progress")) {
40569
+ customElements.define("nine-chat-progress", ProgressMessage);
40570
+ }
40572
40571
  const NineMu = {
40573
- version: "0.1.171",
40572
+ version: "0.1.172",
40574
40573
  init: (config2) => {
40575
40574
  trace$1.log("🛠️ Nine-Mu Engine initialized", config2);
40576
40575
  }