@blueking/ai-blueking 0.4.2 → 0.4.4-beta.1

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,21 +1,46 @@
1
- var Re = Object.defineProperty;
2
- var Ae = (o, l, e) => l in o ? Re(o, l, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[l] = e;
3
- var X = (o, l, e) => (Ae(o, typeof l != "symbol" ? l + "" : l, e), e);
4
- import { Popover as De, Input as ke, Exception as Ie, clickoutside as Ye, bkTooltips as me, Tag as Xe, Alert as ye, Button as qe, Message as we, Select as Me, provideGlobalConfig as Fe } from "bkui-vue";
5
- import { inject as Ue, ref as Y, onMounted as ae, onBeforeUnmount as ce, defineComponent as F, withDirectives as j, openBlock as p, createElementBlock as f, createElementVNode as h, toDisplayString as A, unref as u, createCommentVNode as P, vShow as Se, createTextVNode as te, pushScopeId as re, popScopeId as de, computed as Q, normalizeStyle as Z, normalizeClass as _, createVNode as I, Fragment as U, watch as xe, createBlock as K, withCtx as $, renderList as oe, nextTick as Ce, mergeProps as ze, normalizeProps as Ke, withModifiers as q, onBeforeMount as We, renderSlot as je, provide as Qe } from "vue";
1
+ var Ye = Object.defineProperty;
2
+ var we = Object.getOwnPropertySymbols;
3
+ var Xe = Object.prototype.hasOwnProperty, qe = Object.prototype.propertyIsEnumerable;
4
+ var he = (o, n, e) => n in o ? Ye(o, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[n] = e, Me = (o, n) => {
5
+ for (var e in n || (n = {}))
6
+ Xe.call(n, e) && he(o, e, n[e]);
7
+ if (we)
8
+ for (var e of we(n))
9
+ qe.call(n, e) && he(o, e, n[e]);
10
+ return o;
11
+ };
12
+ var X = (o, n, e) => (he(o, typeof n != "symbol" ? n + "" : n, e), e);
13
+ var pe = (o, n, e) => new Promise((s, l) => {
14
+ var i = (a) => {
15
+ try {
16
+ m(e.next(a));
17
+ } catch (M) {
18
+ l(M);
19
+ }
20
+ }, t = (a) => {
21
+ try {
22
+ m(e.throw(a));
23
+ } catch (M) {
24
+ l(M);
25
+ }
26
+ }, m = (a) => a.done ? s(a.value) : Promise.resolve(a.value).then(i, t);
27
+ m((e = e.apply(o, n)).next());
28
+ });
29
+ import { Popover as Fe, Input as ze, Exception as Ue, clickoutside as Ke, bkTooltips as ve, Tag as We, Alert as Le, Button as je, Message as Se, Select as xe, provideGlobalConfig as Qe } from "bkui-vue";
30
+ import { inject as Ge, ref as Y, onMounted as ae, onBeforeUnmount as ce, defineComponent as F, withDirectives as j, openBlock as p, createElementBlock as f, createElementVNode as h, toDisplayString as A, unref as u, createCommentVNode as P, vShow as Be, createTextVNode as te, pushScopeId as re, popScopeId as de, computed as Q, normalizeStyle as Z, normalizeClass as _, createVNode as I, Fragment as U, watch as Pe, createBlock as K, withCtx as $, renderList as oe, nextTick as Te, mergeProps as Ce, normalizeProps as Oe, withModifiers as q, onBeforeMount as Je, renderSlot as Ne, provide as Ze } from "vue";
6
31
  import se from "dayjs";
7
- import Le from "highlight.js";
8
- import Ge from "markdown-it";
9
- import Oe from "markdown-it-code-copy";
10
- import { Close as Je } from "bkui-vue/lib/icon";
11
- const He = "enablePopup";
12
- function ge() {
32
+ import He from "highlight.js";
33
+ import _e from "markdown-it";
34
+ import $e from "markdown-it-code-copy";
35
+ import { Close as et } from "bkui-vue/lib/icon";
36
+ const Ve = "enablePopup";
37
+ function fe() {
13
38
  return {
14
- enablePopup: Ue(He, !0)
39
+ enablePopup: Ge(Ve, !0)
15
40
  };
16
41
  }
17
- function Be() {
18
- const o = Y(!1), l = () => {
42
+ function Ee() {
43
+ const o = Y(!1), n = () => {
19
44
  const i = document.querySelector(".ai-blueking-messages");
20
45
  i.scrollTop = i.scrollHeight;
21
46
  }, e = (i) => {
@@ -24,138 +49,138 @@ function Be() {
24
49
  }, s = () => {
25
50
  const i = document.querySelector(".ai-blueking-messages");
26
51
  i == null || i.addEventListener("scroll", e, { passive: !0 });
27
- }, n = () => {
52
+ }, l = () => {
28
53
  const i = document.querySelector(".ai-blueking-messages");
29
54
  i == null || i.removeEventListener("scroll", e);
30
55
  };
31
- return ae(s), ce(n), {
56
+ return ae(s), ce(l), {
32
57
  isShow: o,
33
- scrollToBottom: l
58
+ scrollToBottom: n
34
59
  };
35
60
  }
36
- const ee = Y(""), he = Y(!1), pe = {
61
+ const ee = Y(""), me = Y(!1), ge = {
37
62
  width: 80,
38
63
  height: 34,
39
64
  offset: 15,
40
65
  debounceTime: 300
41
66
  };
42
- function ve(o) {
43
- const l = Y(!1), e = Y({ top: "0px", left: "0px" });
44
- let s, n = null;
67
+ function be(o) {
68
+ const n = Y(!1), e = Y({ top: "0px", left: "0px" });
69
+ let s, l = null;
45
70
  const i = Y(null);
46
- let t = !1, g = null;
47
- const c = (m) => {
48
- g = { x: m.clientX, y: m.clientY };
49
- }, z = (m) => {
50
- n = m, g && (t = Math.sqrt(
51
- Math.pow(m.clientX - g.x, 2) + Math.pow(m.clientY - g.y, 2)
52
- ) > 5), g = null;
53
- }, E = (m, S) => {
54
- const H = window.innerWidth, { width: r, height: k, offset: a } = pe;
55
- let v = m + window.scrollX - r / 2;
56
- v = Math.max(a, Math.min(v, H - r - a));
57
- let w = S + window.scrollY - k - a;
58
- return S <= k + a && (w = S + window.scrollY + a), {
71
+ let t = !1, m = null;
72
+ const a = (g) => {
73
+ m = { x: g.clientX, y: g.clientY };
74
+ }, M = (g) => {
75
+ l = g, m && (t = Math.sqrt(
76
+ Math.pow(g.clientX - m.x, 2) + Math.pow(g.clientY - m.y, 2)
77
+ ) > 5), m = null;
78
+ }, E = (g, S) => {
79
+ const H = window.innerWidth, { width: r, height: k, offset: c } = ge;
80
+ let v = g + window.scrollX - r / 2;
81
+ v = Math.max(c, Math.min(v, H - r - c));
82
+ let w = S + window.scrollY - k - c;
83
+ return S <= k + c && (w = S + window.scrollY + c), {
59
84
  top: `${w}px`,
60
85
  left: `${v}px`
61
86
  };
62
- }, M = (m) => {
63
- const S = window.innerWidth, { width: H, height: r, offset: k } = pe;
64
- let a = m.left + window.scrollX + m.width / 2 - H / 2;
65
- a = Math.max(k, Math.min(a, S - H - k));
66
- let v = m.top + window.scrollY - r - k;
67
- return m.top <= r + k && (v = m.bottom + window.scrollY + k), {
87
+ }, z = (g) => {
88
+ const S = window.innerWidth, { width: H, height: r, offset: k } = ge;
89
+ let c = g.left + window.scrollX + g.width / 2 - H / 2;
90
+ c = Math.max(k, Math.min(c, S - H - k));
91
+ let v = g.top + window.scrollY - r - k;
92
+ return g.top <= r + k && (v = g.bottom + window.scrollY + k), {
68
93
  top: `${v}px`,
69
- left: `${a}px`
94
+ left: `${c}px`
70
95
  };
71
96
  }, T = () => {
72
97
  clearTimeout(s), s = setTimeout(() => {
73
98
  var r;
74
- const m = window.getSelection();
75
- if (!(m != null && m.toString().trim())) {
99
+ const g = window.getSelection();
100
+ if (!(g != null && g.toString().trim())) {
76
101
  L();
77
102
  return;
78
103
  }
79
- const S = m.getRangeAt(0);
104
+ const S = g.getRangeAt(0);
80
105
  if ((r = S.commonAncestorContainer.parentElement) != null && r.closest(".ai-modal")) {
81
106
  L();
82
107
  return;
83
108
  }
84
- he.value = !1, ee.value = m.toString().trim();
109
+ me.value = !1, ee.value = g.toString().trim();
85
110
  const H = document.activeElement;
86
111
  if ((H == null ? void 0 : H.tagName) === "TEXTAREA") {
87
- if (!n) {
112
+ if (!l) {
88
113
  L();
89
114
  return;
90
115
  }
91
- const { clientX: k, clientY: a } = n;
92
- e.value = E(k, a), l.value = !0, n = null;
116
+ const { clientX: k, clientY: c } = l;
117
+ e.value = E(k, c), n.value = !0, l = null;
93
118
  } else {
94
119
  const k = S.getBoundingClientRect();
95
120
  if (!k.width || !k.height) {
96
121
  L();
97
122
  return;
98
123
  }
99
- e.value = M(k), l.value = !0;
124
+ e.value = z(k), n.value = !0;
100
125
  }
101
- }, pe.debounceTime);
126
+ }, ge.debounceTime);
102
127
  }, L = () => {
103
- l.value = !1, he.value || (ee.value = "");
104
- }, C = (m) => {
105
- var k, a;
106
- const S = m.target, H = (k = S.classList) == null ? void 0 : k.contains("ai-blueking-tag-text"), r = (a = i.value) == null ? void 0 : a.contains(S);
128
+ n.value = !1, me.value || (ee.value = "");
129
+ }, C = (g) => {
130
+ var k, c;
131
+ const S = g.target, H = (k = S.classList) == null ? void 0 : k.contains("ai-blueking-tag-text"), r = (c = i.value) == null ? void 0 : c.contains(S);
107
132
  if (!(H || !t)) {
108
133
  if (t) {
109
- m.preventDefault(), m.stopPropagation(), t = !1;
134
+ g.preventDefault(), g.stopPropagation(), t = !1;
110
135
  return;
111
136
  }
112
137
  r || (L(), V());
113
138
  }
114
139
  }, V = () => {
115
- const m = window.getSelection();
116
- m && m.removeAllRanges(), ee.value = "";
117
- }, D = (m) => {
118
- ee.value = m;
140
+ const g = window.getSelection();
141
+ g && g.removeAllRanges(), ee.value = "";
142
+ }, D = (g) => {
143
+ ee.value = g;
119
144
  };
120
145
  return ae(() => {
121
- o && (document.addEventListener("selectionchange", T), document.addEventListener("mousedown", c), document.addEventListener("mouseup", z), document.addEventListener("click", C, !0));
146
+ o && (document.addEventListener("selectionchange", T), document.addEventListener("mousedown", a), document.addEventListener("mouseup", M), document.addEventListener("click", C, !0));
122
147
  }), ce(() => {
123
- o && (document.removeEventListener("selectionchange", T), document.removeEventListener("mousedown", c), document.removeEventListener("mouseup", z), document.removeEventListener("click", C, !0)), clearTimeout(s);
148
+ o && (document.removeEventListener("selectionchange", T), document.removeEventListener("mousedown", a), document.removeEventListener("mouseup", M), document.removeEventListener("click", C, !0)), clearTimeout(s);
124
149
  }), {
125
- isIconVisible: l,
150
+ isIconVisible: n,
126
151
  iconPosition: e,
127
152
  selectedText: ee,
128
153
  hideIcon: L,
129
154
  clearSelection: V,
130
155
  setSelection: D,
131
- lockSelectedText: he,
156
+ lockSelectedText: me,
132
157
  popupRef: i
133
158
  };
134
159
  }
135
- const Ne = (o) => {
136
- const l = document.cookie.match(new RegExp(`(^| )${o}=([^;]*)(;|$)`));
137
- return l ? l[2] : "";
138
- }, Ze = (o) => {
160
+ const tt = (o) => {
161
+ const n = document.cookie.match(new RegExp(`(^| )${o}=([^;]*)(;|$)`));
162
+ return n ? n[2] : "";
163
+ }, ot = (o) => {
139
164
  try {
140
165
  return JSON.parse(o), !0;
141
- } catch {
166
+ } catch (n) {
142
167
  return !1;
143
168
  }
144
- }, _e = (o, l = 200) => {
169
+ }, nt = (o, n = 200) => {
145
170
  let e = !0;
146
171
  return function(s) {
147
172
  if (!e)
148
173
  return !1;
149
174
  e = !1, setTimeout(() => {
150
175
  o(s), e = !0;
151
- }, l);
176
+ }, n);
152
177
  };
153
- }, fe = (o, l) => o.replace(/\{\{\s*SELECTED_TEXT\s*\}\}/g, l || "");
154
- function $e(o) {
155
- const l = Math.floor(o / 36e5), e = Math.floor(o % 36e5 / 6e4), s = Math.floor(o % 6e4 / 1e3), n = o % 1e3, i = [];
156
- return l > 0 && i.push(`${l}h`), e > 0 && i.push(`${e}min`), s > 0 && i.push(`${s}s`), n > 0 && i.push(`${n.toFixed(2)}ms`), i.join(" ");
178
+ }, ke = (o, n) => o.replace(/\{\{\s*SELECTED_TEXT\s*\}\}/g, n || "");
179
+ function lt(o) {
180
+ const n = Math.floor(o / 36e5), e = Math.floor(o % 36e5 / 6e4), s = Math.floor(o % 6e4 / 1e3), l = o % 1e3, i = [];
181
+ return n > 0 && i.push(`${n}h`), e > 0 && i.push(`${e}min`), s > 0 && i.push(`${s}s`), l > 0 && i.push(`${l.toFixed(2)}ms`), i.join(" ");
157
182
  }
158
- const et = Ne("blueking_language") || "zh-cn", tt = {
183
+ const st = tt("blueking_language") || "zh-cn", it = {
159
184
  小鲸: "BK GPT",
160
185
  向下收缩: "shrink down",
161
186
  向上扩展: "expand upward",
@@ -192,14 +217,14 @@ const et = Ne("blueking_language") || "zh-cn", tt = {
192
217
  翻译: "translate",
193
218
  解释: "explanation",
194
219
  "AI小鲸正在回复,请结束后再清空": "AI BK GPT is executing, please clear after completion"
195
- }, ot = {
220
+ }, at = {
196
221
  translateShortcut: `你是受过语言翻译训练的高技能人工智能。我想让你把用三引号分隔的文本翻译(中文翻译成英文,其他语言翻译成中文),确保译文口语化、地道。
197
222
  只给我输出结果,其他内容一概不要。请勿用引号将回复包起来
198
223
  '''
199
224
  {{ SELECTED_TEXT }}
200
225
  '''`,
201
226
  explanationShortcut: "您是一位专业的解释者。请详细解释“{{ SELECTED_TEXT }}”。您的解释应包括 1) 基本含义和概念解释;2) 实际应用或使用案例;3) 如果是技术术语,请提供相关技术背景;4) 适当时提供具体示例,以帮助理解。使用清晰易懂的语言,确保非专业人员也能理解。如果该词/短语有多种含义,请列出主要定义。在确保信息完整性和准确性的同时,请保持答复简洁明了。"
202
- }, y = (o) => et !== "en" ? ot[o] || o : tt[o] || o, ie = [
227
+ }, y = (o) => st !== "en" ? at[o] || o : it[o] || o, ie = [
203
228
  {
204
229
  label: y("翻译"),
205
230
  prompt: y("translateShortcut"),
@@ -210,7 +235,7 @@ const et = Ne("blueking_language") || "zh-cn", tt = {
210
235
  prompt: y("explanationShortcut"),
211
236
  key: "explanation"
212
237
  }
213
- ], nt = { class: "ai-cite" }, lt = { class: "ai-cite-text" }, st = { class: "ai-cite-tips" }, it = /* @__PURE__ */ F({
238
+ ], ct = { class: "ai-cite" }, rt = { class: "ai-cite-text" }, dt = { class: "ai-cite-tips" }, ut = /* @__PURE__ */ F({
214
239
  __name: "ai-cite",
215
240
  props: {
216
241
  text: {},
@@ -218,58 +243,58 @@ const et = Ne("blueking_language") || "zh-cn", tt = {
218
243
  },
219
244
  emits: ["close"],
220
245
  setup(o) {
221
- return (l, e) => j((p(), f(
246
+ return (n, e) => j((p(), f(
222
247
  "section",
223
- nt,
248
+ ct,
224
249
  [
225
250
  h(
226
251
  "span",
227
- lt,
228
- A(l.text),
252
+ rt,
253
+ A(n.text),
229
254
  1
230
255
  /* TEXT */
231
256
  ),
232
257
  h(
233
258
  "span",
234
- st,
259
+ dt,
235
260
  A(u(y)("您选择的文本内容")),
236
261
  1
237
262
  /* TEXT */
238
263
  ),
239
- l.showCloseIcon ? (p(), f("i", {
264
+ n.showCloseIcon ? (p(), f("i", {
240
265
  key: 0,
241
266
  class: "ai-blueking-icon ai-blueking-close-circle-fill",
242
- onClick: e[0] || (e[0] = (s) => l.$emit("close"))
267
+ onClick: e[0] || (e[0] = (s) => n.$emit("close"))
243
268
  })) : P("v-if", !0)
244
269
  ],
245
270
  512
246
271
  /* NEED_PATCH */
247
272
  )), [
248
- [Se, l.text]
273
+ [Be, n.text]
249
274
  ]);
250
275
  }
251
- }), W = (o, l) => {
276
+ }), W = (o, n) => {
252
277
  const e = o.__vccOpts || o;
253
- for (const [s, n] of l)
254
- e[s] = n;
278
+ for (const [s, l] of n)
279
+ e[s] = l;
255
280
  return e;
256
- }, Pe = /* @__PURE__ */ W(it, [["__scopeId", "data-v-3fd96961"]]), at = (o) => (re("data-v-a8d839da"), o = o(), de(), o), ct = /* @__PURE__ */ at(() => /* @__PURE__ */ h(
281
+ }, Re = /* @__PURE__ */ W(ut, [["__scopeId", "data-v-3fd96961"]]), ht = (o) => (re("data-v-a8d839da"), o = o(), de(), o), pt = /* @__PURE__ */ ht(() => /* @__PURE__ */ h(
257
282
  "i",
258
283
  { class: "ai-blueking-icon ai-blueking-xiangxia-2" },
259
284
  null,
260
285
  -1
261
286
  /* HOISTED */
262
- )), rt = /* @__PURE__ */ F({
287
+ )), mt = /* @__PURE__ */ F({
263
288
  __name: "render-back",
264
289
  setup(o) {
265
- const { isShow: l, scrollToBottom: e } = Be();
266
- return (s, n) => u(l) ? (p(), f("span", {
290
+ const { isShow: n, scrollToBottom: e } = Ee();
291
+ return (s, l) => u(n) ? (p(), f("span", {
267
292
  key: 0,
268
293
  class: "ai-blueking-render-back",
269
- onClick: n[0] || (n[0] = //@ts-ignore
294
+ onClick: l[0] || (l[0] = //@ts-ignore
270
295
  (...i) => u(e) && u(e)(...i))
271
296
  }, [
272
- ct,
297
+ pt,
273
298
  te(
274
299
  " " + A(u(y)("返回最新")),
275
300
  1
@@ -277,33 +302,33 @@ const et = Ne("blueking_language") || "zh-cn", tt = {
277
302
  )
278
303
  ])) : P("v-if", !0);
279
304
  }
280
- }), dt = /* @__PURE__ */ W(rt, [["__scopeId", "data-v-a8d839da"]]), ut = "data:image/png;base64,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", ht = (o) => {
281
- var l = o.renderer.rules.link_open || function(e, s, n, i, t) {
282
- return t.renderToken(e, s, n);
305
+ }), gt = /* @__PURE__ */ W(mt, [["__scopeId", "data-v-a8d839da"]]), vt = "data:image/png;base64,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", ft = (o) => {
306
+ var n = o.renderer.rules.link_open || function(e, s, l, i, t) {
307
+ return t.renderToken(e, s, l);
283
308
  };
284
- o.renderer.rules.link_open = function(e, s, n, i, t) {
285
- return e[s].attrSet("target", "_blank"), l(e, s, n, i, t);
309
+ o.renderer.rules.link_open = function(e, s, l, i, t) {
310
+ return e[s].attrSet("target", "_blank"), n(e, s, l, i, t);
286
311
  };
287
312
  };
288
- var Te = /* @__PURE__ */ ((o) => (o.Assistant = "assistant", o.Cite = "cite", o.Ignore = "ignore", o.System = "system", o.User = "user", o))(Te || {}), le = /* @__PURE__ */ ((o) => (o.Error = "error", o.Loading = "loading", o.Success = "success", o))(le || {});
289
- const pt = /* @__PURE__ */ F({
313
+ var Ae = /* @__PURE__ */ ((o) => (o.Assistant = "assistant", o.Cite = "cite", o.Ignore = "ignore", o.System = "system", o.User = "user", o))(Ae || {}), le = /* @__PURE__ */ ((o) => (o.Error = "error", o.Loading = "loading", o.Success = "success", o))(le || {});
314
+ const bt = /* @__PURE__ */ F({
290
315
  __name: "ai-avatar",
291
316
  props: {
292
317
  size: { default: 36 }
293
318
  },
294
319
  setup(o) {
295
- const l = o, e = Q(() => ({
296
- minWidth: `${l.size}px`,
297
- maxWidth: `${l.size}px`,
298
- minHeight: `${l.size}px`,
299
- maxHeight: `${l.size}px`,
300
- padding: `${l.size * 0.208}px ${l.size * 0.222}px ${l.size * 0.194}px ${l.size * 0.18}px`
320
+ const n = o, e = Q(() => ({
321
+ minWidth: `${n.size}px`,
322
+ maxWidth: `${n.size}px`,
323
+ minHeight: `${n.size}px`,
324
+ maxHeight: `${n.size}px`,
325
+ padding: `${n.size * 0.208}px ${n.size * 0.222}px ${n.size * 0.194}px ${n.size * 0.18}px`
301
326
  // 保持原比例
302
327
  })), s = Q(() => ({
303
- fontSize: `${l.size * 0.611}px`
328
+ fontSize: `${n.size * 0.611}px`
304
329
  // 保持原比例 22/36
305
330
  }));
306
- return (n, i) => (p(), f(
331
+ return (l, i) => (p(), f(
307
332
  "span",
308
333
  {
309
334
  style: Z(e.value),
@@ -325,95 +350,95 @@ const pt = /* @__PURE__ */ F({
325
350
  /* STYLE */
326
351
  ));
327
352
  }
328
- }), mt = /* @__PURE__ */ W(pt, [["__scopeId", "data-v-c3781e8b"]]), gt = {
353
+ }), kt = /* @__PURE__ */ W(bt, [["__scopeId", "data-v-c3781e8b"]]), yt = {
329
354
  key: 0,
330
355
  class: "ai-cite-container"
331
- }, vt = { class: "message-content-container" }, ft = { class: "message-content user" }, bt = {
356
+ }, wt = { class: "message-content-container" }, Mt = { class: "message-content user" }, zt = {
332
357
  key: 0,
333
358
  class: "time-message user"
334
- }, kt = ["innerHTML"], yt = { class: "message-photo user" }, wt = ["src"], Mt = { class: "message-content ai" }, zt = {
359
+ }, Lt = ["innerHTML"], St = { class: "message-photo user" }, xt = ["src"], Ct = { class: "message-content ai" }, Ht = {
335
360
  key: 0,
336
361
  class: "time-message ai"
337
- }, Lt = {
362
+ }, Bt = {
338
363
  key: 2,
339
364
  width: "16",
340
365
  height: "16",
341
366
  class: "loading-message",
342
367
  "aria-hidden": "true"
343
- }, St = /* @__PURE__ */ h(
368
+ }, Pt = /* @__PURE__ */ h(
344
369
  "use",
345
370
  { "xlink:href": "#ai-blueking-quanquan" },
346
371
  null,
347
372
  -1
348
373
  /* HOISTED */
349
- ), xt = [
350
- St
351
- ], Ct = {
374
+ ), Tt = [
375
+ Pt
376
+ ], Vt = {
352
377
  key: 3,
353
378
  class: "message-wrap"
354
- }, Ht = ["innerHTML"], Bt = /* @__PURE__ */ F({
379
+ }, Et = ["innerHTML"], Rt = /* @__PURE__ */ F({
355
380
  __name: "render-message",
356
381
  props: {
357
382
  message: {},
358
- userPhoto: { default: ut }
383
+ userPhoto: { default: vt }
359
384
  },
360
385
  setup(o) {
361
- const l = new Ge({
386
+ const n = new _e({
362
387
  html: !0,
363
- highlight: function(t, g) {
364
- if (g && Le.getLanguage(g))
388
+ highlight: function(t, m) {
389
+ if (m && He.getLanguage(m))
365
390
  try {
366
- return Le.highlight(t, { language: g }).value;
367
- } catch {
391
+ return He.highlight(t, { language: m }).value;
392
+ } catch (a) {
368
393
  }
369
394
  return "";
370
395
  }
371
- }).use(Oe, {
396
+ }).use($e, {
372
397
  iconClass: "ai-blueking-icon ai-blueking-copy",
373
398
  buttonClass: "ai-blueking-copy-button"
374
- }).use(ht), e = o, s = Q(() => {
375
- var g;
399
+ }).use(ft), e = o, s = Q(() => {
400
+ var m;
376
401
  const t = {
377
402
  error: "ai-blueking-icon ai-blueking-warning-circle-fill",
378
403
  loading: "",
379
404
  success: ""
380
405
  };
381
- return (g = e.message) != null && g.status ? t[e.message.status] : "";
382
- }), n = Q(() => e.message.content ? l.render(e.message.content) : ""), i = Q(() => {
383
- const t = se(e.message.time), g = se();
384
- return e.message.time ? g.isSame(t, "year") ? t.format("MM-DD HH:mm:ss") : t.format("YYYY-MM-DD HH:mm:ss") : "";
406
+ return (m = e.message) != null && m.status ? t[e.message.status] : "";
407
+ }), l = Q(() => e.message.content ? n.render(e.message.content) : ""), i = Q(() => {
408
+ const t = se(e.message.time), m = se();
409
+ return e.message.time ? m.isSame(t, "year") ? t.format("MM-DD HH:mm:ss") : t.format("YYYY-MM-DD HH:mm:ss") : "";
385
410
  });
386
- return (t, g) => (p(), f(
411
+ return (t, m) => (p(), f(
387
412
  "li",
388
413
  {
389
414
  class: _([t.message.role, "message-main"])
390
415
  },
391
416
  [
392
- t.message.cite ? (p(), f("div", gt, [
393
- I(Pe, {
417
+ t.message.cite ? (p(), f("div", yt, [
418
+ I(Re, {
394
419
  text: t.message.cite
395
420
  }, null, 8, ["text"])
396
421
  ])) : P("v-if", !0),
397
- h("div", vt, [
398
- t.message.role === u(Te).User ? (p(), f(
422
+ h("div", wt, [
423
+ t.message.role === u(Ae).User ? (p(), f(
399
424
  U,
400
425
  { key: 0 },
401
426
  [
402
- h("p", ft, [
427
+ h("p", Mt, [
403
428
  i.value ? (p(), f(
404
429
  "span",
405
- bt,
430
+ zt,
406
431
  A(i.value),
407
432
  1
408
433
  /* TEXT */
409
434
  )) : P("v-if", !0),
410
435
  h("span", {
411
436
  class: "markdown-message",
412
- innerHTML: n.value
413
- }, null, 8, kt)
437
+ innerHTML: l.value
438
+ }, null, 8, Lt)
414
439
  ]),
415
- h("span", yt, [
416
- h("img", { src: t.userPhoto }, null, 8, wt)
440
+ h("span", St, [
441
+ h("img", { src: t.userPhoto }, null, 8, xt)
417
442
  ])
418
443
  ],
419
444
  64
@@ -422,11 +447,11 @@ const pt = /* @__PURE__ */ F({
422
447
  U,
423
448
  { key: 1 },
424
449
  [
425
- I(mt),
426
- h("p", Mt, [
450
+ I(kt),
451
+ h("p", Ct, [
427
452
  i.value ? (p(), f(
428
453
  "span",
429
- zt,
454
+ Ht,
430
455
  A(i.value),
431
456
  1
432
457
  /* TEXT */
@@ -441,21 +466,21 @@ const pt = /* @__PURE__ */ F({
441
466
  2
442
467
  /* CLASS */
443
468
  )) : P("v-if", !0),
444
- t.message.status === u(le).Loading ? (p(), f("svg", Lt, xt)) : P("v-if", !0),
469
+ t.message.status === u(le).Loading ? (p(), f("svg", Bt, Tt)) : P("v-if", !0),
445
470
  t.message.status === u(le).Error ? (p(), f(
446
471
  "span",
447
- Ct,
472
+ Vt,
448
473
  A(t.message.content),
449
474
  1
450
475
  /* TEXT */
451
476
  )) : (p(), f("span", {
452
477
  key: 4,
453
- innerHTML: n.value,
478
+ innerHTML: l.value,
454
479
  class: _({
455
480
  "markdown-message": !0,
456
481
  loading: t.message.status === u(le).Loading
457
482
  })
458
- }, null, 10, Ht))
483
+ }, null, 10, Et))
459
484
  ])
460
485
  ],
461
486
  64
@@ -467,7 +492,7 @@ const pt = /* @__PURE__ */ F({
467
492
  /* CLASS */
468
493
  ));
469
494
  }
470
- }), Pt = { class: "prompt-list" }, Tt = { class: "search-group" }, Vt = ["onClick"], Et = { class: "prompt-content" }, Rt = /* @__PURE__ */ F({
495
+ }), At = { class: "prompt-list" }, Dt = { class: "search-group" }, It = ["onClick"], Yt = { class: "prompt-content" }, Xt = /* @__PURE__ */ F({
471
496
  __name: "render-send",
472
497
  props: {
473
498
  prompts: {},
@@ -475,10 +500,10 @@ const pt = /* @__PURE__ */ F({
475
500
  value: {}
476
501
  },
477
502
  emits: ["change-prompt", "update:value", "enter", "choose-prompt"],
478
- setup(o, { emit: l }) {
479
- const e = o, s = l, { enablePopup: n } = ge(), i = Ye, t = me, { selectedText: g, lockSelectedText: c } = ve(n), z = Y(""), E = Y(40), M = Y(), T = Y(!1), L = Q(() => {
503
+ setup(o, { emit: n }) {
504
+ const e = o, s = n, { enablePopup: l } = fe(), i = Ke, t = ve, { selectedText: m, lockSelectedText: a } = be(l), M = Y(""), E = Y(40), z = Y(), T = Y(!1), L = Q(() => {
480
505
  var b;
481
- return ((b = e.prompts) == null ? void 0 : b.filter((B) => B.content.includes(z.value))) || [];
506
+ return ((b = e.prompts) == null ? void 0 : b.filter((B) => B.content.includes(M.value))) || [];
482
507
  }), C = Q(() => {
483
508
  var b;
484
509
  return e.placeholder ? e.placeholder : (b = e.prompts) != null && b.length ? y("您可以键入 “/” 查看更多Prompt") : y("请输入");
@@ -487,10 +512,10 @@ const pt = /* @__PURE__ */ F({
487
512
  }, D = () => {
488
513
  var b;
489
514
  e.value === "/" && ((b = e.prompts) != null && b.length) ? v() : w();
490
- }, m = () => {
491
- Ce(() => {
515
+ }, g = () => {
516
+ Te(() => {
492
517
  var B;
493
- const b = (B = M.value) == null ? void 0 : B.$el.querySelector("textarea");
518
+ const b = (B = z.value) == null ? void 0 : B.$el.querySelector("textarea");
494
519
  (b == null ? void 0 : b.scrollHeight) > 40 && e.value ? E.value = b.scrollHeight <= 300 ? b.scrollHeight : 300 : E.value = 40;
495
520
  });
496
521
  }, S = (b) => {
@@ -501,21 +526,21 @@ const pt = /* @__PURE__ */ F({
501
526
  V("");
502
527
  }, k = () => {
503
528
  var B;
504
- const b = (B = M.value) == null ? void 0 : B.$el.querySelector("textarea");
529
+ const b = (B = z.value) == null ? void 0 : B.$el.querySelector("textarea");
505
530
  b == null || b.focus();
506
- }, a = () => {
507
- g.value && (c.value = !0);
531
+ }, c = () => {
532
+ m.value && (a.value = !0);
508
533
  }, v = () => {
509
534
  T.value = !0;
510
535
  }, w = () => {
511
536
  T.value = !1;
512
537
  };
513
- return xe(
538
+ return Pe(
514
539
  () => e.value,
515
540
  () => {
516
- m(), D();
541
+ g(), D();
517
542
  }
518
- ), ae(k), (b, B) => (p(), K(u(De), {
543
+ ), ae(k), (b, B) => (p(), K(u(Fe), {
519
544
  width: "calc(100% - 118px)",
520
545
  "ext-cls": "empty-padding",
521
546
  arrow: !1,
@@ -530,31 +555,31 @@ const pt = /* @__PURE__ */ F({
530
555
  var ne;
531
556
  return [
532
557
  h("div", null, [
533
- j((p(), f("section", Pt, [
534
- I(u(ke), {
558
+ j((p(), f("section", At, [
559
+ I(u(ze), {
535
560
  class: "input-search",
536
- modelValue: z.value,
537
- "onUpdate:modelValue": B[0] || (B[0] = (J) => z.value = J),
561
+ modelValue: M.value,
562
+ "onUpdate:modelValue": B[0] || (B[0] = (J) => M.value = J),
538
563
  behavior: "simplicity",
539
564
  clearable: ""
540
565
  }, null, 8, ["modelValue"]),
541
- h("section", Tt, [
566
+ h("section", Dt, [
542
567
  (p(!0), f(
543
568
  U,
544
569
  null,
545
570
  oe(L.value, (J, ue) => j((p(), f("span", {
546
571
  class: "group-prompt",
547
572
  key: ue,
548
- onClick: (be) => S(J)
573
+ onClick: (ye) => S(J)
549
574
  }, [
550
575
  h(
551
576
  "span",
552
- Et,
577
+ Yt,
553
578
  A(J.content),
554
579
  1
555
580
  /* TEXT */
556
581
  )
557
- ], 8, Vt)), [
582
+ ], 8, It)), [
558
583
  [u(t), {
559
584
  content: J.content,
560
585
  placement: "right",
@@ -566,7 +591,7 @@ const pt = /* @__PURE__ */ F({
566
591
  128
567
592
  /* KEYED_FRAGMENT */
568
593
  )),
569
- (ne = L.value) != null && ne.length ? P("v-if", !0) : (p(), K(u(Ie), {
594
+ (ne = L.value) != null && ne.length ? P("v-if", !0) : (p(), K(u(Ue), {
570
595
  key: 0,
571
596
  class: "exception-wrap-item exception-part",
572
597
  scene: "part",
@@ -589,9 +614,9 @@ const pt = /* @__PURE__ */ F({
589
614
  class: "send-prompt-container"
590
615
  },
591
616
  [
592
- I(u(ke), {
617
+ I(u(ze), {
593
618
  ref_key: "inputRef",
594
- ref: M,
619
+ ref: z,
595
620
  class: "send-prompt",
596
621
  autosize: !1,
597
622
  clearable: !0,
@@ -600,11 +625,11 @@ const pt = /* @__PURE__ */ F({
600
625
  placeholder: C.value,
601
626
  row: "1",
602
627
  type: "textarea",
603
- onFocus: a,
628
+ onFocus: c,
604
629
  onInput: V,
605
630
  onKeydown: H
606
631
  }, null, 8, ["model-value", "placeholder"]),
607
- b.value ? (p(), K(u(Je), {
632
+ b.value ? (p(), K(u(et), {
608
633
  key: 0,
609
634
  class: "show-clear-only-hover bk-input--clear-icon clear-icon",
610
635
  onClick: r
@@ -618,25 +643,25 @@ const pt = /* @__PURE__ */ F({
618
643
  /* STABLE */
619
644
  }, 8, ["is-show"]));
620
645
  }
621
- }), At = /* @__PURE__ */ W(Rt, [["__scopeId", "data-v-f6a3562b"]]), Dt = { class: "ai-shortcuts" }, It = /* @__PURE__ */ F({
646
+ }), qt = /* @__PURE__ */ W(Xt, [["__scopeId", "data-v-f6a3562b"]]), Ft = { class: "ai-shortcuts" }, Ut = /* @__PURE__ */ F({
622
647
  __name: "render-shortcuts",
623
648
  props: {
624
649
  shortcuts: {}
625
650
  },
626
651
  emits: ["select"],
627
- setup(o, { emit: l }) {
628
- const e = l, s = (n) => {
629
- e("select", n);
652
+ setup(o, { emit: n }) {
653
+ const e = n, s = (l) => {
654
+ e("select", l);
630
655
  };
631
- return (n, i) => (p(), f("ul", Dt, [
656
+ return (l, i) => (p(), f("ul", Ft, [
632
657
  (p(!0), f(
633
658
  U,
634
659
  null,
635
- oe(n.shortcuts, (t) => (p(), K(u(Xe), {
660
+ oe(l.shortcuts, (t) => (p(), K(u(We), {
636
661
  class: "ai-blueking-shortcut",
637
662
  key: t.label,
638
663
  theme: "info",
639
- onClick: (g) => s(t)
664
+ onClick: (m) => s(t)
640
665
  }, {
641
666
  default: $(() => [
642
667
  te(
@@ -653,7 +678,7 @@ const pt = /* @__PURE__ */ F({
653
678
  ))
654
679
  ]));
655
680
  }
656
- }), Yt = /* @__PURE__ */ W(It, [["__scopeId", "data-v-4eeeea02"]]), Xt = (o) => (re("data-v-fd57f18d"), o = o(), de(), o), qt = /* @__PURE__ */ Xt(() => /* @__PURE__ */ h(
681
+ }), Kt = /* @__PURE__ */ W(Ut, [["__scopeId", "data-v-4eeeea02"]]), Wt = (o) => (re("data-v-fd57f18d"), o = o(), de(), o), jt = /* @__PURE__ */ Wt(() => /* @__PURE__ */ h(
657
682
  "svg",
658
683
  {
659
684
  width: "10",
@@ -666,22 +691,22 @@ const pt = /* @__PURE__ */ F({
666
691
  ],
667
692
  -1
668
693
  /* HOISTED */
669
- )), Ft = /* @__PURE__ */ F({
694
+ )), Qt = /* @__PURE__ */ F({
670
695
  __name: "render-stop",
671
696
  props: {
672
697
  isShow: { type: Boolean }
673
698
  },
674
699
  emits: ["stop"],
675
- setup(o, { emit: l }) {
676
- const e = l, s = () => {
700
+ setup(o, { emit: n }) {
701
+ const e = n, s = () => {
677
702
  e("stop");
678
703
  };
679
- return (n, i) => n.isShow ? (p(), f("span", {
704
+ return (l, i) => l.isShow ? (p(), f("span", {
680
705
  key: 0,
681
706
  class: "ai-blueking-render-stop",
682
707
  onClick: s
683
708
  }, [
684
- qt,
709
+ jt,
685
710
  te(
686
711
  " " + A(u(y)("终止生成")),
687
712
  1
@@ -689,18 +714,18 @@ const pt = /* @__PURE__ */ F({
689
714
  )
690
715
  ])) : P("v-if", !0);
691
716
  }
692
- }), Ut = /* @__PURE__ */ W(Ft, [["__scopeId", "data-v-fd57f18d"]]), Kt = {
717
+ }), Gt = /* @__PURE__ */ W(Qt, [["__scopeId", "data-v-fd57f18d"]]), Ot = {
693
718
  key: 0,
694
719
  class: "time-wrapper"
695
- }, Wt = { class: "time-message" }, jt = /* @__PURE__ */ F({
720
+ }, Jt = { class: "time-message" }, Nt = /* @__PURE__ */ F({
696
721
  __name: "render-time",
697
722
  props: {
698
723
  message: {}
699
724
  },
700
725
  setup(o) {
701
- const l = o, e = Q(() => {
726
+ const n = o, e = Q(() => {
702
727
  var t;
703
- const s = se(l.message.time), n = se(), i = {
728
+ const s = se(n.message.time), l = se(), i = {
704
729
  0: y("日"),
705
730
  1: y("一"),
706
731
  2: y("二"),
@@ -709,41 +734,41 @@ const pt = /* @__PURE__ */ F({
709
734
  5: y("五"),
710
735
  6: y("六")
711
736
  };
712
- return !l.message.time || (t = window.showTimes) != null && t.some(
713
- (g) => Math.abs(s.diff(g, "minute")) < 10 && g !== l.message.time
714
- ) ? "" : (window.showTimes = [...window.showTimes || [], l.message.time], n.isSame(s, "day") ? s.format("HH:mm:ss") : n.subtract(1, "day").isSame(s, "week") ? y("昨天") + " " + s.format("HH:mm:ss") : n.isSame(s, "week") ? y("本周") + i[s.day()] + " " + s.format("HH:mm:ss") : n.subtract(1, "week").isSame(s, "week") ? y("上周") + i[s.day()] + " " + s.format("HH:mm:ss") : n.isSame(s, "year") ? s.format("MM-DD HH:mm:ss") : s.format("YYYY-MM-DD HH:mm:ss"));
737
+ return !n.message.time || (t = window.showTimes) != null && t.some(
738
+ (m) => Math.abs(s.diff(m, "minute")) < 10 && m !== n.message.time
739
+ ) ? "" : (window.showTimes = [...window.showTimes || [], n.message.time], l.isSame(s, "day") ? s.format("HH:mm:ss") : l.subtract(1, "day").isSame(s, "week") ? y("昨天") + " " + s.format("HH:mm:ss") : l.isSame(s, "week") ? y("本周") + i[s.day()] + " " + s.format("HH:mm:ss") : l.subtract(1, "week").isSame(s, "week") ? y("上周") + 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"));
715
740
  });
716
- return (s, n) => e.value ? (p(), f("section", Kt, [
741
+ return (s, l) => e.value ? (p(), f("section", Ot, [
717
742
  h(
718
743
  "span",
719
- Wt,
744
+ Jt,
720
745
  A(e.value),
721
746
  1
722
747
  /* TEXT */
723
748
  )
724
749
  ])) : P("v-if", !0);
725
750
  }
726
- }), Qt = /* @__PURE__ */ W(jt, [["__scopeId", "data-v-55c9a119"]]), Ve = (o) => (re("data-v-ba34b3da"), o = o(), de(), o), Gt = {
751
+ }), Zt = /* @__PURE__ */ W(Nt, [["__scopeId", "data-v-55c9a119"]]), De = (o) => (re("data-v-ba34b3da"), o = o(), de(), o), _t = {
727
752
  key: 0,
728
753
  width: "18",
729
754
  height: "18",
730
755
  class: "scroll-loading-icon",
731
756
  "aria-hidden": "true"
732
- }, Ot = /* @__PURE__ */ Ve(() => /* @__PURE__ */ h(
757
+ }, $t = /* @__PURE__ */ De(() => /* @__PURE__ */ h(
733
758
  "use",
734
759
  { "xlink:href": "#ai-blueking-loading-2" },
735
760
  null,
736
761
  -1
737
762
  /* HOISTED */
738
- )), Jt = [
739
- Ot
740
- ], Nt = { class: "ai-operation" }, Zt = { class: "ai-operation-input-wrapper" }, _t = { class: "ai-cite-tips" }, $t = { class: "ai-operation-input" }, eo = /* @__PURE__ */ Ve(() => /* @__PURE__ */ h(
763
+ )), eo = [
764
+ $t
765
+ ], to = { class: "ai-operation" }, oo = { class: "ai-operation-input-wrapper" }, no = { class: "ai-cite-tips" }, lo = { class: "ai-operation-input" }, so = /* @__PURE__ */ De(() => /* @__PURE__ */ h(
741
766
  "i",
742
767
  { class: "ai-blueking-icon ai-blueking-fasong" },
743
768
  null,
744
769
  -1
745
770
  /* HOISTED */
746
- )), to = /* @__PURE__ */ F({
771
+ )), io = /* @__PURE__ */ F({
747
772
  __name: "render-content",
748
773
  props: {
749
774
  messages: {},
@@ -758,91 +783,91 @@ const pt = /* @__PURE__ */ F({
758
783
  shortcuts: { default: () => ie }
759
784
  },
760
785
  emits: ["ai-click", "change-prompt", "send", "choose-prompt", "scroll-load", "stop", "shortcut-click"],
761
- setup(o, { expose: l, emit: e }) {
762
- const s = o, n = e, { enablePopup: i } = ge(), t = me, g = Y(""), { selectedText: c, clearSelection: z } = ve(i), { isShow: E } = Be(), M = () => {
763
- Ce(() => {
764
- const a = document.querySelector(".ai-blueking-messages");
765
- a.scrollTop = a.scrollHeight;
786
+ setup(o, { expose: n, emit: e }) {
787
+ const s = o, l = e, { enablePopup: i } = fe(), t = ve, m = Y(""), { selectedText: a, clearSelection: M } = be(i), { isShow: E } = Ee(), z = () => {
788
+ Te(() => {
789
+ const c = document.querySelector(".ai-blueking-messages");
790
+ c.scrollTop = c.scrollHeight;
766
791
  });
767
- }, T = _e((a) => {
792
+ }, T = nt((c) => {
768
793
  if (s.scrollLoading || s.scrollLoadingEnd)
769
794
  return;
770
- a.target.scrollTop < 200 && n("scroll-load");
795
+ c.target.scrollTop < 200 && l("scroll-load");
771
796
  }), L = () => {
772
- if (g.value) {
797
+ if (m.value) {
773
798
  if (s.loading) {
774
- we({ theme: "warning", message: y("内容正在执行中,请执行完成后再发送") });
799
+ Se({ theme: "warning", message: y("内容正在执行中,请执行完成后再发送") });
775
800
  return;
776
801
  }
777
- n("send", {
778
- content: g.value,
779
- cite: c.value
780
- }), g.value = "", c.value = "";
802
+ l("send", {
803
+ content: m.value,
804
+ cite: a.value
805
+ }), m.value = "", a.value = "";
781
806
  }
782
- }, C = (a) => {
783
- n("choose-prompt", a);
784
- }, V = (a) => {
785
- n("change-prompt", a);
807
+ }, C = (c) => {
808
+ l("choose-prompt", c);
809
+ }, V = (c) => {
810
+ l("change-prompt", c);
786
811
  }, D = () => {
787
- n("stop");
788
- }, m = (a) => {
789
- const v = a.target;
812
+ l("stop");
813
+ }, g = (c) => {
814
+ const v = c.target;
790
815
  if (v != null && v.classList.contains("ai-blueking-angle-up")) {
791
816
  const w = v == null ? void 0 : v.parentElement;
792
817
  w != null && w.classList.contains("closed") ? w == null || w.classList.remove("closed") : w == null || w.classList.add("closed");
793
818
  }
794
- v != null && v.classList.contains("ai-clickable") && n("ai-click", v.dataset.ai);
819
+ v != null && v.classList.contains("ai-clickable") && l("ai-click", v.dataset.ai);
795
820
  }, S = () => {
796
- M(), document.addEventListener("click", m);
821
+ z(), document.addEventListener("click", g);
797
822
  }, H = () => {
798
- window.showTimes = [], document.removeEventListener("click", m);
799
- }, r = (a) => {
800
- g.value = a;
801
- }, k = (a) => {
802
- const v = fe(a.prompt, c.value);
823
+ window.showTimes = [], document.removeEventListener("click", g);
824
+ }, r = (c) => {
825
+ m.value = c;
826
+ }, k = (c) => {
827
+ const v = ke(c.prompt, a.value);
803
828
  if (s.loading) {
804
- we({ theme: "warning", message: y("内容正在执行中,请执行完成后再发送") });
829
+ Se({ theme: "warning", message: y("内容正在执行中,请执行完成后再发送") });
805
830
  return;
806
831
  }
807
- n("shortcut-click", {
808
- type: a.key || "",
809
- label: a.label || "",
810
- cite: c.value,
832
+ l("shortcut-click", {
833
+ type: c.key || "",
834
+ label: c.label || "",
835
+ cite: a.value,
811
836
  prompt: v
812
- }), n("send", {
813
- content: a.label,
814
- cite: c.value,
837
+ }), l("send", {
838
+ content: c.label,
839
+ cite: a.value,
815
840
  prompt: v
816
- }), z();
841
+ }), M();
817
842
  };
818
- return xe(
843
+ return Pe(
819
844
  () => s.messages,
820
845
  () => {
821
- const a = document.querySelector(".ai-blueking-messages");
822
- (a == null ? void 0 : a.scrollTop) + (a == null ? void 0 : a.clientHeight) + 100 >= (a == null ? void 0 : a.scrollHeight) && M();
846
+ const c = document.querySelector(".ai-blueking-messages");
847
+ (c == null ? void 0 : c.scrollTop) + (c == null ? void 0 : c.clientHeight) + 100 >= (c == null ? void 0 : c.scrollHeight) && z();
823
848
  },
824
849
  {
825
850
  deep: !0
826
851
  }
827
- ), ae(S), ce(H), l({
852
+ ), ae(S), ce(H), n({
828
853
  setInputMessage: r
829
- }), (a, v) => (p(), f(
854
+ }), (c, v) => (p(), f(
830
855
  "section",
831
856
  {
832
857
  style: Z({
833
- background: a.background
858
+ background: c.background
834
859
  }),
835
860
  class: "ai-content"
836
861
  },
837
862
  [
838
- a.alert ? (p(), f(
863
+ c.alert ? (p(), f(
839
864
  U,
840
865
  { key: 0 },
841
866
  [
842
- typeof a.alert == "string" ? (p(), K(
843
- u(ye),
844
- ze({ key: 0 }, {
845
- title: a.alert
867
+ typeof c.alert == "string" ? (p(), K(
868
+ u(Le),
869
+ Ce({ key: 0 }, {
870
+ title: c.alert
846
871
  }, {
847
872
  theme: "warning",
848
873
  closable: ""
@@ -851,8 +876,8 @@ const pt = /* @__PURE__ */ F({
851
876
  16
852
877
  /* FULL_PROPS */
853
878
  )) : (p(), K(
854
- u(ye),
855
- Ke(ze({ key: 1 }, Object.assign({ closable: !0, theme: "warning" }, a.alert))),
879
+ u(Le),
880
+ Oe(Ce({ key: 1 }, Object.assign({ closable: !0, theme: "warning" }, c.alert))),
856
881
  null,
857
882
  16
858
883
  /* FULL_PROPS */
@@ -869,24 +894,24 @@ const pt = /* @__PURE__ */ F({
869
894
  (...w) => u(T) && u(T)(...w))
870
895
  },
871
896
  [
872
- a.scrollLoading ? (p(), f("svg", Gt, Jt)) : P("v-if", !0),
897
+ c.scrollLoading ? (p(), f("svg", _t, eo)) : P("v-if", !0),
873
898
  (p(!0), f(
874
899
  U,
875
900
  null,
876
- oe(a.messages, (w) => (p(), f(
901
+ oe(c.messages, (w) => (p(), f(
877
902
  U,
878
903
  {
879
904
  key: w.content
880
905
  },
881
906
  [
882
- I(Qt, {
907
+ I(Zt, {
883
908
  class: "render-message",
884
909
  message: w
885
910
  }, null, 8, ["message"]),
886
- I(Bt, {
911
+ I(Rt, {
887
912
  class: "render-message",
888
913
  message: w,
889
- "user-photo": a.userPhoto
914
+ "user-photo": c.userPhoto
890
915
  }, null, 8, ["message", "user-photo"])
891
916
  ],
892
917
  64
@@ -899,7 +924,7 @@ const pt = /* @__PURE__ */ F({
899
924
  32
900
925
  /* NEED_HYDRATION */
901
926
  ),
902
- h("section", Nt, [
927
+ h("section", to, [
903
928
  h(
904
929
  "section",
905
930
  {
@@ -908,17 +933,17 @@ const pt = /* @__PURE__ */ F({
908
933
  }, ["prevent"]))
909
934
  },
910
935
  [
911
- I(dt),
912
- I(Ut, {
913
- "is-show": a.loading,
936
+ I(gt),
937
+ I(Gt, {
938
+ "is-show": c.loading,
914
939
  onStop: D
915
940
  }, null, 8, ["is-show"])
916
941
  ],
917
942
  32
918
943
  /* NEED_HYDRATION */
919
944
  ),
920
- h("section", Zt, [
921
- u(c) ? (p(), f(
945
+ h("section", oo, [
946
+ u(a) ? (p(), f(
922
947
  "div",
923
948
  {
924
949
  key: 0,
@@ -927,45 +952,45 @@ const pt = /* @__PURE__ */ F({
927
952
  }, ["prevent"]))
928
953
  },
929
954
  [
930
- I(Pe, {
955
+ I(Re, {
931
956
  "show-close-icon": !0,
932
- text: u(c),
933
- onClose: u(z)
957
+ text: u(a),
958
+ onClose: u(M)
934
959
  }, null, 8, ["text", "onClose"]),
935
960
  h(
936
961
  "span",
937
- _t,
962
+ no,
938
963
  A(u(y)("想对选中的文本做什么")),
939
964
  1
940
965
  /* TEXT */
941
966
  ),
942
- I(Yt, {
943
- shortcuts: a.shortcuts,
967
+ I(Kt, {
968
+ shortcuts: c.shortcuts,
944
969
  onSelect: k
945
970
  }, null, 8, ["shortcuts"])
946
971
  ],
947
972
  34
948
973
  /* CLASS, NEED_HYDRATION */
949
974
  )) : P("v-if", !0),
950
- h("section", $t, [
951
- I(At, {
952
- value: g.value,
953
- "onUpdate:value": v[3] || (v[3] = (w) => g.value = w),
954
- placeholder: a.placeholder,
955
- prompts: a.prompts,
975
+ h("section", lo, [
976
+ I(qt, {
977
+ value: m.value,
978
+ "onUpdate:value": v[3] || (v[3] = (w) => m.value = w),
979
+ placeholder: c.placeholder,
980
+ prompts: c.prompts,
956
981
  onChangePrompt: V,
957
982
  onChoosePrompt: C,
958
983
  onEnter: L
959
984
  }, null, 8, ["value", "placeholder", "prompts"]),
960
- j((p(), K(u(qe), {
985
+ j((p(), K(u(je), {
961
986
  class: "ai-operation-button",
962
- disabled: a.loading || !g.value,
987
+ disabled: c.loading || !m.value,
963
988
  size: "large",
964
989
  theme: "primary",
965
990
  onClick: L
966
991
  }, {
967
992
  default: $(() => [
968
- eo,
993
+ so,
969
994
  te(
970
995
  " " + A(u(y)("发送")),
971
996
  1
@@ -977,7 +1002,7 @@ const pt = /* @__PURE__ */ F({
977
1002
  }, 8, ["disabled"])), [
978
1003
  [u(t), {
979
1004
  content: u(y)("内容正在执行中,请执行完成后再发送"),
980
- disabled: !a.loading
1005
+ disabled: !c.loading
981
1006
  }]
982
1007
  ])
983
1008
  ])
@@ -988,7 +1013,7 @@ const pt = /* @__PURE__ */ F({
988
1013
  /* STYLE */
989
1014
  ));
990
1015
  }
991
- }), oo = /* @__PURE__ */ W(to, [["__scopeId", "data-v-ba34b3da"]]), no = { class: "ai-modal-header-icon" }, lo = /* @__PURE__ */ F({
1016
+ }), ao = /* @__PURE__ */ W(io, [["__scopeId", "data-v-ba34b3da"]]), co = { class: "ai-modal-header-icon" }, ro = /* @__PURE__ */ F({
992
1017
  __name: "render-modal",
993
1018
  props: {
994
1019
  headBackground: { default: "linear-gradient(267deg, #2dd1f4 0%, #1482ff 95%)" },
@@ -1015,8 +1040,8 @@ const pt = /* @__PURE__ */ F({
1015
1040
  loading: { type: Boolean }
1016
1041
  },
1017
1042
  emits: ["clear", "close", "choose-model"],
1018
- setup(o, { emit: l }) {
1019
- const e = o, s = l, n = me, i = {
1043
+ setup(o, { emit: n }) {
1044
+ const e = o, s = n, l = ve, i = {
1020
1045
  height: window.innerHeight,
1021
1046
  width: window.innerWidth
1022
1047
  }, t = {
@@ -1024,18 +1049,18 @@ const pt = /* @__PURE__ */ F({
1024
1049
  type: "",
1025
1050
  clientX: 0,
1026
1051
  clientY: 0
1027
- }, c = Y((() => {
1052
+ }, a = Y((() => {
1028
1053
  var x, R, N, G;
1029
- const d = (O, Ee) => O === void 0 ? Ee : O;
1054
+ const d = (O, Ie) => O === void 0 ? Ie : O;
1030
1055
  return {
1031
1056
  top: d((x = e.startPosition) == null ? void 0 : x.top, i.height - e.sizeLimit.height),
1032
1057
  bottom: d((R = e.startPosition) == null ? void 0 : R.bottom, 0),
1033
1058
  left: d((N = e.startPosition) == null ? void 0 : N.left, 0),
1034
1059
  right: d((G = e.startPosition) == null ? void 0 : G.right, i.width - e.sizeLimit.width)
1035
1060
  };
1036
- })()), z = Q(() => c.value.top <= e.positionLimit.top && c.value.bottom <= e.positionLimit.bottom), E = (d) => {
1061
+ })()), M = Q(() => a.value.top <= e.positionLimit.top && a.value.bottom <= e.positionLimit.bottom), E = (d) => {
1037
1062
  s("choose-model", d);
1038
- }, M = () => {
1063
+ }, z = () => {
1039
1064
  document.querySelectorAll("iframe").forEach((x) => {
1040
1065
  x.style.pointerEvents = "none";
1041
1066
  });
@@ -1044,30 +1069,30 @@ const pt = /* @__PURE__ */ F({
1044
1069
  x.style.pointerEvents = "auto";
1045
1070
  });
1046
1071
  }, L = (d) => {
1047
- M(), t.isMove = !0, t.type = "move", t.clientX = d.clientX, t.clientY = d.clientY;
1072
+ z(), t.isMove = !0, t.type = "move", t.clientX = d.clientX, t.clientY = d.clientY;
1048
1073
  }, C = (d) => {
1049
- M(), t.isMove = !0, t.type = "rightDrag", t.clientX = d.clientX;
1074
+ z(), t.isMove = !0, t.type = "rightDrag", t.clientX = d.clientX;
1050
1075
  }, V = (d) => {
1051
- M(), t.isMove = !0, t.type = "leftDrag", t.clientX = d.clientX;
1076
+ z(), t.isMove = !0, t.type = "leftDrag", t.clientX = d.clientX;
1052
1077
  }, D = (d) => {
1053
- M(), t.isMove = !0, t.type = "topDrag", t.clientY = d.clientY;
1054
- }, m = (d) => {
1055
- M(), t.isMove = !0, t.type = "bottomDrag", t.clientY = d.clientY;
1078
+ z(), t.isMove = !0, t.type = "topDrag", t.clientY = d.clientY;
1079
+ }, g = (d) => {
1080
+ z(), t.isMove = !0, t.type = "bottomDrag", t.clientY = d.clientY;
1056
1081
  }, S = (d) => {
1057
- M(), t.isMove = !0, t.type = "topLeftDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1082
+ z(), t.isMove = !0, t.type = "topLeftDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1058
1083
  }, H = (d) => {
1059
- M(), t.isMove = !0, t.type = "topRightDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1084
+ z(), t.isMove = !0, t.type = "topRightDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1060
1085
  }, r = (d) => {
1061
- M(), t.isMove = !0, t.type = "bottomLeftDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1086
+ z(), t.isMove = !0, t.type = "bottomLeftDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1062
1087
  }, k = (d) => {
1063
- M(), t.isMove = !0, t.type = "bottomRightDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1064
- }, a = () => {
1088
+ z(), t.isMove = !0, t.type = "bottomRightDrag", t.clientY = d.clientY, t.clientX = d.clientX;
1089
+ }, c = () => {
1065
1090
  t.isMove = !1, T();
1066
1091
  }, v = (d, x) => {
1067
- ["move", "leftDrag"].includes(t.type) && (c.value.left += d), ["move", "rightDrag"].includes(t.type) && (c.value.right -= d), ["move", "topDrag"].includes(t.type) && (c.value.top += x), ["move", "bottomDrag"].includes(t.type) && (c.value.bottom -= x), ["topLeftDrag"].includes(t.type) && (c.value.left += d, c.value.top += x), ["topRightDrag"].includes(t.type) && (c.value.right -= d, c.value.top += x), ["bottomLeftDrag"].includes(t.type) && (c.value.left += d, c.value.bottom -= x), ["bottomRightDrag"].includes(t.type) && (c.value.right -= d, c.value.bottom -= x);
1092
+ ["move", "leftDrag"].includes(t.type) && (a.value.left += d), ["move", "rightDrag"].includes(t.type) && (a.value.right -= d), ["move", "topDrag"].includes(t.type) && (a.value.top += x), ["move", "bottomDrag"].includes(t.type) && (a.value.bottom -= x), ["topLeftDrag"].includes(t.type) && (a.value.left += d, a.value.top += x), ["topRightDrag"].includes(t.type) && (a.value.right -= d, a.value.top += x), ["bottomLeftDrag"].includes(t.type) && (a.value.left += d, a.value.bottom -= x), ["bottomRightDrag"].includes(t.type) && (a.value.right -= d, a.value.bottom -= x);
1068
1093
  }, w = (d, x) => {
1069
- const { top: R, bottom: N, left: G, right: O } = c.value;
1070
- (i.width - G - O < e.sizeLimit.width || G < e.positionLimit.left || O < e.positionLimit.right) && (["move", "leftDrag", "topLeftDrag", "bottomLeftDrag"].includes(t.type) && (c.value.left -= d), ["move", "rightDrag", "topRightDrag", "bottomRightDrag"].includes(t.type) && (c.value.right += d)), (i.height - R - N < e.sizeLimit.height || R < e.positionLimit.top || N < e.positionLimit.bottom) && (["move", "topDrag", "topRightDrag", "topLeftDrag"].includes(t.type) && (c.value.top -= x), ["move", "bottomDrag", "bottomLeftDrag", "bottomRightDrag"].includes(t.type) && (c.value.bottom += x));
1094
+ const { top: R, bottom: N, left: G, right: O } = a.value;
1095
+ (i.width - G - O < e.sizeLimit.width || G < e.positionLimit.left || O < e.positionLimit.right) && (["move", "leftDrag", "topLeftDrag", "bottomLeftDrag"].includes(t.type) && (a.value.left -= d), ["move", "rightDrag", "topRightDrag", "bottomRightDrag"].includes(t.type) && (a.value.right += d)), (i.height - R - N < e.sizeLimit.height || R < e.positionLimit.top || N < e.positionLimit.bottom) && (["move", "topDrag", "topRightDrag", "topLeftDrag"].includes(t.type) && (a.value.top -= x), ["move", "bottomDrag", "bottomLeftDrag", "bottomRightDrag"].includes(t.type) && (a.value.bottom += x));
1071
1096
  }, b = (d) => {
1072
1097
  if (!t.isMove)
1073
1098
  return;
@@ -1076,41 +1101,41 @@ const pt = /* @__PURE__ */ F({
1076
1101
  v(x, R), w(x, R), t.clientX = d.clientX, t.clientY = d.clientY;
1077
1102
  }, B = () => {
1078
1103
  i.width = window.innerWidth, i.height = window.innerHeight;
1079
- const d = i.width - c.value.left - c.value.right, x = i.height - c.value.top - c.value.bottom, R = Math.max(d, e.sizeLimit.width), N = Math.max(x, e.sizeLimit.height), G = i.width - R, O = i.height - N;
1080
- c.value.top = Math.max(
1104
+ const d = i.width - a.value.left - a.value.right, x = i.height - a.value.top - a.value.bottom, R = Math.max(d, e.sizeLimit.width), N = Math.max(x, e.sizeLimit.height), G = i.width - R, O = i.height - N;
1105
+ a.value.top = Math.max(
1081
1106
  e.positionLimit.top,
1082
- Math.min(c.value.top, O - e.positionLimit.bottom)
1083
- ), c.value.bottom = Math.max(
1107
+ Math.min(a.value.top, O - e.positionLimit.bottom)
1108
+ ), a.value.bottom = Math.max(
1084
1109
  e.positionLimit.bottom,
1085
- Math.min(c.value.bottom, O - c.value.top)
1086
- ), c.value.left = Math.max(
1110
+ Math.min(a.value.bottom, O - a.value.top)
1111
+ ), a.value.left = Math.max(
1087
1112
  e.positionLimit.left,
1088
- Math.min(c.value.left, G - e.positionLimit.right)
1089
- ), c.value.right = Math.max(
1113
+ Math.min(a.value.left, G - e.positionLimit.right)
1114
+ ), a.value.right = Math.max(
1090
1115
  e.positionLimit.right,
1091
- Math.min(c.value.right, G - c.value.left)
1116
+ Math.min(a.value.right, G - a.value.left)
1092
1117
  );
1093
1118
  }, ne = () => {
1094
- c.value.top = e.positionLimit.top, c.value.bottom = e.positionLimit.bottom;
1119
+ a.value.top = e.positionLimit.top, a.value.bottom = e.positionLimit.bottom;
1095
1120
  }, J = () => {
1096
- c.value.top = i.height - e.sizeLimit.height, c.value.bottom = e.positionLimit.bottom;
1121
+ a.value.top = i.height - e.sizeLimit.height, a.value.bottom = e.positionLimit.bottom;
1097
1122
  }, ue = () => {
1098
1123
  e.loading || s("clear");
1099
- }, be = () => {
1124
+ }, ye = () => {
1100
1125
  s("close");
1101
1126
  };
1102
- return We(() => {
1103
- window.addEventListener("mousemove", b, !0), window.addEventListener("mouseup", a), window.addEventListener("resize", B);
1127
+ return Je(() => {
1128
+ window.addEventListener("mousemove", b, !0), window.addEventListener("mouseup", c), window.addEventListener("resize", B);
1104
1129
  }), ce(() => {
1105
- window.removeEventListener("mousemove", b, !0), window.removeEventListener("mouseup", a), window.removeEventListener("resize", B);
1130
+ window.removeEventListener("mousemove", b, !0), window.removeEventListener("mouseup", c), window.removeEventListener("resize", B);
1106
1131
  }), (d, x) => (p(), f(
1107
1132
  "section",
1108
1133
  {
1109
1134
  style: Z({
1110
- top: c.value.top + "px",
1111
- bottom: c.value.bottom + "px",
1112
- left: c.value.left + "px",
1113
- right: c.value.right + "px"
1135
+ top: a.value.top + "px",
1136
+ bottom: a.value.bottom + "px",
1137
+ left: a.value.left + "px",
1138
+ right: a.value.right + "px"
1114
1139
  }),
1115
1140
  class: "ai-modal"
1116
1141
  },
@@ -1125,7 +1150,7 @@ const pt = /* @__PURE__ */ F({
1125
1150
  onMousedown: q(L, ["stop"])
1126
1151
  },
1127
1152
  [
1128
- h("span", no, [
1153
+ h("span", co, [
1129
1154
  h(
1130
1155
  "i",
1131
1156
  {
@@ -1140,7 +1165,7 @@ const pt = /* @__PURE__ */ F({
1140
1165
  1
1141
1166
  /* TEXT */
1142
1167
  ),
1143
- d.models ? (p(), K(u(Me), {
1168
+ d.models ? (p(), K(u(xe), {
1144
1169
  key: 0,
1145
1170
  class: "ai-modal-header-models",
1146
1171
  "model-value": d.model,
@@ -1151,7 +1176,7 @@ const pt = /* @__PURE__ */ F({
1151
1176
  (p(!0), f(
1152
1177
  U,
1153
1178
  null,
1154
- oe(d.models, (R) => (p(), K(u(Me).Option, {
1179
+ oe(d.models, (R) => (p(), K(u(xe).Option, {
1155
1180
  key: R.id,
1156
1181
  name: R.name,
1157
1182
  value: R.id
@@ -1165,7 +1190,7 @@ const pt = /* @__PURE__ */ F({
1165
1190
  }, 8, ["model-value"])) : P("v-if", !0)
1166
1191
  ]),
1167
1192
  h("span", null, [
1168
- z.value ? j((p(), f(
1193
+ M.value ? j((p(), f(
1169
1194
  "i",
1170
1195
  {
1171
1196
  key: 0,
@@ -1176,7 +1201,7 @@ const pt = /* @__PURE__ */ F({
1176
1201
  512
1177
1202
  /* NEED_PATCH */
1178
1203
  )), [
1179
- [u(n), {
1204
+ [u(l), {
1180
1205
  content: u(y)("向下收缩"),
1181
1206
  distance: 20
1182
1207
  }]
@@ -1191,7 +1216,7 @@ const pt = /* @__PURE__ */ F({
1191
1216
  512
1192
1217
  /* NEED_PATCH */
1193
1218
  )), [
1194
- [u(n), {
1219
+ [u(l), {
1195
1220
  content: u(y)("向上扩展"),
1196
1221
  distance: 20
1197
1222
  }]
@@ -1206,7 +1231,7 @@ const pt = /* @__PURE__ */ F({
1206
1231
  2
1207
1232
  /* CLASS */
1208
1233
  ), [
1209
- [u(n), {
1234
+ [u(l), {
1210
1235
  content: d.loading ? u(y)("AI小鲸正在回复,请结束后再清空") : u(y)("清空聊天记录"),
1211
1236
  distance: 20
1212
1237
  }]
@@ -1215,13 +1240,13 @@ const pt = /* @__PURE__ */ F({
1215
1240
  "i",
1216
1241
  {
1217
1242
  class: "ai-header-tool ai-blueking-icon ai-blueking-shanchu-2",
1218
- onClick: be
1243
+ onClick: ye
1219
1244
  },
1220
1245
  null,
1221
1246
  512
1222
1247
  /* NEED_PATCH */
1223
1248
  ), [
1224
- [u(n), {
1249
+ [u(l), {
1225
1250
  content: u(y)("关闭"),
1226
1251
  distance: 20
1227
1252
  }]
@@ -1231,7 +1256,7 @@ const pt = /* @__PURE__ */ F({
1231
1256
  36
1232
1257
  /* STYLE, NEED_HYDRATION */
1233
1258
  ),
1234
- je(d.$slots, "default", {}, void 0, !0),
1259
+ Ne(d.$slots, "default", {}, void 0, !0),
1235
1260
  h(
1236
1261
  "span",
1237
1262
  {
@@ -1266,7 +1291,7 @@ const pt = /* @__PURE__ */ F({
1266
1291
  "span",
1267
1292
  {
1268
1293
  class: "drag-line bottom",
1269
- onMousedown: q(m, ["stop"])
1294
+ onMousedown: q(g, ["stop"])
1270
1295
  },
1271
1296
  null,
1272
1297
  32
@@ -1317,72 +1342,72 @@ const pt = /* @__PURE__ */ F({
1317
1342
  /* STYLE */
1318
1343
  ));
1319
1344
  }
1320
- }), so = /* @__PURE__ */ W(lo, [["__scopeId", "data-v-e3958b72"]]), io = (o) => (re("data-v-ba2db6e8"), o = o(), de(), o), ao = { class: "popup-content" }, co = /* @__PURE__ */ io(() => /* @__PURE__ */ h(
1345
+ }), uo = /* @__PURE__ */ W(ro, [["__scopeId", "data-v-e3958b72"]]), ho = (o) => (re("data-v-ba2db6e8"), o = o(), de(), o), po = { class: "popup-content" }, mo = /* @__PURE__ */ ho(() => /* @__PURE__ */ h(
1321
1346
  "i",
1322
1347
  { class: "ai-blueking-icon ai-blueking-ai" },
1323
1348
  null,
1324
1349
  -1
1325
1350
  /* HOISTED */
1326
- )), ro = [
1327
- co
1328
- ], uo = { class: "shortcut-buttons" }, ho = ["onClick"], po = { class: "btn-text" }, mo = /* @__PURE__ */ F({
1351
+ )), go = [
1352
+ mo
1353
+ ], vo = { class: "shortcut-buttons" }, fo = ["onClick"], bo = { class: "btn-text" }, ko = /* @__PURE__ */ F({
1329
1354
  __name: "render-popup",
1330
1355
  props: {
1331
1356
  shortcuts: {}
1332
1357
  },
1333
1358
  emits: ["click", "shortcutClick"],
1334
- setup(o, { emit: l }) {
1335
- const e = o, { enablePopup: s } = ge(), { isIconVisible: n, iconPosition: i, selectedText: t, clearSelection: g, popupRef: c } = ve(s), z = e.shortcuts || ie, E = l, M = () => {
1336
- E("click"), n.value = !1;
1359
+ setup(o, { emit: n }) {
1360
+ const e = o, { enablePopup: s } = fe(), { isIconVisible: l, iconPosition: i, selectedText: t, clearSelection: m, popupRef: a } = be(s), M = e.shortcuts || ie, E = n, z = () => {
1361
+ E("click"), l.value = !1;
1337
1362
  }, T = (L) => {
1338
1363
  try {
1339
- const C = fe(L.prompt, t.value);
1364
+ const C = ke(L.prompt, t.value);
1340
1365
  E("shortcutClick", {
1341
1366
  cite: t.value,
1342
1367
  label: L.label,
1343
1368
  type: L.key,
1344
1369
  prompt: C
1345
- }), g(), n.value = !1;
1370
+ }), m(), l.value = !1;
1346
1371
  } catch (C) {
1347
1372
  console.error("处理快捷按钮点击事件时出错:", C);
1348
1373
  }
1349
1374
  };
1350
- return (L, C) => u(n) ? (p(), f(
1375
+ return (L, C) => u(l) ? (p(), f(
1351
1376
  "div",
1352
1377
  {
1353
1378
  key: 0,
1354
1379
  ref_key: "popupRef",
1355
- ref: c,
1380
+ ref: a,
1356
1381
  style: Z(u(i)),
1357
1382
  class: "ai-blueking-render-popup",
1358
1383
  onMousedown: C[0] || (C[0] = q(() => {
1359
1384
  }, ["prevent"]))
1360
1385
  },
1361
1386
  [
1362
- h("div", ao, [
1387
+ h("div", po, [
1363
1388
  P(" AI图标按钮 "),
1364
1389
  h("div", {
1365
1390
  class: "popup-icon-btn",
1366
- onClick: M
1367
- }, ro),
1391
+ onClick: z
1392
+ }, go),
1368
1393
  P(" 快捷按钮组 "),
1369
- h("div", uo, [
1394
+ h("div", vo, [
1370
1395
  (p(!0), f(
1371
1396
  U,
1372
1397
  null,
1373
- oe(u(z), (V, D) => (p(), f("div", {
1398
+ oe(u(M), (V, D) => (p(), f("div", {
1374
1399
  class: "shortcut-btn",
1375
1400
  key: D,
1376
- onClick: (m) => T(V)
1401
+ onClick: (g) => T(V)
1377
1402
  }, [
1378
1403
  h(
1379
1404
  "span",
1380
- po,
1405
+ bo,
1381
1406
  A(V.label),
1382
1407
  1
1383
1408
  /* TEXT */
1384
1409
  )
1385
- ], 8, ho))),
1410
+ ], 8, fo))),
1386
1411
  128
1387
1412
  /* KEYED_FRAGMENT */
1388
1413
  ))
@@ -1393,7 +1418,7 @@ const pt = /* @__PURE__ */ F({
1393
1418
  /* STYLE, NEED_HYDRATION */
1394
1419
  )) : P("v-if", !0);
1395
1420
  }
1396
- }), go = /* @__PURE__ */ W(mo, [["__scopeId", "data-v-ba2db6e8"]]), Po = /* @__PURE__ */ F({
1421
+ }), yo = /* @__PURE__ */ W(ko, [["__scopeId", "data-v-ba2db6e8"]]), Ao = /* @__PURE__ */ F({
1397
1422
  __name: "ai-blueking",
1398
1423
  props: {
1399
1424
  messages: {},
@@ -1418,44 +1443,44 @@ const pt = /* @__PURE__ */ F({
1418
1443
  enablePopup: { type: Boolean, default: !0 }
1419
1444
  },
1420
1445
  emits: ["send", "clear", "close", "scroll-load", "stop", "ai-click", "change-prompt", "update:model", "choose-prompt", "update:isShow", "shortcut-click"],
1421
- setup(o, { expose: l, emit: e }) {
1422
- Qe(He, o.enablePopup);
1423
- const n = e, i = Y(), t = (r) => {
1446
+ setup(o, { expose: n, emit: e }) {
1447
+ Ze(Ve, o.enablePopup);
1448
+ const l = e, i = Y(), t = (r) => {
1424
1449
  var k;
1425
1450
  (k = i.value) == null || k.setInputMessage(r);
1426
- }, g = () => {
1427
- n("update:isShow", !0);
1428
- }, c = () => {
1429
- n("clear");
1430
- }, z = () => {
1431
- n("update:isShow", !1), n("close");
1451
+ }, m = () => {
1452
+ l("update:isShow", !0);
1453
+ }, a = () => {
1454
+ l("clear");
1455
+ }, M = () => {
1456
+ l("update:isShow", !1), l("close");
1432
1457
  }, E = (r) => {
1433
- n("update:model", r);
1434
- }, M = (r) => {
1435
- n("send", r);
1458
+ l("update:model", r);
1459
+ }, z = (r) => {
1460
+ l("send", r);
1436
1461
  }, T = () => {
1437
- n("stop");
1462
+ l("stop");
1438
1463
  }, L = () => {
1439
- n("scroll-load");
1464
+ l("scroll-load");
1440
1465
  }, C = (r) => {
1441
- n("ai-click", r);
1466
+ l("ai-click", r);
1442
1467
  }, V = (r) => {
1443
- n("choose-prompt", r);
1468
+ l("choose-prompt", r);
1444
1469
  }, D = (r) => {
1445
- n("change-prompt", r);
1446
- }, m = (r) => {
1447
- n("stop"), n("update:isShow", !0), n("send", {
1470
+ l("change-prompt", r);
1471
+ }, g = (r) => {
1472
+ l("stop"), l("update:isShow", !0), l("send", {
1448
1473
  cite: r.cite,
1449
1474
  prompt: r.prompt,
1450
1475
  content: r.label
1451
- }), n("shortcut-click", r);
1476
+ }), l("shortcut-click", r);
1452
1477
  }, S = (r, k) => {
1453
- n("stop"), n("update:isShow", !0);
1454
- const a = ie.find((B) => B.key === r);
1455
- if (!a)
1478
+ l("stop"), l("update:isShow", !0);
1479
+ const c = ie.find((B) => B.key === r);
1480
+ if (!c)
1456
1481
  return;
1457
- const v = a.prompt, w = a.label, b = fe(v, k);
1458
- b && n("send", {
1482
+ const v = c.prompt, w = c.label, b = ke(v, k);
1483
+ b && l("send", {
1459
1484
  cite: k,
1460
1485
  // 原始内容,用于引用
1461
1486
  prompt: b,
@@ -1463,16 +1488,16 @@ const pt = /* @__PURE__ */ F({
1463
1488
  content: w
1464
1489
  });
1465
1490
  }, H = (r) => {
1466
- n("shortcut-click", r);
1491
+ l("shortcut-click", r);
1467
1492
  };
1468
- return l({
1493
+ return n({
1469
1494
  setInputMessage: t,
1470
1495
  quickActions: S
1471
1496
  }), (r, k) => (p(), f(
1472
1497
  U,
1473
1498
  null,
1474
1499
  [
1475
- j(I(so, {
1500
+ j(I(uo, {
1476
1501
  "head-background": r.headBackground,
1477
1502
  loading: r.loading,
1478
1503
  logo: r.logo,
@@ -1483,11 +1508,11 @@ const pt = /* @__PURE__ */ F({
1483
1508
  "size-limit": r.sizeLimit,
1484
1509
  "start-position": r.startPosition,
1485
1510
  onChooseModel: E,
1486
- onClear: c,
1487
- onClose: z
1511
+ onClear: a,
1512
+ onClose: M
1488
1513
  }, {
1489
1514
  default: $(() => [
1490
- I(oo, {
1515
+ I(ao, {
1491
1516
  ref_key: "contentRef",
1492
1517
  ref: i,
1493
1518
  alert: r.alert,
@@ -1504,7 +1529,7 @@ const pt = /* @__PURE__ */ F({
1504
1529
  onChangePrompt: D,
1505
1530
  onChoosePrompt: V,
1506
1531
  onScrollLoad: L,
1507
- onSend: M,
1532
+ onSend: z,
1508
1533
  onShortcutClick: H,
1509
1534
  onStop: T
1510
1535
  }, null, 8, ["alert", "background", "loading", "messages", "placeholder", "prompts", "scroll-loading", "scroll-loading-end", "shortcuts", "user-photo"])
@@ -1512,13 +1537,13 @@ const pt = /* @__PURE__ */ F({
1512
1537
  _: 1
1513
1538
  /* STABLE */
1514
1539
  }, 8, ["head-background", "loading", "logo", "model", "models", "name", "position-limit", "size-limit", "start-position"]), [
1515
- [Se, r.isShow]
1540
+ [Be, r.isShow]
1516
1541
  ]),
1517
- r.enablePopup !== !1 ? (p(), K(go, {
1542
+ r.enablePopup !== !1 ? (p(), K(yo, {
1518
1543
  key: 0,
1519
1544
  shortcuts: r.shortcuts || u(ie),
1520
- onClick: g,
1521
- onShortcutClick: m
1545
+ onClick: m,
1546
+ onShortcutClick: g
1522
1547
  }, null, 8, ["shortcuts"])) : P("v-if", !0)
1523
1548
  ],
1524
1549
  64
@@ -1532,8 +1557,8 @@ const pt = /* @__PURE__ */ F({
1532
1557
  document.body.insertAdjacentHTML("afterbegin", o);
1533
1558
  });
1534
1559
  })();
1535
- const vo = (o) => {
1536
- let l = `<section class="knowledge-head click-close">
1560
+ const wo = (o) => {
1561
+ let n = `<section class="knowledge-head click-close">
1537
1562
  <svg
1538
1563
  class="ai-blueking-wenzhang"
1539
1564
  >
@@ -1544,21 +1569,21 @@ const vo = (o) => {
1544
1569
  </section>
1545
1570
  <ul class="knowledge-body">`;
1546
1571
  return o.forEach((e) => {
1547
- const { file_path: s, path: n } = e.metadata, i = s.split("/").pop();
1548
- l += `<li
1572
+ const { file_path: s, path: l } = e.metadata, i = s.split("/").pop();
1573
+ n += `<li
1549
1574
  class="knowledge-item"
1550
- title="${i} (${n})"
1575
+ title="${i} (${l})"
1551
1576
  >
1552
1577
  <i class="ai-blueking-icon ai-blueking-zhishiku"></i>
1553
- <a href="${n}" target="_blank" class="knowledge-link ai-clickable g-flex-truncate"
1554
- data-ai='{"type": "knowledge-link", "data": {"path": "${n}", "title": "${i}"}}'
1578
+ <a href="${l}" target="_blank" class="knowledge-link ai-clickable g-flex-truncate"
1579
+ data-ai='{"type": "knowledge-link", "data": {"path": "${l}", "title": "${i}"}}'
1555
1580
  >
1556
1581
  ${i}
1557
1582
  </a>
1558
- <span class="knowledge-path g-flex-truncate">${n}</span>
1583
+ <span class="knowledge-path g-flex-truncate">${l}</span>
1559
1584
  </li>`;
1560
- }), l += "</ul>", l;
1561
- }, fo = `.knowledge-tips {
1585
+ }), n += "</ul>", n;
1586
+ }, Mo = `.knowledge-tips {
1562
1587
  position: relative;
1563
1588
  padding: 6px 8px;
1564
1589
  margin-bottom: 14px;
@@ -1615,7 +1640,7 @@ const vo = (o) => {
1615
1640
  margin-bottom: 2px;
1616
1641
  }
1617
1642
  }
1618
- }`, bo = `.knowledge-head {
1643
+ }`, zo = `.knowledge-head {
1619
1644
  display: flex;
1620
1645
  align-items: center;
1621
1646
  padding: 0 8px 0 6px;
@@ -1681,45 +1706,45 @@ const vo = (o) => {
1681
1706
  }
1682
1707
  }
1683
1708
  }`;
1684
- class ko {
1709
+ class Lo {
1685
1710
  constructor() {
1686
1711
  X(this, "styleEle", null);
1687
1712
  }
1688
1713
  addStyle() {
1689
- this.styleEle || (this.styleEle = document.createElement("style"), this.styleEle.textContent = fo + bo, document.head.appendChild(this.styleEle));
1714
+ this.styleEle || (this.styleEle = document.createElement("style"), this.styleEle.textContent = Mo + zo, document.head.appendChild(this.styleEle));
1690
1715
  }
1691
1716
  removeStyle() {
1692
1717
  this.styleEle && (this.styleEle.remove(), this.styleEle = null);
1693
1718
  }
1694
1719
  }
1695
- const yo = (o, l, e) => {
1720
+ const So = (o, n, e) => {
1696
1721
  let s = o === "内容正在生成中..." ? "" : o;
1697
1722
  if (!s.includes('<section class="think-head click-close">'))
1698
1723
  s += `<section class="think-head click-close">
1699
1724
  <i class="ai-blueking-icon ai-blueking-sikao"></i>思考中...<i class="ai-blueking-icon ai-blueking-angle-up"></i>
1700
1725
  </section>
1701
1726
  <section class="think-body">
1702
- ${l}
1727
+ ${n}
1703
1728
  </section>`;
1704
1729
  else {
1705
- const n = s.match(/<section class="think-body">([\s\S]*?)<\/section>/);
1706
- if (n) {
1707
- const i = n[1], t = i.replace(/\n$/g, `${l}
1730
+ const l = s.match(/<section class="think-body">([\s\S]*?)<\/section>/);
1731
+ if (l) {
1732
+ const i = l[1], t = i.replace(/\n$/g, `${n}
1708
1733
  `);
1709
1734
  s = s.replace(i, t);
1710
1735
  }
1711
1736
  }
1712
- return e && (s = s.replace("思考中...", `已完成思考 (耗时:${$e(e)})`)), s;
1713
- }, To = (o) => {
1714
- const l = o === "正在思考...", e = o.match(/<section class="think-body">([\s\S]*?)<\/section>/), s = e && e[1].trim() === "";
1715
- return l || s;
1737
+ return e && (s = s.replace("思考中...", `已完成思考 (耗时:${lt(e)})`)), s;
1738
+ }, Do = (o) => {
1739
+ const n = o === "正在思考...", e = o.match(/<section class="think-body">([\s\S]*?)<\/section>/), s = e && e[1].trim() === "";
1740
+ return n || s;
1716
1741
  };
1717
- class wo {
1742
+ class xo {
1718
1743
  constructor() {
1719
1744
  X(this, "styleEle", null);
1720
1745
  }
1721
1746
  addStyle() {
1722
- const l = `.think-head {
1747
+ const n = `.think-head {
1723
1748
  display: flex;
1724
1749
  align-items: center;
1725
1750
  padding: 0 8px 0 6px;
@@ -1768,14 +1793,14 @@ class wo {
1768
1793
  margin-bottom: 8px;
1769
1794
  }
1770
1795
  }`;
1771
- this.styleEle = document.createElement("style"), this.styleEle.textContent = l, document.head.appendChild(this.styleEle);
1796
+ this.styleEle = document.createElement("style"), this.styleEle.textContent = n, document.head.appendChild(this.styleEle);
1772
1797
  }
1773
1798
  removeStyle() {
1774
1799
  this.styleEle && (this.styleEle.remove(), this.styleEle = null);
1775
1800
  }
1776
1801
  }
1777
- class Vo {
1778
- constructor(l, e, s, n, i, t) {
1802
+ class Io {
1803
+ constructor(n, e, s, l, i, t) {
1779
1804
  X(this, "controllerMap");
1780
1805
  X(this, "handleEnd");
1781
1806
  X(this, "handleError");
@@ -1785,89 +1810,90 @@ class Vo {
1785
1810
  X(this, "styleManager");
1786
1811
  X(this, "thinkStyleManager");
1787
1812
  X(this, "url");
1788
- this.url = l, this.handleStart = e, this.handleReceiveMessage = s, this.handleEnd = n, this.handleError = i, this.styleManager = new ko(), this.thinkStyleManager = new wo(), this.styleManager.addStyle(), this.thinkStyleManager.addStyle(), this.controllerMap = {}, this.messages = t;
1813
+ this.url = n, this.handleStart = e, this.handleReceiveMessage = s, this.handleEnd = l, this.handleError = i, this.styleManager = new Lo(), this.thinkStyleManager = new xo(), this.styleManager.addStyle(), this.thinkStyleManager.addStyle(), this.controllerMap = {}, this.messages = t;
1789
1814
  }
1790
1815
  destroy() {
1791
1816
  this.styleManager.removeStyle(), this.thinkStyleManager.removeStyle();
1792
1817
  }
1793
- stop(l) {
1818
+ stop(n) {
1794
1819
  var e, s;
1795
- return (s = (e = this.controllerMap[l]) == null ? void 0 : e.abort) == null || s.call(e), this.handleEnd(l);
1820
+ return (s = (e = this.controllerMap[n]) == null ? void 0 : e.abort) == null || s.call(e), this.handleEnd(n);
1796
1821
  }
1797
- async stream(l, e, s) {
1798
- const n = new AbortController();
1799
- this.controllerMap[e] = n, fetch(this.url, {
1800
- method: "post",
1801
- signal: n.signal,
1802
- headers: {
1803
- "Content-Type": "application/json",
1804
- ...s
1805
- },
1806
- mode: "cors",
1807
- credentials: "include",
1808
- body: JSON.stringify(l)
1809
- }).then(async (i) => {
1810
- const t = i.body.pipeThrough(new window.TextDecoderStream()).getReader();
1811
- let g = "";
1812
- for (; ; )
1813
- try {
1814
- const { value: c, done: z } = await t.read();
1815
- if (!i.ok) {
1816
- this.handleError(c || i.statusText, i.status, e);
1817
- break;
1818
- }
1819
- if (z) {
1820
- this.handleEnd(e);
1822
+ stream(n, e, s) {
1823
+ return pe(this, null, function* () {
1824
+ const l = new AbortController();
1825
+ this.controllerMap[e] = l, fetch(this.url, {
1826
+ method: "post",
1827
+ signal: l.signal,
1828
+ headers: Me({
1829
+ "Content-Type": "application/json"
1830
+ }, s),
1831
+ mode: "cors",
1832
+ credentials: "include",
1833
+ body: JSON.stringify(n)
1834
+ }).then((i) => pe(this, null, function* () {
1835
+ const t = i.body.pipeThrough(new window.TextDecoderStream()).getReader();
1836
+ let m = "";
1837
+ for (; ; )
1838
+ try {
1839
+ const { value: a, done: M } = yield t.read();
1840
+ if (!i.ok) {
1841
+ this.handleError(a || i.statusText, i.status, e);
1842
+ break;
1843
+ }
1844
+ if (M) {
1845
+ this.handleEnd(e);
1846
+ break;
1847
+ }
1848
+ m += a, m.toString().split(`
1849
+ `).forEach((z) => {
1850
+ const T = z.replace("data:", "").trim();
1851
+ if (ot(T)) {
1852
+ const { event: L, content: C, cover: V, documents: D, result: g, code: S, message: H, elapsed_time: r } = JSON.parse(T);
1853
+ if (g === !1 || i.status !== 200) {
1854
+ this.handleError(H, S, e);
1855
+ return;
1856
+ }
1857
+ switch (L) {
1858
+ case "text":
1859
+ this.handleReceiveMessage(C, e, V);
1860
+ break;
1861
+ case "reference_doc":
1862
+ const k = wo(D);
1863
+ this.handleReceiveMessage(k, e, V);
1864
+ break;
1865
+ case "think":
1866
+ const c = this.messages.at(-1), v = So((c == null ? void 0 : c.content) || "", C, r);
1867
+ c && (c.content = v);
1868
+ break;
1869
+ case "done":
1870
+ this.handleEnd(e, V ? C : "");
1871
+ break;
1872
+ case "error":
1873
+ this.handleError(H, S, e);
1874
+ break;
1875
+ }
1876
+ } else
1877
+ m = z;
1878
+ });
1879
+ } catch (a) {
1880
+ const M = a;
1881
+ (M == null ? void 0 : M.code) !== 20 && this.handleError(M.message || "Unknown error", M.code || 500, e);
1821
1882
  break;
1822
1883
  }
1823
- g += c, g.toString().split(`
1824
- `).forEach((M) => {
1825
- const T = M.replace("data:", "").trim();
1826
- if (Ze(T)) {
1827
- const { event: L, content: C, cover: V, documents: D, result: m, code: S, message: H, elapsed_time: r } = JSON.parse(T);
1828
- if (m === !1 || i.status !== 200) {
1829
- this.handleError(H, S, e);
1830
- return;
1831
- }
1832
- switch (L) {
1833
- case "text":
1834
- this.handleReceiveMessage(C, e, V);
1835
- break;
1836
- case "reference_doc":
1837
- const k = vo(D);
1838
- this.handleReceiveMessage(k, e, V);
1839
- break;
1840
- case "think":
1841
- const a = this.messages.at(-1), v = yo((a == null ? void 0 : a.content) || "", C, r);
1842
- a && (a.content = v);
1843
- break;
1844
- case "done":
1845
- this.handleEnd(e, V ? C : "");
1846
- break;
1847
- case "error":
1848
- this.handleError(H, S, e);
1849
- break;
1850
- }
1851
- } else
1852
- g = M;
1853
- });
1854
- } catch (c) {
1855
- const z = c;
1856
- (z == null ? void 0 : z.code) !== 20 && this.handleError(z.message || "Unknown error", z.code || 500, e);
1857
- break;
1858
- }
1859
- }).catch((i) => {
1860
- (i == null ? void 0 : i.code) !== 20 && this.handleError(i.message, i.code, e);
1861
- }), await this.handleStart(e);
1884
+ })).catch((i) => {
1885
+ (i == null ? void 0 : i.code) !== 20 && this.handleError(i.message, i.code, e);
1886
+ }), yield this.handleStart(e);
1887
+ });
1862
1888
  }
1863
1889
  }
1864
- Fe({
1890
+ Qe({
1865
1891
  prefix: "bk"
1866
1892
  });
1867
1893
  export {
1868
- Vo as ChatHelper,
1894
+ Io as ChatHelper,
1869
1895
  le as MessageStatus,
1870
- Te as RoleType,
1871
- Po as default,
1872
- To as isThinking
1896
+ Ae as RoleType,
1897
+ Ao as default,
1898
+ Do as isThinking
1873
1899
  };