@myun/gimi-chat 0.0.7 → 0.0.9

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.
Files changed (89) hide show
  1. package/dist/apis/useApi.d.ts +2 -0
  2. package/dist/apis/useApi.js +50 -2
  3. package/dist/components/ai-chat-dialogue/index.js +135 -181
  4. package/dist/components/ai-correction/index.js +25 -38
  5. package/dist/components/ai-loading/index.js +8 -12
  6. package/dist/components/answer-item/index.d.ts +3 -0
  7. package/dist/components/answer-item/index.js +126 -135
  8. package/dist/components/ask-card/index.js +33 -42
  9. package/dist/components/chat-input/extension/index.d.ts +2 -0
  10. package/dist/components/chat-input/extension/index.js +2 -0
  11. package/dist/components/chat-input/extension/keydown/index.d.ts +3 -0
  12. package/dist/components/chat-input/extension/keydown/index.js +37 -0
  13. package/dist/components/chat-input/extension/title-slot/Component.d.ts +4 -0
  14. package/dist/components/chat-input/extension/title-slot/Component.js +18 -0
  15. package/dist/components/chat-input/extension/title-slot/index.d.ts +3 -0
  16. package/dist/components/chat-input/extension/title-slot/index.js +47 -0
  17. package/dist/components/chat-input/extension/title-slot/index.less +22 -0
  18. package/dist/components/chat-input/index.d.ts +4 -0
  19. package/dist/components/chat-input/index.js +144 -145
  20. package/dist/components/chat-input/index.module.css +7 -0
  21. package/dist/components/chat-voice/VoiceCommunication.js +21 -23
  22. package/dist/components/chat-voice/VoiceRecord.js +21 -24
  23. package/dist/components/conversation-delete/index.js +8 -10
  24. package/dist/components/dots-loading/index.js +7 -10
  25. package/dist/components/empty/index.js +7 -12
  26. package/dist/components/excel-components/ExcelCard.js +3 -7
  27. package/dist/components/excel-components/ExcelExcuting.js +43 -60
  28. package/dist/components/excel-components/ExcelFailCard.js +10 -15
  29. package/dist/components/excel-components/ExcelSuccessCard.d.ts +5 -1
  30. package/dist/components/excel-components/ExcelSuccessCard.js +13 -6
  31. package/dist/components/file-card/fileCardSidebar.js +17 -23
  32. package/dist/components/file-card/index.d.ts +3 -0
  33. package/dist/components/file-card/index.js +59 -69
  34. package/dist/components/file-card/index.module.css +1 -1
  35. package/dist/components/file-preview/index.js +62 -37
  36. package/dist/components/file-preview/index.module.css +33 -0
  37. package/dist/components/file-upload/index.js +7 -10
  38. package/dist/components/file-upload/uploadV1.js +27 -33
  39. package/dist/components/gimi-sidebar/index.js +13 -20
  40. package/dist/components/header/index.js +11 -18
  41. package/dist/components/iconfont-com/index.js +33 -12
  42. package/dist/components/index.d.ts +1 -1
  43. package/dist/components/index.js +1 -1
  44. package/dist/components/knowledge-trace/KnowledgeIconComponent.js +22 -28
  45. package/dist/components/knowledge-trace/classList.js +28 -37
  46. package/dist/components/knowledge-trace/documentList.js +27 -36
  47. package/dist/components/knowledge-trace/index.js +21 -28
  48. package/dist/components/knowledge-trace/videoList.js +36 -46
  49. package/dist/components/lottie-img/index.js +8 -10
  50. package/dist/components/message-actions/CopyButton.d.ts +1 -1
  51. package/dist/components/message-actions/CopyButton.js +22 -25
  52. package/dist/components/message-actions/LikeButton.js +22 -25
  53. package/dist/components/message-actions/RegenerateButton.js +18 -21
  54. package/dist/components/message-actions/UnLikeButton.js +22 -25
  55. package/dist/components/message-actions/VoicePlay.js +22 -25
  56. package/dist/components/message-list/index.js +83 -87
  57. package/dist/components/no-microphone-root/index.js +29 -39
  58. package/dist/components/preset-agent-content/index.d.ts +1 -0
  59. package/dist/components/preset-agent-content/index.js +27 -20
  60. package/dist/components/quoted-content/index.d.ts +3 -0
  61. package/dist/components/quoted-content/index.js +271 -163
  62. package/dist/components/quoted-content/index.module.css +20 -0
  63. package/dist/components/reasoning-content/index.d.ts +3 -2
  64. package/dist/components/reasoning-content/index.js +50 -61
  65. package/dist/components/reference-content/index.js +62 -71
  66. package/dist/components/reference-content/index.module.css +1 -0
  67. package/dist/components/search-result/index.d.ts +7 -0
  68. package/dist/components/search-result/index.js +182 -0
  69. package/dist/components/search-result/index.module.css +235 -0
  70. package/dist/components/templates/CommonChat.js +75 -79
  71. package/dist/components/templates/GimiChatComponent.js +6 -13
  72. package/dist/components/templates/demo/demo.js +109 -103
  73. package/dist/components/upload-list/index.js +41 -56
  74. package/dist/components/voice-bars/index.js +19 -22
  75. package/dist/components/voice-check-dialog/index.js +17 -24
  76. package/dist/components/voice-recording/index.js +42 -57
  77. package/dist/components/work-flow-content/demo.js +1 -2
  78. package/dist/components/work-flow-content/index.js +8 -11
  79. package/dist/hooks/useChatActions.d.ts +1 -1
  80. package/dist/hooks/useChatActions.js +3 -1
  81. package/dist/hooks/useCommonChatAPI.d.ts +2 -1
  82. package/dist/hooks/useCommonChatAPI.js +10 -8
  83. package/dist/hooks/useQuoted.d.ts +12 -0
  84. package/dist/hooks/useQuoted.js +202 -0
  85. package/dist/utils/aes.d.ts +21 -0
  86. package/dist/utils/aes.js +61 -0
  87. package/dist/utils/chatInputUtil.d.ts +1 -1
  88. package/dist/utils/chatInputUtil.js +4 -3
  89. package/package.json +6 -2
@@ -1,9 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
3
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
8
4
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
5
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -33,9 +29,10 @@ import UploadList from "../upload-list";
33
29
  import { FileStatus } from "../../interfaces/fileInterface";
34
30
  import LottieImg from "../lottie-img";
35
31
  import AIChatDialogue from "../ai-chat-dialogue";
36
- import { jsx as _jsx } from "react/jsx-runtime";
37
- import { Fragment as _Fragment } from "react/jsx-runtime";
38
- import { jsxs as _jsxs } from "react/jsx-runtime";
32
+ import { Keydown, TitleSlot } from "./extension";
33
+ import { aesEncrypt } from "../../utils/aes";
34
+ import QuotedContent from "../quoted-content";
35
+ import { ReferencesEdit } from "../reference-content";
39
36
  var extractText = function extractText() {
40
37
  var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
41
38
  return content.map(function (item) {
@@ -64,6 +61,12 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
64
61
  var messageList = useAppSelector(function (state) {
65
62
  return state.gimiMenu.messageList;
66
63
  });
64
+ var quoteProductList = useAppSelector(function (state) {
65
+ return state.gimiMenu.quoteProductList;
66
+ });
67
+ var quoteTeachModelList = useAppSelector(function (state) {
68
+ return state.gimiMenu.quoteTeachModelList;
69
+ });
67
70
  var dispatch = useAppDispatch();
68
71
  var inputWrapRef = React.useRef(null);
69
72
  var preInputValueRef = React.useRef('');
@@ -73,6 +76,8 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
73
76
  conversationIdRef.current = conversationId;
74
77
  var agentObjRef = React.useRef(agentObj);
75
78
  agentObjRef.current = agentObj;
79
+
80
+ // 语音聊天相关
76
81
  var _React$useState = React.useState(false),
77
82
  _React$useState2 = _slicedToArray(_React$useState, 2),
78
83
  showChatCommunication = _React$useState2[0],
@@ -129,7 +134,6 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
129
134
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
130
135
  var entry = _step.value;
131
136
  var width = entry.contentRect.width;
132
- console.log('width', width);
133
137
  setInputWidth(width);
134
138
  }
135
139
  } catch (err) {
@@ -165,31 +169,27 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
165
169
  if (!props.enableFileUpload || messageList.length > 0) {
166
170
  return null;
167
171
  }
168
- return /*#__PURE__*/_jsx(FileUpload, {
172
+ return /*#__PURE__*/React.createElement(FileUpload, {
169
173
  ref: uploadFileRef,
170
174
  accept: props.accept,
171
- disabled: props.disabled,
172
- children: /*#__PURE__*/_jsx(Tooltip, {
173
- content: '上传文件',
174
- children: (fileList === null || fileList === void 0 ? void 0 : fileList.length) === 0 ? /*#__PURE__*/_jsx("div", {
175
- className: styles.uploadIcon,
176
- children: /*#__PURE__*/_jsx("img", {
177
- src: 'https://simg01.gaodunwangxiao.com/uploadimgs/tmp/upload/202509/11/83ad4_20250911153220.png',
178
- alt: ""
179
- })
180
- }) : /*#__PURE__*/_jsx("div", {
181
- className: styles.uploadIcon,
182
- onClick: handleTip,
183
- children: /*#__PURE__*/_jsx("img", {
184
- src: 'https://simg01.gaodunwangxiao.com/uploadimgs/tmp/upload/202509/24/6726e_20250924141448.png',
185
- alt: ""
186
- })
187
- })
188
- })
189
- });
175
+ disabled: props.disabled
176
+ }, /*#__PURE__*/React.createElement(Tooltip, {
177
+ content: '上传文件'
178
+ }, (fileList === null || fileList === void 0 ? void 0 : fileList.length) === 0 ? /*#__PURE__*/React.createElement("div", {
179
+ className: styles.uploadIcon
180
+ }, /*#__PURE__*/React.createElement("img", {
181
+ src: 'https://simg01.gaodunwangxiao.com/uploadimgs/tmp/upload/202509/11/83ad4_20250911153220.png',
182
+ alt: ""
183
+ })) : /*#__PURE__*/React.createElement("div", {
184
+ className: styles.uploadIcon,
185
+ onClick: handleTip
186
+ }, /*#__PURE__*/React.createElement("img", {
187
+ src: 'https://simg01.gaodunwangxiao.com/uploadimgs/tmp/upload/202509/24/6726e_20250924141448.png',
188
+ alt: ""
189
+ }))));
190
190
  }, [props.enableFileUpload, messageList]);
191
191
  var openChatCommunication = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
192
- var params, res;
192
+ var params, res, _props$onConversation;
193
193
  return _regeneratorRuntime().wrap(function _callee$(_context) {
194
194
  while (1) switch (_context.prev = _context.next) {
195
195
  case 0:
@@ -235,6 +235,7 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
235
235
  res = _context.sent;
236
236
  if (res && res.status === 0) {
237
237
  dispatch(setConversationId(res.result));
238
+ (_props$onConversation = props.onConversationCreated) === null || _props$onConversation === void 0 || _props$onConversation.call(props, res.result);
238
239
  setShowChatCommunication(true);
239
240
  } else {
240
241
  Toast.error(res.message);
@@ -249,7 +250,7 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
249
250
  _context.next = 26;
250
251
  break;
251
252
  case 25:
252
- // 不是gimi首页,直接打开会话
253
+ // 直接打开会话
253
254
  setShowChatCommunication(true);
254
255
  case 26:
255
256
  case "end":
@@ -280,57 +281,51 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
280
281
  if (!props.enableVoiceChat && !props.enableVoiceRecord) {
281
282
  return null;
282
283
  }
283
- return /*#__PURE__*/_jsx(VoiceCheckDialog, {
284
- trigger: /*#__PURE__*/_jsxs(_Fragment, {
285
- children: [props.enableVoiceChat && ((_agentObjRef$current = agentObjRef.current) === null || _agentObjRef$current === void 0 ? void 0 : _agentObjRef$current.isEnableVoiceCall) === 1 && /*#__PURE__*/_jsx(VoiceCommunication, {
286
- disabled: props.disabled || props.disableVoiceCommunication || props.isVoiceGetting || isMsgRecieving,
287
- onClick: openChatCommunication
288
- }), props.enableVoiceRecord && /*#__PURE__*/_jsx(VoiceRecord, {
289
- onClick: props.shortAsrClick,
290
- disabled: props.disabled || isMsgRecieving || props.isVoiceGetting
291
- })]
292
- })
284
+ return /*#__PURE__*/React.createElement(VoiceCheckDialog, {
285
+ trigger: /*#__PURE__*/React.createElement(React.Fragment, null, props.enableVoiceChat && ((_agentObjRef$current = agentObjRef.current) === null || _agentObjRef$current === void 0 ? void 0 : _agentObjRef$current.isEnableVoiceCall) === 1 && /*#__PURE__*/React.createElement(VoiceCommunication, {
286
+ disabled: props.disabled || props.disableVoiceCommunication || props.isVoiceGetting || isMsgRecieving,
287
+ onClick: openChatCommunication
288
+ }), props.enableVoiceRecord && /*#__PURE__*/React.createElement(VoiceRecord, {
289
+ onClick: props.shortAsrClick,
290
+ disabled: props.disabled || isMsgRecieving || props.isVoiceGetting
291
+ }))
293
292
  });
294
293
  }, [props.enableVoiceChat, props.enableVoiceRecord, props.disabled, props.disableVoiceCommunication, props.isVoiceGetting, isMsgRecieving, openChatCommunication, props.shortAsrClick]);
295
294
  var renderActionArea = React.useCallback(function (renderProps) {
296
- return /*#__PURE__*/_jsxs("div", {
295
+ return /*#__PURE__*/React.createElement("div", {
297
296
  className: renderProps.className,
298
- children: [/*#__PURE__*/_jsxs("div", {
299
- style: {
300
- display: 'flex',
301
- alignItems: 'center'
302
- },
303
- children: [VoiceTools, UploadFileTool, /*#__PURE__*/_jsx(Divider, {
304
- layout: "vertical",
305
- style: {
306
- marginLeft: 8
307
- }
308
- })]
309
- }), renderProps.menuItem]
310
- }, 'action_area');
297
+ key: "action_area"
298
+ }, /*#__PURE__*/React.createElement("div", {
299
+ style: {
300
+ display: 'flex',
301
+ alignItems: 'center'
302
+ }
303
+ }, props.enableSourceQuote && /*#__PURE__*/React.createElement(QuotedContent, null), VoiceTools, UploadFileTool, /*#__PURE__*/React.createElement(Divider, {
304
+ layout: "vertical",
305
+ style: {
306
+ marginLeft: 8
307
+ }
308
+ })), renderProps.menuItem);
311
309
  }, [VoiceTools, UploadFileTool]);
312
310
  var onMessageSend = React.useCallback(function (content) {
313
- var _props$onSend;
311
+ var _props$onBeforeSend, _props$onSend;
314
312
  var inputContents = content.inputContents || [];
315
313
  var text = extractText(inputContents);
314
+ (_props$onBeforeSend = props.onBeforeSend) === null || _props$onBeforeSend === void 0 || _props$onBeforeSend.call(props, text);
316
315
  (_props$onSend = props.onSend) === null || _props$onSend === void 0 || _props$onSend.call(props, text);
317
316
  }, []);
318
317
  var renderConfigureArea = React.useCallback(function () {
319
- return /*#__PURE__*/_jsx(Tooltip, {
318
+ return /*#__PURE__*/React.createElement(Tooltip, {
320
319
  trigger: 'click',
321
- content: "\u7CFB\u7EDF\u667A\u80FD\u5207\u6362\u601D\u8003\u6A21\u5F0F",
322
- children: /*#__PURE__*/_jsxs("div", {
323
- className: styles.deepthink,
324
- children: [/*#__PURE__*/_jsx("img", {
325
- width: 14,
326
- src: deepThinkActive,
327
- className: styles.imgs,
328
- alt: ""
329
- }), /*#__PURE__*/_jsx("span", {
330
- children: "\u6DF1\u5EA6\u601D\u8003:\xA0\xA0\u81EA\u52A8"
331
- })]
332
- })
333
- });
320
+ content: "\u7CFB\u7EDF\u667A\u80FD\u5207\u6362\u601D\u8003\u6A21\u5F0F"
321
+ }, /*#__PURE__*/React.createElement("div", {
322
+ className: styles.deepthink
323
+ }, /*#__PURE__*/React.createElement("img", {
324
+ width: 14,
325
+ src: deepThinkActive,
326
+ className: styles.imgs,
327
+ alt: ""
328
+ }), /*#__PURE__*/React.createElement("span", null, "\u6DF1\u5EA6\u601D\u8003:\xA0\xA0\u81EA\u52A8")));
334
329
  }, []);
335
330
  var stopSSe = function stopSSe() {
336
331
  if (uploadFileRef.current) {
@@ -358,41 +353,47 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
358
353
  }
359
354
  };
360
355
  var renderReference = React.useCallback(function () {
361
- return /*#__PURE__*/_jsxs("div", {
356
+ return /*#__PURE__*/React.createElement("div", {
362
357
  className: styles.reference,
363
- children: [!props.isRecording && (fileList === null || fileList === void 0 ? void 0 : fileList.length) > 0 && messageList.length === 0 && /*#__PURE__*/_jsx(UploadList, {
364
- file: fileList[0],
365
- handleReTry: handleReTry,
366
- handleDelFile: handleDelFile
367
- }), props.isVoiceGetting && /*#__PURE__*/_jsxs("div", {
368
- style: {
369
- display: 'flex',
370
- alignItems: 'start',
371
- height: '60px'
372
- },
373
- children: [/*#__PURE__*/_jsx(LottieImg, {
374
- name: "aiLoading",
375
- size: [20, 40]
376
- }), /*#__PURE__*/_jsx("span", {
377
- style: {
378
- flex: 1
379
- },
380
- children: "\u6B63\u5728\u83B7\u53D6\u8BED\u97F3\u5185\u5BB9..."
381
- })]
382
- })]
383
- }, 'reference');
384
- }, [fileList, props.isRecording, props.isVoiceGetting, messageList]);
358
+ key: "reference"
359
+ }, !props.isRecording && (fileList === null || fileList === void 0 ? void 0 : fileList.length) > 0 && messageList.length === 0 && /*#__PURE__*/React.createElement(UploadList, {
360
+ file: fileList[0],
361
+ handleReTry: handleReTry,
362
+ handleDelFile: handleDelFile
363
+ }), ((quoteTeachModelList === null || quoteTeachModelList === void 0 ? void 0 : quoteTeachModelList.length) > 0 || (quoteProductList === null || quoteProductList === void 0 ? void 0 : quoteProductList.length) > 0) && !props.isRecording && /*#__PURE__*/React.createElement("div", {
364
+ className: styles.references
365
+ }, /*#__PURE__*/React.createElement(ReferencesEdit, {
366
+ quoteProductList: quoteProductList,
367
+ quoteTeachModelList: quoteTeachModelList
368
+ })), props.isVoiceGetting && /*#__PURE__*/React.createElement("div", {
369
+ style: {
370
+ display: 'flex',
371
+ alignItems: 'start',
372
+ height: '60px'
373
+ }
374
+ }, /*#__PURE__*/React.createElement(LottieImg, {
375
+ name: "aiLoading",
376
+ size: [20, 40]
377
+ }), /*#__PURE__*/React.createElement("span", {
378
+ style: {
379
+ flex: 1
380
+ }
381
+ }, "\u6B63\u5728\u83B7\u53D6\u8BED\u97F3\u5185\u5BB9...")));
382
+ }, [fileList, props.isRecording, props.isVoiceGetting, messageList, quoteProductList, quoteTeachModelList]);
385
383
  var handleHangUp = function handleHangUp() {
386
384
  var _props$onHistoryReloa;
385
+ var pathname = window.location.pathname;
386
+ if (pathname === '/gimi' || pathname.startsWith('/gimi/flow')) {
387
+ var aesId = aesEncrypt("".concat(conversationId));
388
+ window.location.href = "/gimi/chat/".concat(aesId);
389
+ return;
390
+ }
387
391
  (_props$onHistoryReloa = props.onHistoryReload) === null || _props$onHistoryReloa === void 0 || _props$onHistoryReloa.call(props);
388
392
  };
389
-
390
- // const showDefaultPrompt = messageList.length === 0
391
-
392
393
  React.useEffect(function () {
393
394
  if (messageList.length === 0 && !conversationIdRef.current) {
394
395
  var _inputRef$current7;
395
- var defaultContent = transformToInputSlots(props.defaultPrompt || '');
396
+ var defaultContent = transformToInputSlots(props.defaultPrompt || '', props.titleSlot || '');
396
397
  (_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 || _inputRef$current7.setContent(defaultContent);
397
398
  setHasContent(!!props.defaultPrompt);
398
399
  preInputValueRef.current = props.defaultPrompt || '';
@@ -401,54 +402,52 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
401
402
  (_inputRef$current8 = inputRef.current) === null || _inputRef$current8 === void 0 || _inputRef$current8.setContent('');
402
403
  setHasContent(false);
403
404
  }
404
- }, [props.defaultPrompt, messageList.length]);
405
- return /*#__PURE__*/_jsxs("div", {
405
+ }, [props.defaultPrompt, messageList.length, props.titleSlot]);
406
+ return /*#__PURE__*/React.createElement("div", {
406
407
  className: styles.inputWrap,
407
- ref: inputWrapRef,
408
- children: [props.isRecording ? /*#__PURE__*/_jsx(VoiceRecording, {
409
- recordingCount: props.recordingCount,
410
- stopRecording: stopRecording,
411
- containerWidth: inputWidth
412
- }) : /*#__PURE__*/_jsx(AIChatInput, _objectSpread(_objectSpread({}, props), {}, {
413
- ref: inputRef,
414
- style: {
415
- width: '100%'
416
- },
417
- placeholder: props.placeholder || '',
418
- references: [{
419
- type: 'text',
420
- id: '123'
421
- }],
422
- defaultContent: props.showDefaultPrompt ? transformToInputSlots(props.defaultPrompt || '') : '',
423
- onContentChange: onContentChange
424
- // 输入框底部右侧操作区域
425
- ,
426
- renderActionArea: renderActionArea
427
- // 输入框底部左侧操作区域
428
- ,
429
- renderConfigureArea: renderConfigureArea
430
- // 自定义引用区域
431
- ,
432
- renderReference: renderReference,
433
- onStopGenerate: props.onInterrupt
434
- // 上传文件配置开始
435
- ,
436
- showUploadButton: false,
437
- showUploadFile: false
438
- // 上传文件配置结束
439
- ,
440
- canSend: !props.disabled && hasContent,
441
- onMessageSend: onMessageSend,
442
- generating: isMsgRecieving
443
- })), showChatCommunication && /*#__PURE__*/_jsx(AIChatDialogue, {
444
- paper: {
445
- enableCaptions: false,
446
- conversationId: conversationId,
447
- botId: agentObj.botId
448
- },
449
- setSpeech: setShowChatCommunication,
450
- handleHangUp: handleHangUp
451
- })]
452
- });
408
+ ref: inputWrapRef
409
+ }, props.isRecording ? /*#__PURE__*/React.createElement(VoiceRecording, {
410
+ recordingCount: props.recordingCount,
411
+ stopRecording: stopRecording,
412
+ containerWidth: inputWidth
413
+ }) : /*#__PURE__*/React.createElement(AIChatInput, _extends({
414
+ ref: inputRef,
415
+ className: styles.chatInput,
416
+ placeholder: props.placeholder || '',
417
+ references: [{
418
+ type: 'text',
419
+ id: '123'
420
+ }],
421
+ defaultContent: props.showDefaultPrompt || props.titleSlot ? transformToInputSlots(props.defaultPrompt || '', props.titleSlot || '') : '',
422
+ onContentChange: onContentChange
423
+ // 输入框底部右侧操作区域
424
+ ,
425
+ renderActionArea: renderActionArea
426
+ // 输入框底部左侧操作区域
427
+ ,
428
+ renderConfigureArea: renderConfigureArea
429
+ // 自定义引用区域
430
+ ,
431
+ renderReference: renderReference,
432
+ onStopGenerate: props.onInterrupt
433
+ // 上传文件配置开始
434
+ ,
435
+ showUploadButton: false,
436
+ showUploadFile: false
437
+ // 上传文件配置结束
438
+ ,
439
+ canSend: !props.disabled && hasContent,
440
+ onMessageSend: onMessageSend,
441
+ generating: isMsgRecieving,
442
+ extensions: [TitleSlot, Keydown]
443
+ }, props)), showChatCommunication && /*#__PURE__*/React.createElement(AIChatDialogue, {
444
+ paper: {
445
+ enableCaptions: false,
446
+ conversationId: conversationId,
447
+ botId: agentObj.botId
448
+ },
449
+ setSpeech: setShowChatCommunication,
450
+ handleHangUp: handleHangUp
451
+ }));
453
452
  });
454
453
  export default ChatInput;
@@ -39,4 +39,11 @@
39
39
  width: 100%;
40
40
  height: 100%;
41
41
  object-fit: cover;
42
+ }
43
+
44
+ .chatInput {
45
+ width: 100%;
46
+ box-shadow: inset 0 2px #fff, 0 2px 10px rgba(84, 105, 140, 0.15);
47
+ margin: 10px;
48
+ padding: 16px;
42
49
  }
@@ -7,7 +7,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import React from 'react';
8
8
  import { Toast, Tooltip } from '@douyinfe/semi-ui';
9
9
  // import useVoiceFirstUse from '@/hooks/useVoiceFirstUse';
10
- import { jsx as _jsx } from "react/jsx-runtime";
10
+
11
11
  var ICON_ADDRESS = 'https://simg01.gaodunwangxiao.com/uploadimgs/tmp/upload/202601/12/0812c_20260112171004.png';
12
12
  var VoiceCommunication = function VoiceCommunication(props) {
13
13
  var _React$useState = React.useState(false),
@@ -40,32 +40,30 @@ var VoiceCommunication = function VoiceCommunication(props) {
40
40
  }
41
41
  props.onClick();
42
42
  };
43
- return /*#__PURE__*/_jsx(Tooltip, {
43
+ return /*#__PURE__*/React.createElement(Tooltip, {
44
44
  content: '语音通话',
45
45
  visible: showToast,
46
46
  onVisibleChange: function onVisibleChange(isVisible) {
47
47
  return setShowToast(isVisible);
48
+ }
49
+ }, /*#__PURE__*/React.createElement("div", {
50
+ style: {
51
+ display: 'flex',
52
+ alignItems: 'center',
53
+ justifyContent: 'center',
54
+ width: '32px',
55
+ height: '32px',
56
+ cursor: props.disabled ? 'not-allowed' : 'pointer',
57
+ fontSize: '20px'
58
+ },
59
+ onClick: handleClick
60
+ }, /*#__PURE__*/React.createElement("img", {
61
+ style: {
62
+ width: '32px',
63
+ height: '32px'
48
64
  },
49
- children: /*#__PURE__*/_jsx("div", {
50
- style: {
51
- display: 'flex',
52
- alignItems: 'center',
53
- justifyContent: 'center',
54
- width: '32px',
55
- height: '32px',
56
- cursor: props.disabled ? 'not-allowed' : 'pointer',
57
- fontSize: '20px'
58
- },
59
- onClick: handleClick,
60
- children: /*#__PURE__*/_jsx("img", {
61
- style: {
62
- width: '32px',
63
- height: '32px'
64
- },
65
- src: ICON_ADDRESS,
66
- alt: "\u8BED\u97F3\u901A\u8BDD"
67
- })
68
- })
69
- });
65
+ src: ICON_ADDRESS,
66
+ alt: "\u8BED\u97F3\u901A\u8BDD"
67
+ })));
70
68
  };
71
69
  export default VoiceCommunication;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { Tooltip, Toast } from '@douyinfe/semi-ui';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
3
  var ICON_ADDRESS = 'https://simg01.gaodunwangxiao.com/uploadimgs/tmp/upload/202601/04/be8de_20260104155638.png';
5
4
  var VoiceRecord = function VoiceRecord(props) {
6
5
  var handleClick = function handleClick() {
@@ -10,28 +9,26 @@ var VoiceRecord = function VoiceRecord(props) {
10
9
  }
11
10
  props.onClick();
12
11
  };
13
- return /*#__PURE__*/_jsx(Tooltip, {
14
- content: '语音输入',
15
- children: /*#__PURE__*/_jsx("div", {
16
- style: {
17
- display: 'flex',
18
- alignItems: 'center',
19
- justifyContent: 'center',
20
- width: '32px',
21
- height: '32px',
22
- cursor: props.disabled ? 'not-allowed' : 'pointer',
23
- fontSize: '20px'
24
- },
25
- onClick: handleClick,
26
- children: /*#__PURE__*/_jsx("img", {
27
- style: {
28
- width: '32px',
29
- height: '32px'
30
- },
31
- src: ICON_ADDRESS,
32
- alt: "\u8BED\u97F3\u8F93\u5165"
33
- })
34
- })
35
- });
12
+ return /*#__PURE__*/React.createElement(Tooltip, {
13
+ content: '语音输入'
14
+ }, /*#__PURE__*/React.createElement("div", {
15
+ style: {
16
+ display: 'flex',
17
+ alignItems: 'center',
18
+ justifyContent: 'center',
19
+ width: '32px',
20
+ height: '32px',
21
+ cursor: props.disabled ? 'not-allowed' : 'pointer',
22
+ fontSize: '20px'
23
+ },
24
+ onClick: handleClick
25
+ }, /*#__PURE__*/React.createElement("img", {
26
+ style: {
27
+ width: '32px',
28
+ height: '32px'
29
+ },
30
+ src: ICON_ADDRESS,
31
+ alt: "\u8BED\u97F3\u8F93\u5165"
32
+ })));
36
33
  };
37
34
  export default VoiceRecord;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Popconfirm, Button } from '@douyinfe/semi-ui';
3
3
  import { IconDeleteStroked } from '@douyinfe/semi-icons';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
4
  var ConversationDelete = function ConversationDelete(_ref) {
6
5
  var onDelete = _ref.onDelete;
7
6
  var onConfirm = function onConfirm() {
@@ -10,17 +9,16 @@ var ConversationDelete = function ConversationDelete(_ref) {
10
9
  var onCancel = function onCancel() {
11
10
  // 取消删除
12
11
  };
13
- return /*#__PURE__*/_jsx(Popconfirm, {
12
+ return /*#__PURE__*/React.createElement(Popconfirm, {
14
13
  title: "\u786E\u5B9A\u662F\u5426\u8981\u5220\u9664\u4F1A\u8BDD\uFF1F",
15
14
  content: "\u6B64\u64CD\u4F5C\u5C06\u4E0D\u53EF\u9006",
16
15
  onConfirm: onConfirm,
17
- onCancel: onCancel,
18
- children: /*#__PURE__*/_jsx(Button, {
19
- icon: /*#__PURE__*/_jsx(IconDeleteStroked, {
20
- size: "large"
21
- }),
22
- theme: "borderless"
23
- })
24
- });
16
+ onCancel: onCancel
17
+ }, /*#__PURE__*/React.createElement(Button, {
18
+ icon: /*#__PURE__*/React.createElement(IconDeleteStroked, {
19
+ size: "large"
20
+ }),
21
+ theme: "borderless"
22
+ }));
25
23
  };
26
24
  export default ConversationDelete;
@@ -1,14 +1,11 @@
1
1
  import styles from "./index.module.css";
2
2
  import React from 'react';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- import { jsxs as _jsxs } from "react/jsx-runtime";
5
3
  export default function LoadingDots() {
6
- return /*#__PURE__*/_jsxs("div", {
7
- className: styles.loading_dots,
8
- children: [/*#__PURE__*/_jsx("div", {
9
- className: styles.loading_dots__dot
10
- }), /*#__PURE__*/_jsx("div", {
11
- className: styles.loading_dots__dot
12
- })]
13
- });
4
+ return /*#__PURE__*/React.createElement("div", {
5
+ className: styles.loading_dots
6
+ }, /*#__PURE__*/React.createElement("div", {
7
+ className: styles.loading_dots__dot
8
+ }), /*#__PURE__*/React.createElement("div", {
9
+ className: styles.loading_dots__dot
10
+ }));
14
11
  }
@@ -13,8 +13,6 @@ import EmptyImg from "../../assets/image/empty-img.png";
13
13
  import EmptyImgDark from "../../assets/image/empty-img-dark.png";
14
14
  import classNames from 'classnames';
15
15
  import React from 'react';
16
- import { jsx as _jsx } from "react/jsx-runtime";
17
- import { jsxs as _jsxs } from "react/jsx-runtime";
18
16
  var EmptyShow = function EmptyShow(_ref) {
19
17
  var style = _ref.style,
20
18
  _ref$imgStyle = _ref.imgStyle,
@@ -22,16 +20,13 @@ var EmptyShow = function EmptyShow(_ref) {
22
20
  title = _ref.title,
23
21
  _ref$dark = _ref.dark,
24
22
  dark = _ref$dark === void 0 ? false : _ref$dark;
25
- return /*#__PURE__*/_jsxs("div", {
23
+ return /*#__PURE__*/React.createElement("div", {
26
24
  className: classNames(styles.emptyShow, _defineProperty({}, styles.dark, dark)),
27
- style: style,
28
- children: [/*#__PURE__*/_jsx("img", {
29
- src: dark ? EmptyImgDark : EmptyImg,
30
- style: imgStyle,
31
- alt: ""
32
- }), /*#__PURE__*/_jsx("p", {
33
- children: title || '暂无内容'
34
- })]
35
- });
25
+ style: style
26
+ }, /*#__PURE__*/React.createElement("img", {
27
+ src: dark ? EmptyImgDark : EmptyImg,
28
+ style: imgStyle,
29
+ alt: ""
30
+ }), /*#__PURE__*/React.createElement("p", null, title || '暂无内容'));
36
31
  };
37
32
  export default EmptyShow;