@blueking/ai-blueking 0.2.15 → 0.3.0

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,32 +1,109 @@
1
- var be = Object.defineProperty;
2
- var ye = (o, l, t) => l in o ? be(o, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[l] = t;
3
- var X = (o, l, t) => (ye(o, typeof l != "symbol" ? l + "" : l, t), t);
4
- import { Popover as ke, Input as re, Exception as Le, clickoutside as we, bkTooltips as te, Alert as Me, Button as ze, Message as Se, Select as ce, provideGlobalConfig as He } from "bkui-vue";
5
- import { defineComponent as I, ref as Y, onMounted as oe, onBeforeUnmount as se, openBlock as m, createElementBlock as v, createTextVNode as _, toDisplayString as P, unref as h, createCommentVNode as z, pushScopeId as ne, popScopeId as le, createElementVNode as u, computed as q, normalizeClass as Z, Fragment as K, watch as ue, createBlock as A, withCtx as W, withDirectives as x, createVNode as T, renderList as ae, normalizeStyle as N, nextTick as pe, onBeforeMount as Be, withModifiers as R, renderSlot as Ve } from "vue";
6
- import F from "dayjs";
7
- import de from "highlight.js";
8
- import Ce from "markdown-it";
9
- import Re from "markdown-it-code-copy";
10
- import { Close as Pe } from "bkui-vue/lib/icon";
11
- const De = (o) => {
12
- const l = document.cookie.match(new RegExp(`(^| )${o}=([^;]*)(;|$)`));
13
- return l ? l[2] : "";
14
- }, Te = (o) => {
1
+ var ze = Object.defineProperty;
2
+ var Ce = (o, n, t) => n in o ? ze(o, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[n] = t;
3
+ var Q = (o, n, t) => (Ce(o, typeof n != "symbol" ? n + "" : n, t), t);
4
+ import { Popover as Be, Input as he, Exception as He, clickoutside as Te, bkTooltips as ue, Tag as Pe, Alert as Re, Button as Ve, Message as me, Select as ge, provideGlobalConfig as De } from "bkui-vue";
5
+ import { ref as x, onMounted as ne, onBeforeUnmount as le, defineComponent as Y, withDirectives as A, openBlock as h, createElementBlock as g, createElementVNode as d, toDisplayString as P, unref as r, createCommentVNode as z, vShow as fe, createTextVNode as ee, pushScopeId as ae, popScopeId as ie, computed as E, normalizeStyle as j, normalizeClass as $, createVNode as T, Fragment as q, watch as be, createBlock as X, withCtx as W, renderList as ce, nextTick as ye, withModifiers as D, onBeforeMount as xe, renderSlot as Ye } from "vue";
6
+ import se from "dayjs";
7
+ import ve from "highlight.js";
8
+ import Ie from "markdown-it";
9
+ import Ae from "markdown-it-code-copy";
10
+ import { Close as Ee } from "bkui-vue/lib/icon";
11
+ function ke() {
12
+ const o = x(!1), n = () => {
13
+ const l = document.querySelector(".ai-blueking-messages");
14
+ l.scrollTop = l.scrollHeight;
15
+ }, t = (l) => {
16
+ const e = l.target;
17
+ o.value = e.scrollTop < e.scrollHeight - e.clientHeight - 20;
18
+ }, s = () => {
19
+ const l = document.querySelector(".ai-blueking-messages");
20
+ l == null || l.addEventListener("scroll", t, { passive: !0 });
21
+ }, i = () => {
22
+ const l = document.querySelector(".ai-blueking-messages");
23
+ l == null || l.removeEventListener("scroll", t);
24
+ };
25
+ return ne(s), le(i), {
26
+ isShow: o,
27
+ scrollToBottom: n
28
+ };
29
+ }
30
+ const _ = x(""), de = x(!1);
31
+ function pe() {
32
+ const o = x(!1), n = x({ top: "0px", left: "0px" });
33
+ let t;
34
+ const s = () => {
35
+ clearTimeout(t), t = setTimeout(() => {
36
+ const c = window.getSelection();
37
+ if (c && c.toString().trim().length > 0) {
38
+ de.value = !1;
39
+ const k = c.getRangeAt(0).getBoundingClientRect(), R = window.innerWidth;
40
+ _.value = c.toString().trim();
41
+ const w = 80, C = 34, L = 10;
42
+ let B = k.left + window.scrollX + k.width / 2 - w / 2;
43
+ B = Math.max(L, Math.min(B, R - w - L));
44
+ let p = k.top + window.scrollY - C - L;
45
+ k.top > C + L || (p = k.bottom + window.scrollY + L), n.value = {
46
+ top: `${p}px`,
47
+ left: `${B}px`
48
+ }, o.value = !0;
49
+ } else
50
+ i();
51
+ }, 300);
52
+ }, i = () => {
53
+ o.value = !1, de.value || (_.value = "");
54
+ }, l = () => {
55
+ const c = window.getSelection();
56
+ c && c.removeAllRanges(), _.value = "";
57
+ }, e = (c) => {
58
+ _.value = c;
59
+ };
60
+ return ne(() => {
61
+ document.addEventListener("selectionchange", s);
62
+ }), le(() => {
63
+ document.removeEventListener("selectionchange", s), clearTimeout(t);
64
+ }), {
65
+ isIconVisible: o,
66
+ iconPosition: n,
67
+ selectedText: _,
68
+ hideIcon: i,
69
+ clearSelection: l,
70
+ setSelection: e,
71
+ lockSelectedText: de
72
+ };
73
+ }
74
+ const Xe = [
75
+ {
76
+ label: "翻译",
77
+ prompt: `You are a highly skilled AI trained in language translation. I would like you to translate the text delimited by triple quotes into Chinese language, ensuring that the translation is colloquial and authentic.
78
+ Only give me the output and nothing else. Do not wrap responses in quotes
79
+ '''
80
+ {{ SELECTED_TEXT }}
81
+ '''
82
+ `
83
+ },
84
+ {
85
+ label: "解释",
86
+ prompt: `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.`
87
+ }
88
+ ], qe = (o) => {
89
+ const n = document.cookie.match(new RegExp(`(^| )${o}=([^;]*)(;|$)`));
90
+ return n ? n[2] : "";
91
+ }, Ke = (o) => {
15
92
  try {
16
93
  return JSON.parse(o), !0;
17
94
  } catch {
18
95
  return !1;
19
96
  }
20
- }, Ye = (o, l = 200) => {
97
+ }, Ue = (o, n = 200) => {
21
98
  let t = !0;
22
99
  return function(s) {
23
100
  if (!t)
24
101
  return !1;
25
102
  t = !1, setTimeout(() => {
26
103
  o(s), t = !0;
27
- }, l);
104
+ }, n);
28
105
  };
29
- }, Ae = De("blueking_language") || "zh-cn", Ie = {
106
+ }, Qe = qe("blueking_language") || "zh-cn", je = {
30
107
  小鲸: "BK GPT",
31
108
  向下收缩: "shrink down",
32
109
  向上扩展: "expand upward",
@@ -49,101 +126,165 @@ const De = (o) => {
49
126
  昨天: "yesterday",
50
127
  本周: "this week",
51
128
  上周: "last week",
52
- 复制成功: "Copy success"
53
- }, b = (o) => Ae !== "en" ? o : Ie[o] || o, Xe = (o) => (ne("data-v-543a687d"), o = o(), le(), o), xe = /* @__PURE__ */ Xe(() => /* @__PURE__ */ u(
129
+ 复制成功: "Copy success",
130
+ 您选择的文本内容: "The text content you selected",
131
+ 问小鲸: "Ask BK GPT",
132
+ 想对选中的文本做什么: "What do you want to do with the selected text?"
133
+ }, b = (o) => Qe !== "en" ? o : je[o] || o, We = { class: "ai-cite" }, Ge = { class: "ai-cite-text" }, Je = { class: "ai-cite-tips" }, Ze = /* @__PURE__ */ Y({
134
+ __name: "ai-cite",
135
+ props: {
136
+ text: {},
137
+ showCloseIcon: { type: Boolean }
138
+ },
139
+ emits: ["close"],
140
+ setup(o) {
141
+ return (n, t) => A((h(), g(
142
+ "section",
143
+ We,
144
+ [
145
+ d(
146
+ "span",
147
+ Ge,
148
+ P(n.text),
149
+ 1
150
+ /* TEXT */
151
+ ),
152
+ d(
153
+ "span",
154
+ Je,
155
+ P(r(b)("您选择的文本内容")),
156
+ 1
157
+ /* TEXT */
158
+ ),
159
+ n.showCloseIcon ? (h(), g("i", {
160
+ key: 0,
161
+ class: "ai-blueking-icon ai-blueking-close-circle-fill",
162
+ onClick: t[0] || (t[0] = (s) => n.$emit("close"))
163
+ })) : z("v-if", !0)
164
+ ],
165
+ 512
166
+ /* NEED_PATCH */
167
+ )), [
168
+ [fe, n.text]
169
+ ]);
170
+ }
171
+ }), I = (o, n) => {
172
+ const t = o.__vccOpts || o;
173
+ for (const [s, i] of n)
174
+ t[s] = i;
175
+ return t;
176
+ }, we = /* @__PURE__ */ I(Ze, [["__scopeId", "data-v-3fd96961"]]), Oe = (o) => (ae("data-v-a8d839da"), o = o(), ie(), o), Ne = /* @__PURE__ */ Oe(() => /* @__PURE__ */ d(
54
177
  "i",
55
178
  { class: "ai-blueking-icon ai-blueking-xiangxia-2" },
56
179
  null,
57
180
  -1
58
181
  /* HOISTED */
59
- )), qe = /* @__PURE__ */ I({
182
+ )), Fe = /* @__PURE__ */ Y({
60
183
  __name: "render-back",
61
184
  setup(o) {
62
- const l = Y(!1), t = () => {
63
- const e = document.querySelector(".ai-blueking-messages");
64
- e.scrollTop = e.scrollHeight;
65
- }, s = (e) => {
66
- const c = e.target;
67
- l.value = c.scrollTop < c.scrollHeight - c.clientHeight - 10;
68
- }, d = () => {
69
- const e = document.querySelector(".ai-blueking-messages");
70
- e == null || e.addEventListener("scroll", s, { passive: !0 });
71
- }, r = () => {
72
- const e = document.querySelector(".ai-blueking-messages");
73
- e == null || e.removeEventListener("scroll", s);
74
- };
75
- return oe(d), se(r), (e, c) => l.value ? (m(), v("span", {
185
+ const { isShow: n, scrollToBottom: t } = ke();
186
+ return (s, i) => r(n) ? (h(), g("span", {
76
187
  key: 0,
77
188
  class: "ai-blueking-render-back",
78
- onClick: t
189
+ onClick: i[0] || (i[0] = //@ts-ignore
190
+ (...l) => r(t) && r(t)(...l))
79
191
  }, [
80
- xe,
81
- _(
82
- " " + P(h(b)("返回最新")),
192
+ Ne,
193
+ ee(
194
+ " " + P(r(b)("返回最新")),
83
195
  1
84
196
  /* TEXT */
85
197
  )
86
198
  ])) : z("v-if", !0);
87
199
  }
88
- }), Q = (o, l) => {
89
- const t = o.__vccOpts || o;
90
- for (const [s, d] of l)
91
- t[s] = d;
92
- return t;
93
- }, Ee = /* @__PURE__ */ Q(qe, [["__scopeId", "data-v-543a687d"]]), Ke = "data:image/png;base64,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";
94
- var he = /* @__PURE__ */ ((o) => (o.Assistant = "assistant", o.System = "system", o.User = "user", o))(he || {}), O = /* @__PURE__ */ ((o) => (o.Error = "error", o.Loading = "loading", o.Success = "success", o))(O || {});
95
- const Qe = { class: "message-content user" }, Ue = {
200
+ }), _e = /* @__PURE__ */ I(Fe, [["__scopeId", "data-v-a8d839da"]]), $e = "data:image/png;base64,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";
201
+ var Le = /* @__PURE__ */ ((o) => (o.Assistant = "assistant", o.Cite = "cite", o.System = "system", o.User = "user", o))(Le || {}), oe = /* @__PURE__ */ ((o) => (o.Error = "error", o.Loading = "loading", o.Success = "success", o))(oe || {});
202
+ const et = /* @__PURE__ */ Y({
203
+ __name: "ai-avatar",
204
+ props: {
205
+ size: { default: 36 }
206
+ },
207
+ setup(o) {
208
+ const n = o, t = E(() => ({
209
+ minWidth: `${n.size}px`,
210
+ maxWidth: `${n.size}px`,
211
+ minHeight: `${n.size}px`,
212
+ maxHeight: `${n.size}px`,
213
+ padding: `${n.size * 0.208}px ${n.size * 0.222}px ${n.size * 0.194}px ${n.size * 0.18}px`
214
+ // 保持原比例
215
+ })), s = E(() => ({
216
+ fontSize: `${n.size * 0.611}px`
217
+ // 保持原比例 22/36
218
+ }));
219
+ return (i, l) => (h(), g(
220
+ "span",
221
+ {
222
+ style: j(t.value),
223
+ class: "message-photo ai"
224
+ },
225
+ [
226
+ d(
227
+ "i",
228
+ {
229
+ style: j(s.value),
230
+ class: "ai-blueking-icon ai-blueking-ai"
231
+ },
232
+ null,
233
+ 4
234
+ /* STYLE */
235
+ )
236
+ ],
237
+ 4
238
+ /* STYLE */
239
+ ));
240
+ }
241
+ }), tt = /* @__PURE__ */ I(et, [["__scopeId", "data-v-c3781e8b"]]), ot = {
242
+ key: 0,
243
+ class: "ai-cite-container"
244
+ }, st = { class: "message-content-container" }, nt = { class: "message-content user" }, lt = {
96
245
  key: 0,
97
246
  class: "time-message user"
98
- }, je = ["innerHTML"], Ge = { class: "message-photo user" }, Je = ["src"], We = /* @__PURE__ */ u(
99
- "span",
100
- { class: "message-photo ai" },
101
- [
102
- /* @__PURE__ */ u("i", { class: "ai-blueking-icon ai-blueking-ai" })
103
- ],
104
- -1
105
- /* HOISTED */
106
- ), Ze = { class: "message-content ai" }, Oe = {
247
+ }, at = ["innerHTML"], it = { class: "message-photo user" }, ct = ["src"], rt = { class: "message-content ai" }, dt = {
107
248
  key: 0,
108
249
  class: "time-message ai"
109
- }, Ne = {
250
+ }, ut = {
110
251
  key: 2,
111
252
  width: "18",
112
253
  height: "18",
113
254
  class: "loading-message",
114
255
  "aria-hidden": "true"
115
- }, Fe = /* @__PURE__ */ u(
256
+ }, pt = /* @__PURE__ */ d(
116
257
  "use",
117
258
  { "xlink:href": "#ai-blueking-quanquan" },
118
259
  null,
119
260
  -1
120
261
  /* HOISTED */
121
- ), _e = [
122
- Fe
123
- ], $e = {
262
+ ), ht = [
263
+ pt
264
+ ], mt = {
124
265
  key: 3,
125
266
  class: "message-wrap"
126
- }, et = ["innerHTML"], tt = /* @__PURE__ */ I({
267
+ }, gt = ["innerHTML"], vt = /* @__PURE__ */ Y({
127
268
  __name: "render-message",
128
269
  props: {
129
270
  message: {},
130
- userPhoto: { default: Ke }
271
+ userPhoto: { default: $e }
131
272
  },
132
273
  setup(o) {
133
- const l = new Ce({
274
+ const n = new Ie({
134
275
  html: !0,
135
276
  highlight: function(e, c) {
136
- if (c && de.getLanguage(c))
277
+ if (c && ve.getLanguage(c))
137
278
  try {
138
- return de.highlight(e, { language: c }).value;
279
+ return ve.highlight(e, { language: c }).value;
139
280
  } catch {
140
281
  }
141
282
  return "";
142
283
  }
143
- }).use(Re, {
284
+ }).use(Ae, {
144
285
  iconClass: "ai-blueking-icon ai-blueking-copy",
145
286
  buttonClass: "ai-blueking-copy-button"
146
- }), t = o, s = q(() => {
287
+ }), t = o, s = E(() => {
147
288
  var c;
148
289
  const e = {
149
290
  error: "ai-blueking-icon ai-blueking-warning-circle-fill",
@@ -151,88 +292,95 @@ const Qe = { class: "message-content user" }, Ue = {
151
292
  success: ""
152
293
  };
153
294
  return (c = t.message) != null && c.status ? e[t.message.status] : "";
154
- }), d = q(() => t.message.content ? l.render(t.message.content) : ""), r = q(() => {
155
- const e = F(t.message.time), c = F();
295
+ }), i = E(() => t.message.content ? n.render(t.message.content) : ""), l = E(() => {
296
+ const e = se(t.message.time), c = se();
156
297
  return t.message.time ? c.isSame(e, "year") ? e.format("MM-DD HH:mm:ss") : e.format("YYYY-MM-DD HH:mm:ss") : "";
157
298
  });
158
- return (e, c) => (m(), v(
299
+ return (e, c) => (h(), g(
159
300
  "li",
160
301
  {
161
- class: Z([e.message.role, "message-main"])
302
+ class: $([e.message.role, "message-main"])
162
303
  },
163
304
  [
164
- e.message.role === h(he).User ? (m(), v(
165
- K,
166
- { key: 0 },
167
- [
168
- u("p", Qe, [
169
- r.value ? (m(), v(
170
- "span",
171
- Ue,
172
- P(r.value),
173
- 1
174
- /* TEXT */
175
- )) : z("v-if", !0),
176
- u("span", {
177
- class: "markdown-message",
178
- innerHTML: d.value
179
- }, null, 8, je)
180
- ]),
181
- u("span", Ge, [
182
- u("img", { src: e.userPhoto }, null, 8, Je)
183
- ])
184
- ],
185
- 64
186
- /* STABLE_FRAGMENT */
187
- )) : (m(), v(
188
- K,
189
- { key: 1 },
190
- [
191
- We,
192
- u("p", Ze, [
193
- r.value ? (m(), v(
194
- "span",
195
- Oe,
196
- P(r.value),
197
- 1
198
- /* TEXT */
199
- )) : z("v-if", !0),
200
- s.value ? (m(), v(
201
- "i",
202
- {
203
- key: 1,
204
- class: Z(s.value)
205
- },
206
- null,
207
- 2
208
- /* CLASS */
209
- )) : z("v-if", !0),
210
- e.message.status === h(O).Loading ? (m(), v("svg", Ne, _e)) : z("v-if", !0),
211
- e.message.status === h(O).Error ? (m(), v(
212
- "span",
213
- $e,
214
- P(e.message.content),
215
- 1
216
- /* TEXT */
217
- )) : (m(), v("span", {
218
- key: 4,
219
- innerHTML: d.value,
220
- class: Z({
221
- "markdown-message": !0,
222
- loading: e.message.status === h(O).Loading
223
- })
224
- }, null, 10, et))
225
- ])
226
- ],
227
- 64
228
- /* STABLE_FRAGMENT */
229
- ))
305
+ e.message.cite ? (h(), g("div", ot, [
306
+ T(we, {
307
+ text: e.message.cite
308
+ }, null, 8, ["text"])
309
+ ])) : z("v-if", !0),
310
+ d("div", st, [
311
+ e.message.role === r(Le).User ? (h(), g(
312
+ q,
313
+ { key: 0 },
314
+ [
315
+ d("p", nt, [
316
+ l.value ? (h(), g(
317
+ "span",
318
+ lt,
319
+ P(l.value),
320
+ 1
321
+ /* TEXT */
322
+ )) : z("v-if", !0),
323
+ d("span", {
324
+ class: "markdown-message",
325
+ innerHTML: i.value
326
+ }, null, 8, at)
327
+ ]),
328
+ d("span", it, [
329
+ d("img", { src: e.userPhoto }, null, 8, ct)
330
+ ])
331
+ ],
332
+ 64
333
+ /* STABLE_FRAGMENT */
334
+ )) : (h(), g(
335
+ q,
336
+ { key: 1 },
337
+ [
338
+ T(tt),
339
+ d("p", rt, [
340
+ l.value ? (h(), g(
341
+ "span",
342
+ dt,
343
+ P(l.value),
344
+ 1
345
+ /* TEXT */
346
+ )) : z("v-if", !0),
347
+ s.value ? (h(), g(
348
+ "i",
349
+ {
350
+ key: 1,
351
+ class: $(s.value)
352
+ },
353
+ null,
354
+ 2
355
+ /* CLASS */
356
+ )) : z("v-if", !0),
357
+ e.message.status === r(oe).Loading ? (h(), g("svg", ut, ht)) : z("v-if", !0),
358
+ e.message.status === r(oe).Error ? (h(), g(
359
+ "span",
360
+ mt,
361
+ P(e.message.content),
362
+ 1
363
+ /* TEXT */
364
+ )) : (h(), g("span", {
365
+ key: 4,
366
+ innerHTML: i.value,
367
+ class: $({
368
+ "markdown-message": !0,
369
+ loading: e.message.status === r(oe).Loading
370
+ })
371
+ }, null, 10, gt))
372
+ ])
373
+ ],
374
+ 64
375
+ /* STABLE_FRAGMENT */
376
+ ))
377
+ ])
230
378
  ],
231
379
  2
232
380
  /* CLASS */
233
381
  ));
234
382
  }
235
- }), ot = { class: "prompt-list" }, st = { class: "search-group" }, nt = ["onClick"], lt = { class: "prompt-content" }, at = /* @__PURE__ */ I({
383
+ }), ft = { class: "prompt-list" }, bt = { class: "search-group" }, yt = ["onClick"], kt = { class: "prompt-content" }, wt = /* @__PURE__ */ Y({
236
384
  __name: "render-send",
237
385
  props: {
238
386
  prompts: {},
@@ -240,49 +388,51 @@ const Qe = { class: "message-content user" }, Ue = {
240
388
  value: {}
241
389
  },
242
390
  emits: ["update:value", "enter", "choose-prompt"],
243
- setup(o, { emit: l }) {
244
- const t = o, s = l, d = we, r = te, e = Y(""), c = Y(40), a = Y(), S = Y(!1), B = q(() => {
245
- var g;
246
- return ((g = t.prompts) == null ? void 0 : g.filter((k) => k.content.includes(e.value))) || [];
247
- }), V = q(() => {
248
- var g;
249
- return t.placeholder ? t.placeholder : (g = t.prompts) != null && g.length ? b("您可以键入 “/” 查看更多Prompt") : b("请输入");
250
- }), H = (g) => {
251
- s("update:value", g);
252
- }, C = () => {
253
- var g;
254
- t.value === "/" && ((g = t.prompts) != null && g.length) ? $() : E();
391
+ setup(o, { emit: n }) {
392
+ const t = o, s = n, i = Te, l = ue, { selectedText: e, lockSelectedText: c } = pe(), u = x(""), k = x(40), R = x(), w = x(!1), C = E(() => {
393
+ var v;
394
+ return ((v = t.prompts) == null ? void 0 : v.filter((S) => S.content.includes(u.value))) || [];
395
+ }), L = E(() => {
396
+ var v;
397
+ return t.placeholder ? t.placeholder : (v = t.prompts) != null && v.length ? b("您可以键入 “/” 查看更多Prompt") : b("请输入");
398
+ }), B = (v) => {
399
+ s("update:value", v);
255
400
  }, p = () => {
256
- pe(() => {
257
- var k;
258
- const g = (k = a.value) == null ? void 0 : k.$el.querySelector("textarea");
259
- (g == null ? void 0 : g.scrollHeight) > 40 && t.value ? c.value = g.scrollHeight <= 300 ? g.scrollHeight : 300 : c.value = 40;
401
+ var v;
402
+ t.value === "/" && ((v = t.prompts) != null && v.length) ? f() : y();
403
+ }, H = () => {
404
+ ye(() => {
405
+ var S;
406
+ const v = (S = R.value) == null ? void 0 : S.$el.querySelector("textarea");
407
+ (v == null ? void 0 : v.scrollHeight) > 40 && t.value ? k.value = v.scrollHeight <= 300 ? v.scrollHeight : 300 : k.value = 40;
260
408
  });
261
- }, w = (g) => {
262
- s("update:value", g.content), s("choose-prompt", g), E(), f();
263
- }, i = (g, k) => {
264
- k.key === "Enter" && !k.shiftKey && (k.preventDefault(), s("enter"));
265
- }, y = () => {
266
- H("");
409
+ }, G = (v) => {
410
+ s("update:value", v.content), s("choose-prompt", v), y(), K();
411
+ }, J = (v, S) => {
412
+ S.key === "Enter" && !S.shiftKey && (S.preventDefault(), s("enter"));
413
+ }, Z = () => {
414
+ B("");
415
+ }, K = () => {
416
+ var S;
417
+ const v = (S = R.value) == null ? void 0 : S.$el.querySelector("textarea");
418
+ v == null || v.focus();
419
+ }, m = () => {
420
+ e.value && (c.value = !0);
267
421
  }, f = () => {
268
- var k;
269
- const g = (k = a.value) == null ? void 0 : k.$el.querySelector("textarea");
270
- g == null || g.focus();
271
- }, $ = () => {
272
- S.value = !0;
273
- }, E = () => {
274
- S.value = !1;
422
+ w.value = !0;
423
+ }, y = () => {
424
+ w.value = !1;
275
425
  };
276
- return ue(
426
+ return be(
277
427
  () => t.value,
278
428
  () => {
279
- p(), C();
429
+ H(), p();
280
430
  }
281
- ), oe(f), (g, k) => (m(), A(h(ke), {
431
+ ), ne(K), (v, S) => (h(), X(r(Be), {
282
432
  width: "calc(100% - 118px)",
283
433
  "ext-cls": "empty-padding",
284
434
  arrow: !1,
285
- "is-show": S.value,
435
+ "is-show": w.value,
286
436
  "popover-delay": 0,
287
437
  boundary: "parent",
288
438
  placement: "bottom",
@@ -290,36 +440,36 @@ const Qe = { class: "message-content user" }, Ue = {
290
440
  trigger: "manual"
291
441
  }, {
292
442
  content: W(() => {
293
- var U;
443
+ var te;
294
444
  return [
295
- u("div", null, [
296
- x((m(), v("section", ot, [
297
- T(h(re), {
445
+ d("div", null, [
446
+ A((h(), g("section", ft, [
447
+ T(r(he), {
298
448
  class: "input-search",
299
- modelValue: e.value,
300
- "onUpdate:modelValue": k[0] || (k[0] = (D) => e.value = D),
449
+ modelValue: u.value,
450
+ "onUpdate:modelValue": S[0] || (S[0] = (U) => u.value = U),
301
451
  behavior: "simplicity",
302
452
  clearable: ""
303
453
  }, null, 8, ["modelValue"]),
304
- u("section", st, [
305
- (m(!0), v(
306
- K,
454
+ d("section", bt, [
455
+ (h(!0), g(
456
+ q,
307
457
  null,
308
- ae(B.value, (D, ee) => x((m(), v("span", {
458
+ ce(C.value, (U, re) => A((h(), g("span", {
309
459
  class: "group-prompt",
310
- key: ee,
311
- onClick: (ie) => w(D)
460
+ key: re,
461
+ onClick: (a) => G(U)
312
462
  }, [
313
- u(
463
+ d(
314
464
  "span",
315
- lt,
316
- P(D.content),
465
+ kt,
466
+ P(U.content),
317
467
  1
318
468
  /* TEXT */
319
469
  )
320
- ], 8, nt)), [
321
- [h(r), {
322
- content: D.content,
470
+ ], 8, yt)), [
471
+ [r(l), {
472
+ content: U.content,
323
473
  placement: "right",
324
474
  theme: "light",
325
475
  width: 300,
@@ -329,7 +479,7 @@ const Qe = { class: "message-content user" }, Ue = {
329
479
  128
330
480
  /* KEYED_FRAGMENT */
331
481
  )),
332
- (U = B.value) != null && U.length ? z("v-if", !0) : (m(), A(h(Le), {
482
+ (te = C.value) != null && te.length ? z("v-if", !0) : (h(), X(r(He), {
333
483
  key: 0,
334
484
  class: "exception-wrap-item exception-part",
335
485
  scene: "part",
@@ -337,39 +487,40 @@ const Qe = { class: "message-content user" }, Ue = {
337
487
  }))
338
488
  ])
339
489
  ])), [
340
- [h(d), E]
490
+ [r(i), y]
341
491
  ])
342
492
  ])
343
493
  ];
344
494
  }),
345
495
  default: W(() => [
346
- u(
496
+ d(
347
497
  "section",
348
498
  {
349
- style: N({
350
- "--text-height": c.value + "px"
499
+ style: j({
500
+ "--text-height": k.value + "px"
351
501
  }),
352
502
  class: "send-prompt-container"
353
503
  },
354
504
  [
355
- T(h(re), {
505
+ T(r(he), {
356
506
  ref_key: "inputRef",
357
- ref: a,
507
+ ref: R,
358
508
  class: "send-prompt",
359
509
  autosize: !1,
360
510
  clearable: !0,
361
- "model-value": g.value,
511
+ "model-value": v.value,
362
512
  "native-attributes": { autofocus: "autofocus" },
363
- placeholder: V.value,
513
+ placeholder: L.value,
364
514
  row: "1",
365
515
  type: "textarea",
366
- onInput: H,
367
- onKeydown: i
516
+ onFocus: m,
517
+ onInput: B,
518
+ onKeydown: J
368
519
  }, null, 8, ["model-value", "placeholder"]),
369
- g.value ? (m(), A(h(Pe), {
520
+ v.value ? (h(), X(r(Ee), {
370
521
  key: 0,
371
522
  class: "show-clear-only-hover bk-input--clear-icon clear-icon",
372
- onClick: y
523
+ onClick: Z
373
524
  })) : z("v-if", !0)
374
525
  ],
375
526
  4
@@ -380,7 +531,42 @@ const Qe = { class: "message-content user" }, Ue = {
380
531
  /* STABLE */
381
532
  }, 8, ["is-show"]));
382
533
  }
383
- }), it = /* @__PURE__ */ Q(at, [["__scopeId", "data-v-86c8f9e2"]]), rt = (o) => (ne("data-v-fd57f18d"), o = o(), le(), o), ct = /* @__PURE__ */ rt(() => /* @__PURE__ */ u(
534
+ }), Lt = /* @__PURE__ */ I(wt, [["__scopeId", "data-v-3354f392"]]), St = { class: "ai-shortcuts" }, Mt = /* @__PURE__ */ Y({
535
+ __name: "render-shortcuts",
536
+ props: {
537
+ shortcuts: {}
538
+ },
539
+ emits: ["select"],
540
+ setup(o, { emit: n }) {
541
+ const t = n, s = (i) => {
542
+ t("select", i);
543
+ };
544
+ return (i, l) => (h(), g("ul", St, [
545
+ (h(!0), g(
546
+ q,
547
+ null,
548
+ ce(i.shortcuts, (e) => (h(), X(r(Pe), {
549
+ class: "ai-blueking-shortcut",
550
+ key: e.label,
551
+ theme: "info",
552
+ onClick: (c) => s(e)
553
+ }, {
554
+ default: W(() => [
555
+ ee(
556
+ P(e.label),
557
+ 1
558
+ /* TEXT */
559
+ )
560
+ ]),
561
+ _: 2
562
+ /* DYNAMIC */
563
+ }, 1032, ["onClick"]))),
564
+ 128
565
+ /* KEYED_FRAGMENT */
566
+ ))
567
+ ]));
568
+ }
569
+ }), zt = /* @__PURE__ */ I(Mt, [["__scopeId", "data-v-266e17ca"]]), Ct = (o) => (ae("data-v-fd57f18d"), o = o(), ie(), o), Bt = /* @__PURE__ */ Ct(() => /* @__PURE__ */ d(
384
570
  "svg",
385
571
  {
386
572
  width: "10",
@@ -389,45 +575,45 @@ const Qe = { class: "message-content user" }, Ue = {
389
575
  "aria-hidden": "true"
390
576
  },
391
577
  [
392
- /* @__PURE__ */ u("use", { "xlink:href": "#ai-blueking-tingzhi" })
578
+ /* @__PURE__ */ d("use", { "xlink:href": "#ai-blueking-tingzhi" })
393
579
  ],
394
580
  -1
395
581
  /* HOISTED */
396
- )), dt = /* @__PURE__ */ I({
582
+ )), Ht = /* @__PURE__ */ Y({
397
583
  __name: "render-stop",
398
584
  props: {
399
585
  isShow: { type: Boolean }
400
586
  },
401
587
  emits: ["stop"],
402
- setup(o, { emit: l }) {
403
- const t = l, s = () => {
588
+ setup(o, { emit: n }) {
589
+ const t = n, s = () => {
404
590
  t("stop");
405
591
  };
406
- return (d, r) => d.isShow ? (m(), v("span", {
592
+ return (i, l) => i.isShow ? (h(), g("span", {
407
593
  key: 0,
408
594
  class: "ai-blueking-render-stop",
409
595
  onClick: s
410
596
  }, [
411
- ct,
412
- _(
413
- " " + P(h(b)("终止生成")),
597
+ Bt,
598
+ ee(
599
+ " " + P(r(b)("终止生成")),
414
600
  1
415
601
  /* TEXT */
416
602
  )
417
603
  ])) : z("v-if", !0);
418
604
  }
419
- }), ut = /* @__PURE__ */ Q(dt, [["__scopeId", "data-v-fd57f18d"]]), pt = {
605
+ }), Tt = /* @__PURE__ */ I(Ht, [["__scopeId", "data-v-fd57f18d"]]), Pt = {
420
606
  key: 0,
421
607
  class: "time-wrapper"
422
- }, ht = { class: "time-message" }, mt = /* @__PURE__ */ I({
608
+ }, Rt = { class: "time-message" }, Vt = /* @__PURE__ */ Y({
423
609
  __name: "render-time",
424
610
  props: {
425
611
  message: {}
426
612
  },
427
613
  setup(o) {
428
- const l = o, t = q(() => {
614
+ const n = o, t = E(() => {
429
615
  var e;
430
- const s = F(l.message.time), d = F(), r = {
616
+ const s = se(n.message.time), i = se(), l = {
431
617
  0: b("日"),
432
618
  1: b("一"),
433
619
  2: b("二"),
@@ -436,41 +622,41 @@ const Qe = { class: "message-content user" }, Ue = {
436
622
  5: b("五"),
437
623
  6: b("六")
438
624
  };
439
- return !l.message.time || (e = window.showTimes) != null && e.some(
440
- (c) => Math.abs(s.diff(c, "minute")) < 10 && c !== l.message.time
441
- ) ? "" : (window.showTimes = [...window.showTimes || [], l.message.time], d.isSame(s, "day") ? s.format("HH:mm:ss") : d.subtract(1, "day").isSame(s, "week") ? b("昨天") + " " + s.format("HH:mm:ss") : d.isSame(s, "week") ? b("本周") + r[s.day()] + " " + s.format("HH:mm:ss") : d.subtract(1, "week").isSame(s, "week") ? b("上周") + r[s.day()] + " " + s.format("HH:mm:ss") : d.isSame(s, "year") ? s.format("MM-DD HH:mm:ss") : s.format("YYYY-MM-DD HH:mm:ss"));
625
+ return !n.message.time || (e = window.showTimes) != null && e.some(
626
+ (c) => Math.abs(s.diff(c, "minute")) < 10 && c !== n.message.time
627
+ ) ? "" : (window.showTimes = [...window.showTimes || [], n.message.time], i.isSame(s, "day") ? s.format("HH:mm:ss") : i.subtract(1, "day").isSame(s, "week") ? b("昨天") + " " + s.format("HH:mm:ss") : i.isSame(s, "week") ? b("本周") + l[s.day()] + " " + s.format("HH:mm:ss") : i.subtract(1, "week").isSame(s, "week") ? b("上周") + l[s.day()] + " " + s.format("HH:mm:ss") : i.isSame(s, "year") ? s.format("MM-DD HH:mm:ss") : s.format("YYYY-MM-DD HH:mm:ss"));
442
628
  });
443
- return (s, d) => t.value ? (m(), v("section", pt, [
444
- u(
629
+ return (s, i) => t.value ? (h(), g("section", Pt, [
630
+ d(
445
631
  "span",
446
- ht,
632
+ Rt,
447
633
  P(t.value),
448
634
  1
449
635
  /* TEXT */
450
636
  )
451
637
  ])) : z("v-if", !0);
452
638
  }
453
- }), gt = /* @__PURE__ */ Q(mt, [["__scopeId", "data-v-55c9a119"]]), me = (o) => (ne("data-v-94eaa276"), o = o(), le(), o), vt = {
639
+ }), Dt = /* @__PURE__ */ I(Vt, [["__scopeId", "data-v-55c9a119"]]), Se = (o) => (ae("data-v-830cceda"), o = o(), ie(), o), xt = {
454
640
  key: 0,
455
641
  width: "18",
456
642
  height: "18",
457
643
  class: "scroll-loading-icon",
458
644
  "aria-hidden": "true"
459
- }, ft = /* @__PURE__ */ me(() => /* @__PURE__ */ u(
645
+ }, Yt = /* @__PURE__ */ Se(() => /* @__PURE__ */ d(
460
646
  "use",
461
647
  { "xlink:href": "#ai-blueking-loading-2" },
462
648
  null,
463
649
  -1
464
650
  /* HOISTED */
465
- )), bt = [
466
- ft
467
- ], yt = { class: "ai-operation" }, kt = { class: "ai-operation-tools" }, Lt = { class: "ai-operation-input" }, wt = /* @__PURE__ */ me(() => /* @__PURE__ */ u(
651
+ )), It = [
652
+ Yt
653
+ ], At = { class: "ai-operation" }, Et = { class: "ai-operation-input-wrapper" }, Xt = { class: "ai-cite-tips" }, qt = { class: "ai-operation-input" }, Kt = /* @__PURE__ */ Se(() => /* @__PURE__ */ d(
468
654
  "i",
469
655
  { class: "ai-blueking-icon ai-blueking-fasong" },
470
656
  null,
471
657
  -1
472
658
  /* HOISTED */
473
- )), Mt = /* @__PURE__ */ I({
659
+ )), Ut = /* @__PURE__ */ Y({
474
660
  __name: "render-content",
475
661
  props: {
476
662
  messages: {},
@@ -484,94 +670,108 @@ const Qe = { class: "message-content user" }, Ue = {
484
670
  alert: {}
485
671
  },
486
672
  emits: ["ai-click", "send", "choose-prompt", "scroll-load", "stop"],
487
- setup(o, { expose: l, emit: t }) {
488
- const s = o, d = t, r = te, e = Y(""), c = () => {
489
- pe(() => {
490
- const i = document.querySelector(".ai-blueking-messages");
491
- i.scrollTop = i.scrollHeight;
673
+ setup(o, { expose: n, emit: t }) {
674
+ const s = o, i = t, l = ue, e = x(""), { selectedText: c, clearSelection: u } = pe(), { isShow: k } = ke(), R = Xe, w = () => {
675
+ ye(() => {
676
+ const m = document.querySelector(".ai-blueking-messages");
677
+ m.scrollTop = m.scrollHeight;
492
678
  });
493
- }, a = Ye((i) => {
679
+ }, C = Ue((m) => {
494
680
  if (s.scrollLoading || s.scrollLoadingEnd)
495
681
  return;
496
- i.target.scrollTop < 200 && d("scroll-load");
497
- }), S = () => {
682
+ m.target.scrollTop < 200 && i("scroll-load");
683
+ }), L = () => {
498
684
  if (e.value) {
499
685
  if (s.loading) {
500
- Se({ theme: "warning", message: b("内容正在执行中,请执行完成后再发送") });
686
+ me({ theme: "warning", message: b("内容正在执行中,请执行完成后再发送") });
501
687
  return;
502
688
  }
503
- d("send", e.value), e.value = "";
504
- }
505
- }, B = (i) => {
506
- d("choose-prompt", i);
507
- }, V = () => {
508
- d("stop");
509
- }, H = (i) => {
510
- const y = i.target;
511
- if (y != null && y.classList.contains("ai-blueking-angle-up")) {
512
- const f = y == null ? void 0 : y.parentElement;
513
- f != null && f.classList.contains("closed") ? f == null || f.classList.remove("closed") : f == null || f.classList.add("closed");
689
+ i("send", {
690
+ content: e.value,
691
+ cite: c.value
692
+ }), e.value = "", c.value = "";
514
693
  }
515
- y != null && y.classList.contains("ai-clickable") && d("ai-click", y.dataset.ai);
516
- }, C = () => {
517
- c(), document.addEventListener("click", H);
694
+ }, B = (m) => {
695
+ i("choose-prompt", m);
518
696
  }, p = () => {
697
+ i("stop");
698
+ }, H = (m) => {
699
+ const f = m.target;
700
+ if (f != null && f.classList.contains("ai-blueking-angle-up")) {
701
+ const y = f == null ? void 0 : f.parentElement;
702
+ y != null && y.classList.contains("closed") ? y == null || y.classList.remove("closed") : y == null || y.classList.add("closed");
703
+ }
704
+ f != null && f.classList.contains("ai-clickable") && i("ai-click", f.dataset.ai);
705
+ }, G = () => {
706
+ w(), document.addEventListener("click", H);
707
+ }, J = () => {
519
708
  window.showTimes = [], document.removeEventListener("click", H);
520
- }, w = (i) => {
521
- e.value = i;
709
+ }, Z = (m) => {
710
+ e.value = m;
711
+ }, K = (m) => {
712
+ const f = m.prompt.replace("{{ SELECTED_TEXT }}", c.value);
713
+ if (s.loading) {
714
+ me({ theme: "warning", message: b("内容正在执行中,请执行完成后再发送") });
715
+ return;
716
+ }
717
+ i("send", {
718
+ content: m.label,
719
+ cite: c.value,
720
+ prompt: f
721
+ }), c.value = "";
522
722
  };
523
- return ue(
723
+ return be(
524
724
  () => s.messages,
525
725
  () => {
526
- const i = document.querySelector(".ai-blueking-messages");
527
- (i == null ? void 0 : i.scrollTop) + (i == null ? void 0 : i.clientHeight) + 100 >= (i == null ? void 0 : i.scrollHeight) && c();
726
+ const m = document.querySelector(".ai-blueking-messages");
727
+ (m == null ? void 0 : m.scrollTop) + (m == null ? void 0 : m.clientHeight) + 100 >= (m == null ? void 0 : m.scrollHeight) && w();
528
728
  },
529
729
  {
530
730
  deep: !0
531
731
  }
532
- ), oe(C), se(p), l({
533
- setInputMessage: w
534
- }), (i, y) => (m(), v(
732
+ ), ne(G), le(J), n({
733
+ setInputMessage: Z
734
+ }), (m, f) => (h(), g(
535
735
  "section",
536
736
  {
537
- style: N({
538
- background: i.background
737
+ style: j({
738
+ background: m.background
539
739
  }),
540
740
  class: "ai-content"
541
741
  },
542
742
  [
543
- i.alert ? (m(), A(h(Me), {
743
+ m.alert ? (h(), X(r(Re), {
544
744
  key: 0,
545
- title: i.alert,
745
+ title: m.alert,
546
746
  theme: "warning",
547
747
  closable: ""
548
748
  }, null, 8, ["title"])) : z("v-if", !0),
549
- u(
749
+ d(
550
750
  "ul",
551
751
  {
552
752
  class: "ai-messages ai-blueking-messages",
553
- onScrollPassive: y[0] || (y[0] = //@ts-ignore
554
- (...f) => h(a) && h(a)(...f))
753
+ onScrollPassive: f[0] || (f[0] = //@ts-ignore
754
+ (...y) => r(C) && r(C)(...y))
555
755
  },
556
756
  [
557
- i.scrollLoading ? (m(), v("svg", vt, bt)) : z("v-if", !0),
558
- (m(!0), v(
559
- K,
757
+ m.scrollLoading ? (h(), g("svg", xt, It)) : z("v-if", !0),
758
+ (h(!0), g(
759
+ q,
560
760
  null,
561
- ae(i.messages, (f) => (m(), v(
562
- K,
761
+ ce(m.messages, (y) => (h(), g(
762
+ q,
563
763
  {
564
- key: f.content
764
+ key: y.content
565
765
  },
566
766
  [
567
- T(gt, {
767
+ T(Dt, {
568
768
  class: "render-message",
569
- message: f
769
+ message: y
570
770
  }, null, 8, ["message"]),
571
- T(tt, {
771
+ T(vt, {
572
772
  class: "render-message",
573
- message: f,
574
- "user-photo": i.userPhoto
773
+ message: y,
774
+ "user-photo": m.userPhoto
575
775
  }, null, 8, ["message", "user-photo"])
576
776
  ],
577
777
  64
@@ -584,45 +784,86 @@ const Qe = { class: "message-content user" }, Ue = {
584
784
  32
585
785
  /* NEED_HYDRATION */
586
786
  ),
587
- u("section", yt, [
588
- u("span", kt, [
589
- T(Ee),
590
- T(ut, {
591
- "is-show": i.loading,
592
- onStop: V
593
- }, null, 8, ["is-show"])
594
- ]),
595
- u("section", Lt, [
596
- T(it, {
597
- value: e.value,
598
- "onUpdate:value": y[1] || (y[1] = (f) => e.value = f),
599
- placeholder: i.placeholder,
600
- prompts: i.prompts,
601
- onChoosePrompt: B,
602
- onEnter: S
603
- }, null, 8, ["value", "placeholder", "prompts"]),
604
- x((m(), A(h(ze), {
605
- class: "ai-operation-button",
606
- disabled: i.loading || !e.value,
607
- size: "large",
608
- theme: "primary",
609
- onClick: S
610
- }, {
611
- default: W(() => [
612
- wt,
613
- _(
614
- " " + P(h(b)("发送")),
787
+ d("section", At, [
788
+ d(
789
+ "section",
790
+ {
791
+ class: "ai-operation-tools",
792
+ onMousedown: f[1] || (f[1] = D(() => {
793
+ }, ["prevent"]))
794
+ },
795
+ [
796
+ T(_e),
797
+ T(Tt, {
798
+ "is-show": m.loading,
799
+ onStop: p
800
+ }, null, 8, ["is-show"])
801
+ ],
802
+ 32
803
+ /* NEED_HYDRATION */
804
+ ),
805
+ d("section", Et, [
806
+ r(c) ? (h(), g(
807
+ "div",
808
+ {
809
+ key: 0,
810
+ class: $(["ai-cite-container", { "is-back-show": !r(k) }]),
811
+ onMousedown: f[2] || (f[2] = D(() => {
812
+ }, ["prevent"]))
813
+ },
814
+ [
815
+ T(we, {
816
+ "show-close-icon": !0,
817
+ text: r(c),
818
+ onClose: r(u)
819
+ }, null, 8, ["text", "onClose"]),
820
+ d(
821
+ "span",
822
+ Xt,
823
+ P(r(b)("想对选中的文本做什么")),
615
824
  1
616
825
  /* TEXT */
617
- )
618
- ]),
619
- _: 1
620
- /* STABLE */
621
- }, 8, ["disabled"])), [
622
- [h(r), {
623
- content: h(b)("内容正在执行中,请执行完成后再发送"),
624
- disabled: !i.loading
625
- }]
826
+ ),
827
+ T(zt, {
828
+ shortcuts: r(R),
829
+ onSelect: K
830
+ }, null, 8, ["shortcuts"])
831
+ ],
832
+ 34
833
+ /* CLASS, NEED_HYDRATION */
834
+ )) : z("v-if", !0),
835
+ d("section", qt, [
836
+ T(Lt, {
837
+ value: e.value,
838
+ "onUpdate:value": f[3] || (f[3] = (y) => e.value = y),
839
+ placeholder: m.placeholder,
840
+ prompts: m.prompts,
841
+ onChoosePrompt: B,
842
+ onEnter: L
843
+ }, null, 8, ["value", "placeholder", "prompts"]),
844
+ A((h(), X(r(Ve), {
845
+ class: "ai-operation-button",
846
+ disabled: m.loading || !e.value,
847
+ size: "large",
848
+ theme: "primary",
849
+ onClick: L
850
+ }, {
851
+ default: W(() => [
852
+ Kt,
853
+ ee(
854
+ " " + P(r(b)("发送")),
855
+ 1
856
+ /* TEXT */
857
+ )
858
+ ]),
859
+ _: 1
860
+ /* STABLE */
861
+ }, 8, ["disabled"])), [
862
+ [r(l), {
863
+ content: r(b)("内容正在执行中,请执行完成后再发送"),
864
+ disabled: !m.loading
865
+ }]
866
+ ])
626
867
  ])
627
868
  ])
628
869
  ])
@@ -631,7 +872,7 @@ const Qe = { class: "message-content user" }, Ue = {
631
872
  /* STYLE */
632
873
  ));
633
874
  }
634
- }), zt = /* @__PURE__ */ Q(Mt, [["__scopeId", "data-v-94eaa276"]]), St = { class: "ai-modal-header-icon" }, Ht = /* @__PURE__ */ I({
875
+ }), Qt = /* @__PURE__ */ I(Ut, [["__scopeId", "data-v-830cceda"]]), jt = { class: "ai-modal-header-icon" }, Wt = /* @__PURE__ */ Y({
635
876
  __name: "render-modal",
636
877
  props: {
637
878
  headBackground: { default: "linear-gradient(267deg, #2dd1f4 0%, #1482ff 95%)" },
@@ -657,8 +898,8 @@ const Qe = { class: "message-content user" }, Ue = {
657
898
  model: {}
658
899
  },
659
900
  emits: ["clear", "close", "choose-model"],
660
- setup(o, { emit: l }) {
661
- const t = o, s = l, d = te, r = {
901
+ setup(o, { emit: n }) {
902
+ const t = o, s = n, i = ue, l = {
662
903
  height: window.innerHeight,
663
904
  width: window.innerWidth
664
905
  }, e = {
@@ -667,114 +908,114 @@ const Qe = { class: "message-content user" }, Ue = {
667
908
  clientX: 0,
668
909
  clientY: 0
669
910
  }, c = () => {
670
- var L, M, j, G;
671
- const n = (J, fe) => J === void 0 ? fe : J;
911
+ var M, V, O, N;
912
+ const a = (F, Me) => F === void 0 ? Me : F;
672
913
  return {
673
- top: n((L = t.startPosition) == null ? void 0 : L.top, r.height - t.sizeLimit.height),
674
- bottom: n((M = t.startPosition) == null ? void 0 : M.bottom, 0),
675
- left: n((j = t.startPosition) == null ? void 0 : j.left, 0),
676
- right: n((G = t.startPosition) == null ? void 0 : G.right, r.width - t.sizeLimit.width)
914
+ top: a((M = t.startPosition) == null ? void 0 : M.top, l.height - t.sizeLimit.height),
915
+ bottom: a((V = t.startPosition) == null ? void 0 : V.bottom, 0),
916
+ left: a((O = t.startPosition) == null ? void 0 : O.left, 0),
917
+ right: a((N = t.startPosition) == null ? void 0 : N.right, l.width - t.sizeLimit.width)
677
918
  };
678
- }, a = Y(c()), S = q(() => a.value.top <= t.positionLimit.top && a.value.bottom <= t.positionLimit.bottom), B = (n) => {
679
- s("choose-model", n);
680
- }, V = (n) => {
681
- e.isMove = !0, e.type = "move", e.clientX = n.clientX, e.clientY = n.clientY;
682
- }, H = (n) => {
683
- e.isMove = !0, e.type = "rightDrag", e.clientX = n.clientX;
684
- }, C = (n) => {
685
- e.isMove = !0, e.type = "leftDrag", e.clientX = n.clientX;
686
- }, p = (n) => {
687
- e.isMove = !0, e.type = "topDrag", e.clientY = n.clientY;
688
- }, w = (n) => {
689
- e.isMove = !0, e.type = "bottomDrag", e.clientY = n.clientY;
690
- }, i = (n) => {
691
- e.isMove = !0, e.type = "topLeftDrag", e.clientY = n.clientY, e.clientX = n.clientX;
692
- }, y = (n) => {
693
- e.isMove = !0, e.type = "topRightDrag", e.clientY = n.clientY, e.clientX = n.clientX;
694
- }, f = (n) => {
695
- e.isMove = !0, e.type = "bottomLeftDrag", e.clientY = n.clientY, e.clientX = n.clientX;
696
- }, $ = (n) => {
697
- e.isMove = !0, e.type = "bottomRightDrag", e.clientY = n.clientY, e.clientX = n.clientX;
698
- }, E = () => {
919
+ }, u = x(c()), k = E(() => u.value.top <= t.positionLimit.top && u.value.bottom <= t.positionLimit.bottom), R = (a) => {
920
+ s("choose-model", a);
921
+ }, w = (a) => {
922
+ e.isMove = !0, e.type = "move", e.clientX = a.clientX, e.clientY = a.clientY;
923
+ }, C = (a) => {
924
+ e.isMove = !0, e.type = "rightDrag", e.clientX = a.clientX;
925
+ }, L = (a) => {
926
+ e.isMove = !0, e.type = "leftDrag", e.clientX = a.clientX;
927
+ }, B = (a) => {
928
+ e.isMove = !0, e.type = "topDrag", e.clientY = a.clientY;
929
+ }, p = (a) => {
930
+ e.isMove = !0, e.type = "bottomDrag", e.clientY = a.clientY;
931
+ }, H = (a) => {
932
+ e.isMove = !0, e.type = "topLeftDrag", e.clientY = a.clientY, e.clientX = a.clientX;
933
+ }, G = (a) => {
934
+ e.isMove = !0, e.type = "topRightDrag", e.clientY = a.clientY, e.clientX = a.clientX;
935
+ }, J = (a) => {
936
+ e.isMove = !0, e.type = "bottomLeftDrag", e.clientY = a.clientY, e.clientX = a.clientX;
937
+ }, Z = (a) => {
938
+ e.isMove = !0, e.type = "bottomRightDrag", e.clientY = a.clientY, e.clientX = a.clientX;
939
+ }, K = () => {
699
940
  e.isMove = !1;
700
- }, g = (n, L) => {
701
- ["move", "leftDrag"].includes(e.type) && (a.value.left += n), ["move", "rightDrag"].includes(e.type) && (a.value.right -= n), ["move", "topDrag"].includes(e.type) && (a.value.top += L), ["move", "bottomDrag"].includes(e.type) && (a.value.bottom -= L), ["topLeftDrag"].includes(e.type) && (a.value.left += n, a.value.top += L), ["topRightDrag"].includes(e.type) && (a.value.right -= n, a.value.top += L), ["bottomLeftDrag"].includes(e.type) && (a.value.left += n, a.value.bottom -= L), ["bottomRightDrag"].includes(e.type) && (a.value.right -= n, a.value.bottom -= L);
702
- }, k = (n, L) => {
703
- const { top: M, bottom: j, left: G, right: J } = a.value;
704
- (r.width - G - J < t.sizeLimit.width || G < t.positionLimit.left || J < t.positionLimit.right) && (["move", "leftDrag", "topLeftDrag", "bottomLeftDrag"].includes(e.type) && (a.value.left -= n), ["move", "rightDrag", "topRightDrag", "bottomRightDrag"].includes(e.type) && (a.value.right += n)), (r.height - M - j < t.sizeLimit.height || M < t.positionLimit.top || j < t.positionLimit.bottom) && (["move", "topDrag", "topRightDrag", "topLeftDrag"].includes(e.type) && (a.value.top -= L), ["move", "bottomDrag", "bottomLeftDrag", "bottomRightDrag"].includes(e.type) && (a.value.bottom += L));
705
- }, U = (n) => {
941
+ }, m = (a, M) => {
942
+ ["move", "leftDrag"].includes(e.type) && (u.value.left += a), ["move", "rightDrag"].includes(e.type) && (u.value.right -= a), ["move", "topDrag"].includes(e.type) && (u.value.top += M), ["move", "bottomDrag"].includes(e.type) && (u.value.bottom -= M), ["topLeftDrag"].includes(e.type) && (u.value.left += a, u.value.top += M), ["topRightDrag"].includes(e.type) && (u.value.right -= a, u.value.top += M), ["bottomLeftDrag"].includes(e.type) && (u.value.left += a, u.value.bottom -= M), ["bottomRightDrag"].includes(e.type) && (u.value.right -= a, u.value.bottom -= M);
943
+ }, f = (a, M) => {
944
+ const { top: V, bottom: O, left: N, right: F } = u.value;
945
+ (l.width - N - F < t.sizeLimit.width || N < t.positionLimit.left || F < t.positionLimit.right) && (["move", "leftDrag", "topLeftDrag", "bottomLeftDrag"].includes(e.type) && (u.value.left -= a), ["move", "rightDrag", "topRightDrag", "bottomRightDrag"].includes(e.type) && (u.value.right += a)), (l.height - V - O < t.sizeLimit.height || V < t.positionLimit.top || O < t.positionLimit.bottom) && (["move", "topDrag", "topRightDrag", "topLeftDrag"].includes(e.type) && (u.value.top -= M), ["move", "bottomDrag", "bottomLeftDrag", "bottomRightDrag"].includes(e.type) && (u.value.bottom += M));
946
+ }, y = (a) => {
706
947
  if (!e.isMove)
707
948
  return;
708
- n.preventDefault();
709
- const L = n.clientX - e.clientX, M = n.clientY - e.clientY;
710
- g(L, M), k(L, M), e.clientX = n.clientX, e.clientY = n.clientY;
711
- }, D = () => {
712
- r.height = window.innerHeight, r.width = window.innerWidth, a.value = c();
713
- }, ee = () => {
714
- a.value.top = t.positionLimit.top, a.value.bottom = t.positionLimit.bottom;
715
- }, ie = () => {
716
- a.value.top = r.height - t.sizeLimit.height, a.value.bottom = t.positionLimit.bottom;
717
- }, ge = () => {
949
+ a.preventDefault();
950
+ const M = a.clientX - e.clientX, V = a.clientY - e.clientY;
951
+ m(M, V), f(M, V), e.clientX = a.clientX, e.clientY = a.clientY;
952
+ }, v = () => {
953
+ l.height = window.innerHeight, l.width = window.innerWidth, u.value = c();
954
+ }, S = () => {
955
+ u.value.top = t.positionLimit.top, u.value.bottom = t.positionLimit.bottom;
956
+ }, te = () => {
957
+ u.value.top = l.height - t.sizeLimit.height, u.value.bottom = t.positionLimit.bottom;
958
+ }, U = () => {
718
959
  s("clear");
719
- }, ve = () => {
960
+ }, re = () => {
720
961
  s("close");
721
962
  };
722
- return Be(() => {
723
- window.addEventListener("mousemove", U, !0), window.addEventListener("mouseup", E), window.addEventListener("resize", D);
724
- }), se(() => {
725
- window.removeEventListener("mousemove", U, !0), window.removeEventListener("mouseup", E), window.removeEventListener("resize", D);
726
- }), (n, L) => (m(), v(
963
+ return xe(() => {
964
+ window.addEventListener("mousemove", y, !0), window.addEventListener("mouseup", K), window.addEventListener("resize", v);
965
+ }), le(() => {
966
+ window.removeEventListener("mousemove", y, !0), window.removeEventListener("mouseup", K), window.removeEventListener("resize", v);
967
+ }), (a, M) => (h(), g(
727
968
  "section",
728
969
  {
729
- style: N({
730
- top: a.value.top + "px",
731
- bottom: a.value.bottom + "px",
732
- left: a.value.left + "px",
733
- right: a.value.right + "px"
970
+ style: j({
971
+ top: u.value.top + "px",
972
+ bottom: u.value.bottom + "px",
973
+ left: u.value.left + "px",
974
+ right: u.value.right + "px"
734
975
  }),
735
976
  class: "ai-modal"
736
977
  },
737
978
  [
738
- u(
979
+ d(
739
980
  "header",
740
981
  {
741
- style: N({
742
- background: n.headBackground
982
+ style: j({
983
+ background: a.headBackground
743
984
  }),
744
985
  class: "ai-modal-header",
745
- onMousedown: R(V, ["stop"])
986
+ onMousedown: D(w, ["stop"])
746
987
  },
747
988
  [
748
- u("span", St, [
749
- u(
989
+ d("span", jt, [
990
+ d(
750
991
  "i",
751
992
  {
752
- class: Z(n.logo)
993
+ class: $(a.logo)
753
994
  },
754
995
  null,
755
996
  2
756
997
  /* CLASS */
757
998
  ),
758
- _(
759
- " " + P(n.name || h(b)("小鲸")) + " ",
999
+ ee(
1000
+ " " + P(a.name || r(b)("小鲸")) + " ",
760
1001
  1
761
1002
  /* TEXT */
762
1003
  ),
763
- n.models ? (m(), A(h(ce), {
1004
+ a.models ? (h(), X(r(ge), {
764
1005
  key: 0,
765
1006
  class: "ai-modal-header-models",
766
- "model-value": n.model,
1007
+ "model-value": a.model,
767
1008
  size: "small",
768
- onChange: B
1009
+ onChange: R
769
1010
  }, {
770
1011
  default: W(() => [
771
- (m(!0), v(
772
- K,
1012
+ (h(!0), g(
1013
+ q,
773
1014
  null,
774
- ae(n.models, (M) => (m(), A(h(ce).Option, {
775
- key: M.id,
776
- name: M.name,
777
- value: M.id
1015
+ ce(a.models, (V) => (h(), X(r(ge).Option, {
1016
+ key: V.id,
1017
+ name: V.name,
1018
+ value: V.id
778
1019
  }, null, 8, ["name", "value"]))),
779
1020
  128
780
1021
  /* KEYED_FRAGMENT */
@@ -784,65 +1025,65 @@ const Qe = { class: "message-content user" }, Ue = {
784
1025
  /* STABLE */
785
1026
  }, 8, ["model-value"])) : z("v-if", !0)
786
1027
  ]),
787
- u("span", null, [
788
- S.value ? x((m(), v(
1028
+ d("span", null, [
1029
+ k.value ? A((h(), g(
789
1030
  "i",
790
1031
  {
791
1032
  key: 0,
792
1033
  class: "ai-header-tool ai-blueking-icon ai-blueking-shangxiajuhe",
793
- onClick: ie
1034
+ onClick: te
794
1035
  },
795
1036
  null,
796
1037
  512
797
1038
  /* NEED_PATCH */
798
1039
  )), [
799
- [h(d), {
800
- content: h(b)("向下收缩"),
1040
+ [r(i), {
1041
+ content: r(b)("向下收缩"),
801
1042
  distance: 20
802
1043
  }]
803
- ]) : x((m(), v(
1044
+ ]) : A((h(), g(
804
1045
  "i",
805
1046
  {
806
1047
  key: 1,
807
1048
  class: "ai-header-tool ai-blueking-icon ai-blueking-shangxialashen-2",
808
- onClick: ee
1049
+ onClick: S
809
1050
  },
810
1051
  null,
811
1052
  512
812
1053
  /* NEED_PATCH */
813
1054
  )), [
814
- [h(d), {
815
- content: h(b)("向上扩展"),
1055
+ [r(i), {
1056
+ content: r(b)("向上扩展"),
816
1057
  distance: 20
817
1058
  }]
818
1059
  ]),
819
- x(u(
1060
+ A(d(
820
1061
  "i",
821
1062
  {
822
1063
  class: "ai-header-tool ai-blueking-icon ai-blueking-saoba",
823
- onClick: ge
1064
+ onClick: U
824
1065
  },
825
1066
  null,
826
1067
  512
827
1068
  /* NEED_PATCH */
828
1069
  ), [
829
- [h(d), {
830
- content: h(b)("清空聊天记录"),
1070
+ [r(i), {
1071
+ content: r(b)("清空聊天记录"),
831
1072
  distance: 20
832
1073
  }]
833
1074
  ]),
834
- x(u(
1075
+ A(d(
835
1076
  "i",
836
1077
  {
837
1078
  class: "ai-header-tool ai-blueking-icon ai-blueking-shanchu-2",
838
- onClick: ve
1079
+ onClick: re
839
1080
  },
840
1081
  null,
841
1082
  512
842
1083
  /* NEED_PATCH */
843
1084
  ), [
844
- [h(d), {
845
- content: h(b)("关闭"),
1085
+ [r(i), {
1086
+ content: r(b)("关闭"),
846
1087
  distance: 20
847
1088
  }]
848
1089
  ])
@@ -851,82 +1092,82 @@ const Qe = { class: "message-content user" }, Ue = {
851
1092
  36
852
1093
  /* STYLE, NEED_HYDRATION */
853
1094
  ),
854
- Ve(n.$slots, "default", {}, void 0, !0),
855
- u(
1095
+ Ye(a.$slots, "default", {}, void 0, !0),
1096
+ d(
856
1097
  "span",
857
1098
  {
858
1099
  class: "drag-line left",
859
- onMousedown: R(C, ["stop"])
1100
+ onMousedown: D(L, ["stop"])
860
1101
  },
861
1102
  null,
862
1103
  32
863
1104
  /* NEED_HYDRATION */
864
1105
  ),
865
- u(
1106
+ d(
866
1107
  "span",
867
1108
  {
868
1109
  class: "drag-line right",
869
- onMousedown: R(H, ["stop"])
1110
+ onMousedown: D(C, ["stop"])
870
1111
  },
871
1112
  null,
872
1113
  32
873
1114
  /* NEED_HYDRATION */
874
1115
  ),
875
- u(
1116
+ d(
876
1117
  "span",
877
1118
  {
878
1119
  class: "drag-line top",
879
- onMousedown: R(p, ["stop"])
1120
+ onMousedown: D(B, ["stop"])
880
1121
  },
881
1122
  null,
882
1123
  32
883
1124
  /* NEED_HYDRATION */
884
1125
  ),
885
- u(
1126
+ d(
886
1127
  "span",
887
1128
  {
888
1129
  class: "drag-line bottom",
889
- onMousedown: R(w, ["stop"])
1130
+ onMousedown: D(p, ["stop"])
890
1131
  },
891
1132
  null,
892
1133
  32
893
1134
  /* NEED_HYDRATION */
894
1135
  ),
895
- u(
1136
+ d(
896
1137
  "span",
897
1138
  {
898
1139
  class: "drag-line top-left-corner",
899
- onMousedown: R(i, ["stop"])
1140
+ onMousedown: D(H, ["stop"])
900
1141
  },
901
1142
  null,
902
1143
  32
903
1144
  /* NEED_HYDRATION */
904
1145
  ),
905
- u(
1146
+ d(
906
1147
  "span",
907
1148
  {
908
1149
  class: "drag-line top-right-corner",
909
- onMousedown: R(y, ["stop"])
1150
+ onMousedown: D(G, ["stop"])
910
1151
  },
911
1152
  null,
912
1153
  32
913
1154
  /* NEED_HYDRATION */
914
1155
  ),
915
- u(
1156
+ d(
916
1157
  "span",
917
1158
  {
918
1159
  class: "drag-line bottom-left-corner",
919
- onMousedown: R(f, ["stop"])
1160
+ onMousedown: D(J, ["stop"])
920
1161
  },
921
1162
  null,
922
1163
  32
923
1164
  /* NEED_HYDRATION */
924
1165
  ),
925
- u(
1166
+ d(
926
1167
  "span",
927
1168
  {
928
1169
  class: "drag-line bottom-right-corner",
929
- onMousedown: R($, ["stop"])
1170
+ onMousedown: D(Z, ["stop"])
930
1171
  },
931
1172
  null,
932
1173
  32
@@ -937,7 +1178,48 @@ const Qe = { class: "message-content user" }, Ue = {
937
1178
  /* STYLE */
938
1179
  ));
939
1180
  }
940
- }), Bt = /* @__PURE__ */ Q(Ht, [["__scopeId", "data-v-01d5a54a"]]), It = /* @__PURE__ */ I({
1181
+ }), Gt = /* @__PURE__ */ I(Wt, [["__scopeId", "data-v-01d5a54a"]]), Jt = (o) => (ae("data-v-d5e26041"), o = o(), ie(), o), Zt = /* @__PURE__ */ Jt(() => /* @__PURE__ */ d(
1182
+ "i",
1183
+ { class: "ai-blueking-icon ai-blueking-ai" },
1184
+ null,
1185
+ -1
1186
+ /* HOISTED */
1187
+ )), Ot = { class: "popup-text" }, Nt = /* @__PURE__ */ Y({
1188
+ __name: "render-popup",
1189
+ emits: ["click"],
1190
+ setup(o, { emit: n }) {
1191
+ const { isIconVisible: t, iconPosition: s } = pe(), i = n, l = () => {
1192
+ i("click"), t.value = !1;
1193
+ };
1194
+ return (e, c) => r(t) ? (h(), g(
1195
+ "div",
1196
+ {
1197
+ key: 0,
1198
+ style: j(r(s)),
1199
+ class: "ai-blueking-render-popup",
1200
+ onMousedown: c[0] || (c[0] = D(() => {
1201
+ }, ["prevent"]))
1202
+ },
1203
+ [
1204
+ d("div", {
1205
+ class: "popup-content",
1206
+ onClick: l
1207
+ }, [
1208
+ Zt,
1209
+ d(
1210
+ "span",
1211
+ Ot,
1212
+ P(r(b)("问小鲸")),
1213
+ 1
1214
+ /* TEXT */
1215
+ )
1216
+ ])
1217
+ ],
1218
+ 36
1219
+ /* STYLE, NEED_HYDRATION */
1220
+ )) : z("v-if", !0);
1221
+ }
1222
+ }), Ft = /* @__PURE__ */ I(Nt, [["__scopeId", "data-v-d5e26041"]]), ao = /* @__PURE__ */ Y({
941
1223
  __name: "ai-blueking",
942
1224
  props: {
943
1225
  messages: {},
@@ -956,68 +1238,82 @@ const Qe = { class: "message-content user" }, Ue = {
956
1238
  scrollLoadingEnd: { type: Boolean },
957
1239
  alert: {},
958
1240
  models: {},
959
- model: {}
1241
+ model: {},
1242
+ isShow: { type: Boolean }
960
1243
  },
961
- emits: ["clear", "close", "scroll-load", "stop", "ai-click", "send", "update:model", "choose-prompt"],
962
- setup(o, { expose: l, emit: t }) {
963
- const s = t, d = Y(), r = (p) => {
964
- var w;
965
- (w = d.value) == null || w.setInputMessage(p);
1244
+ emits: ["clear", "close", "scroll-load", "stop", "ai-click", "update:model", "choose-prompt", "send", "update:isShow"],
1245
+ setup(o, { expose: n, emit: t }) {
1246
+ const s = t, i = x(), l = (p) => {
1247
+ var H;
1248
+ (H = i.value) == null || H.setInputMessage(p);
966
1249
  }, e = () => {
967
- s("clear");
1250
+ s("update:isShow", !0);
968
1251
  }, c = () => {
969
- s("close");
970
- }, a = (p) => {
1252
+ s("clear");
1253
+ }, u = () => {
1254
+ s("update:isShow", !1), s("close");
1255
+ }, k = (p) => {
971
1256
  s("update:model", p);
972
- }, S = (p) => {
1257
+ }, R = (p) => {
973
1258
  s("send", p);
974
- }, B = () => {
1259
+ }, w = () => {
975
1260
  s("stop");
976
- }, V = () => {
1261
+ }, C = () => {
977
1262
  s("scroll-load");
978
- }, H = (p) => {
1263
+ }, L = (p) => {
979
1264
  s("ai-click", p);
980
- }, C = (p) => {
1265
+ }, B = (p) => {
981
1266
  s("choose-prompt", p);
982
1267
  };
983
- return l({
984
- setInputMessage: r
985
- }), (p, w) => (m(), A(Bt, {
986
- "head-background": p.headBackground,
987
- logo: p.logo,
988
- model: p.model,
989
- models: p.models,
990
- name: p.name,
991
- "position-limit": p.positionLimit,
992
- "size-limit": p.sizeLimit,
993
- "start-position": p.startPosition,
994
- onChooseModel: a,
995
- onClear: e,
996
- onClose: c
997
- }, {
998
- default: W(() => [
999
- T(zt, {
1000
- ref_key: "contentRef",
1001
- ref: d,
1002
- alert: p.alert,
1003
- background: p.background,
1004
- loading: p.loading,
1005
- messages: p.messages,
1006
- placeholder: p.placeholder,
1007
- prompts: p.prompts,
1008
- "scroll-loading": p.scrollLoading,
1009
- "scroll-loading-end": p.scrollLoadingEnd,
1010
- "user-photo": p.userPhoto,
1011
- onAiClick: H,
1012
- onChoosePrompt: C,
1013
- onScrollLoad: V,
1014
- onSend: S,
1015
- onStop: B
1016
- }, null, 8, ["alert", "background", "loading", "messages", "placeholder", "prompts", "scroll-loading", "scroll-loading-end", "user-photo"])
1017
- ]),
1018
- _: 1
1019
- /* STABLE */
1020
- }, 8, ["head-background", "logo", "model", "models", "name", "position-limit", "size-limit", "start-position"]));
1268
+ return n({
1269
+ setInputMessage: l
1270
+ }), (p, H) => (h(), g(
1271
+ q,
1272
+ null,
1273
+ [
1274
+ A(T(Gt, {
1275
+ "head-background": p.headBackground,
1276
+ logo: p.logo,
1277
+ model: p.model,
1278
+ models: p.models,
1279
+ name: p.name,
1280
+ "position-limit": p.positionLimit,
1281
+ "size-limit": p.sizeLimit,
1282
+ "start-position": p.startPosition,
1283
+ onChooseModel: k,
1284
+ onClear: c,
1285
+ onClose: u
1286
+ }, {
1287
+ default: W(() => [
1288
+ T(Qt, {
1289
+ ref_key: "contentRef",
1290
+ ref: i,
1291
+ alert: p.alert,
1292
+ background: p.background,
1293
+ loading: p.loading,
1294
+ messages: p.messages,
1295
+ placeholder: p.placeholder,
1296
+ prompts: p.prompts,
1297
+ "scroll-loading": p.scrollLoading,
1298
+ "scroll-loading-end": p.scrollLoadingEnd,
1299
+ "user-photo": p.userPhoto,
1300
+ onAiClick: L,
1301
+ onChoosePrompt: B,
1302
+ onScrollLoad: C,
1303
+ onSend: R,
1304
+ onStop: w
1305
+ }, null, 8, ["alert", "background", "loading", "messages", "placeholder", "prompts", "scroll-loading", "scroll-loading-end", "user-photo"])
1306
+ ]),
1307
+ _: 1
1308
+ /* STABLE */
1309
+ }, 8, ["head-background", "logo", "model", "models", "name", "position-limit", "size-limit", "start-position"]), [
1310
+ [fe, p.isShow]
1311
+ ]),
1312
+ T(Ft, { onClick: e })
1313
+ ],
1314
+ 64
1315
+ /* STABLE_FRAGMENT */
1316
+ ));
1021
1317
  }
1022
1318
  });
1023
1319
  (function() {
@@ -1026,63 +1322,63 @@ const Qe = { class: "message-content user" }, Ue = {
1026
1322
  document.body.insertAdjacentHTML("afterbegin", o);
1027
1323
  });
1028
1324
  })();
1029
- class Xt {
1030
- constructor(l, t, s, d, r) {
1031
- X(this, "controllerMap");
1032
- X(this, "handleEnd");
1033
- X(this, "handleError");
1034
- X(this, "handleReceiveMessage");
1035
- X(this, "handleStart");
1036
- X(this, "url");
1037
- this.url = l, this.handleStart = t, this.handleReceiveMessage = s, this.handleEnd = d, this.handleError = r, this.controllerMap = {};
1325
+ class io {
1326
+ constructor(n, t, s, i, l) {
1327
+ Q(this, "controllerMap");
1328
+ Q(this, "handleEnd");
1329
+ Q(this, "handleError");
1330
+ Q(this, "handleReceiveMessage");
1331
+ Q(this, "handleStart");
1332
+ Q(this, "url");
1333
+ this.url = n, this.handleStart = t, this.handleReceiveMessage = s, this.handleEnd = i, this.handleError = l, this.controllerMap = {};
1038
1334
  }
1039
- stop(l) {
1335
+ stop(n) {
1040
1336
  var t, s;
1041
- return (s = (t = this.controllerMap[l]) == null ? void 0 : t.abort) == null || s.call(t), this.handleEnd(l);
1337
+ return (s = (t = this.controllerMap[n]) == null ? void 0 : t.abort) == null || s.call(t), this.handleEnd(n);
1042
1338
  }
1043
- async stream(l, t, s) {
1044
- const d = new AbortController();
1045
- this.controllerMap[t] = d, fetch(this.url, {
1339
+ async stream(n, t, s) {
1340
+ const i = new AbortController();
1341
+ this.controllerMap[t] = i, fetch(this.url, {
1046
1342
  method: "post",
1047
- signal: d.signal,
1343
+ signal: i.signal,
1048
1344
  headers: {
1049
1345
  "Content-Type": "application/json",
1050
1346
  ...s
1051
1347
  },
1052
1348
  mode: "cors",
1053
1349
  credentials: "include",
1054
- body: JSON.stringify(l)
1055
- }).then(async (r) => {
1056
- const e = r.body.pipeThrough(new window.TextDecoderStream()).getReader();
1350
+ body: JSON.stringify(n)
1351
+ }).then(async (l) => {
1352
+ const e = l.body.pipeThrough(new window.TextDecoderStream()).getReader();
1057
1353
  for (; ; )
1058
1354
  try {
1059
- const { value: c, done: a } = await e.read();
1060
- if (!r.ok) {
1061
- this.handleError(c || r.statusText, r.status, t);
1355
+ const { value: c, done: u } = await e.read();
1356
+ if (!l.ok) {
1357
+ this.handleError(c || l.statusText, l.status, t);
1062
1358
  break;
1063
1359
  }
1064
- if (a) {
1360
+ if (u) {
1065
1361
  this.handleEnd(t);
1066
1362
  break;
1067
1363
  }
1068
1364
  c.toString().split(`
1069
- `).forEach((B) => {
1070
- const V = B.replace("data:", "").trim();
1071
- if (Te(V)) {
1072
- const { event: H, content: C, result: p, code: w, message: i } = JSON.parse(V);
1073
- if (p === !1 || r.status !== 200) {
1074
- this.handleError(i, w, t);
1365
+ `).forEach((R) => {
1366
+ const w = R.replace("data:", "").trim();
1367
+ if (Ke(w)) {
1368
+ const { event: C, content: L, result: B, code: p, message: H } = JSON.parse(w);
1369
+ if (B === !1 || l.status !== 200) {
1370
+ this.handleError(H, p, t);
1075
1371
  return;
1076
1372
  }
1077
- switch (H) {
1373
+ switch (C) {
1078
1374
  case "text":
1079
- this.handleReceiveMessage(C, t);
1375
+ this.handleReceiveMessage(L, t);
1080
1376
  break;
1081
1377
  case "done":
1082
1378
  this.handleEnd(t);
1083
1379
  break;
1084
1380
  case "error":
1085
- this.handleError(i, w, t);
1381
+ this.handleError(H, p, t);
1086
1382
  break;
1087
1383
  }
1088
1384
  }
@@ -1091,17 +1387,17 @@ class Xt {
1091
1387
  (c == null ? void 0 : c.code) !== 20 && this.handleError(c.message, c.code, t);
1092
1388
  break;
1093
1389
  }
1094
- }).catch((r) => {
1095
- (r == null ? void 0 : r.code) !== 20 && this.handleError(r.message, r.code, t);
1390
+ }).catch((l) => {
1391
+ (l == null ? void 0 : l.code) !== 20 && this.handleError(l.message, l.code, t);
1096
1392
  }), await this.handleStart(t);
1097
1393
  }
1098
1394
  }
1099
- He({
1395
+ De({
1100
1396
  prefix: "bk"
1101
1397
  });
1102
1398
  export {
1103
- Xt as ChatHelper,
1104
- O as MessageStatus,
1105
- he as RoleType,
1106
- It as default
1399
+ io as ChatHelper,
1400
+ oe as MessageStatus,
1401
+ Le as RoleType,
1402
+ ao as default
1107
1403
  };