@blueking/ai-blueking 0.3.25 → 0.3.27

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