@blueking/ai-blueking 0.3.24 → 0.3.25

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.
@@ -1,72 +1,79 @@
1
- var He = Object.defineProperty;
2
- var Re = (o, n, e) => n in o ? He(o, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[n] = e;
3
- var Z = (o, n, e) => (Re(o, typeof n != "symbol" ? n + "" : n, e), e);
4
- import { Popover as Ve, Input as ve, Exception as De, clickoutside as xe, bkTooltips as pe, Tag as Ee, Alert as Ye, Button as Ie, Message as fe, Select as be, provideGlobalConfig as Ae } from "bkui-vue";
5
- import { inject as Xe, ref as Y, onMounted as ae, onBeforeUnmount as le, defineComponent as I, withDirectives as Q, openBlock as h, createElementBlock as g, createElementVNode as p, toDisplayString as R, unref as d, createCommentVNode as S, vShow as ke, createTextVNode as te, pushScopeId as ie, popScopeId as re, computed as j, normalizeStyle as N, normalizeClass as ee, createVNode as V, Fragment as G, watch as we, createBlock as W, withCtx as F, renderList as ce, nextTick as Le, withModifiers as E, onBeforeMount as qe, renderSlot as Ke, provide as Ue } from "vue";
6
- import se from "dayjs";
7
- import ye from "highlight.js";
8
- import Qe from "markdown-it";
9
- import je from "markdown-it-code-copy";
10
- import { Close as We } from "bkui-vue/lib/icon";
11
- const Se = "enablePopup";
1
+ var Re = Object.defineProperty;
2
+ var Ve = (o, n, e) => n in o ? Re(o, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[n] = e;
3
+ var N = (o, n, e) => (Ve(o, typeof n != "symbol" ? n + "" : n, e), e);
4
+ import { Popover as De, Input as be, Exception as xe, clickoutside as Ee, bkTooltips as pe, Tag as Ie, Alert as Ye, Button as Ae, Message as ye, Select as ke, provideGlobalConfig as Xe } from "bkui-vue";
5
+ import { inject as qe, ref as A, onMounted as le, onBeforeUnmount as ie, defineComponent as X, withDirectives as Q, openBlock as h, createElementBlock as g, createElementVNode as u, toDisplayString as x, unref as p, createCommentVNode as S, vShow as Le, createTextVNode as te, pushScopeId as re, popScopeId as ce, computed as j, normalizeStyle as Z, normalizeClass as ee, createVNode as E, Fragment as G, watch as Se, createBlock as W, withCtx as F, renderList as oe, nextTick as Me, withModifiers as Y, onBeforeMount as Ke, renderSlot as Ue, provide as Qe } from "vue";
6
+ import ae from "dayjs";
7
+ import we from "highlight.js";
8
+ import je from "markdown-it";
9
+ import We from "markdown-it-code-copy";
10
+ import { Close as Ge } from "bkui-vue/lib/icon";
11
+ const Ce = "enablePopup";
12
12
  function he() {
13
13
  return {
14
- enablePopup: Xe(Se, !0)
14
+ enablePopup: qe(Ce, !0)
15
15
  };
16
16
  }
17
- function Me() {
18
- const o = Y(!1), n = () => {
17
+ function ze() {
18
+ const o = A(!1), n = () => {
19
19
  const i = document.querySelector(".ai-blueking-messages");
20
20
  i.scrollTop = i.scrollHeight;
21
21
  }, e = (i) => {
22
22
  const t = i.target;
23
23
  o.value = t.scrollTop < t.scrollHeight - t.clientHeight - 20;
24
- }, s = () => {
24
+ }, a = () => {
25
25
  const i = document.querySelector(".ai-blueking-messages");
26
26
  i == null || i.addEventListener("scroll", e, { passive: !0 });
27
- }, l = () => {
27
+ }, s = () => {
28
28
  const i = document.querySelector(".ai-blueking-messages");
29
29
  i == null || i.removeEventListener("scroll", e);
30
30
  };
31
- return ae(s), le(l), {
31
+ return le(a), ie(s), {
32
32
  isShow: o,
33
33
  scrollToBottom: n
34
34
  };
35
35
  }
36
- const $ = Y(""), ue = Y(!1);
36
+ const $ = A(""), ue = A(!1);
37
37
  function me(o) {
38
- const n = Y(!1), e = Y({ top: "0px", left: "0px" });
39
- let s;
40
- const l = () => {
41
- clearTimeout(s), s = setTimeout(() => {
42
- const a = window.getSelection();
43
- if (a && a.toString().trim().length > 0) {
44
- ue.value = !1;
45
- const M = a.getRangeAt(0).getBoundingClientRect(), k = window.innerWidth;
46
- $.value = a.toString().trim();
47
- const z = 80, B = 34, C = 10;
48
- let H = M.left + window.scrollX + M.width / 2 - z / 2;
49
- H = Math.max(C, Math.min(H, k - z - C));
50
- let x = M.top + window.scrollY - B - C;
51
- M.top > B + C || (x = M.bottom + window.scrollY + C), e.value = {
52
- top: `${x}px`,
53
- left: `${H}px`
54
- }, n.value = !0;
55
- } else
38
+ const n = A(!1), e = A({ top: "0px", left: "0px" });
39
+ let a;
40
+ const s = () => {
41
+ clearTimeout(a), a = setTimeout(() => {
42
+ var M;
43
+ const l = window.getSelection();
44
+ if (!l || l.toString().trim().length === 0) {
45
+ i();
46
+ return;
47
+ }
48
+ const z = l.getRangeAt(0), T = z.commonAncestorContainer;
49
+ if (T instanceof Node && ((M = T.parentElement) == null ? void 0 : M.closest(".ai-modal"))) {
56
50
  i();
51
+ return;
52
+ }
53
+ ue.value = !1;
54
+ const k = z.getBoundingClientRect(), P = window.innerWidth;
55
+ $.value = l.toString().trim();
56
+ const B = 80, V = 34, H = 10;
57
+ let D = k.left + window.scrollX + k.width / 2 - B / 2;
58
+ D = Math.max(H, Math.min(D, P - B - H));
59
+ let I = k.top + window.scrollY - V - H;
60
+ k.top > V + H || (I = k.bottom + window.scrollY + H), e.value = {
61
+ top: `${I}px`,
62
+ left: `${D}px`
63
+ }, n.value = !0;
57
64
  }, 300);
58
65
  }, i = () => {
59
66
  n.value = !1, ue.value || ($.value = "");
60
67
  }, t = () => {
61
- const a = window.getSelection();
62
- a && a.removeAllRanges(), $.value = "";
63
- }, m = (a) => {
64
- $.value = a;
68
+ const l = window.getSelection();
69
+ l && l.removeAllRanges(), $.value = "";
70
+ }, m = (l) => {
71
+ $.value = l;
65
72
  };
66
- return ae(() => {
67
- o && document.addEventListener("selectionchange", l);
68
- }), le(() => {
69
- o && document.removeEventListener("selectionchange", l), clearTimeout(s);
73
+ return le(() => {
74
+ o && document.addEventListener("selectionchange", s);
75
+ }), ie(() => {
76
+ o && document.removeEventListener("selectionchange", s), clearTimeout(a);
70
77
  }), {
71
78
  isIconVisible: n,
72
79
  iconPosition: e,
@@ -77,25 +84,25 @@ function me(o) {
77
84
  lockSelectedText: ue
78
85
  };
79
86
  }
80
- const Ge = (o) => {
87
+ const Je = (o) => {
81
88
  const n = document.cookie.match(new RegExp(`(^| )${o}=([^;]*)(;|$)`));
82
89
  return n ? n[2] : "";
83
- }, Je = (o) => {
90
+ }, Oe = (o) => {
84
91
  try {
85
92
  return JSON.parse(o), !0;
86
93
  } catch {
87
94
  return !1;
88
95
  }
89
- }, Oe = (o, n = 200) => {
96
+ }, Ne = (o, n = 200) => {
90
97
  let e = !0;
91
- return function(s) {
98
+ return function(a) {
92
99
  if (!e)
93
100
  return !1;
94
101
  e = !1, setTimeout(() => {
95
- o(s), e = !0;
102
+ o(a), e = !0;
96
103
  }, n);
97
104
  };
98
- }, Ze = Ge("blueking_language") || "zh-cn", Ne = {
105
+ }, ge = (o, n) => o.replace(/\{\{\s*SELECTED_TEXT\s*\}\}/g, n || ""), Ze = Je("blueking_language") || "zh-cn", Fe = {
99
106
  小鲸: "BK GPT",
100
107
  向下收缩: "shrink down",
101
108
  向上扩展: "expand upward",
@@ -131,14 +138,14 @@ const Ge = (o) => {
131
138
  explanationShortcut: `You are a professional explainer. Please provide a detailed explanation of "{{ SELECTED_TEXT }}". Your explanation should include: 1) basic meaning and conceptual explanation; 2) practical applications or use cases; 3) if it's a technical term, please provide relevant technical background; 4) where appropriate, provide specific examples to aid understanding. Use clear and accessible language to ensure non-experts can understand. If the word/phrase has multiple meanings, please list the main definitions. Keep your response concise and clear while ensuring completeness and accuracy of information.`,
132
139
  翻译: "translate",
133
140
  解释: "explan"
134
- }, Fe = {
141
+ }, _e = {
135
142
  translateShortcut: `你是受过语言翻译训练的高技能人工智能。我想让你把用三引号分隔的文本翻译(中文翻译成英文,其他语言翻译成中文),确保译文口语化、地道。
136
143
  只给我输出结果,其他内容一概不要。请勿用引号将回复包起来
137
144
  '''
138
145
  {{ SELECTED_TEXT }}
139
146
  '''`,
140
147
  explanationShortcut: "您是一位专业的解释者。请详细解释“{{ SELECTED_TEXT }}”。您的解释应包括 1) 基本含义和概念解释;2) 实际应用或使用案例;3) 如果是技术术语,请提供相关技术背景;4) 适当时提供具体示例,以帮助理解。使用清晰易懂的语言,确保非专业人员也能理解。如果该词/短语有多种含义,请列出主要定义。在确保信息完整性和准确性的同时,请保持答复简洁明了。"
141
- }, f = (o) => Ze !== "en" ? Fe[o] || o : Ne[o] || o, ze = [
148
+ }, f = (o) => Ze !== "en" ? _e[o] || o : Fe[o] || o, ve = [
142
149
  {
143
150
  label: f("翻译"),
144
151
  prompt: f("translateShortcut"),
@@ -149,7 +156,7 @@ const Ge = (o) => {
149
156
  prompt: f("explanationShortcut"),
150
157
  key: "explanation"
151
158
  }
152
- ], _e = { class: "ai-cite" }, $e = { class: "ai-cite-text" }, et = { class: "ai-cite-tips" }, tt = /* @__PURE__ */ I({
159
+ ], $e = { class: "ai-cite" }, et = { class: "ai-cite-text" }, tt = { class: "ai-cite-tips" }, ot = /* @__PURE__ */ X({
153
160
  __name: "ai-cite",
154
161
  props: {
155
162
  text: {},
@@ -159,73 +166,73 @@ const Ge = (o) => {
159
166
  setup(o) {
160
167
  return (n, e) => Q((h(), g(
161
168
  "section",
162
- _e,
169
+ $e,
163
170
  [
164
- p(
171
+ u(
165
172
  "span",
166
- $e,
167
- R(n.text),
173
+ et,
174
+ x(n.text),
168
175
  1
169
176
  /* TEXT */
170
177
  ),
171
- p(
178
+ u(
172
179
  "span",
173
- et,
174
- R(d(f)("您选择的文本内容")),
180
+ tt,
181
+ x(p(f)("您选择的文本内容")),
175
182
  1
176
183
  /* TEXT */
177
184
  ),
178
185
  n.showCloseIcon ? (h(), g("i", {
179
186
  key: 0,
180
187
  class: "ai-blueking-icon ai-blueking-close-circle-fill",
181
- onClick: e[0] || (e[0] = (s) => n.$emit("close"))
188
+ onClick: e[0] || (e[0] = (a) => n.$emit("close"))
182
189
  })) : S("v-if", !0)
183
190
  ],
184
191
  512
185
192
  /* NEED_PATCH */
186
193
  )), [
187
- [ke, n.text]
194
+ [Le, n.text]
188
195
  ]);
189
196
  }
190
197
  }), K = (o, n) => {
191
198
  const e = o.__vccOpts || o;
192
- for (const [s, l] of n)
193
- e[s] = l;
199
+ for (const [a, s] of n)
200
+ e[a] = s;
194
201
  return e;
195
- }, Ce = /* @__PURE__ */ K(tt, [["__scopeId", "data-v-3fd96961"]]), ot = (o) => (ie("data-v-a8d839da"), o = o(), re(), o), nt = /* @__PURE__ */ ot(() => /* @__PURE__ */ p(
202
+ }, Pe = /* @__PURE__ */ K(ot, [["__scopeId", "data-v-3fd96961"]]), nt = (o) => (re("data-v-a8d839da"), o = o(), ce(), o), st = /* @__PURE__ */ nt(() => /* @__PURE__ */ u(
196
203
  "i",
197
204
  { class: "ai-blueking-icon ai-blueking-xiangxia-2" },
198
205
  null,
199
206
  -1
200
207
  /* HOISTED */
201
- )), st = /* @__PURE__ */ I({
208
+ )), at = /* @__PURE__ */ X({
202
209
  __name: "render-back",
203
210
  setup(o) {
204
- const { isShow: n, scrollToBottom: e } = Me();
205
- return (s, l) => d(n) ? (h(), g("span", {
211
+ const { isShow: n, scrollToBottom: e } = ze();
212
+ return (a, s) => p(n) ? (h(), g("span", {
206
213
  key: 0,
207
214
  class: "ai-blueking-render-back",
208
- onClick: l[0] || (l[0] = //@ts-ignore
209
- (...i) => d(e) && d(e)(...i))
215
+ onClick: s[0] || (s[0] = //@ts-ignore
216
+ (...i) => p(e) && p(e)(...i))
210
217
  }, [
211
- nt,
218
+ st,
212
219
  te(
213
- " " + R(d(f)("返回最新")),
220
+ " " + x(p(f)("返回最新")),
214
221
  1
215
222
  /* TEXT */
216
223
  )
217
224
  ])) : S("v-if", !0);
218
225
  }
219
- }), at = /* @__PURE__ */ K(st, [["__scopeId", "data-v-a8d839da"]]), lt = "data:image/png;base64,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", it = (o) => {
220
- var n = o.renderer.rules.link_open || function(e, s, l, i, t) {
221
- return t.renderToken(e, s, l);
226
+ }), lt = /* @__PURE__ */ K(at, [["__scopeId", "data-v-a8d839da"]]), it = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAH3tJREFUeF69nAd4VFXax39nStqkNxJC6KGDghQFXIosogGkCKKuFYVFFBVQXEEN69pFF5VFFGRFUelSFUQjCFIUkN5LIIH0hGSSSabd7zln5sIkhBRwv8MzzwBz7yn/8/b3PUfwP2iaphkAgxDC6du9pmmxQFugKdACaAU0BkKBEO9HvlLs/RQBZ4AjwDHgFHBQCJFdqV8T4BZCuP/s5Yg/s0NN02R/Ehw5WU32rWmaBGMI0ANoDTQHzNc4rgM4ARwGtgLfCiEkaHKcK8a+xjEqvPanAOSlGPQd9FLKX4FRgPz29xlVAucC5Nj6R/9Zn48C19vk3/WP0fuO/ls58APwjfzWKavyfK4HqOsGyHcymqZFAGOA0UCSd2FyDAWK91kvKAJR99F1oCQr6WDJ/5M9HQfmAZ8IIQr+LJDqPkV9Wz0kLSTVaJom5YcEZQoQ5wVELkI94yV/+XCFzdRXdh077EtdBjmOppFpMIi3JFhCiGIvUJrO8nUd65oA0ilBCCGp4jbgdaCrDyvIicsdRvMyi8QmO7eEwoIyTCYD0ZGBhIYF1HW+VT6vaZocx2UwqB0QbrcCaqfRKP4hhPhJ0zQ5FwlSnYV4nQGSg3mBsQCvARO8lCLlihTQl/qU4Chgsq18tmAvP/x4kvMZxZjMBholhvPKtL/QpXOCFLBXUFdtkdPfdbs1CgrLMBqFFh4WoFjQ7dY0g0F8AEwVQpToc69t3/K5OgGkaZpJqm5N01oC/wVu9gpc2ZeimEuS1bvoUpuDJ59ex9Llh4mIDFTA2MrsFBaWMeejZPr2aYpcnMFQp6moYfT3jh3P44uF+9h/MFsCRJfO9fnbvR1cDRJCcWsYDYLtwMNCiKP6GmoLUq1n5UM5dwILgCgvOBWA0QfWJ79qzVHGjl9L0ybhvP7P2+jUKR5bqUNtTXRU0DUB4wvOlq1nmfj8Bk6eysdsNkpAcDpd3NQpnrdf60fHG+OlGJBUnwc8KIRYVxdKqhVAPpRzP/ApEFgdOL67M/mFDcz//A/+MaUnk5/pjsulqV2+nqaz1eGjOTw6ZhVHj+YzeGASjz/aiaLicv4zZxebt6TRskUUXy0YRvOmkTpINuBxIcTC2lJSjTP1oZzxwEyvnJGiV8qbapuUQSPvX8Kv29OZ82EyA5NbKIA87OTRYZr8o+siL9P7Tsoj5D3P6kpQvl9a6uDxJ1az7vvj3DOiHe+80Y+QYI+5dT6zmFem/8zZ9It8MOMOBZSmadJ4lV1L+fS0EGJWbSipWoAqUc6X3s7lHGoEx6PBNIbcvYg9ey8w7+PB/LVfM1wu9yWBLOdbV1tIp8AvvtrLhInr6dwpnoWfDyM2xoLD4cJgMCgKLS93UlbuIizU10ZV4Ojz/1ttKOmqAFWSOUuAIC9AtQJHJ637H1nBjz+e4t8zBjBqRNsKAlkCmJ1TSl6+jYtF5RQVlanv8jInLjeYzQaCLX6EhQUQEe6vZFb9+BBsNjvDRi1m165M/pXSm7GPd1bAG42eqflqRV2T+pC6BEk+WAqMqEkmVQmQtHO8BmA74EdAOpl6xzVxlneSHhX//Is/MPez3bw8rRfPPHkzJ07mc/BILrt2X+DEiXwyLxSRJ+2jQpvadcVNlZrBaFAgRUYHkdQ8msAgM999f5zWraJY8tVIgoP9LrGuTpE6a1Y2Tr1d62uRTu9tQogD+porj30FQNIalVan1zr+HuheW4Hsq8HkLsod/WrRfiY+t4EuXRJoUD+EX7acpSDHitPhQJhM+Fv8CbD44x8ZgjnEgjHQD4PZ48sqA7DcjqO0jPK8IkoLrJSXODD5GfHzN5JQP4RxY7twe79mREZ4jE75jq+8qmY3pd0mNfCvwO1CCKu+dt93qgJIp55/S2EGyJCFDCfU2OTc5AR1m+b3Xef5eO5uUjedVjtcXlpOcISF0GYJWBrVwy8mHL/oMMwhgQg/M8JkRphNCN0mkv25XGhOJ267HbfNQdGBU2Rt2KlYtcxapvptd2N9+vdrxr0j2yoWlL9JSroK9fiuQ1/bTCHEM1VRUQWAfFjrdkBST62bLzhpZwuZ/ckuVq0+QmFeCZaQALXo2F43EtnzBkzBQRiDTcpKVRvurvRdaVShRIuGOUSQtzONY+9+RViH5sR0b0/u1v3kHEzD7XaT1CqWvz/emZHD2yh3xgNUrRXBACHE+sog+bgFl1hLCuNUr2+lk2G1QOlGodPpZvHSQ8yctYOzp3IJDg8i+pb22Aut5P+6j/p396bBiO44iyVpVPTTLg9QlViUpoCGMBpwXLSSu2Ufoa0aEdY+AftFB9YDp8nZtIf8o+kIo6D/7S14YXIPmjWNQJMgVW+l62vcCfQRQpT6spovQDprTQRm1Fbu6ODYbA5eeXUTXy7ci9mgEd22CTEDuhHavgHWoxc4+dG3xPTtRPzAbrjLNBlvrDV1VpAJBhBmyXqg2TWESWDwA0eRnbwte8lJ3UN+RgGNk6KVr3fn7Um1YTkdpElCiPd8qUjN0kcwRwIHgHifWM5VF6KDc/p0AS+mpPLzxpOEx4URN+BmIrq2wmjxw10uZYGG/WIRxqAgDP5mjz68nuYbIpD9SCoxCoQ/lJzKJnvdNrJ3Hccc5M+T47owYXxXpTCqcYr1yMt5oL0QIl/HRAdI99BfAN6ojUrXwUnPKGLMk2v5bVsa8a0SSBjZj5DW8bjLNTQpAr2UYtB3/XrBqQ5YqSACBK5SBznrf+P8hp2U2V2MebwLU6f0VHKpmhiUrvpliORN3Q6U+lxnrRhgkzduXK3NoxtfBYU2xj31HZtSTxKbFE/ig3cQ2CgKV6nXWvY1k6uw2K5YqyeuU6FV7qICuylVVakXRU1S7wryfznA+W83Kxtr9CMdSZnWSzm0V5mKvmYZ7+4lhMhR2PhYzA94vfQa1bpOPS9N/5mPP95JXNMYGo5OxtI4FldpHeSLW3pieISoAIMJhPwYLmu1CsvXo01S68mPtCvlsmQ/3tiT0u+qUw1joCB3yyHSv/4Ba4mTpyfczJRJPZTHfxURqK/9ASHEl8rV0iegadoaILkm9tLBWbfhBBOeXofRbKbx6GRC2zfEXVtwvGRi8BMeU80NbpuL8rxC7PkXcRWX4C514LI7lR0kmxAGhL8RY4AZoyUQc6gFU0QYfuEWJaglqG4luD0mgeclMJgFeVsPkLH0Z2Wpp7zUm4cfvLEmKlojhBjk7UIJ6WYy31Qp+1AVB6gNyi+wMerBZRzYfZ7mo/pSL7kzbpvbs/XVNF1ISq0j1a89t4jS0xcoOZGO9VwO9sISyotLcZaW43K4cPv6HXLXDRIIA+YAM+bgAMxBgfhHBCuj09K0PgEJMfhHh3rAckhNJ8kKjEGCrLW/k7ZiM4HB/ny1YDgdb4irLlAnsyVthRAndSE9CXi3ttTzifStXtpIfIfGNBxzF+ZAf6V2rxqfVPQPRj+Bs8xNyfF0Lu4+TOGxdKwXCpSjaQn2UzHq6GgL9RNCiYmxEBLiR2CAx+2Qu19S4lCbc+FCMTk5JZRay7h4sQxbqUu5HpbYCMJaJBDeqSWWpAYYg0y4pEmhSEEj44v1pG3aR/LgNnz84Z1KHlXRdFk0WQgxQwdoGTCsOrdC330pmEc9sIyDf5yn1eODiLy1Nc6SaowxKTT9PCxQtD+NnJ93kXcgDVtJGeGRFjrdlECnjvF0aBdLm9YxylWQKrm6MIhk85JSO2lpFzl8NJeDh3LYtz+LAwcyuZhfin+gH9FtGxHduxOh7Rt7OU5Qnl3IqVnLKTyfz8yZydw9tHVVVKTLoeVCiOFSSMs0jfTY21RHQbrsWb32GOPHryascT2ajBuCX0QwmkOXkJX2w6t2bRcKyf3hd3J2HKK4oJS2N9bnrkEt6dm9Ia1aRClvvKrmcTx9mnQbrsLCMmB/6kwBW389x8rVRzm49zxBIf7EdmtL7J234BcVrN7M33qAY5+vp23bOL7+chiR4YGV7SOdgg4pT1/TtL7ARi+D1JiqenLidyxftI+mQ28lfmh3j1Vc1XbLQHygwHrkPBlLfyLvaDqR8WE8/GDHS06lvlYJvkcQ19pvUs/r78m/S/l0KYuSU8qX3+zns/m7KcgqIqZNQ+qP6oelSQzOIjtnPl5J5v5TfDhrMHcPuYKKdAzkdz8JkEz4za2evTwYSP6XEcL0C1aSxg4irH0jnKVVsJcEJ0hwcV8aGQs3UJBZSMeuibz6Ui863RjvDUl4VHktve5qhb/80Zsb8+6VB+hdey4wNSWV/bvSiWoWT+IjyYQ0j+T8sh2cWrqJPv2TWDB3aFX7q7PZYxKgt4HnapOh2PRLGuOeWAXhYbScNApjgJ/HDvFtEhx/QWl6Lmc+WUnBuXzuGNyat/7Vl+jIoLp62DUCczXWlNQlZZmMLIx9ah0HdmcQ26EJTcYPxZ6Vz9EPlmMxaXyz8G5atoiuzGa6b/aOBGglMLg6+aPHgefO38PLL28k4ZZWNHp8EJqstfBt3nyqu8xO2tzVnN99gv53tOKj9wcQGupfISx6TSuv40t6GHbfgSzGjF/LhbR8Gg77C/GDunJsxlLyD57h1X/9lYfuv6FytkWXQ6skQPukg1adc6oL6Omvb+Y/H26j5T29qJd8M257JfkjhbK/IHPVNk4t20zn7o35dFYysbHB15wcrID/VcRddbi5vJnD5auOMGnSd/iHBtFi8j0U7TnB4QUbeXRMV974Z9/KFKTLof0SoNPeIqYqBbQuJ5wuN89M3sCyxfto83gykbe2rSigJTh+grILBZz4cCm2AitzPh6swqHyXZM3oH41lvCMU5OQ1l2KK3XZZRlUsQ99/na7iwcfW8mmDUdpM+4u/CJC2Pf219w2oAWzZyZjsZh9QdKxOCMByvVmSa+qauXErSV2npiwjo3rj9Hu2RGEd2qCs8StLFvVZAw6QJC5ZjvHl2xmwJ0t+fjDZPz9TVcz6+vIMFd/vCY/WBcR3yw5yLMTVpPYryNRt7Tj4IzFtG0Xy38/HUK9WEtVVJ4nAZJmddWGiE8KRdoZY55Yw7Ytp2n/3ChC2iVWBEj6iC4nJ2Yuofj0Bd56a4AKfVaXSdUXdvpMATK/3q5dPRLiQyqEJPRnpMU8Y+Z2lQS8f1T7K0A/cjSPrGwrN3SoR3hYQJV9nD5TyKDBX+AKDqbhsF6cWLCeBjEBfLngbhITPLHsSjUC9loDlJdn49GxK9m9K4N2k+8hpHUDnDKsYTAov0p6ztajGRybvZK4CH9Wfnuv0lpX2119MkeO5jB67GqOncin+80NmDfnLqKjpPHmMQH05/7Yl0XyXQuJiwtm5dJRyMIEnXV/3nyGZ5/bQEZGkbKx3n93QAW7SO+rtNTOg4+uYOeuTJrf05u0tdtJiPBj4RfDSZSFDlcBqFYsJinosXGr2bE1jfbP3VOBgiRApmBB7s/7OTb/e3r3bc4Xn1VpX1ziE30yK1cdYcz4NQR708Yrl95Du7axl+SBrwx8aPS3rP/hJPM/Gcyg5JbYHS78zEbefGcL7/57G4GBZpVaWrfqPiKutJDV2M9M+o5vlh8haUBn0jfvo1nDEL6YP4z4uCoViWKxGoS0JzNgtdoZN2EdP244RvtnRhAmZZDXSNQByly1k2Nf/cjYJ7szfVqvamWP7ttlZll5dvJ6ft2Rzl0DW/DW638lMMBUgUV0MD+YtYMXpv3E9Jd68dxEWQjhyabuP5DF05PXc/x4PuPG3MSLU271iEUf/1kf7+Xpqcz5bA9NurUgY/cJbu6awKezB3nY8nKdUgUhvRfocDU1r++glCXPPr+BJd/spc3oO4nq1Q6nzWtFewX0+eVbOL7sF6a+fBsTnuhao2rX+87NKyU9vYik5pFYLH5XhEVdbjdGg4E1647xwCMreOiBG/n3uzIzddkaP3vuIrl5Nlq3jCYw8Mo0nr746a9tYtbs36jfLJacs3kMH9qKmTMGKCLwEQc6QPtqZSjqO/jGO1t4f8ZWkob1oP6wniogrye3pAbLWPoLJ1ZsIeXV/ox7/KYaAdIXKL9r8t6l8JS1QHeNWMSI4a35z8zkSwK1NhVq+jMvpaQyZ+4uVeyQX2jjuWdv4dkJt1RrKNboalyuqNjHiy9uILpDU5qNH+aJAfmo+PPLt3J82WamTO3LxKe61bq0Tk7e7fYGxHxMHH1Hs7KsanelsTdl6kaeHNuZN/7VrwILy02Uz0ir42oZVTnOUxO/Z9mKw96qD40P3rtDZWUrCegKrkaNzqpbGoFCsHd/Jg89vByb0Y+WT4/ELyZUhTrkwKZgA1lrfuP4Vz/y4OguvPmqrO289uabNXlo9ArOX7DicLhVHOiTWYMYlNyiVhTqy4ZFReXc9/By9u/PwmQyUr++RyNGRlzWmt4ZV3BWax3uKC93MfSeRRzYl0nSIwOIurUNTqsnVCG1WN7mgxyfv54u3RJZ8tXd11xe51mURznk5pYyZeoP/LE3C6PJwLAhrXh+Yo8KarymbdD7On4in8HDv1bAWksc3DuiLe++1b+yMrki3FGrgJk+iDTW3n3zZxJ7tiXx4TtUKkLGfqUMKj2Tw7FZywk1w5JF96i6xNrIh5oWWFbu5MyZQqXdGjUKr+nxK37XRcS8+Xt45dWfVYBOFlvNnT2YPr0bo/tr3hcrBsy8u1VjyPWyYZfLyPuWqPhwiyeHE9Im4XJMSGic+s8Kcvae5MVpfXhijCxsuv6axDoj4vOCvkHSTLnvoWXs25+tKKhr5wRVv+jnd0WerGLI1QtQrYL2+mDPvbiRBfN+o0n/m0i4v78nL+X2ZA/yNh3gxH+/p1X7OBbMG0Jcvev35PViqFrW/VTAU9+ghd/s58WXfyIo0ITV6uC9d/ozYlibquSYTkEqT68H7WuZ9vHIhSNHcxn5t6UUFZTS/NFkIm9pidPqwmA24iy1ceqj5WQfTWfay315cmyXyiR8PQRRp3d1qpey5+HHVipfTWZHZB21tPSVzVV1CEUaMG3kSSLfxOFqYGBNqR+dij75bA+v/vMnQuMiaPzYIIKaxuCyujAGGSn4/TinP1tLoMWfGW/35/a/yuJND7i681+nldbxYbloWS8krWxphI57ai3bd2YQbDErj2DWzDsZPLBlddRzOXHoU8n6N+CLmirKLjmRmqbCH8uW7CehTSINHrmDwPqRKi9v8DeQtW47aSu2EBJp4e3X+5F8h6cMRbZrqaqvLUZ6XEiOId2YSVM28FPqaaKigsjPt3HX4JbK9jHLQoYrqefK1PO1FS94qOFcepHyz3bvTCe2ZbySR5bGMbhsGprQOL84lQupuwkMC2L8E10Z80gn/P09QlFP6Vxv0L5iXx6GkH3+siWNV9/czKHDuYSFBlBSUk7jRhHM//QumjSuUrtWXbzgFdLXXP5y8lQB45/9jl07zlKvWT3ih/UmrH0TVWHhLLGT/f1Osn7arbKgvfs154mxXejWOUGV+OpNt4I9YKklXuF6XE6ReSxmffd1atT/LeXjvM/3sGr1McrLHaqMuLjErr7nzBqocnFVhDXkoFWXv3gB0itbZQHVfqB+XQqozqQVIuPV6787SlBwAPG9OxLWrR1BDcOVS52/7Rg5qbvIOXxWZT379muuisplNrVRwzAsQdd6QhMlUy5kWTl0OEf5aht/OkVmplWFT6QKl7/LhMEbr/Zl4J1Xtb6rL6DygnRdJXgy5jtz1k4+/mQntos2IhrGENm9PRFd2xDUIBhnsZO8zQfI3ryHvFPZ6hBCVGwIHTsl0K59DE0aR9A4MZy4+GAVeggIMCr3RreqpRUvw75Sjkjf7FxGkWLxI0dyVbhDFqPbHW5FKTobyzR5syYRzHirPzd3a1Cda1J9CV4lKqpzEacSjAhVc7N12zne/3AHv245jdloILh+JCFtmxIhCwoax+J2uLEeOkPh3hNcPJmB9Xw+DruToCAzwSEBqohBxrENRqHOMaljHG5NmQpOp6bUtK3MqcCy292qAMEvyIyfyYDJgPLXbDaneq9Pr8ZMm9KTpKSo6kyN2hVxVqKiayoDlvwkhbd0DX7Zepb3Z27n8OEczJIQTEYCE2MJaZFISIuGmKPDcZfacBQWU5ZVQOm5bMryLuIoLcftcKI53UgnWb7qqVIV8mynojxJWLL+0GAy4i534CqzYystp6S4nKBAs4pIPvS3G1T+X7LZVWROZcVYfRmw/rSPVqtTIbmuTaTQlLsr076z5/zO1l/P4u9nxGgyYrfaKC+1Y/Y3qcp6S8N6BMRFqWIoY4Dn0Imz2IpL1geVeYByyyIqpwt5eMMtP06X+v/yAit2a5mqupebklA/mM6dE+h8U7wKx0pWq0VBed0KySuxmiyHWF+bowi+5f87dmbw/ofbSU09rRbWpH19jP4mMg5n0qpHM+KS6pH2xzlyTudQUmDFXe7CLUvDZAWZLHsxyI8numcONHu8dpcbR5nD87sQmP1MhNYLJbZZDAXnC8k4mkXPWxvz2vS+SoXXshji2o4iVGK1Gg+z+BaRz/7kd1Vhn5dtpV5iODcNak+XoR058ssJlk5fQ88HujL0hT4UZjoovWijKNdKXnoBxTlWSgpLcMrDLPL8mEwC+JtIP5RJTlouYbGhdBlyI5bwICxRwYRGW/APNBNRP5it3/zB+o9SEWYjUZGB/OP5ngxXFRt6YUSVJua1H2bxYTXdNpJHMKs8DqWDI32cf76+mW+/PaLsmxv6tabHfV2p1zRCFWam7c1i3viviG8Rx72vDyE0JlBFIw16gdcl+8eT5gkIFhzbnqVAteZYCQgJ4MH3hpHYLga7jIMLgcup4R8oOLL1HF9P/VadESstseMfYOaVab144L4O3ijlFQBd/3EoH5D0Q7zyKGaFA3U6OBkZxTw16Xs2p54iLjGcPo9256ZBbT3HBko1VURZVmxn/tPfkHuugIfeu5smnRKwy4xIpQyylDGBoUbSD+Ww6OXVqmI+ODKY0oISOg3swJAX+lGucnFCRQ/8LYLs0/nMe2KRorgmNyZycPMxpcnef+d2hqsKMrc6ZOdtf96Buioo6dKRTHlWSghhkNnQiVM2sHP7OZq2ieeOiX1p1jmB8hJP+MMjSzTM/oINs7eycc4met7fjcGTb8MhjxH42DlS5gSFCE7+nsGa934i49B5bhjQlrZ9WrD6XVnfBfe+NphmXRpgs3q0mzlAcDG7mAUTl1OUU8xjs+/l1G9nWf3vH4mItvDxR9JyTtS1mH7RwZ93JLMqStI07VMhRKDVaneN/vsq4w8bT9CmcyOG/GMAcUkRlBX75Ou9NoxfoODcwWy+fH4ZLruL+94aSvOuCZQVedJGkg1NfnB021lWv/ODkjstbmnGsGkDiG4QzOJXNvDbt3to2TOJe/45CL9AM45yN34BBopzi/l84nIF1GOzRpLQJpbFL3/PztX7ufGmBL74bAgx0UEumZkSgj//UG9VMsnpdC+YlpIa9dm8Xa7GbeKMd6cMIq55hKIcaeBd0WRQP0Cw8s2NbFuyiyadEhk0uT/1k6JxuzSK823sXruf7Ut3Y82z0qZXCwZOuo3Q6GClzXLTC1j43ArFcn954GYGPNkDe5mbAIuBcwdzmPvEIiwRgTzw9t3UaxZGfkYJi6au5PjeDCZN7OGaMrm7vGQgz2AQ/5tj4fqCU1M1U58+wrnyuyMtJz69/r9+If43j3g52dW8WwPKrG6jD69XwEixmZ8gL+Mii19ZQ9of6cQ0iqR51yaKzU7vPUvm8WxFGd2GdqTP6B4Ehvrh8Jbw+lkEe9YeYcXr36nAfa+HbqHz4A44HU42/XcH2xb/Tvt+rRn1r8E4HW4CQwzs/+G464upq6QVbZw7e9D2pKSo/+3FAvqKFy/WjCNHChd0sPz9/fmvdRveaYLT4VEsla+m8EVJyiRzIOScKWDz5zs4tOkYJRfluVqhirubdm5Mxzvb0aZ3U9AMuGTlrLewU9Y4G0yCncv3snHOZmzFZcQ0jsbldJF/Ll/ZRCNTBtH0pgTKbeo6CrfBoBkXvbJWO5h6+INRT90w9d3nbi+5PPcqVX+V/3lNh7ZSUjTDwTZLxJKRI11zT2q3Ia5+uUlFkDTMgQJnuYuMI9nkpOUphzQqMYK45jEEhZs9Al4TygQwmcHlAHkaQRg0JZQPpZ5i69e/KftJsnO9pjH0vL8rTTs3cDnKPDVYyhsxsTPzZNaLU/vG/fj/ernJ5QWnGFJSICUlxT3viBbiNjNaiKqvx6lw4YksMTEKTNKz0MugBTjt4HZ6QnxGI5Rb7Zw7kkl8UiyW8ABl9+iay1bspDCrSLovWni9YM0cYNQc5erUknwkU9N4y+Bg3uhWolhuppxzSkrdb35RFFx7Yqv6yRTPfWWkCOFemKZF2NyMQav6gqVLLKhJpvEpElfRGE+QTAplSTnfz9rEps+30Sm5PcNfulNRlTy8IenLYBRuowmj9F1dDmlJqOOkxxHMCzTwyf2NRIGa1/RrB0Zf7XUDpMDxAUn+e/YJLdZkoL/wXNHVr05XdGlgNKOt+2ATqfO2SGGsjZg+UGKhaS6lqmXBhV7bUq7BRiHEN043G8Y191z+Vnk+10MEfwpAPqaAWAKGET6XvH2WpjXVnAzRDPRAq8Ulb7IAwQS2i+WkHUgnoVUcIdEW3J779DyXvAkOCzdbhYlvH210+ZK3ymNfDzB/KgVVnojawZ8xpPSpeE2gpCw/E21x01TTaIGglabRRIhLVwTKq75kKzYYKTYHUORwcMZdzhEhOIaBU3YnB3VK0cdNSdVM9MYt2fzPAMW3j/8Dx+VMHl8zFNkAAAAASUVORK5CYII=", rt = (o) => {
227
+ var n = o.renderer.rules.link_open || function(e, a, s, i, t) {
228
+ return t.renderToken(e, a, s);
222
229
  };
223
- o.renderer.rules.link_open = function(e, s, l, i, t) {
224
- return e[s].attrSet("target", "_blank"), n(e, s, l, i, t);
230
+ o.renderer.rules.link_open = function(e, a, s, i, t) {
231
+ return e[a].attrSet("target", "_blank"), n(e, a, s, i, t);
225
232
  };
226
233
  };
227
- var Pe = /* @__PURE__ */ ((o) => (o.Assistant = "assistant", o.Cite = "cite", o.System = "system", o.User = "user", o))(Pe || {}), ne = /* @__PURE__ */ ((o) => (o.Error = "error", o.Loading = "loading", o.Success = "success", o))(ne || {});
228
- const rt = /* @__PURE__ */ I({
234
+ var Te = /* @__PURE__ */ ((o) => (o.Assistant = "assistant", o.Cite = "cite", o.System = "system", o.User = "user", o))(Te || {}), se = /* @__PURE__ */ ((o) => (o.Error = "error", o.Loading = "loading", o.Success = "success", o))(se || {});
235
+ const ct = /* @__PURE__ */ X({
229
236
  __name: "ai-avatar",
230
237
  props: {
231
238
  size: { default: 36 }
@@ -238,21 +245,21 @@ const rt = /* @__PURE__ */ I({
238
245
  maxHeight: `${n.size}px`,
239
246
  padding: `${n.size * 0.208}px ${n.size * 0.222}px ${n.size * 0.194}px ${n.size * 0.18}px`
240
247
  // 保持原比例
241
- })), s = j(() => ({
248
+ })), a = j(() => ({
242
249
  fontSize: `${n.size * 0.611}px`
243
250
  // 保持原比例 22/36
244
251
  }));
245
- return (l, i) => (h(), g(
252
+ return (s, i) => (h(), g(
246
253
  "span",
247
254
  {
248
- style: N(e.value),
255
+ style: Z(e.value),
249
256
  class: "message-photo ai"
250
257
  },
251
258
  [
252
- p(
259
+ u(
253
260
  "i",
254
261
  {
255
- style: N(s.value),
262
+ style: Z(a.value),
256
263
  class: "ai-blueking-icon ai-blueking-ai"
257
264
  },
258
265
  null,
@@ -264,53 +271,53 @@ const rt = /* @__PURE__ */ I({
264
271
  /* STYLE */
265
272
  ));
266
273
  }
267
- }), ct = /* @__PURE__ */ K(rt, [["__scopeId", "data-v-c3781e8b"]]), dt = {
274
+ }), dt = /* @__PURE__ */ K(ct, [["__scopeId", "data-v-c3781e8b"]]), ut = {
268
275
  key: 0,
269
276
  class: "ai-cite-container"
270
- }, ut = { class: "message-content-container" }, pt = { class: "message-content user" }, ht = {
277
+ }, pt = { class: "message-content-container" }, ht = { class: "message-content user" }, mt = {
271
278
  key: 0,
272
279
  class: "time-message user"
273
- }, mt = ["innerHTML"], gt = { class: "message-photo user" }, vt = ["src"], ft = { class: "message-content ai" }, bt = {
280
+ }, gt = ["innerHTML"], vt = { class: "message-photo user" }, ft = ["src"], bt = { class: "message-content ai" }, yt = {
274
281
  key: 0,
275
282
  class: "time-message ai"
276
- }, yt = {
283
+ }, kt = {
277
284
  key: 2,
278
285
  width: "16",
279
286
  height: "16",
280
287
  class: "loading-message",
281
288
  "aria-hidden": "true"
282
- }, kt = /* @__PURE__ */ p(
289
+ }, wt = /* @__PURE__ */ u(
283
290
  "use",
284
291
  { "xlink:href": "#ai-blueking-quanquan" },
285
292
  null,
286
293
  -1
287
294
  /* HOISTED */
288
- ), wt = [
289
- kt
290
- ], Lt = {
295
+ ), Lt = [
296
+ wt
297
+ ], St = {
291
298
  key: 3,
292
299
  class: "message-wrap"
293
- }, St = ["innerHTML"], Mt = /* @__PURE__ */ I({
300
+ }, Mt = ["innerHTML"], Ct = /* @__PURE__ */ X({
294
301
  __name: "render-message",
295
302
  props: {
296
303
  message: {},
297
- userPhoto: { default: lt }
304
+ userPhoto: { default: it }
298
305
  },
299
306
  setup(o) {
300
- const n = new Qe({
307
+ const n = new je({
301
308
  html: !0,
302
309
  highlight: function(t, m) {
303
- if (m && ye.getLanguage(m))
310
+ if (m && we.getLanguage(m))
304
311
  try {
305
- return ye.highlight(t, { language: m }).value;
312
+ return we.highlight(t, { language: m }).value;
306
313
  } catch {
307
314
  }
308
315
  return "";
309
316
  }
310
- }).use(je, {
317
+ }).use(We, {
311
318
  iconClass: "ai-blueking-icon ai-blueking-copy",
312
319
  buttonClass: "ai-blueking-copy-button"
313
- }).use(it), e = o, s = j(() => {
320
+ }).use(rt), e = o, a = j(() => {
314
321
  var m;
315
322
  const t = {
316
323
  error: "ai-blueking-icon ai-blueking-warning-circle-fill",
@@ -318,8 +325,8 @@ const rt = /* @__PURE__ */ I({
318
325
  success: ""
319
326
  };
320
327
  return (m = e.message) != null && m.status ? t[e.message.status] : "";
321
- }), l = j(() => e.message.content ? n.render(e.message.content) : ""), i = j(() => {
322
- const t = se(e.message.time), m = se();
328
+ }), s = j(() => e.message.content ? n.render(e.message.content) : ""), i = j(() => {
329
+ const t = ae(e.message.time), m = ae();
323
330
  return e.message.time ? m.isSame(t, "year") ? t.format("MM-DD HH:mm:ss") : t.format("YYYY-MM-DD HH:mm:ss") : "";
324
331
  });
325
332
  return (t, m) => (h(), g(
@@ -328,31 +335,31 @@ const rt = /* @__PURE__ */ I({
328
335
  class: ee([t.message.role, "message-main"])
329
336
  },
330
337
  [
331
- t.message.cite ? (h(), g("div", dt, [
332
- V(Ce, {
338
+ t.message.cite ? (h(), g("div", ut, [
339
+ E(Pe, {
333
340
  text: t.message.cite
334
341
  }, null, 8, ["text"])
335
342
  ])) : S("v-if", !0),
336
- p("div", ut, [
337
- t.message.role === d(Pe).User ? (h(), g(
343
+ u("div", pt, [
344
+ t.message.role === p(Te).User ? (h(), g(
338
345
  G,
339
346
  { key: 0 },
340
347
  [
341
- p("p", pt, [
348
+ u("p", ht, [
342
349
  i.value ? (h(), g(
343
350
  "span",
344
- ht,
345
- R(i.value),
351
+ mt,
352
+ x(i.value),
346
353
  1
347
354
  /* TEXT */
348
355
  )) : S("v-if", !0),
349
- p("span", {
356
+ u("span", {
350
357
  class: "markdown-message",
351
- innerHTML: l.value
352
- }, null, 8, mt)
358
+ innerHTML: s.value
359
+ }, null, 8, gt)
353
360
  ]),
354
- p("span", gt, [
355
- p("img", { src: t.userPhoto }, null, 8, vt)
361
+ u("span", vt, [
362
+ u("img", { src: t.userPhoto }, null, 8, ft)
356
363
  ])
357
364
  ],
358
365
  64
@@ -361,40 +368,40 @@ const rt = /* @__PURE__ */ I({
361
368
  G,
362
369
  { key: 1 },
363
370
  [
364
- V(ct),
365
- p("p", ft, [
371
+ E(dt),
372
+ u("p", bt, [
366
373
  i.value ? (h(), g(
367
374
  "span",
368
- bt,
369
- R(i.value),
375
+ yt,
376
+ x(i.value),
370
377
  1
371
378
  /* TEXT */
372
379
  )) : S("v-if", !0),
373
- s.value ? (h(), g(
380
+ a.value ? (h(), g(
374
381
  "i",
375
382
  {
376
383
  key: 1,
377
- class: ee(s.value)
384
+ class: ee(a.value)
378
385
  },
379
386
  null,
380
387
  2
381
388
  /* CLASS */
382
389
  )) : S("v-if", !0),
383
- t.message.status === d(ne).Loading ? (h(), g("svg", yt, wt)) : S("v-if", !0),
384
- t.message.status === d(ne).Error ? (h(), g(
390
+ t.message.status === p(se).Loading ? (h(), g("svg", kt, Lt)) : S("v-if", !0),
391
+ t.message.status === p(se).Error ? (h(), g(
385
392
  "span",
386
- Lt,
387
- R(t.message.content),
393
+ St,
394
+ x(t.message.content),
388
395
  1
389
396
  /* TEXT */
390
397
  )) : (h(), g("span", {
391
398
  key: 4,
392
- innerHTML: l.value,
399
+ innerHTML: s.value,
393
400
  class: ee({
394
401
  "markdown-message": !0,
395
- loading: t.message.status === d(ne).Loading
402
+ loading: t.message.status === p(se).Loading
396
403
  })
397
- }, null, 10, St))
404
+ }, null, 10, Mt))
398
405
  ])
399
406
  ],
400
407
  64
@@ -406,7 +413,7 @@ const rt = /* @__PURE__ */ I({
406
413
  /* CLASS */
407
414
  ));
408
415
  }
409
- }), zt = { class: "prompt-list" }, Ct = { class: "search-group" }, Pt = ["onClick"], Tt = { class: "prompt-content" }, Bt = /* @__PURE__ */ I({
416
+ }), zt = { class: "prompt-list" }, Pt = { class: "search-group" }, Tt = ["onClick"], Bt = { class: "prompt-content" }, Ht = /* @__PURE__ */ X({
410
417
  __name: "render-send",
411
418
  props: {
412
419
  prompts: {},
@@ -415,50 +422,50 @@ const rt = /* @__PURE__ */ I({
415
422
  },
416
423
  emits: ["change-prompt", "update:value", "enter", "choose-prompt"],
417
424
  setup(o, { emit: n }) {
418
- const e = o, s = n, { enablePopup: l } = he(), i = xe, t = pe, { selectedText: m, lockSelectedText: a } = me(l), D = Y(""), M = Y(40), k = Y(), z = Y(!1), B = j(() => {
425
+ const e = o, a = n, { enablePopup: s } = he(), i = Ee, t = pe, { selectedText: m, lockSelectedText: l } = me(s), z = A(""), T = A(40), y = A(), k = A(!1), P = j(() => {
419
426
  var v;
420
- return ((v = e.prompts) == null ? void 0 : v.filter((L) => L.content.includes(D.value))) || [];
421
- }), C = j(() => {
427
+ return ((v = e.prompts) == null ? void 0 : v.filter((C) => C.content.includes(z.value))) || [];
428
+ }), B = j(() => {
422
429
  var v;
423
430
  return e.placeholder ? e.placeholder : (v = e.prompts) != null && v.length ? f("您可以键入 “/” 查看更多Prompt") : f("请输入");
424
- }), H = (v) => {
425
- s("update:value", v), s("change-prompt", v);
426
- }, x = () => {
431
+ }), V = (v) => {
432
+ a("update:value", v), a("change-prompt", v);
433
+ }, H = () => {
427
434
  var v;
428
- e.value === "/" && ((v = e.prompts) != null && v.length) ? b() : y();
429
- }, X = () => {
430
- Le(() => {
431
- var L;
432
- const v = (L = k.value) == null ? void 0 : L.$el.querySelector("textarea");
433
- (v == null ? void 0 : v.scrollHeight) > 40 && e.value ? M.value = v.scrollHeight <= 300 ? v.scrollHeight : 300 : M.value = 40;
435
+ e.value === "/" && ((v = e.prompts) != null && v.length) ? b() : w();
436
+ }, D = () => {
437
+ Me(() => {
438
+ var C;
439
+ const v = (C = y.value) == null ? void 0 : C.$el.querySelector("textarea");
440
+ (v == null ? void 0 : v.scrollHeight) > 40 && e.value ? T.value = v.scrollHeight <= 300 ? v.scrollHeight : 300 : T.value = 40;
434
441
  });
435
- }, u = (v) => {
436
- s("update:value", v.content), s("choose-prompt", v), y(), q();
437
- }, P = (v, L) => {
438
- L.key === "Enter" && !L.shiftKey && (L.preventDefault(), s("enter"));
439
- }, A = () => {
440
- H("");
442
+ }, I = (v) => {
443
+ a("update:value", v.content), a("choose-prompt", v), w(), q();
444
+ }, c = (v, C) => {
445
+ C.key === "Enter" && !C.shiftKey && (C.preventDefault(), a("enter"));
446
+ }, M = () => {
447
+ V("");
441
448
  }, q = () => {
442
- var L;
443
- const v = (L = k.value) == null ? void 0 : L.$el.querySelector("textarea");
449
+ var C;
450
+ const v = (C = y.value) == null ? void 0 : C.$el.querySelector("textarea");
444
451
  v == null || v.focus();
445
- }, c = () => {
446
- m.value && (a.value = !0);
452
+ }, d = () => {
453
+ m.value && (l.value = !0);
447
454
  }, b = () => {
448
- z.value = !0;
449
- }, y = () => {
450
- z.value = !1;
455
+ k.value = !0;
456
+ }, w = () => {
457
+ k.value = !1;
451
458
  };
452
- return we(
459
+ return Se(
453
460
  () => e.value,
454
461
  () => {
455
- X(), x();
462
+ D(), H();
456
463
  }
457
- ), ae(q), (v, L) => (h(), W(d(Ve), {
464
+ ), le(q), (v, C) => (h(), W(p(De), {
458
465
  width: "calc(100% - 118px)",
459
466
  "ext-cls": "empty-padding",
460
467
  arrow: !1,
461
- "is-show": z.value,
468
+ "is-show": k.value,
462
469
  "popover-delay": 0,
463
470
  boundary: "parent",
464
471
  placement: "bottom",
@@ -466,35 +473,35 @@ const rt = /* @__PURE__ */ I({
466
473
  trigger: "manual"
467
474
  }, {
468
475
  content: F(() => {
469
- var oe;
476
+ var ne;
470
477
  return [
471
- p("div", null, [
478
+ u("div", null, [
472
479
  Q((h(), g("section", zt, [
473
- V(d(ve), {
480
+ E(p(be), {
474
481
  class: "input-search",
475
- modelValue: D.value,
476
- "onUpdate:modelValue": L[0] || (L[0] = (J) => D.value = J),
482
+ modelValue: z.value,
483
+ "onUpdate:modelValue": C[0] || (C[0] = (J) => z.value = J),
477
484
  behavior: "simplicity",
478
485
  clearable: ""
479
486
  }, null, 8, ["modelValue"]),
480
- p("section", Ct, [
487
+ u("section", Pt, [
481
488
  (h(!0), g(
482
489
  G,
483
490
  null,
484
- ce(B.value, (J, de) => Q((h(), g("span", {
491
+ oe(P.value, (J, de) => Q((h(), g("span", {
485
492
  class: "group-prompt",
486
493
  key: de,
487
- onClick: (ge) => u(J)
494
+ onClick: (fe) => I(J)
488
495
  }, [
489
- p(
496
+ u(
490
497
  "span",
491
- Tt,
492
- R(J.content),
498
+ Bt,
499
+ x(J.content),
493
500
  1
494
501
  /* TEXT */
495
502
  )
496
- ], 8, Pt)), [
497
- [d(t), {
503
+ ], 8, Tt)), [
504
+ [p(t), {
498
505
  content: J.content,
499
506
  placement: "right",
500
507
  theme: "light",
@@ -505,7 +512,7 @@ const rt = /* @__PURE__ */ I({
505
512
  128
506
513
  /* KEYED_FRAGMENT */
507
514
  )),
508
- (oe = B.value) != null && oe.length ? S("v-if", !0) : (h(), W(d(De), {
515
+ (ne = P.value) != null && ne.length ? S("v-if", !0) : (h(), W(p(xe), {
509
516
  key: 0,
510
517
  class: "exception-wrap-item exception-part",
511
518
  scene: "part",
@@ -513,40 +520,40 @@ const rt = /* @__PURE__ */ I({
513
520
  }))
514
521
  ])
515
522
  ])), [
516
- [d(i), y]
523
+ [p(i), w]
517
524
  ])
518
525
  ])
519
526
  ];
520
527
  }),
521
528
  default: F(() => [
522
- p(
529
+ u(
523
530
  "section",
524
531
  {
525
- style: N({
526
- "--text-height": M.value + "px"
532
+ style: Z({
533
+ "--text-height": T.value + "px"
527
534
  }),
528
535
  class: "send-prompt-container"
529
536
  },
530
537
  [
531
- V(d(ve), {
538
+ E(p(be), {
532
539
  ref_key: "inputRef",
533
- ref: k,
540
+ ref: y,
534
541
  class: "send-prompt",
535
542
  autosize: !1,
536
543
  clearable: !0,
537
544
  "model-value": v.value,
538
545
  "native-attributes": { autofocus: "autofocus" },
539
- placeholder: C.value,
546
+ placeholder: B.value,
540
547
  row: "1",
541
548
  type: "textarea",
542
- onFocus: c,
543
- onInput: H,
544
- onKeydown: P
549
+ onFocus: d,
550
+ onInput: V,
551
+ onKeydown: c
545
552
  }, null, 8, ["model-value", "placeholder"]),
546
- v.value ? (h(), W(d(We), {
553
+ v.value ? (h(), W(p(Ge), {
547
554
  key: 0,
548
555
  class: "show-clear-only-hover bk-input--clear-icon clear-icon",
549
- onClick: A
556
+ onClick: M
550
557
  })) : S("v-if", !0)
551
558
  ],
552
559
  4
@@ -557,29 +564,29 @@ const rt = /* @__PURE__ */ I({
557
564
  /* STABLE */
558
565
  }, 8, ["is-show"]));
559
566
  }
560
- }), Ht = /* @__PURE__ */ K(Bt, [["__scopeId", "data-v-dd1d94cb"]]), Rt = { class: "ai-shortcuts" }, Vt = /* @__PURE__ */ I({
567
+ }), Rt = /* @__PURE__ */ K(Ht, [["__scopeId", "data-v-dd1d94cb"]]), Vt = { class: "ai-shortcuts" }, Dt = /* @__PURE__ */ X({
561
568
  __name: "render-shortcuts",
562
569
  props: {
563
570
  shortcuts: {}
564
571
  },
565
572
  emits: ["select"],
566
573
  setup(o, { emit: n }) {
567
- const e = n, s = (l) => {
568
- e("select", l);
574
+ const e = n, a = (s) => {
575
+ e("select", s);
569
576
  };
570
- return (l, i) => (h(), g("ul", Rt, [
577
+ return (s, i) => (h(), g("ul", Vt, [
571
578
  (h(!0), g(
572
579
  G,
573
580
  null,
574
- ce(l.shortcuts, (t) => (h(), W(d(Ee), {
581
+ oe(s.shortcuts, (t) => (h(), W(p(Ie), {
575
582
  class: "ai-blueking-shortcut",
576
583
  key: t.label,
577
584
  theme: "info",
578
- onClick: (m) => s(t)
585
+ onClick: (m) => a(t)
579
586
  }, {
580
587
  default: F(() => [
581
588
  te(
582
- R(t.label),
589
+ x(t.label),
583
590
  1
584
591
  /* TEXT */
585
592
  )
@@ -592,7 +599,7 @@ const rt = /* @__PURE__ */ I({
592
599
  ))
593
600
  ]));
594
601
  }
595
- }), Dt = /* @__PURE__ */ K(Vt, [["__scopeId", "data-v-266e17ca"]]), xt = (o) => (ie("data-v-fd57f18d"), o = o(), re(), o), Et = /* @__PURE__ */ xt(() => /* @__PURE__ */ p(
602
+ }), xt = /* @__PURE__ */ K(Dt, [["__scopeId", "data-v-266e17ca"]]), Et = (o) => (re("data-v-fd57f18d"), o = o(), ce(), o), It = /* @__PURE__ */ Et(() => /* @__PURE__ */ u(
596
603
  "svg",
597
604
  {
598
605
  width: "10",
@@ -601,37 +608,37 @@ const rt = /* @__PURE__ */ I({
601
608
  "aria-hidden": "true"
602
609
  },
603
610
  [
604
- /* @__PURE__ */ p("use", { "xlink:href": "#ai-blueking-tingzhi" })
611
+ /* @__PURE__ */ u("use", { "xlink:href": "#ai-blueking-tingzhi" })
605
612
  ],
606
613
  -1
607
614
  /* HOISTED */
608
- )), Yt = /* @__PURE__ */ I({
615
+ )), Yt = /* @__PURE__ */ X({
609
616
  __name: "render-stop",
610
617
  props: {
611
618
  isShow: { type: Boolean }
612
619
  },
613
620
  emits: ["stop"],
614
621
  setup(o, { emit: n }) {
615
- const e = n, s = () => {
622
+ const e = n, a = () => {
616
623
  e("stop");
617
624
  };
618
- return (l, i) => l.isShow ? (h(), g("span", {
625
+ return (s, i) => s.isShow ? (h(), g("span", {
619
626
  key: 0,
620
627
  class: "ai-blueking-render-stop",
621
- onClick: s
628
+ onClick: a
622
629
  }, [
623
- Et,
630
+ It,
624
631
  te(
625
- " " + R(d(f)("终止生成")),
632
+ " " + x(p(f)("终止生成")),
626
633
  1
627
634
  /* TEXT */
628
635
  )
629
636
  ])) : S("v-if", !0);
630
637
  }
631
- }), It = /* @__PURE__ */ K(Yt, [["__scopeId", "data-v-fd57f18d"]]), At = {
638
+ }), At = /* @__PURE__ */ K(Yt, [["__scopeId", "data-v-fd57f18d"]]), Xt = {
632
639
  key: 0,
633
640
  class: "time-wrapper"
634
- }, Xt = { class: "time-message" }, qt = /* @__PURE__ */ I({
641
+ }, qt = { class: "time-message" }, Kt = /* @__PURE__ */ X({
635
642
  __name: "render-time",
636
643
  props: {
637
644
  message: {}
@@ -639,7 +646,7 @@ const rt = /* @__PURE__ */ I({
639
646
  setup(o) {
640
647
  const n = o, e = j(() => {
641
648
  var t;
642
- const s = se(n.message.time), l = se(), i = {
649
+ const a = ae(n.message.time), s = ae(), i = {
643
650
  0: f("日"),
644
651
  1: f("一"),
645
652
  2: f("二"),
@@ -649,40 +656,40 @@ const rt = /* @__PURE__ */ I({
649
656
  6: f("六")
650
657
  };
651
658
  return !n.message.time || (t = window.showTimes) != null && t.some(
652
- (m) => Math.abs(s.diff(m, "minute")) < 10 && m !== n.message.time
653
- ) ? "" : (window.showTimes = [...window.showTimes || [], n.message.time], l.isSame(s, "day") ? s.format("HH:mm:ss") : l.subtract(1, "day").isSame(s, "week") ? f("昨天") + " " + s.format("HH:mm:ss") : l.isSame(s, "week") ? f("本周") + i[s.day()] + " " + s.format("HH:mm:ss") : l.subtract(1, "week").isSame(s, "week") ? f("上周") + i[s.day()] + " " + s.format("HH:mm:ss") : l.isSame(s, "year") ? s.format("MM-DD HH:mm:ss") : s.format("YYYY-MM-DD HH:mm:ss"));
659
+ (m) => Math.abs(a.diff(m, "minute")) < 10 && m !== n.message.time
660
+ ) ? "" : (window.showTimes = [...window.showTimes || [], n.message.time], s.isSame(a, "day") ? a.format("HH:mm:ss") : s.subtract(1, "day").isSame(a, "week") ? f("昨天") + " " + a.format("HH:mm:ss") : s.isSame(a, "week") ? f("本周") + i[a.day()] + " " + a.format("HH:mm:ss") : s.subtract(1, "week").isSame(a, "week") ? f("上周") + i[a.day()] + " " + a.format("HH:mm:ss") : s.isSame(a, "year") ? a.format("MM-DD HH:mm:ss") : a.format("YYYY-MM-DD HH:mm:ss"));
654
661
  });
655
- return (s, l) => e.value ? (h(), g("section", At, [
656
- p(
662
+ return (a, s) => e.value ? (h(), g("section", Xt, [
663
+ u(
657
664
  "span",
658
- Xt,
659
- R(e.value),
665
+ qt,
666
+ x(e.value),
660
667
  1
661
668
  /* TEXT */
662
669
  )
663
670
  ])) : S("v-if", !0);
664
671
  }
665
- }), Kt = /* @__PURE__ */ K(qt, [["__scopeId", "data-v-55c9a119"]]), Te = (o) => (ie("data-v-d36b6eb0"), o = o(), re(), o), Ut = {
672
+ }), Ut = /* @__PURE__ */ K(Kt, [["__scopeId", "data-v-55c9a119"]]), Be = (o) => (re("data-v-a11ddefe"), o = o(), ce(), o), Qt = {
666
673
  key: 0,
667
674
  width: "18",
668
675
  height: "18",
669
676
  class: "scroll-loading-icon",
670
677
  "aria-hidden": "true"
671
- }, Qt = /* @__PURE__ */ Te(() => /* @__PURE__ */ p(
678
+ }, jt = /* @__PURE__ */ Be(() => /* @__PURE__ */ u(
672
679
  "use",
673
680
  { "xlink:href": "#ai-blueking-loading-2" },
674
681
  null,
675
682
  -1
676
683
  /* HOISTED */
677
- )), jt = [
678
- Qt
679
- ], Wt = { class: "ai-operation" }, Gt = { class: "ai-operation-input-wrapper" }, Jt = { class: "ai-cite-tips" }, Ot = { class: "ai-operation-input" }, Zt = /* @__PURE__ */ Te(() => /* @__PURE__ */ p(
684
+ )), Wt = [
685
+ jt
686
+ ], Gt = { class: "ai-operation" }, Jt = { class: "ai-operation-input-wrapper" }, Ot = { class: "ai-cite-tips" }, Nt = { class: "ai-operation-input" }, Zt = /* @__PURE__ */ Be(() => /* @__PURE__ */ u(
680
687
  "i",
681
688
  { class: "ai-blueking-icon ai-blueking-fasong" },
682
689
  null,
683
690
  -1
684
691
  /* HOISTED */
685
- )), Nt = /* @__PURE__ */ I({
692
+ )), Ft = /* @__PURE__ */ X({
686
693
  __name: "render-content",
687
694
  props: {
688
695
  messages: {},
@@ -694,113 +701,113 @@ const rt = /* @__PURE__ */ I({
694
701
  scrollLoading: { type: Boolean },
695
702
  scrollLoadingEnd: { type: Boolean, default: !0 },
696
703
  alert: {},
697
- shortcuts: { default: () => ze }
704
+ shortcuts: { default: () => ve }
698
705
  },
699
706
  emits: ["ai-click", "change-prompt", "send", "choose-prompt", "scroll-load", "stop"],
700
707
  setup(o, { expose: n, emit: e }) {
701
- const s = o, l = e, { enablePopup: i } = he(), t = pe, m = Y(""), { selectedText: a, clearSelection: D } = me(i), { isShow: M } = Me(), k = () => {
702
- Le(() => {
703
- const c = document.querySelector(".ai-blueking-messages");
704
- c.scrollTop = c.scrollHeight;
708
+ const a = o, s = e, { enablePopup: i } = he(), t = pe, m = A(""), { selectedText: l, clearSelection: z } = me(i), { isShow: T } = ze(), y = () => {
709
+ Me(() => {
710
+ const d = document.querySelector(".ai-blueking-messages");
711
+ d.scrollTop = d.scrollHeight;
705
712
  });
706
- }, z = Oe((c) => {
707
- if (s.scrollLoading || s.scrollLoadingEnd)
713
+ }, k = Ne((d) => {
714
+ if (a.scrollLoading || a.scrollLoadingEnd)
708
715
  return;
709
- c.target.scrollTop < 200 && l("scroll-load");
710
- }), B = () => {
716
+ d.target.scrollTop < 200 && s("scroll-load");
717
+ }), P = () => {
711
718
  if (m.value) {
712
- if (s.loading) {
713
- fe({ theme: "warning", message: f("内容正在执行中,请执行完成后再发送") });
719
+ if (a.loading) {
720
+ ye({ theme: "warning", message: f("内容正在执行中,请执行完成后再发送") });
714
721
  return;
715
722
  }
716
- l("send", {
723
+ s("send", {
717
724
  content: m.value,
718
- cite: a.value
719
- }), m.value = "", a.value = "";
725
+ cite: l.value
726
+ }), m.value = "", l.value = "";
720
727
  }
721
- }, C = (c) => {
722
- l("choose-prompt", c);
723
- }, H = (c) => {
724
- l("change-prompt", c);
725
- }, x = () => {
726
- l("stop");
727
- }, X = (c) => {
728
- const b = c.target;
728
+ }, B = (d) => {
729
+ s("choose-prompt", d);
730
+ }, V = (d) => {
731
+ s("change-prompt", d);
732
+ }, H = () => {
733
+ s("stop");
734
+ }, D = (d) => {
735
+ const b = d.target;
729
736
  if (b != null && b.classList.contains("ai-blueking-angle-up")) {
730
- const y = b == null ? void 0 : b.parentElement;
731
- y != null && y.classList.contains("closed") ? y == null || y.classList.remove("closed") : y == null || y.classList.add("closed");
737
+ const w = b == null ? void 0 : b.parentElement;
738
+ w != null && w.classList.contains("closed") ? w == null || w.classList.remove("closed") : w == null || w.classList.add("closed");
732
739
  }
733
- b != null && b.classList.contains("ai-clickable") && l("ai-click", b.dataset.ai);
734
- }, u = () => {
735
- k(), document.addEventListener("click", X);
736
- }, P = () => {
737
- window.showTimes = [], document.removeEventListener("click", X);
738
- }, A = (c) => {
739
- m.value = c;
740
- }, q = (c) => {
741
- const b = c.prompt.replace("{{ SELECTED_TEXT }}", a.value);
742
- if (s.loading) {
743
- fe({ theme: "warning", message: f("内容正在执行中,请执行完成后再发送") });
740
+ b != null && b.classList.contains("ai-clickable") && s("ai-click", b.dataset.ai);
741
+ }, I = () => {
742
+ y(), document.addEventListener("click", D);
743
+ }, c = () => {
744
+ window.showTimes = [], document.removeEventListener("click", D);
745
+ }, M = (d) => {
746
+ m.value = d;
747
+ }, q = (d) => {
748
+ const b = ge(d.prompt, l.value);
749
+ if (a.loading) {
750
+ ye({ theme: "warning", message: f("内容正在执行中,请执行完成后再发送") });
744
751
  return;
745
752
  }
746
- l("send", {
747
- content: c.label,
748
- cite: a.value,
753
+ s("send", {
754
+ content: d.label,
755
+ cite: l.value,
749
756
  prompt: b
750
- }), a.value = "";
757
+ }), l.value = "";
751
758
  };
752
- return we(
753
- () => s.messages,
759
+ return Se(
760
+ () => a.messages,
754
761
  () => {
755
- const c = document.querySelector(".ai-blueking-messages");
756
- (c == null ? void 0 : c.scrollTop) + (c == null ? void 0 : c.clientHeight) + 100 >= (c == null ? void 0 : c.scrollHeight) && k();
762
+ const d = document.querySelector(".ai-blueking-messages");
763
+ (d == null ? void 0 : d.scrollTop) + (d == null ? void 0 : d.clientHeight) + 100 >= (d == null ? void 0 : d.scrollHeight) && y();
757
764
  },
758
765
  {
759
766
  deep: !0
760
767
  }
761
- ), ae(u), le(P), n({
762
- setInputMessage: A
763
- }), (c, b) => (h(), g(
768
+ ), le(I), ie(c), n({
769
+ setInputMessage: M
770
+ }), (d, b) => (h(), g(
764
771
  "section",
765
772
  {
766
- style: N({
767
- background: c.background
773
+ style: Z({
774
+ background: d.background
768
775
  }),
769
776
  class: "ai-content"
770
777
  },
771
778
  [
772
- c.alert ? (h(), W(d(Ye), {
779
+ d.alert ? (h(), W(p(Ye), {
773
780
  key: 0,
774
- title: c.alert,
781
+ title: d.alert,
775
782
  theme: "warning",
776
783
  closable: ""
777
784
  }, null, 8, ["title"])) : S("v-if", !0),
778
- p(
785
+ u(
779
786
  "ul",
780
787
  {
781
788
  class: "ai-messages ai-blueking-messages",
782
789
  onScrollPassive: b[0] || (b[0] = //@ts-ignore
783
- (...y) => d(z) && d(z)(...y))
790
+ (...w) => p(k) && p(k)(...w))
784
791
  },
785
792
  [
786
- c.scrollLoading ? (h(), g("svg", Ut, jt)) : S("v-if", !0),
793
+ d.scrollLoading ? (h(), g("svg", Qt, Wt)) : S("v-if", !0),
787
794
  (h(!0), g(
788
795
  G,
789
796
  null,
790
- ce(c.messages, (y) => (h(), g(
797
+ oe(d.messages, (w) => (h(), g(
791
798
  G,
792
799
  {
793
- key: y.content
800
+ key: w.content
794
801
  },
795
802
  [
796
- V(Kt, {
803
+ E(Ut, {
797
804
  class: "render-message",
798
- message: y
805
+ message: w
799
806
  }, null, 8, ["message"]),
800
- V(Mt, {
807
+ E(Ct, {
801
808
  class: "render-message",
802
- message: y,
803
- "user-photo": c.userPhoto
809
+ message: w,
810
+ "user-photo": d.userPhoto
804
811
  }, null, 8, ["message", "user-photo"])
805
812
  ],
806
813
  64
@@ -813,75 +820,75 @@ const rt = /* @__PURE__ */ I({
813
820
  32
814
821
  /* NEED_HYDRATION */
815
822
  ),
816
- p("section", Wt, [
817
- p(
823
+ u("section", Gt, [
824
+ u(
818
825
  "section",
819
826
  {
820
827
  class: "ai-operation-tools",
821
- onMousedown: b[1] || (b[1] = E(() => {
828
+ onMousedown: b[1] || (b[1] = Y(() => {
822
829
  }, ["prevent"]))
823
830
  },
824
831
  [
825
- V(at),
826
- V(It, {
827
- "is-show": c.loading,
828
- onStop: x
832
+ E(lt),
833
+ E(At, {
834
+ "is-show": d.loading,
835
+ onStop: H
829
836
  }, null, 8, ["is-show"])
830
837
  ],
831
838
  32
832
839
  /* NEED_HYDRATION */
833
840
  ),
834
- p("section", Gt, [
835
- d(a) ? (h(), g(
841
+ u("section", Jt, [
842
+ p(l) ? (h(), g(
836
843
  "div",
837
844
  {
838
845
  key: 0,
839
- class: ee(["ai-cite-container", { "is-back-show": !d(M) }]),
840
- onMousedown: b[2] || (b[2] = E(() => {
846
+ class: ee(["ai-cite-container", { "is-back-show": !p(T) }]),
847
+ onMousedown: b[2] || (b[2] = Y(() => {
841
848
  }, ["prevent"]))
842
849
  },
843
850
  [
844
- V(Ce, {
851
+ E(Pe, {
845
852
  "show-close-icon": !0,
846
- text: d(a),
847
- onClose: d(D)
853
+ text: p(l),
854
+ onClose: p(z)
848
855
  }, null, 8, ["text", "onClose"]),
849
- p(
856
+ u(
850
857
  "span",
851
- Jt,
852
- R(d(f)("想对选中的文本做什么")),
858
+ Ot,
859
+ x(p(f)("想对选中的文本做什么")),
853
860
  1
854
861
  /* TEXT */
855
862
  ),
856
- V(Dt, {
857
- shortcuts: c.shortcuts,
863
+ E(xt, {
864
+ shortcuts: d.shortcuts,
858
865
  onSelect: q
859
866
  }, null, 8, ["shortcuts"])
860
867
  ],
861
868
  34
862
869
  /* CLASS, NEED_HYDRATION */
863
870
  )) : S("v-if", !0),
864
- p("section", Ot, [
865
- V(Ht, {
871
+ u("section", Nt, [
872
+ E(Rt, {
866
873
  value: m.value,
867
- "onUpdate:value": b[3] || (b[3] = (y) => m.value = y),
868
- placeholder: c.placeholder,
869
- prompts: c.prompts,
870
- onChangePrompt: H,
871
- onChoosePrompt: C,
872
- onEnter: B
874
+ "onUpdate:value": b[3] || (b[3] = (w) => m.value = w),
875
+ placeholder: d.placeholder,
876
+ prompts: d.prompts,
877
+ onChangePrompt: V,
878
+ onChoosePrompt: B,
879
+ onEnter: P
873
880
  }, null, 8, ["value", "placeholder", "prompts"]),
874
- Q((h(), W(d(Ie), {
881
+ Q((h(), W(p(Ae), {
875
882
  class: "ai-operation-button",
876
- disabled: c.loading || !m.value,
883
+ disabled: d.loading || !m.value,
877
884
  size: "large",
878
885
  theme: "primary",
879
- onClick: B
886
+ onClick: P
880
887
  }, {
881
888
  default: F(() => [
882
889
  Zt,
883
890
  te(
884
- " " + R(d(f)("发送")),
891
+ " " + x(p(f)("发送")),
885
892
  1
886
893
  /* TEXT */
887
894
  )
@@ -889,9 +896,9 @@ const rt = /* @__PURE__ */ I({
889
896
  _: 1
890
897
  /* STABLE */
891
898
  }, 8, ["disabled"])), [
892
- [d(t), {
893
- content: d(f)("内容正在执行中,请执行完成后再发送"),
894
- disabled: !c.loading
899
+ [p(t), {
900
+ content: p(f)("内容正在执行中,请执行完成后再发送"),
901
+ disabled: !d.loading
895
902
  }]
896
903
  ])
897
904
  ])
@@ -902,7 +909,7 @@ const rt = /* @__PURE__ */ I({
902
909
  /* STYLE */
903
910
  ));
904
911
  }
905
- }), Ft = /* @__PURE__ */ K(Nt, [["__scopeId", "data-v-d36b6eb0"]]), _t = { class: "ai-modal-header-icon" }, $t = /* @__PURE__ */ I({
912
+ }), _t = /* @__PURE__ */ K(Ft, [["__scopeId", "data-v-a11ddefe"]]), $t = { class: "ai-modal-header-icon" }, eo = /* @__PURE__ */ X({
906
913
  __name: "render-modal",
907
914
  props: {
908
915
  headBackground: { default: "linear-gradient(267deg, #2dd1f4 0%, #1482ff 95%)" },
@@ -929,7 +936,7 @@ const rt = /* @__PURE__ */ I({
929
936
  },
930
937
  emits: ["clear", "close", "choose-model"],
931
938
  setup(o, { emit: n }) {
932
- const e = o, s = n, l = pe, i = {
939
+ const e = o, a = n, s = pe, i = {
933
940
  height: window.innerHeight,
934
941
  width: window.innerWidth
935
942
  }, t = {
@@ -937,100 +944,100 @@ const rt = /* @__PURE__ */ I({
937
944
  type: "",
938
945
  clientX: 0,
939
946
  clientY: 0
940
- }, a = Y((() => {
941
- var w, T, U, O;
942
- const r = (_, Be) => _ === void 0 ? Be : _;
947
+ }, l = A((() => {
948
+ var L, R, U, O;
949
+ const r = (_, He) => _ === void 0 ? He : _;
943
950
  return {
944
- top: r((w = e.startPosition) == null ? void 0 : w.top, i.height - e.sizeLimit.height),
945
- bottom: r((T = e.startPosition) == null ? void 0 : T.bottom, 0),
951
+ top: r((L = e.startPosition) == null ? void 0 : L.top, i.height - e.sizeLimit.height),
952
+ bottom: r((R = e.startPosition) == null ? void 0 : R.bottom, 0),
946
953
  left: r((U = e.startPosition) == null ? void 0 : U.left, 0),
947
954
  right: r((O = e.startPosition) == null ? void 0 : O.right, i.width - e.sizeLimit.width)
948
955
  };
949
- })()), D = j(() => a.value.top <= e.positionLimit.top && a.value.bottom <= e.positionLimit.bottom), M = (r) => {
950
- s("choose-model", r);
951
- }, k = () => {
952
- document.querySelectorAll("iframe").forEach((w) => {
953
- w.style.pointerEvents = "none";
956
+ })()), z = j(() => l.value.top <= e.positionLimit.top && l.value.bottom <= e.positionLimit.bottom), T = (r) => {
957
+ a("choose-model", r);
958
+ }, y = () => {
959
+ document.querySelectorAll("iframe").forEach((L) => {
960
+ L.style.pointerEvents = "none";
954
961
  });
955
- }, z = () => {
956
- document.querySelectorAll("iframe").forEach((w) => {
957
- w.style.pointerEvents = "auto";
962
+ }, k = () => {
963
+ document.querySelectorAll("iframe").forEach((L) => {
964
+ L.style.pointerEvents = "auto";
958
965
  });
966
+ }, P = (r) => {
967
+ y(), t.isMove = !0, t.type = "move", t.clientX = r.clientX, t.clientY = r.clientY;
959
968
  }, B = (r) => {
960
- k(), t.isMove = !0, t.type = "move", t.clientX = r.clientX, t.clientY = r.clientY;
961
- }, C = (r) => {
962
- k(), t.isMove = !0, t.type = "rightDrag", t.clientX = r.clientX;
969
+ y(), t.isMove = !0, t.type = "rightDrag", t.clientX = r.clientX;
970
+ }, V = (r) => {
971
+ y(), t.isMove = !0, t.type = "leftDrag", t.clientX = r.clientX;
963
972
  }, H = (r) => {
964
- k(), t.isMove = !0, t.type = "leftDrag", t.clientX = r.clientX;
965
- }, x = (r) => {
966
- k(), t.isMove = !0, t.type = "topDrag", t.clientY = r.clientY;
967
- }, X = (r) => {
968
- k(), t.isMove = !0, t.type = "bottomDrag", t.clientY = r.clientY;
969
- }, u = (r) => {
970
- k(), t.isMove = !0, t.type = "topLeftDrag", t.clientY = r.clientY, t.clientX = r.clientX;
971
- }, P = (r) => {
972
- k(), t.isMove = !0, t.type = "topRightDrag", t.clientY = r.clientY, t.clientX = r.clientX;
973
- }, A = (r) => {
974
- k(), t.isMove = !0, t.type = "bottomLeftDrag", t.clientY = r.clientY, t.clientX = r.clientX;
973
+ y(), t.isMove = !0, t.type = "topDrag", t.clientY = r.clientY;
974
+ }, D = (r) => {
975
+ y(), t.isMove = !0, t.type = "bottomDrag", t.clientY = r.clientY;
976
+ }, I = (r) => {
977
+ y(), t.isMove = !0, t.type = "topLeftDrag", t.clientY = r.clientY, t.clientX = r.clientX;
978
+ }, c = (r) => {
979
+ y(), t.isMove = !0, t.type = "topRightDrag", t.clientY = r.clientY, t.clientX = r.clientX;
980
+ }, M = (r) => {
981
+ y(), t.isMove = !0, t.type = "bottomLeftDrag", t.clientY = r.clientY, t.clientX = r.clientX;
975
982
  }, q = (r) => {
976
- k(), t.isMove = !0, t.type = "bottomRightDrag", t.clientY = r.clientY, t.clientX = r.clientX;
977
- }, c = () => {
978
- t.isMove = !1, z();
979
- }, b = (r, w) => {
980
- ["move", "leftDrag"].includes(t.type) && (a.value.left += r), ["move", "rightDrag"].includes(t.type) && (a.value.right -= r), ["move", "topDrag"].includes(t.type) && (a.value.top += w), ["move", "bottomDrag"].includes(t.type) && (a.value.bottom -= w), ["topLeftDrag"].includes(t.type) && (a.value.left += r, a.value.top += w), ["topRightDrag"].includes(t.type) && (a.value.right -= r, a.value.top += w), ["bottomLeftDrag"].includes(t.type) && (a.value.left += r, a.value.bottom -= w), ["bottomRightDrag"].includes(t.type) && (a.value.right -= r, a.value.bottom -= w);
981
- }, y = (r, w) => {
982
- const { top: T, bottom: U, left: O, right: _ } = a.value;
983
- (i.width - O - _ < e.sizeLimit.width || O < e.positionLimit.left || _ < e.positionLimit.right) && (["move", "leftDrag", "topLeftDrag", "bottomLeftDrag"].includes(t.type) && (a.value.left -= r), ["move", "rightDrag", "topRightDrag", "bottomRightDrag"].includes(t.type) && (a.value.right += r)), (i.height - T - U < e.sizeLimit.height || T < e.positionLimit.top || U < e.positionLimit.bottom) && (["move", "topDrag", "topRightDrag", "topLeftDrag"].includes(t.type) && (a.value.top -= w), ["move", "bottomDrag", "bottomLeftDrag", "bottomRightDrag"].includes(t.type) && (a.value.bottom += w));
983
+ y(), t.isMove = !0, t.type = "bottomRightDrag", t.clientY = r.clientY, t.clientX = r.clientX;
984
+ }, d = () => {
985
+ t.isMove = !1, k();
986
+ }, b = (r, L) => {
987
+ ["move", "leftDrag"].includes(t.type) && (l.value.left += r), ["move", "rightDrag"].includes(t.type) && (l.value.right -= r), ["move", "topDrag"].includes(t.type) && (l.value.top += L), ["move", "bottomDrag"].includes(t.type) && (l.value.bottom -= L), ["topLeftDrag"].includes(t.type) && (l.value.left += r, l.value.top += L), ["topRightDrag"].includes(t.type) && (l.value.right -= r, l.value.top += L), ["bottomLeftDrag"].includes(t.type) && (l.value.left += r, l.value.bottom -= L), ["bottomRightDrag"].includes(t.type) && (l.value.right -= r, l.value.bottom -= L);
988
+ }, w = (r, L) => {
989
+ const { top: R, bottom: U, left: O, right: _ } = l.value;
990
+ (i.width - O - _ < e.sizeLimit.width || O < e.positionLimit.left || _ < e.positionLimit.right) && (["move", "leftDrag", "topLeftDrag", "bottomLeftDrag"].includes(t.type) && (l.value.left -= r), ["move", "rightDrag", "topRightDrag", "bottomRightDrag"].includes(t.type) && (l.value.right += r)), (i.height - R - U < e.sizeLimit.height || R < e.positionLimit.top || U < e.positionLimit.bottom) && (["move", "topDrag", "topRightDrag", "topLeftDrag"].includes(t.type) && (l.value.top -= L), ["move", "bottomDrag", "bottomLeftDrag", "bottomRightDrag"].includes(t.type) && (l.value.bottom += L));
984
991
  }, v = (r) => {
985
992
  if (!t.isMove)
986
993
  return;
987
994
  r.preventDefault();
988
- const w = r.clientX - t.clientX, T = r.clientY - t.clientY;
989
- b(w, T), y(w, T), t.clientX = r.clientX, t.clientY = r.clientY;
990
- }, L = () => {
991
- const r = window.innerWidth - i.width, w = window.innerHeight - i.height;
995
+ const L = r.clientX - t.clientX, R = r.clientY - t.clientY;
996
+ b(L, R), w(L, R), t.clientX = r.clientX, t.clientY = r.clientY;
997
+ }, C = () => {
998
+ const r = window.innerWidth - i.width, L = window.innerHeight - i.height;
992
999
  i.height = window.innerHeight, i.width = window.innerWidth;
993
- const T = (U, O) => {
994
- a.value[U] += O, a.value[U] < 0 && (a.value[U] = 0);
1000
+ const R = (U, O) => {
1001
+ l.value[U] += O, l.value[U] < 0 && (l.value[U] = 0);
995
1002
  };
996
- T(a.value.top > a.value.bottom ? "top" : "bottom", w), T(a.value.left > a.value.right ? "left" : "right", r);
997
- }, oe = () => {
998
- a.value.top = e.positionLimit.top, a.value.bottom = e.positionLimit.bottom;
1003
+ R(l.value.top > l.value.bottom ? "top" : "bottom", L), R(l.value.left > l.value.right ? "left" : "right", r);
1004
+ }, ne = () => {
1005
+ l.value.top = e.positionLimit.top, l.value.bottom = e.positionLimit.bottom;
999
1006
  }, J = () => {
1000
- a.value.top = i.height - e.sizeLimit.height, a.value.bottom = e.positionLimit.bottom;
1007
+ l.value.top = i.height - e.sizeLimit.height, l.value.bottom = e.positionLimit.bottom;
1001
1008
  }, de = () => {
1002
- s("clear");
1003
- }, ge = () => {
1004
- s("close");
1009
+ a("clear");
1010
+ }, fe = () => {
1011
+ a("close");
1005
1012
  };
1006
- return qe(() => {
1007
- window.addEventListener("mousemove", v, !0), window.addEventListener("mouseup", c), window.addEventListener("resize", L);
1008
- }), le(() => {
1009
- window.removeEventListener("mousemove", v, !0), window.removeEventListener("mouseup", c), window.removeEventListener("resize", L);
1010
- }), (r, w) => (h(), g(
1013
+ return Ke(() => {
1014
+ window.addEventListener("mousemove", v, !0), window.addEventListener("mouseup", d), window.addEventListener("resize", C);
1015
+ }), ie(() => {
1016
+ window.removeEventListener("mousemove", v, !0), window.removeEventListener("mouseup", d), window.removeEventListener("resize", C);
1017
+ }), (r, L) => (h(), g(
1011
1018
  "section",
1012
1019
  {
1013
- style: N({
1014
- top: a.value.top + "px",
1015
- bottom: a.value.bottom + "px",
1016
- left: a.value.left + "px",
1017
- right: a.value.right + "px"
1020
+ style: Z({
1021
+ top: l.value.top + "px",
1022
+ bottom: l.value.bottom + "px",
1023
+ left: l.value.left + "px",
1024
+ right: l.value.right + "px"
1018
1025
  }),
1019
1026
  class: "ai-modal"
1020
1027
  },
1021
1028
  [
1022
- p(
1029
+ u(
1023
1030
  "header",
1024
1031
  {
1025
- style: N({
1032
+ style: Z({
1026
1033
  background: r.headBackground
1027
1034
  }),
1028
1035
  class: "ai-modal-header",
1029
- onMousedown: E(B, ["stop"])
1036
+ onMousedown: Y(P, ["stop"])
1030
1037
  },
1031
1038
  [
1032
- p("span", _t, [
1033
- p(
1039
+ u("span", $t, [
1040
+ u(
1034
1041
  "i",
1035
1042
  {
1036
1043
  class: ee(r.logo)
@@ -1040,25 +1047,25 @@ const rt = /* @__PURE__ */ I({
1040
1047
  /* CLASS */
1041
1048
  ),
1042
1049
  te(
1043
- " " + R(r.name || d(f)("小鲸")) + " ",
1050
+ " " + x(r.name || p(f)("小鲸")) + " ",
1044
1051
  1
1045
1052
  /* TEXT */
1046
1053
  ),
1047
- r.models ? (h(), W(d(be), {
1054
+ r.models ? (h(), W(p(ke), {
1048
1055
  key: 0,
1049
1056
  class: "ai-modal-header-models",
1050
1057
  "model-value": r.model,
1051
1058
  size: "small",
1052
- onChange: M
1059
+ onChange: T
1053
1060
  }, {
1054
1061
  default: F(() => [
1055
1062
  (h(!0), g(
1056
1063
  G,
1057
1064
  null,
1058
- ce(r.models, (T) => (h(), W(d(be).Option, {
1059
- key: T.id,
1060
- name: T.name,
1061
- value: T.id
1065
+ oe(r.models, (R) => (h(), W(p(ke).Option, {
1066
+ key: R.id,
1067
+ name: R.name,
1068
+ value: R.id
1062
1069
  }, null, 8, ["name", "value"]))),
1063
1070
  128
1064
1071
  /* KEYED_FRAGMENT */
@@ -1068,8 +1075,8 @@ const rt = /* @__PURE__ */ I({
1068
1075
  /* STABLE */
1069
1076
  }, 8, ["model-value"])) : S("v-if", !0)
1070
1077
  ]),
1071
- p("span", null, [
1072
- D.value ? Q((h(), g(
1078
+ u("span", null, [
1079
+ z.value ? Q((h(), g(
1073
1080
  "i",
1074
1081
  {
1075
1082
  key: 0,
@@ -1080,8 +1087,8 @@ const rt = /* @__PURE__ */ I({
1080
1087
  512
1081
1088
  /* NEED_PATCH */
1082
1089
  )), [
1083
- [d(l), {
1084
- content: d(f)("向下收缩"),
1090
+ [p(s), {
1091
+ content: p(f)("向下收缩"),
1085
1092
  distance: 20
1086
1093
  }]
1087
1094
  ]) : Q((h(), g(
@@ -1089,18 +1096,18 @@ const rt = /* @__PURE__ */ I({
1089
1096
  {
1090
1097
  key: 1,
1091
1098
  class: "ai-header-tool ai-blueking-icon ai-blueking-shangxialashen-2",
1092
- onClick: oe
1099
+ onClick: ne
1093
1100
  },
1094
1101
  null,
1095
1102
  512
1096
1103
  /* NEED_PATCH */
1097
1104
  )), [
1098
- [d(l), {
1099
- content: d(f)("向上扩展"),
1105
+ [p(s), {
1106
+ content: p(f)("向上扩展"),
1100
1107
  distance: 20
1101
1108
  }]
1102
1109
  ]),
1103
- Q(p(
1110
+ Q(u(
1104
1111
  "i",
1105
1112
  {
1106
1113
  class: "ai-header-tool ai-blueking-icon ai-blueking-saoba",
@@ -1110,23 +1117,23 @@ const rt = /* @__PURE__ */ I({
1110
1117
  512
1111
1118
  /* NEED_PATCH */
1112
1119
  ), [
1113
- [d(l), {
1114
- content: d(f)("清空聊天记录"),
1120
+ [p(s), {
1121
+ content: p(f)("清空聊天记录"),
1115
1122
  distance: 20
1116
1123
  }]
1117
1124
  ]),
1118
- Q(p(
1125
+ Q(u(
1119
1126
  "i",
1120
1127
  {
1121
1128
  class: "ai-header-tool ai-blueking-icon ai-blueking-shanchu-2",
1122
- onClick: ge
1129
+ onClick: fe
1123
1130
  },
1124
1131
  null,
1125
1132
  512
1126
1133
  /* NEED_PATCH */
1127
1134
  ), [
1128
- [d(l), {
1129
- content: d(f)("关闭"),
1135
+ [p(s), {
1136
+ content: p(f)("关闭"),
1130
1137
  distance: 20
1131
1138
  }]
1132
1139
  ])
@@ -1135,82 +1142,82 @@ const rt = /* @__PURE__ */ I({
1135
1142
  36
1136
1143
  /* STYLE, NEED_HYDRATION */
1137
1144
  ),
1138
- Ke(r.$slots, "default", {}, void 0, !0),
1139
- p(
1145
+ Ue(r.$slots, "default", {}, void 0, !0),
1146
+ u(
1140
1147
  "span",
1141
1148
  {
1142
1149
  class: "drag-line left",
1143
- onMousedown: E(H, ["stop"])
1150
+ onMousedown: Y(V, ["stop"])
1144
1151
  },
1145
1152
  null,
1146
1153
  32
1147
1154
  /* NEED_HYDRATION */
1148
1155
  ),
1149
- p(
1156
+ u(
1150
1157
  "span",
1151
1158
  {
1152
1159
  class: "drag-line right",
1153
- onMousedown: E(C, ["stop"])
1160
+ onMousedown: Y(B, ["stop"])
1154
1161
  },
1155
1162
  null,
1156
1163
  32
1157
1164
  /* NEED_HYDRATION */
1158
1165
  ),
1159
- p(
1166
+ u(
1160
1167
  "span",
1161
1168
  {
1162
1169
  class: "drag-line top",
1163
- onMousedown: E(x, ["stop"])
1170
+ onMousedown: Y(H, ["stop"])
1164
1171
  },
1165
1172
  null,
1166
1173
  32
1167
1174
  /* NEED_HYDRATION */
1168
1175
  ),
1169
- p(
1176
+ u(
1170
1177
  "span",
1171
1178
  {
1172
1179
  class: "drag-line bottom",
1173
- onMousedown: E(X, ["stop"])
1180
+ onMousedown: Y(D, ["stop"])
1174
1181
  },
1175
1182
  null,
1176
1183
  32
1177
1184
  /* NEED_HYDRATION */
1178
1185
  ),
1179
- p(
1186
+ u(
1180
1187
  "span",
1181
1188
  {
1182
1189
  class: "drag-line top-left-corner",
1183
- onMousedown: E(u, ["stop"])
1190
+ onMousedown: Y(I, ["stop"])
1184
1191
  },
1185
1192
  null,
1186
1193
  32
1187
1194
  /* NEED_HYDRATION */
1188
1195
  ),
1189
- p(
1196
+ u(
1190
1197
  "span",
1191
1198
  {
1192
1199
  class: "drag-line top-right-corner",
1193
- onMousedown: E(P, ["stop"])
1200
+ onMousedown: Y(c, ["stop"])
1194
1201
  },
1195
1202
  null,
1196
1203
  32
1197
1204
  /* NEED_HYDRATION */
1198
1205
  ),
1199
- p(
1206
+ u(
1200
1207
  "span",
1201
1208
  {
1202
1209
  class: "drag-line bottom-left-corner",
1203
- onMousedown: E(A, ["stop"])
1210
+ onMousedown: Y(M, ["stop"])
1204
1211
  },
1205
1212
  null,
1206
1213
  32
1207
1214
  /* NEED_HYDRATION */
1208
1215
  ),
1209
- p(
1216
+ u(
1210
1217
  "span",
1211
1218
  {
1212
1219
  class: "drag-line bottom-right-corner",
1213
- onMousedown: E(q, ["stop"])
1220
+ onMousedown: Y(q, ["stop"])
1214
1221
  },
1215
1222
  null,
1216
1223
  32
@@ -1221,48 +1228,77 @@ const rt = /* @__PURE__ */ I({
1221
1228
  /* STYLE */
1222
1229
  ));
1223
1230
  }
1224
- }), eo = /* @__PURE__ */ K($t, [["__scopeId", "data-v-e67f8e05"]]), to = (o) => (ie("data-v-367a166a"), o = o(), re(), o), oo = /* @__PURE__ */ to(() => /* @__PURE__ */ p(
1231
+ }), to = /* @__PURE__ */ K(eo, [["__scopeId", "data-v-e67f8e05"]]), oo = (o) => (re("data-v-759b0db9"), o = o(), ce(), o), no = { class: "popup-content" }, so = /* @__PURE__ */ oo(() => /* @__PURE__ */ u(
1225
1232
  "i",
1226
1233
  { class: "ai-blueking-icon ai-blueking-ai" },
1227
1234
  null,
1228
1235
  -1
1229
1236
  /* HOISTED */
1230
- )), no = { class: "popup-text" }, so = /* @__PURE__ */ I({
1237
+ )), ao = [
1238
+ so
1239
+ ], lo = { class: "shortcut-buttons" }, io = ["onClick"], ro = { class: "btn-text" }, co = /* @__PURE__ */ X({
1231
1240
  __name: "render-popup",
1232
- emits: ["click"],
1241
+ emits: ["click", "shortcutClick"],
1233
1242
  setup(o, { emit: n }) {
1234
- const { enablePopup: e } = he(), { isIconVisible: s, iconPosition: l } = me(e), i = n, t = () => {
1235
- i("click"), s.value = !1;
1243
+ const { enablePopup: e } = he(), { isIconVisible: a, iconPosition: s, selectedText: i, clearSelection: t } = me(e), m = ve, l = n, z = () => {
1244
+ l("click"), a.value = !1;
1245
+ }, T = (y) => {
1246
+ try {
1247
+ const k = ge(y.prompt, i.value);
1248
+ l("shortcutClick", {
1249
+ cite: i.value,
1250
+ content: y.label,
1251
+ prompt: k
1252
+ }), t(), a.value = !1;
1253
+ } catch (k) {
1254
+ console.error("处理快捷按钮点击事件时出错:", k);
1255
+ }
1236
1256
  };
1237
- return (m, a) => d(s) ? (h(), g(
1257
+ return (y, k) => p(a) ? (h(), g(
1238
1258
  "div",
1239
1259
  {
1240
1260
  key: 0,
1241
- style: N(d(l)),
1261
+ style: Z(p(s)),
1242
1262
  class: "ai-blueking-render-popup",
1243
- onMousedown: a[0] || (a[0] = E(() => {
1263
+ onMousedown: k[0] || (k[0] = Y(() => {
1244
1264
  }, ["prevent"]))
1245
1265
  },
1246
1266
  [
1247
- p("div", {
1248
- class: "popup-content",
1249
- onClick: t
1250
- }, [
1251
- oo,
1252
- p(
1253
- "span",
1254
- no,
1255
- R(d(f)("问小鲸")),
1256
- 1
1257
- /* TEXT */
1258
- )
1267
+ u("div", no, [
1268
+ S(" AI图标按钮 "),
1269
+ u("div", {
1270
+ class: "popup-icon-btn",
1271
+ onClick: z
1272
+ }, ao),
1273
+ S(" 快捷按钮组 "),
1274
+ u("div", lo, [
1275
+ (h(!0), g(
1276
+ G,
1277
+ null,
1278
+ oe(p(m), (P, B) => (h(), g("div", {
1279
+ class: "shortcut-btn",
1280
+ key: B,
1281
+ onClick: (V) => T(P)
1282
+ }, [
1283
+ u(
1284
+ "span",
1285
+ ro,
1286
+ x(P.label),
1287
+ 1
1288
+ /* TEXT */
1289
+ )
1290
+ ], 8, io))),
1291
+ 128
1292
+ /* KEYED_FRAGMENT */
1293
+ ))
1294
+ ])
1259
1295
  ])
1260
1296
  ],
1261
1297
  36
1262
1298
  /* STYLE, NEED_HYDRATION */
1263
1299
  )) : S("v-if", !0);
1264
1300
  }
1265
- }), ao = /* @__PURE__ */ K(so, [["__scopeId", "data-v-367a166a"]]), vo = /* @__PURE__ */ I({
1301
+ }), uo = /* @__PURE__ */ K(co, [["__scopeId", "data-v-759b0db9"]]), wo = /* @__PURE__ */ X({
1266
1302
  __name: "ai-blueking",
1267
1303
  props: {
1268
1304
  messages: {},
@@ -1288,93 +1324,97 @@ const rt = /* @__PURE__ */ I({
1288
1324
  },
1289
1325
  emits: ["send", "clear", "close", "scroll-load", "stop", "ai-click", "change-prompt", "update:model", "choose-prompt", "update:isShow"],
1290
1326
  setup(o, { expose: n, emit: e }) {
1291
- Ue(Se, o.enablePopup);
1292
- const l = e, i = Y(), t = (u) => {
1293
- var P;
1294
- (P = i.value) == null || P.setInputMessage(u);
1327
+ Qe(Ce, o.enablePopup);
1328
+ const s = e, i = A(), t = (c) => {
1329
+ var M;
1330
+ (M = i.value) == null || M.setInputMessage(c);
1295
1331
  }, m = () => {
1296
- l("update:isShow", !0);
1297
- }, a = () => {
1298
- l("clear");
1299
- }, D = () => {
1300
- l("update:isShow", !1), l("close");
1301
- }, M = (u) => {
1302
- l("update:model", u);
1303
- }, k = (u) => {
1304
- l("send", u);
1332
+ s("update:isShow", !0);
1333
+ }, l = () => {
1334
+ s("clear");
1305
1335
  }, z = () => {
1306
- l("stop");
1307
- }, B = () => {
1308
- l("scroll-load");
1309
- }, C = (u) => {
1310
- l("ai-click", u);
1311
- }, H = (u) => {
1312
- l("choose-prompt", u);
1313
- }, x = (u) => {
1314
- l("change-prompt", u);
1336
+ s("update:isShow", !1), s("close");
1337
+ }, T = (c) => {
1338
+ s("update:model", c);
1339
+ }, y = (c) => {
1340
+ s("send", c);
1341
+ }, k = () => {
1342
+ s("stop");
1343
+ }, P = () => {
1344
+ s("scroll-load");
1345
+ }, B = (c) => {
1346
+ s("ai-click", c);
1347
+ }, V = (c) => {
1348
+ s("choose-prompt", c);
1349
+ }, H = (c) => {
1350
+ s("change-prompt", c);
1351
+ }, D = (c) => {
1352
+ s("stop"), s("update:isShow", !0), s("send", c);
1315
1353
  };
1316
1354
  return n({
1317
1355
  setInputMessage: t,
1318
- quickActions: (u, P) => {
1319
- const A = ze.find((y) => y.key === u);
1320
- if (!A)
1356
+ quickActions: (c, M) => {
1357
+ s("stop"), s("update:isShow", !0);
1358
+ const q = ve.find((v) => v.key === c);
1359
+ if (!q)
1321
1360
  return;
1322
- const q = A.prompt, c = A.label, b = q == null ? void 0 : q.replace("{{ SELECTED_TEXT }}", P);
1323
- b && l("send", {
1324
- cite: P,
1361
+ const d = q.prompt, b = q.label, w = ge(d, M);
1362
+ w && s("send", {
1363
+ cite: M,
1325
1364
  // 原始内容,用于引用
1326
- prompt: b,
1365
+ prompt: w,
1327
1366
  // 处理后的完整提示语
1328
- content: c
1367
+ content: b
1329
1368
  });
1330
1369
  }
1331
- }), (u, P) => (h(), g(
1370
+ }), (c, M) => (h(), g(
1332
1371
  G,
1333
1372
  null,
1334
1373
  [
1335
- Q(V(eo, {
1336
- "head-background": u.headBackground,
1337
- logo: u.logo,
1338
- model: u.model,
1339
- models: u.models,
1340
- name: u.name,
1341
- "position-limit": u.positionLimit,
1342
- "size-limit": u.sizeLimit,
1343
- "start-position": u.startPosition,
1344
- onChooseModel: M,
1345
- onClear: a,
1346
- onClose: D
1374
+ Q(E(to, {
1375
+ "head-background": c.headBackground,
1376
+ logo: c.logo,
1377
+ model: c.model,
1378
+ models: c.models,
1379
+ name: c.name,
1380
+ "position-limit": c.positionLimit,
1381
+ "size-limit": c.sizeLimit,
1382
+ "start-position": c.startPosition,
1383
+ onChooseModel: T,
1384
+ onClear: l,
1385
+ onClose: z
1347
1386
  }, {
1348
1387
  default: F(() => [
1349
- V(Ft, {
1388
+ E(_t, {
1350
1389
  ref_key: "contentRef",
1351
1390
  ref: i,
1352
- alert: u.alert,
1353
- background: u.background,
1354
- loading: u.loading,
1355
- messages: u.messages,
1356
- placeholder: u.placeholder,
1357
- prompts: u.prompts,
1358
- "scroll-loading": u.scrollLoading,
1359
- "scroll-loading-end": u.scrollLoadingEnd,
1360
- shortcuts: u.shortcuts,
1361
- "user-photo": u.userPhoto,
1362
- onAiClick: C,
1363
- onChangePrompt: x,
1364
- onChoosePrompt: H,
1365
- onScrollLoad: B,
1366
- onSend: k,
1367
- onStop: z
1391
+ alert: c.alert,
1392
+ background: c.background,
1393
+ loading: c.loading,
1394
+ messages: c.messages,
1395
+ placeholder: c.placeholder,
1396
+ prompts: c.prompts,
1397
+ "scroll-loading": c.scrollLoading,
1398
+ "scroll-loading-end": c.scrollLoadingEnd,
1399
+ shortcuts: c.shortcuts,
1400
+ "user-photo": c.userPhoto,
1401
+ onAiClick: B,
1402
+ onChangePrompt: H,
1403
+ onChoosePrompt: V,
1404
+ onScrollLoad: P,
1405
+ onSend: y,
1406
+ onStop: k
1368
1407
  }, null, 8, ["alert", "background", "loading", "messages", "placeholder", "prompts", "scroll-loading", "scroll-loading-end", "shortcuts", "user-photo"])
1369
1408
  ]),
1370
1409
  _: 1
1371
1410
  /* STABLE */
1372
1411
  }, 8, ["head-background", "logo", "model", "models", "name", "position-limit", "size-limit", "start-position"]), [
1373
- [ke, u.isShow]
1412
+ [Le, c.isShow]
1374
1413
  ]),
1375
- u.enablePopup !== !1 ? (h(), W(ao, {
1414
+ c.enablePopup !== !1 ? (h(), W(uo, {
1376
1415
  key: 0,
1377
- onClick: m
1416
+ onClick: m,
1417
+ onShortcutClick: D
1378
1418
  })) : S("v-if", !0)
1379
1419
  ],
1380
1420
  64
@@ -1388,7 +1428,7 @@ const rt = /* @__PURE__ */ I({
1388
1428
  document.body.insertAdjacentHTML("afterbegin", o);
1389
1429
  });
1390
1430
  })();
1391
- const lo = (o) => {
1431
+ const po = (o) => {
1392
1432
  let n = `<section class="knowledge-tips">
1393
1433
  <i class="ai-blueking-icon ai-blueking-angle-up"></i>
1394
1434
  <span class="knowledge-summary">
@@ -1397,36 +1437,36 @@ const lo = (o) => {
1397
1437
  </span>
1398
1438
  `;
1399
1439
  return o.forEach((e) => {
1400
- const { file_path: s, path: l } = e.metadata, i = s.split("/").pop();
1401
- n += `<a href="${l}" target="_blank" class="knowledge-link">
1440
+ const { file_path: a, path: s } = e.metadata, i = a.split("/").pop();
1441
+ n += `<a href="${s}" target="_blank" class="knowledge-link">
1402
1442
  ${i}
1403
1443
  <i class="ai-blueking-icon ai-blueking-cc-jump-link"></i>
1404
1444
  </a>
1405
1445
  `;
1406
1446
  }), n += "</section>", n;
1407
1447
  };
1408
- class fo {
1409
- constructor(n, e, s, l, i) {
1410
- Z(this, "controllerMap");
1411
- Z(this, "handleEnd");
1412
- Z(this, "handleError");
1413
- Z(this, "handleReceiveMessage");
1414
- Z(this, "handleStart");
1415
- Z(this, "url");
1416
- this.url = n, this.handleStart = e, this.handleReceiveMessage = s, this.handleEnd = l, this.handleError = i, this.controllerMap = {};
1448
+ class Lo {
1449
+ constructor(n, e, a, s, i) {
1450
+ N(this, "controllerMap");
1451
+ N(this, "handleEnd");
1452
+ N(this, "handleError");
1453
+ N(this, "handleReceiveMessage");
1454
+ N(this, "handleStart");
1455
+ N(this, "url");
1456
+ this.url = n, this.handleStart = e, this.handleReceiveMessage = a, this.handleEnd = s, this.handleError = i, this.controllerMap = {};
1417
1457
  }
1418
1458
  stop(n) {
1419
- var e, s;
1420
- return (s = (e = this.controllerMap[n]) == null ? void 0 : e.abort) == null || s.call(e), this.handleEnd(n);
1459
+ var e, a;
1460
+ return (a = (e = this.controllerMap[n]) == null ? void 0 : e.abort) == null || a.call(e), this.handleEnd(n);
1421
1461
  }
1422
- async stream(n, e, s) {
1423
- const l = new AbortController();
1424
- this.controllerMap[e] = l, fetch(this.url, {
1462
+ async stream(n, e, a) {
1463
+ const s = new AbortController();
1464
+ this.controllerMap[e] = s, fetch(this.url, {
1425
1465
  method: "post",
1426
- signal: l.signal,
1466
+ signal: s.signal,
1427
1467
  headers: {
1428
1468
  "Content-Type": "application/json",
1429
- ...s
1469
+ ...a
1430
1470
  },
1431
1471
  mode: "cors",
1432
1472
  credentials: "include",
@@ -1436,44 +1476,44 @@ class fo {
1436
1476
  let m = "";
1437
1477
  for (; ; )
1438
1478
  try {
1439
- const { value: a, done: D } = await t.read();
1479
+ const { value: l, done: z } = await t.read();
1440
1480
  if (!i.ok) {
1441
- this.handleError(a || i.statusText, i.status, e);
1481
+ this.handleError(l || i.statusText, i.status, e);
1442
1482
  break;
1443
1483
  }
1444
- if (D) {
1484
+ if (z) {
1445
1485
  this.handleEnd(e);
1446
1486
  break;
1447
1487
  }
1448
- m += a, m.toString().split(`
1449
- `).forEach((k) => {
1450
- const z = k.replace("data:", "").trim();
1451
- if (Je(z)) {
1452
- const { event: B, content: C, cover: H, documents: x, result: X, code: u, message: P } = JSON.parse(z);
1453
- if (X === !1 || i.status !== 200) {
1454
- this.handleError(P, u, e);
1488
+ m += l, m.toString().split(`
1489
+ `).forEach((y) => {
1490
+ const k = y.replace("data:", "").trim();
1491
+ if (Oe(k)) {
1492
+ const { event: P, content: B, cover: V, documents: H, result: D, code: I, message: c } = JSON.parse(k);
1493
+ if (D === !1 || i.status !== 200) {
1494
+ this.handleError(c, I, e);
1455
1495
  return;
1456
1496
  }
1457
- switch (B) {
1497
+ switch (P) {
1458
1498
  case "text":
1459
- this.handleReceiveMessage(C, e);
1499
+ this.handleReceiveMessage(B, e);
1460
1500
  break;
1461
1501
  case "reference_doc":
1462
- const A = lo(x);
1463
- this.handleReceiveMessage(A, e);
1502
+ const M = po(H);
1503
+ this.handleReceiveMessage(M, e);
1464
1504
  break;
1465
1505
  case "done":
1466
- this.handleEnd(e, H ? C : "");
1506
+ this.handleEnd(e, V ? B : "");
1467
1507
  break;
1468
1508
  case "error":
1469
- this.handleError(P, u, e);
1509
+ this.handleError(c, I, e);
1470
1510
  break;
1471
1511
  }
1472
1512
  } else
1473
- m = k;
1513
+ m = y;
1474
1514
  });
1475
- } catch (a) {
1476
- (a == null ? void 0 : a.code) !== 20 && this.handleError(a.message, a.code, e);
1515
+ } catch (l) {
1516
+ (l == null ? void 0 : l.code) !== 20 && this.handleError(l.message, l.code, e);
1477
1517
  break;
1478
1518
  }
1479
1519
  }).catch((i) => {
@@ -1481,12 +1521,12 @@ class fo {
1481
1521
  }), await this.handleStart(e);
1482
1522
  }
1483
1523
  }
1484
- Ae({
1524
+ Xe({
1485
1525
  prefix: "bk"
1486
1526
  });
1487
1527
  export {
1488
- fo as ChatHelper,
1489
- ne as MessageStatus,
1490
- Pe as RoleType,
1491
- vo as default
1528
+ Lo as ChatHelper,
1529
+ se as MessageStatus,
1530
+ Te as RoleType,
1531
+ wo as default
1492
1532
  };