@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.
- package/dist/components/chat-input/index.d.ts +2 -0
- package/dist/components/chat-input/index.js +19 -5
- package/dist/components/excel-components/ExcelSuccessCard.d.ts +1 -2
- package/dist/components/excel-components/ExcelSuccessCard.js +2 -2
- package/dist/components/file-upload/index.d.ts +1 -0
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/reasoning-search/index.d.ts +4 -0
- package/dist/components/reasoning-search/index.js +25 -0
- package/dist/components/reasoning-search/index.module.css +30 -0
- package/dist/components/templates/CommonChat.js +12 -1
- package/dist/hooks/useCommonChatAPI.d.ts +1 -1
- package/dist/hooks/useCommonChatAPI.js +5 -5
- package/dist/hooks/useFile.d.ts +1 -1
- package/dist/hooks/useFile.js +8 -1
- package/dist/store/slices/gimiMenuSlice.js +0 -1
- package/dist/types/chat.d.ts +2 -0
- package/dist/umd/index.min.js +1 -1
- package/package.json +1 -1
|
@@ -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(
|
|
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;
|
|
@@ -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
|
-
|
|
27
|
-
return
|
|
26
|
+
console.error(error);
|
|
27
|
+
return content;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
// 新天工数据格式
|
|
@@ -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,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
|
-
|
|
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 () {
|
|
@@ -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
|
-
|
|
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 && !
|
|
916
|
+
if (autoLoadConversation && !autoSendValue) {
|
|
917
917
|
getHeaderValue(conversationId);
|
|
918
918
|
getContentMessageList();
|
|
919
919
|
}
|
|
920
|
-
if (
|
|
920
|
+
if (autoSendValue) {
|
|
921
921
|
getHeaderValue(conversationId);
|
|
922
922
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
923
|
-
handleSend(
|
|
923
|
+
handleSend(autoSendValue);
|
|
924
924
|
}
|
|
925
925
|
}
|
|
926
|
-
}, [conversationId, autoLoadConversation,
|
|
926
|
+
}, [conversationId, autoLoadConversation, autoSendValue, handleSend, getContentMessageList, getHeaderValue]);
|
|
927
927
|
React.useEffect(function () {
|
|
928
928
|
var idAtEffectTime = conversationId;
|
|
929
929
|
return function () {
|
package/dist/hooks/useFile.d.ts
CHANGED
|
@@ -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;
|
package/dist/hooks/useFile.js
CHANGED
|
@@ -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
|
},
|
package/dist/types/chat.d.ts
CHANGED
|
@@ -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?: {
|