@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.
- package/dist/css/nine-mu.css +217 -0
- package/dist/nine-mu.js +37 -37
- package/dist/nine-mu.js.map +1 -1
- package/dist/nine-mu.umd.js +1 -1
- package/dist/nine-mu.umd.js.map +1 -1
- package/package.json +1 -1
- package/public/css/nine-mu.css +217 -0
- package/src/components/ChatMessage.js +21 -22
- package/src/components/NineChat.js +5 -5
package/dist/css/nine-mu.css
CHANGED
|
@@ -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,
|
|
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(
|
|
13808
|
-
this.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
40347
|
+
class ProgressMessage extends HTMLElement {
|
|
40347
40348
|
constructor() {
|
|
40348
40349
|
super();
|
|
40349
|
-
__privateAdd(this,
|
|
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,
|
|
40374
|
-
__privateMethod(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,
|
|
40388
|
-
__privateMethod(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
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
40469
|
+
__privateMethod(this, _ProgressMessage_instances, updateProgressItemVisuals_fn).call(this, item);
|
|
40470
40470
|
};
|
|
40471
|
-
class
|
|
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.
|
|
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("
|
|
40501
|
+
el = document.createElement("nine-chat-ing");
|
|
40502
40502
|
target.appendChild(el);
|
|
40503
40503
|
break;
|
|
40504
40504
|
case "ai":
|
|
40505
|
-
this.shadowRoot.querySelectorAll("
|
|
40505
|
+
this.shadowRoot.querySelectorAll("nine-chat-ing").forEach((el2) => {
|
|
40506
40506
|
el2.remove();
|
|
40507
40507
|
});
|
|
40508
|
-
el = document.createElement("
|
|
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("
|
|
40531
|
+
this.shadowRoot.querySelectorAll("nine-chat-ing").forEach((el2) => {
|
|
40532
40532
|
el2.remove();
|
|
40533
40533
|
});
|
|
40534
|
-
let el = document.createElement("
|
|
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-
|
|
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.
|
|
40572
|
+
version: "0.1.172",
|
|
40573
40573
|
init: (config2) => {
|
|
40574
40574
|
trace$1.log("🛠️ Nine-Mu Engine initialized", config2);
|
|
40575
40575
|
}
|