@nine-lab/nine-mu 0.1.171 → 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() {
@@ -13803,9 +13803,10 @@ initActions_fn = function() {
13803
13803
  });
13804
13804
  const [result, err] = await nine.safe(__privateGet(this, _manager).handleChatSubmit(target));
13805
13805
  target.removeAttribute("disabled");
13806
+ target.focus();
13806
13807
  if (err) {
13807
- console.error("Manager 실행 에러:", err);
13808
- this.shadowRoot.querySelectorAll("nx-ai-ing-message").forEach((el) => el.remove());
13808
+ console.error(err);
13809
+ __privateGet(this, _$nineChatMessage).add("ai", err.message || "알 수 없는 오류가 발생했습니다. 다시 시도해주세요.");
13809
13810
  } else {
13810
13811
  console.log(result);
13811
13812
  __privateGet(this, _$nineChatMessage).add("ai", result.message);
@@ -13818,7 +13819,7 @@ render_fn = function() {
13818
13819
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
13819
13820
  this.shadowRoot.innerHTML = `
13820
13821
  <style>
13821
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.170"}/dist/css/nine-mu.css";
13822
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
13822
13823
  ${customImport}
13823
13824
  </style>
13824
13825
  <div class="wrapper">
@@ -40037,7 +40038,7 @@ class NineDiff extends HTMLElement {
40037
40038
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
40038
40039
  this.shadowRoot.innerHTML = `
40039
40040
  <style>
40040
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.170"}/dist/css/nine-mu.css";
40041
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
40041
40042
  ${customImport}
40042
40043
  </style>
40043
40044
 
@@ -40147,7 +40148,7 @@ render_fn2 = function() {
40147
40148
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
40148
40149
  this.shadowRoot.innerHTML = `
40149
40150
  <style>
40150
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.170"}/dist/css/nine-mu.css";
40151
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
40151
40152
  ${customImport}
40152
40153
  </style>
40153
40154
 
@@ -40185,7 +40186,7 @@ handleCancel_fn = function() {
40185
40186
  __privateGet(this, _dialog).close();
40186
40187
  };
40187
40188
  customElements.define("nine-diff-popup", NineDiffPopup);
40188
- class aiMessage extends HTMLElement {
40189
+ class AiMessage extends HTMLElement {
40189
40190
  constructor() {
40190
40191
  super();
40191
40192
  __privateAdd(this, _message);
@@ -40306,7 +40307,7 @@ _message = new WeakMap();
40306
40307
  _data = new WeakMap();
40307
40308
  _unique = new WeakMap();
40308
40309
  _init = new WeakMap();
40309
- class aiIngMessage extends HTMLElement {
40310
+ class IngMessage extends HTMLElement {
40310
40311
  constructor() {
40311
40312
  super();
40312
40313
  __privateAdd(this, _message2);
@@ -40343,17 +40344,16 @@ class MyMessage extends HTMLElement {
40343
40344
  `;
40344
40345
  }
40345
40346
  }
40346
- class aiProgressMessage extends HTMLElement {
40347
+ class ProgressMessage extends HTMLElement {
40347
40348
  constructor() {
40348
40349
  super();
40349
- __privateAdd(this, _aiProgressMessage_instances);
40350
+ __privateAdd(this, _ProgressMessage_instances);
40350
40351
  __privateAdd(this, _progressData, []);
40351
40352
  __privateAdd(this, _progressElements, /* @__PURE__ */ new Map());
40352
40353
  __privateAdd(this, _animationIntervals, /* @__PURE__ */ new Map());
40353
40354
  }
40354
40355
  connectedCallback() {
40355
40356
  this.innerHTML = `
40356
-
40357
40357
  <div class="chat-message progress-message">
40358
40358
  <ul class="progress-list"></ul>
40359
40359
  </div>
@@ -40370,8 +40370,8 @@ class aiProgressMessage extends HTMLElement {
40370
40370
  originalMessage: item.message
40371
40371
  })));
40372
40372
  setTimeout(() => {
40373
- __privateMethod(this, _aiProgressMessage_instances, renderProgress_fn).call(this);
40374
- __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);
40375
40375
  }, 300);
40376
40376
  }
40377
40377
  /**
@@ -40384,8 +40384,8 @@ class aiProgressMessage extends HTMLElement {
40384
40384
  if (itemIndex > -1) {
40385
40385
  if (__privateGet(this, _progressData)[itemIndex].status !== status) {
40386
40386
  __privateGet(this, _progressData)[itemIndex].status = status;
40387
- __privateMethod(this, _aiProgressMessage_instances, updateProgressItem_fn).call(this, __privateGet(this, _progressData)[itemIndex]);
40388
- __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);
40389
40389
  }
40390
40390
  }
40391
40391
  }
@@ -40393,7 +40393,7 @@ class aiProgressMessage extends HTMLElement {
40393
40393
  _progressData = new WeakMap();
40394
40394
  _progressElements = new WeakMap();
40395
40395
  _animationIntervals = new WeakMap();
40396
- _aiProgressMessage_instances = new WeakSet();
40396
+ _ProgressMessage_instances = new WeakSet();
40397
40397
  // 현재 진행 중인 첫 번째 pending 항목을 찾아 'active' 상태로 만들고 애니메이션 시작
40398
40398
  // 이전에 active였던 항목의 애니메이션은 중지
40399
40399
  updateCurrentActiveProgress_fn = function() {
@@ -40409,7 +40409,7 @@ updateCurrentActiveProgress_fn = function() {
40409
40409
  }
40410
40410
  if (item.status === "pending" && !foundActive) {
40411
40411
  li.classList.add("active");
40412
- __privateMethod(this, _aiProgressMessage_instances, startAnimation_fn).call(this, item);
40412
+ __privateMethod(this, _ProgressMessage_instances, startAnimation_fn).call(this, item);
40413
40413
  foundActive = true;
40414
40414
  }
40415
40415
  });
@@ -40431,7 +40431,7 @@ renderProgress_fn = function() {
40431
40431
  `;
40432
40432
  progressList.appendChild(li);
40433
40433
  __privateGet(this, _progressElements).set(item.id, li);
40434
- __privateMethod(this, _aiProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40434
+ __privateMethod(this, _ProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40435
40435
  });
40436
40436
  };
40437
40437
  // 항목의 시각적 상태(텍스트, 완료 체크)만 업데이트
@@ -40466,16 +40466,16 @@ startAnimation_fn = function(item) {
40466
40466
  // 개별 항목의 상태 업데이트 (텍스트 변경, 클래스 추가/제거)
40467
40467
  // 애니메이션 시작/중지는 `#updateCurrentActiveProgress`에서 담당
40468
40468
  updateProgressItem_fn = function(item) {
40469
- __privateMethod(this, _aiProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40469
+ __privateMethod(this, _ProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
40470
40470
  };
40471
- class ChatMessage extends HTMLElement {
40471
+ class ChatMessageBody extends HTMLElement {
40472
40472
  constructor() {
40473
40473
  super();
40474
40474
  __privateAdd(this, _renderer, () => {
40475
40475
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
40476
40476
  this.shadowRoot.innerHTML = `
40477
40477
  <style>
40478
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.170"}/dist/css/nine-mu.css";
40478
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.172"}/dist/css/nine-mu.css";
40479
40479
  ${customImport}
40480
40480
  </style>
40481
40481
 
@@ -40498,14 +40498,14 @@ class ChatMessage extends HTMLElement {
40498
40498
  target.appendChild(el);
40499
40499
  break;
40500
40500
  case "ing":
40501
- el = document.createElement("nx-ai-ing-message");
40501
+ el = document.createElement("nine-chat-ing");
40502
40502
  target.appendChild(el);
40503
40503
  break;
40504
40504
  case "ai":
40505
- this.shadowRoot.querySelectorAll("nx-ai-ing-message").forEach((el2) => {
40505
+ this.shadowRoot.querySelectorAll("nine-chat-ing").forEach((el2) => {
40506
40506
  el2.remove();
40507
40507
  });
40508
- el = document.createElement("nx-ai-message");
40508
+ el = document.createElement("nine-chat-ai");
40509
40509
  el.setAttribute("message", message);
40510
40510
  el.setAttribute("row-count", data ? data.length : 0);
40511
40511
  el.initialize(info, data, unique);
@@ -40528,10 +40528,10 @@ class ChatMessage extends HTMLElement {
40528
40528
  */
40529
40529
  __publicField(this, "addProgress", (progressData = null) => {
40530
40530
  const target = this.shadowRoot.querySelector(".chat-body");
40531
- this.shadowRoot.querySelectorAll("nx-ai-ing-message").forEach((el2) => {
40531
+ this.shadowRoot.querySelectorAll("nine-chat-ing").forEach((el2) => {
40532
40532
  el2.remove();
40533
40533
  });
40534
- let el = document.createElement("nx-ai-progress-message");
40534
+ let el = document.createElement("nine-chat-progress");
40535
40535
  if (progressData) {
40536
40536
  el.initialize(progressData);
40537
40537
  }
@@ -40553,23 +40553,23 @@ class ChatMessage extends HTMLElement {
40553
40553
  }
40554
40554
  _renderer = new WeakMap();
40555
40555
  _init3 = new WeakMap();
40556
- if (!customElements.get("nx-ai-message")) {
40557
- customElements.define("nx-ai-message", aiMessage);
40558
- }
40559
- if (!customElements.get("nx-ai-ing-message")) {
40560
- customElements.define("nx-ai-ing-message", aiIngMessage);
40561
- }
40562
- if (!customElements.get("nx-ai-progress-message")) {
40563
- customElements.define("nx-ai-progress-message", aiProgressMessage);
40564
- }
40565
40556
  if (!customElements.get("nine-chat-message")) {
40566
- customElements.define("nine-chat-message", ChatMessage);
40557
+ customElements.define("nine-chat-body", ChatMessageBody);
40567
40558
  }
40568
40559
  if (!customElements.get("nine-chat-me")) {
40569
40560
  customElements.define("nine-chat-me", MyMessage);
40570
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
+ }
40571
40571
  const NineMu = {
40572
- version: "0.1.170",
40572
+ version: "0.1.172",
40573
40573
  init: (config2) => {
40574
40574
  trace$1.log("🛠️ Nine-Mu Engine initialized", config2);
40575
40575
  }