@myun/gimi-chat 0.4.4 → 0.4.6

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,4 +1,5 @@
1
1
  import React from "react";
2
+ import type { FileItem } from "../../types/file";
2
3
  export interface ChatInputRef {
3
4
  getValue: () => string;
4
5
  setValue: (value: string) => void;
@@ -38,6 +39,7 @@ interface IAIInputProps {
38
39
  type?: string;
39
40
  duration: number;
40
41
  };
42
+ onFileUploaded?: (file: FileItem) => void;
41
43
  }
42
44
  declare const ChatInput: React.ForwardRefExoticComponent<IAIInputProps & React.RefAttributes<ChatInputRef>>;
43
45
  export default ChatInput;
@@ -1,6 +1,11 @@
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
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); }
3
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; }
4
+ 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; }
5
+ 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; }
6
+ 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; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
+ 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); }
4
9
  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); } }
5
10
  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); }); }; }
6
11
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
@@ -66,6 +71,9 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
66
71
  var quoteTeachModelList = useAppSelector(function (state) {
67
72
  return state.gimiMenu.quoteTeachModelList;
68
73
  });
74
+ var bussinessParams = useAppSelector(function (state) {
75
+ return state.gimiMenu.bussinessParams;
76
+ });
69
77
  var dispatch = useAppDispatch();
70
78
  var inputWrapRef = React.useRef(null);
71
79
  var preInputValueRef = React.useRef('');
@@ -85,12 +93,17 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
85
93
  _React$useState4 = _slicedToArray(_React$useState3, 2),
86
94
  inputWidth = _React$useState4[0],
87
95
  setInputWidth = _React$useState4[1];
88
- var _React$useState5 = React.useState(!!props.defaultPrompt),
96
+ var _React$useState5 = React.useState(false),
89
97
  _React$useState6 = _slicedToArray(_React$useState5, 2),
90
98
  hasContent = _React$useState6[0],
91
99
  setHasContent = _React$useState6[1];
92
100
  var _useApi = useApi(),
93
101
  createRoomId = _useApi.createRoomId;
102
+ React.useEffect(function () {
103
+ var _props$defaultPrompt;
104
+ if (!props.defaultPrompt) return;
105
+ setHasContent(((_props$defaultPrompt = props.defaultPrompt) === null || _props$defaultPrompt === void 0 ? void 0 : _props$defaultPrompt.trim().length) > 0);
106
+ }, [props.defaultPrompt]);
94
107
  React.useImperativeHandle(ref, function () {
95
108
  return {
96
109
  getValue: function getValue() {
@@ -171,7 +184,8 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
171
184
  return /*#__PURE__*/React.createElement(FileUpload, {
172
185
  ref: uploadFileRef,
173
186
  accept: props.accept,
174
- disabled: props.disabled || (fileList === null || fileList === void 0 ? void 0 : fileList.length) > 0
187
+ disabled: props.disabled || (fileList === null || fileList === void 0 ? void 0 : fileList.length) > 0,
188
+ onFileUploaded: props.onFileUploaded
175
189
  }, /*#__PURE__*/React.createElement(Tooltip, {
176
190
  content: '上传文件'
177
191
  }, (fileList === null || fileList === void 0 ? void 0 : fileList.length) === 0 ? /*#__PURE__*/React.createElement("div", {
@@ -221,13 +235,13 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
221
235
  _context.next = 25;
222
236
  break;
223
237
  }
224
- params = {
238
+ params = _objectSpread({
225
239
  content: '新对话',
226
240
  conversationType: agentObjRef.current.conversationType,
227
241
  botId: agentObjRef.current.botId,
228
242
  isSystemAuto: 1,
229
243
  preview: props.platform === 'preview' ? 1 : 0
230
- };
244
+ }, bussinessParams);
231
245
  _context.prev = 13;
232
246
  _context.next = 16;
233
247
  return createRoomId(params);
@@ -263,7 +277,7 @@ var ChatInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
263
277
  return _context.stop();
264
278
  }
265
279
  }, _callee, null, [[2, 7], [13, 20]]);
266
- })), [dispatch, isMsgRecieving, props]);
280
+ })), [dispatch, isMsgRecieving, props, bussinessParams]);
267
281
  var stopRecording = React.useCallback( /*#__PURE__*/function () {
268
282
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(enableInput) {
269
283
  var _props$shortAsrClick;
@@ -1,9 +1,8 @@
1
- import React from "react";
2
1
  declare const ExcelSuccessCard: ({ value }: {
3
2
  value: {
4
3
  content: any;
5
4
  onDownloadCallback?: () => void;
6
5
  model: 'fullscreen' | 'sidebar';
7
6
  };
8
- }) => React.JSX.Element | null;
7
+ }) => any;
9
8
  export default ExcelSuccessCard;
@@ -23,8 +23,8 @@ var ExcelSuccessCard = function ExcelSuccessCard(_ref) {
23
23
  try {
24
24
  skillDetail = typeof content === 'string' ? JSON.parse(content) : content;
25
25
  } catch (error) {
26
- // console.error(error);
27
- return null;
26
+ console.error(error);
27
+ return content;
28
28
  }
29
29
 
30
30
  // 新天工数据格式
@@ -6,6 +6,7 @@ interface IProps {
6
6
  accept?: string[];
7
7
  disabled?: boolean;
8
8
  children?: React.ReactNode;
9
+ onFileUploaded?: (file: FileItem) => void;
9
10
  }
10
11
  export interface IFileUploadRef {
11
12
  abortUpload: () => void;
@@ -41,7 +41,7 @@ var FileUpload = /*#__PURE__*/React.forwardRef(function (props, ref) {
41
41
  return s.gimiMenu.token;
42
42
  });
43
43
  var uploadUrl = "https://".concat(baseUrl, "/mfilesvc/agentMessage/uploadFile");
44
- var _useGimiFileUpload = useGimiFileUpload(),
44
+ var _useGimiFileUpload = useGimiFileUpload(props.onFileUploaded),
45
45
  handleSSEFileAnalyize = _useGimiFileUpload.handleSSEFileAnalyize,
46
46
  fileUploadAbortRef = _useGimiFileUpload.fileUploadAbortRef;
47
47
 
@@ -0,0 +1,4 @@
1
+ declare const ReasoningSearch: ({ value }: {
2
+ value: any;
3
+ }) => any;
4
+ export default ReasoningSearch;
@@ -0,0 +1,25 @@
1
+ import styles from "./index.module.css";
2
+ import React from 'react';
3
+ import { IconSearchStroked, IconChevronRightStroked } from '@douyinfe/semi-icons';
4
+ var ReasoningSearch = function ReasoningSearch(_ref) {
5
+ var value = _ref.value;
6
+ var searchResult = {};
7
+ try {
8
+ searchResult = typeof value === 'string' ? JSON.parse(value) : value;
9
+ } catch (error) {
10
+ console.error(error);
11
+ return searchResult;
12
+ }
13
+ var openSidebar = function openSidebar() {};
14
+ return /*#__PURE__*/React.createElement("div", {
15
+ className: styles.search_button,
16
+ onClick: openSidebar
17
+ }, /*#__PURE__*/React.createElement(IconSearchStroked, {
18
+ className: styles.icon
19
+ }), /*#__PURE__*/React.createElement("span", {
20
+ className: styles.summary
21
+ }, searchResult.summary || '搜索结果'), /*#__PURE__*/React.createElement(IconChevronRightStroked, {
22
+ className: styles.icon
23
+ }));
24
+ };
25
+ export default ReasoningSearch;
@@ -0,0 +1,30 @@
1
+ .search_button {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 10px;
5
+ border: 1px solid rgb(217, 220, 229);
6
+ border-radius: 8px;
7
+ width: fit-content;
8
+ max-width: 360px;
9
+ padding: 0 10px;
10
+ height: 36px;
11
+ }
12
+ .search_button:hover {
13
+ cursor: pointer;
14
+ }
15
+ .search_button .summary {
16
+ font-family: PingFang SC;
17
+ font-weight: 400;
18
+ font-size: 14px;
19
+ line-height: 14px;
20
+ letter-spacing: 0px;
21
+ color: rgb(46, 57, 76);
22
+ overflow: hidden;
23
+ text-overflow: ellipsis;
24
+ white-space: nowrap;
25
+ min-width: 0;
26
+ }
27
+ .search_button .icon {
28
+ color: rgb(46, 57, 76);
29
+ flex-shrink: 0;
30
+ }
@@ -55,6 +55,12 @@ var CommonChat = /*#__PURE__*/React.forwardRef(function (props, ref) {
55
55
  var agentObj = useAppSelector(function (state) {
56
56
  return state.gimiMenu.agentObj;
57
57
  });
58
+ var storedBaseUrl = useAppSelector(function (state) {
59
+ return state.gimiMenu.baseUrl;
60
+ });
61
+ var storedToken = useAppSelector(function (state) {
62
+ return state.gimiMenu.token;
63
+ });
58
64
  var chatUI = useChatUI();
59
65
  var _useChatVoice = useChatVoice(),
60
66
  isRecording = _useChatVoice.isRecording,
@@ -76,7 +82,7 @@ var CommonChat = /*#__PURE__*/React.forwardRef(function (props, ref) {
76
82
  resetKey: props.resetKey,
77
83
  interruptKey: props.interruptKey,
78
84
  chatInputConfig: chatInputConfig,
79
- initSendValue: props.initSendValue,
85
+ autoSendValue: props.autoSendValue,
80
86
  initAttachments: props.initAttachments
81
87
  };
82
88
  }, [containerRef, platform, stopTTSByText, isPlaying, agentId, props]);
@@ -163,6 +169,11 @@ var CommonChat = /*#__PURE__*/React.forwardRef(function (props, ref) {
163
169
  }
164
170
  handleSend(val, agent, isSystemAuto);
165
171
  }, [handleSend, startConversationAndChat]);
172
+ React.useEffect(function () {
173
+ if (props.initSendValue && storedBaseUrl && storedToken) {
174
+ handleInputSend(props.initSendValue);
175
+ }
176
+ }, [props.initSendValue, handleInputSend, storedBaseUrl, storedToken]);
166
177
 
167
178
  // 输入框开头Agent名称
168
179
  var showTitleSlot = React.useMemo(function () {
@@ -11,7 +11,7 @@ interface IHookProps {
11
11
  resetKey?: string;
12
12
  interruptKey?: string;
13
13
  chatInputConfig?: IAIInputProps;
14
- initSendValue?: string;
14
+ autoSendValue?: string;
15
15
  initAttachments?: FileItem[];
16
16
  }
17
17
  declare const useCommonChatAPI: (props: IHookProps) => {
@@ -42,7 +42,7 @@ var useCommonChatAPI = function useCommonChatAPI(props) {
42
42
  resetKey = props.resetKey,
43
43
  interruptKey = props.interruptKey,
44
44
  chatInputConfig = props.chatInputConfig,
45
- initSendValue = props.initSendValue,
45
+ autoSendValue = props.autoSendValue,
46
46
  initAttachments = props.initAttachments;
47
47
  var _useApi = useApi(),
48
48
  getMessageTitle = _useApi.getMessageTitle,
@@ -913,17 +913,17 @@ var useCommonChatAPI = function useCommonChatAPI(props) {
913
913
  // 清空当前会话的消息列表
914
914
  messageListRef.current = [];
915
915
  // 如果有初始化发送值,不自动加载历史消息,而是直接发送初始化发送值
916
- if (autoLoadConversation && !initSendValue) {
916
+ if (autoLoadConversation && !autoSendValue) {
917
917
  getHeaderValue(conversationId);
918
918
  getContentMessageList();
919
919
  }
920
- if (initSendValue) {
920
+ if (autoSendValue) {
921
921
  getHeaderValue(conversationId);
922
922
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
923
- handleSend(initSendValue);
923
+ handleSend(autoSendValue);
924
924
  }
925
925
  }
926
- }, [conversationId, autoLoadConversation, initSendValue, handleSend, getContentMessageList, getHeaderValue]);
926
+ }, [conversationId, autoLoadConversation, autoSendValue, handleSend, getContentMessageList, getHeaderValue]);
927
927
  React.useEffect(function () {
928
928
  var idAtEffectTime = conversationId;
929
929
  return function () {
@@ -6,7 +6,7 @@ export declare const retryWithExponentialBackoff: <T>(fn: () => Promise<T>, opti
6
6
  factor: number;
7
7
  onRetry?: ((attempt: number) => void) | undefined;
8
8
  }) => Promise<T | undefined>;
9
- export declare const useGimiFileUpload: () => {
9
+ export declare const useGimiFileUpload: (onFileUploaded?: ((file: FileItem) => void) | undefined) => {
10
10
  fileUploadAbortRef: import("react").MutableRefObject<AbortController | null>;
11
11
  handleSSEFileAnalyize: (file: FileItem, autoRetry?: boolean) => void;
12
12
  fileUpload: (file: any, autoRetry?: boolean) => void;
@@ -82,7 +82,7 @@ var parseStrToObj = function parseStrToObj(value) {
82
82
  }
83
83
  return result;
84
84
  };
85
- export var useGimiFileUpload = function useGimiFileUpload() {
85
+ export var useGimiFileUpload = function useGimiFileUpload(onFileUploaded) {
86
86
  var abortControllerRef = useRef(null);
87
87
  var token = useSelector(function (state) {
88
88
  return state.gimiMenu.token;
@@ -155,6 +155,13 @@ export var useGimiFileUpload = function useGimiFileUpload() {
155
155
  dispatch(setFileList({
156
156
  fileList: newFileList
157
157
  }));
158
+ // 解析成功后调用回调函数
159
+ if (onFileUploaded && data.statusCode === 'Success') {
160
+ onFileUploaded(_objectSpread(_objectSpread({}, file), {}, {
161
+ status: data.statusCode === 'Success' ? FileStatus.ANALYSE_SUCCESS : FileStatus.PADDING,
162
+ content: data.statusCode === 'Success' ? data.mdContent : ''
163
+ }));
164
+ }
158
165
  if (data.statusCode === 'Success') {
159
166
  resolve();
160
167
  }
@@ -124,7 +124,6 @@ var gimiMenuSlice = createSlice({
124
124
  },
125
125
  setConversationId: function setConversationId(state, action) {
126
126
  var conversationId = action.payload.conversationId;
127
- console.log('setConversationId', conversationId);
128
127
  localStorage.setItem('historyConversationId', conversationId ? conversationId + '' : '');
129
128
  state.conversationId = conversationId;
130
129
  },
@@ -41,6 +41,7 @@ export interface IAIInputProps {
41
41
  onConversationCreated?: (conversationId: number) => void;
42
42
  onSendEnd?: (message: IChatMessageItem) => void;
43
43
  onMicHangUp?: () => void;
44
+ onFileUploaded?: (file: FileItem) => void;
44
45
  enableVoiceRecord?: boolean;
45
46
  enableVoiceChat?: boolean;
46
47
  enableFileUpload?: boolean;
@@ -114,6 +115,7 @@ export interface CommonChatProps {
114
115
  baseUrl?: string;
115
116
  token?: string;
116
117
  showHeader?: boolean;
118
+ autoSendValue?: string;
117
119
  initSendValue?: string;
118
120
  initAttachments?: FileItem[];
119
121
  initQuoteSource?: {