@saber2pr/ai-assistant 0.0.6 → 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.
- package/lib/chat.js +1 -1
- package/lib/components/MarkdownText/index.js +1 -1
- package/lib/components/MyRuntimeProvider/index.js +1 -1
- package/lib/components/MyRuntimeProvider/myModelAdapterStream.js +2 -2
- package/lib/components/Thread/index.style.d.ts +6 -4
- package/lib/components/Thread/index.style.js +2 -2
- package/lib/components/ThreadList/index.js +19 -23
- package/package.json +6 -4
package/lib/chat.js
CHANGED
|
@@ -189,7 +189,7 @@ var MyAppContent = function (_a) {
|
|
|
189
189
|
react_1.default.createElement(antd_1.Drawer, { title: react_1.default.createElement(chat_style_1.DrawerTitle, null,
|
|
190
190
|
react_1.default.createElement("span", null, t('assistantTitle')),
|
|
191
191
|
!loading && engine && (react_1.default.createElement(react_2.ThreadListPrimitive.New, { asChild: true },
|
|
192
|
-
react_1.default.createElement(antd_1.Button, { type: "text", icon: react_1.default.createElement(icons_1.PlusOutlined, null), onClick: function () { return setActiveTab('chat'); } }, t('newChat'))))), placement: "right", onClose: onClose,
|
|
192
|
+
react_1.default.createElement(antd_1.Button, { type: "text", icon: react_1.default.createElement(icons_1.PlusOutlined, null), onClick: function () { return setActiveTab('chat'); } }, t('newChat'))))), placement: "right", onClose: onClose, open: open, width: 600, bodyStyle: { padding: '0 16px', display: 'flex', flexDirection: 'column' } },
|
|
193
193
|
loading || !engine ? (react_1.default.createElement(chat_style_1.LoadingContainer, null,
|
|
194
194
|
react_1.default.createElement(antd_1.Progress, { type: "circle", percent: loadingProgress, strokeColor: {
|
|
195
195
|
'0%': '#108ee9',
|
|
@@ -7,7 +7,7 @@ exports.MyRuntimeProvider = MyRuntimeProvider;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var react_2 = require("@assistant-ui/react");
|
|
9
9
|
var myModelAdapterStream_1 = require("./myModelAdapterStream");
|
|
10
|
-
var context_1 = require("
|
|
10
|
+
var context_1 = require("../../llm/context");
|
|
11
11
|
var context_2 = require("../../context");
|
|
12
12
|
function MyRuntimeProvider(_a) {
|
|
13
13
|
var children = _a.children;
|
|
@@ -48,8 +48,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
|
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
exports.MyModelAdapterStream = void 0;
|
|
51
|
-
var event_1 = require("
|
|
52
|
-
var constants_1 = require("
|
|
51
|
+
var event_1 = require("../../utils/event");
|
|
52
|
+
var constants_1 = require("../../constants");
|
|
53
53
|
var MyModelAdapterStream = function (llm, onBeforeChat) { return ({
|
|
54
54
|
run: function (_a) {
|
|
55
55
|
return __asyncGenerator(this, arguments, function run_1(_b) {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export declare const MessageContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
2
|
-
export declare const ButtomSpace: import("styled-components").StyledComponent<import("react").
|
|
3
|
-
Compact: import("react").FC<import("antd/
|
|
2
|
+
export declare const ButtomSpace: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd").SpaceProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
3
|
+
Compact: import("react").FC<import("antd/es/space/Compact").SpaceCompactProps>;
|
|
4
|
+
Addon: import("react").ForwardRefExoticComponent<import("antd/es/space/Addon").SpaceCompactCellProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
5
|
}, any, {}, never>;
|
|
5
|
-
export declare const InputSpace: import("styled-components").StyledComponent<import("react").
|
|
6
|
-
Compact: import("react").FC<import("antd/
|
|
6
|
+
export declare const InputSpace: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd").SpaceProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
7
|
+
Compact: import("react").FC<import("antd/es/space/Compact").SpaceCompactProps>;
|
|
8
|
+
Addon: import("react").ForwardRefExoticComponent<import("antd/es/space/Addon").SpaceCompactCellProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
9
|
}, any, {}, never>;
|
|
8
10
|
export declare const UserInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("react-textarea-autosize").TextareaAutosizeProps & {
|
|
9
11
|
asChild?: boolean | undefined;
|
|
@@ -11,8 +11,8 @@ exports.UserInput = exports.InputSpace = exports.ButtomSpace = exports.MessageCo
|
|
|
11
11
|
var react_1 = require("@assistant-ui/react");
|
|
12
12
|
var antd_1 = require("antd");
|
|
13
13
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
14
|
-
exports.MessageContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n box-sizing: border-box;\n white-space: pre-wrap;\n word-break: break-word;\n background-color: #eff6ff;\n border-radius: 14px;\n padding: 8px 20px;\n\n & > p {\n margin-bottom: 0;\n }\n"], ["\n box-sizing: border-box;\n white-space: pre-wrap;\n word-break: break-word;\n background-color: #eff6ff;\n border-radius: 14px;\n padding: 8px 20px;\n\n & > p {\n margin-bottom: 0;\n }\n"])));
|
|
14
|
+
exports.MessageContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n box-sizing: border-box;\n white-space: pre-wrap;\n word-break: break-word;\n background-color: #eff6ff;\n border-radius: 14px;\n padding: 8px 20px;\n\n & > p {\n margin-bottom: 0;\n margin-top: 0;\n }\n"], ["\n box-sizing: border-box;\n white-space: pre-wrap;\n word-break: break-word;\n background-color: #eff6ff;\n border-radius: 14px;\n padding: 8px 20px;\n\n & > p {\n margin-bottom: 0;\n margin-top: 0;\n }\n"])));
|
|
15
15
|
exports.ButtomSpace = (0, styled_components_1.default)(antd_1.Space)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: sticky;\n bottom: 0;\n padding-top: 16px;\n background-color: #fff;\n padding: 0 24px;\n & > div:nth-child(2) {\n flex-grow: 1;\n }\n"], ["\n position: sticky;\n bottom: 0;\n padding-top: 16px;\n background-color: #fff;\n padding: 0 24px;\n & > div:nth-child(2) {\n flex-grow: 1;\n }\n"])));
|
|
16
16
|
exports.InputSpace = (0, styled_components_1.default)(antd_1.Space)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: 100%;\n & > div:nth-child(1) {\n flex-grow: 1;\n }\n"], ["\n width: 100%;\n & > div:nth-child(1) {\n flex-grow: 1;\n }\n"])));
|
|
17
|
-
exports.UserInput = (0, styled_components_1.default)(react_1.ComposerPrimitive.Input)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display:
|
|
17
|
+
exports.UserInput = (0, styled_components_1.default)(react_1.ComposerPrimitive.Input)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: block;\n width: 100%;\n padding: 12px 16px;\n background-color: #f7f7f8;\n border-radius: 12px;\n border: 1px solid #d1d5db;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: all 0.3s ease;\n outline: none;\n font-family: inherit;\n font-size: 14px;\n color: #333;\n min-height: 44px;\n max-height: 200px;\n resize: none;\n overflow-y: auto;\n box-sizing: border-box;\n\n &:focus {\n background-color: #fff;\n border-color: #1890ff;\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\n }\n\n &::placeholder {\n color: #bfbfbf;\n }\n"], ["\n display: block;\n width: 100%;\n padding: 12px 16px;\n background-color: #f7f7f8;\n border-radius: 12px;\n border: 1px solid #d1d5db;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: all 0.3s ease;\n outline: none;\n font-family: inherit;\n font-size: 14px;\n color: #333;\n min-height: 44px;\n max-height: 200px;\n resize: none;\n overflow-y: auto;\n box-sizing: border-box;\n\n &:focus {\n background-color: #fff;\n border-color: #1890ff;\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\n }\n\n &::placeholder {\n color: #bfbfbf;\n }\n"])));
|
|
18
18
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
2
6
|
var __assign = (this && this.__assign) || function () {
|
|
3
7
|
__assign = Object.assign || function(t) {
|
|
4
8
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -43,16 +47,25 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
43
47
|
return result;
|
|
44
48
|
};
|
|
45
49
|
})();
|
|
50
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
|
+
};
|
|
46
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
54
|
exports.ThreadList = void 0;
|
|
48
55
|
var antd_1 = require("antd");
|
|
49
56
|
var react_1 = __importStar(require("react"));
|
|
57
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
50
58
|
var icons_1 = require("@ant-design/icons");
|
|
51
59
|
var react_2 = require("@assistant-ui/react");
|
|
52
|
-
var event_1 = require("
|
|
53
|
-
var constants_1 = require("
|
|
60
|
+
var event_1 = require("../../utils/event");
|
|
61
|
+
var constants_1 = require("../../constants");
|
|
54
62
|
var antd_2 = require("antd");
|
|
55
63
|
var useI18n_1 = require("../../hooks/useI18n");
|
|
64
|
+
var StyledThreadListItem = (0, styled_components_1.default)(react_2.ThreadListItemPrimitive.Root)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-top: 8px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid #f0f0f0;\n background: #fafafa;\n\n &:hover {\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n }\n\n &[data-active='true'] {\n background-color: #e6f7ff;\n border-color: #91d5ff;\n color: #1890ff;\n }\n"], ["\n margin-top: 8px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid #f0f0f0;\n background: #fafafa;\n\n &:hover {\n background-color: #f5f5f5;\n border-color: #d9d9d9;\n }\n\n &[data-active='true'] {\n background-color: #e6f7ff;\n border-color: #91d5ff;\n color: #1890ff;\n }\n"])));
|
|
65
|
+
var StyledTrigger = (0, styled_components_1.default)(react_2.ThreadListItemPrimitive.Trigger)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border: none;\n padding: 0;\n background: transparent;\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n text-align: left;\n cursor: pointer;\n font-size: 14px;\n color: inherit;\n"], ["\n border: none;\n padding: 0;\n background: transparent;\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n text-align: left;\n cursor: pointer;\n font-size: 14px;\n color: inherit;\n"])));
|
|
66
|
+
var StyledDeleteButton = (0, styled_components_1.default)(react_2.ThreadListItemPrimitive.Delete)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin-left: 8px;\n color: #bfbfbf;\n transition: all 0.2s;\n padding: 4px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n color: #ff4d4f;\n background-color: rgba(255, 77, 79, 0.1);\n }\n"], ["\n margin-left: 8px;\n color: #bfbfbf;\n transition: all 0.2s;\n padding: 4px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n color: #ff4d4f;\n background-color: rgba(255, 77, 79, 0.1);\n }\n"
|
|
67
|
+
// 聊天列表
|
|
68
|
+
])));
|
|
56
69
|
// 聊天列表
|
|
57
70
|
var ThreadList = function (_a) {
|
|
58
71
|
var onItemClick = _a.onItemClick;
|
|
@@ -83,26 +96,8 @@ var ThreadListItems = function (_a) {
|
|
|
83
96
|
};
|
|
84
97
|
var ThreadListItem = function (_a) {
|
|
85
98
|
var onClick = _a.onClick;
|
|
86
|
-
return (react_1.default.createElement(
|
|
87
|
-
|
|
88
|
-
display: 'flex',
|
|
89
|
-
alignItems: 'center',
|
|
90
|
-
justifyContent: 'space-between',
|
|
91
|
-
width: '100%',
|
|
92
|
-
padding: '8px 12px',
|
|
93
|
-
height: 'auto'
|
|
94
|
-
} },
|
|
95
|
-
react_1.default.createElement(react_2.ThreadListItemPrimitive.Trigger, { onClick: onClick, style: {
|
|
96
|
-
border: 'none',
|
|
97
|
-
padding: 0,
|
|
98
|
-
background: 'transparent',
|
|
99
|
-
flex: 1,
|
|
100
|
-
overflow: 'hidden',
|
|
101
|
-
textOverflow: 'ellipsis',
|
|
102
|
-
display: 'block',
|
|
103
|
-
textAlign: 'left',
|
|
104
|
-
cursor: 'pointer'
|
|
105
|
-
} },
|
|
99
|
+
return (react_1.default.createElement(StyledThreadListItem, null,
|
|
100
|
+
react_1.default.createElement(StyledTrigger, { onClick: onClick },
|
|
106
101
|
react_1.default.createElement(ThreadListItemTitle, null)),
|
|
107
102
|
react_1.default.createElement(ThreadListItemDelete, null)));
|
|
108
103
|
};
|
|
@@ -126,6 +121,7 @@ var ThreadListItemTitle = function () {
|
|
|
126
121
|
};
|
|
127
122
|
// 归档按钮
|
|
128
123
|
var ThreadListItemDelete = function () {
|
|
129
|
-
return (react_1.default.createElement(
|
|
124
|
+
return (react_1.default.createElement(StyledDeleteButton, { asChild: true },
|
|
130
125
|
react_1.default.createElement(icons_1.DeleteOutlined, null)));
|
|
131
126
|
};
|
|
127
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saber2pr/ai-assistant",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "AI Assistant",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dev": "cross-env NODE_ENV=development webpack-dev-server",
|
|
16
16
|
"lint": "prettier --write ./src",
|
|
17
17
|
"build": "rimraf ./build && cross-env NODE_ENV=production webpack",
|
|
18
|
-
"prepublishOnly": "yarn tsc",
|
|
18
|
+
"prepublishOnly": "rimraf ./lib && yarn tsc",
|
|
19
19
|
"prepare": "husky install"
|
|
20
20
|
},
|
|
21
21
|
"license": "MIT",
|
|
@@ -27,19 +27,20 @@
|
|
|
27
27
|
"@assistant-ui/react-ai-sdk": "^0.8.0",
|
|
28
28
|
"@assistant-ui/react-markdown": "^0.8.0",
|
|
29
29
|
"@mlc-ai/web-llm": "^0.2.80",
|
|
30
|
-
"antd": "
|
|
30
|
+
"antd": "^6.2.1",
|
|
31
31
|
"clipboard": "^2.0.11",
|
|
32
|
+
"core-js": "3",
|
|
32
33
|
"normalize.css": "^8.0.1",
|
|
33
34
|
"react": "^18.1.0",
|
|
34
35
|
"react-dom": "^18.1.0",
|
|
35
36
|
"react-hook-speech-to-text": "^0.8.0",
|
|
36
37
|
"react-syntax-highlighter": "^15.6.1",
|
|
38
|
+
"regenerator-runtime": "^0.14.1",
|
|
37
39
|
"remark-gfm": "^4.0.1",
|
|
38
40
|
"styled-components": "^5.3.5"
|
|
39
41
|
},
|
|
40
42
|
"devDependencies": {
|
|
41
43
|
"@babel/core": "^7.17.5",
|
|
42
|
-
"dotenv": "^16.4.7",
|
|
43
44
|
"@babel/preset-env": "^7.18.2",
|
|
44
45
|
"@babel/preset-react": "^7.17.12",
|
|
45
46
|
"@babel/preset-typescript": "^7.17.12",
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
"babel-plugin-module-resolver": "^4.1.0",
|
|
54
55
|
"cross-env": "^6.0.0",
|
|
55
56
|
"css-loader": "^2.1.1",
|
|
57
|
+
"dotenv": "^16.4.7",
|
|
56
58
|
"html-webpack-plugin": "^5.5.0",
|
|
57
59
|
"husky": "^7.0.4",
|
|
58
60
|
"less": "^3.9.0",
|