chore: bump version (#3197)

This commit is contained in:
Alex Yang
2023-07-13 00:25:35 +08:00
committed by GitHub
parent 73a47f31a7
commit e475a9cdbc
5 changed files with 134 additions and 59 deletions
+1 -1
View File
@@ -9,7 +9,7 @@
"dependencies": {
"@affine/component": "workspace:*",
"@toeverything/plugin-infra": "workspace:*",
"langchain": "^0.0.102",
"langchain": "^0.0.107",
"marked": "^5.1.0",
"marked-gfm-heading-id": "^3.0.4",
"marked-mangle": "^1.1.0"
@@ -1,10 +1,10 @@
import type { BaseChatMessage } from 'langchain/schema';
import type { BaseMessage } from 'langchain/schema';
import { Conversation } from '../conversation';
import { conversationListStyle } from './index.css';
export type ConversationListProps = {
conversations: BaseChatMessage[];
conversations: BaseMessage[];
};
export const ConversationList = (props: ConversationListProps) => {
@@ -13,7 +13,7 @@ export const ConversationList = (props: ConversationListProps) => {
{props.conversations.map((conversation, idx) => (
<Conversation
type={conversation._getType()}
text={conversation.text}
text={conversation.content}
key={idx}
/>
))}
+11 -13
View File
@@ -6,11 +6,9 @@ import type { WritableAtom } from 'jotai/vanilla';
import type { LLMChain } from 'langchain/chains';
import { type ConversationChain } from 'langchain/chains';
import { type BufferMemory } from 'langchain/memory';
import {
AIChatMessage,
type BaseChatMessage,
HumanChatMessage,
} from 'langchain/schema';
import type { BaseMessage } from 'langchain/schema';
import { AIMessage } from 'langchain/schema';
import { HumanMessage } from 'langchain/schema';
import { z } from 'zod';
import { createChatAI } from '../chat';
@@ -32,18 +30,18 @@ export const chatAtom = atom(async get => {
const conversationWeakMap = new WeakMap<
ConversationChain,
WritableAtom<BaseChatMessage[], [string], Promise<void>>
WritableAtom<BaseMessage[], [string], Promise<void>>
>();
const getConversationAtom = (chat: ConversationChain) => {
if (conversationWeakMap.has(chat)) {
return conversationWeakMap.get(chat) as WritableAtom<
BaseChatMessage[],
BaseMessage[],
[string],
Promise<void>
>;
}
const conversationBaseAtom = atom<BaseChatMessage[]>([]);
const conversationBaseAtom = atom<BaseMessage[]>([]);
conversationBaseAtom.onMount = setAtom => {
if (!chat) {
throw new Error();
@@ -58,12 +56,12 @@ const getConversationAtom = (chat: ConversationChain) => {
console.error(err);
});
const llmStart = (): void => {
setAtom(conversations => [...conversations, new AIChatMessage('')]);
setAtom(conversations => [...conversations, new AIMessage('')]);
};
const llmNewToken = (event: CustomEvent<{ token: string }>): void => {
setAtom(conversations => {
const last = conversations[conversations.length - 1] as AIChatMessage;
last.text += event.detail.token;
const last = conversations[conversations.length - 1] as AIMessage;
last.content += event.detail.token;
return [...conversations];
});
};
@@ -75,7 +73,7 @@ const getConversationAtom = (chat: ConversationChain) => {
};
};
const conversationAtom = atom<BaseChatMessage[], [string], Promise<void>>(
const conversationAtom = atom<BaseMessage[], [string], Promise<void>>(
get => get(conversationBaseAtom),
async (get, set, input) => {
if (!chat) {
@@ -84,7 +82,7 @@ const getConversationAtom = (chat: ConversationChain) => {
// set dirty value
set(conversationBaseAtom, [
...get(conversationBaseAtom),
new HumanChatMessage(input),
new HumanMessage(input),
]);
await chat.call({
input,
@@ -1,13 +1,13 @@
import type { DBSchema, IDBPDatabase } from 'idb';
import { openDB } from 'idb';
import { ChatMessageHistory } from 'langchain/memory';
import type { BaseMessage } from 'langchain/schema';
import {
AIChatMessage,
type BaseChatMessage,
AIMessage,
ChatMessage,
HumanChatMessage,
HumanMessage,
type StoredMessage,
SystemChatMessage,
SystemMessage,
} from 'langchain/schema';
interface ChatMessageDBV1 extends DBSchema {
@@ -40,7 +40,7 @@ export const conversationHistoryDBName = 'affine-copilot-chat';
export class IndexedDBChatMessageHistory extends ChatMessageHistory {
public id: string;
private chatMessages: BaseChatMessage[] = [];
private chatMessages: BaseMessage[] = [];
private readonly dbPromise: Promise<IDBPDatabase<ChatMessageDBV2>>;
private readonly initPromise: Promise<void>;
@@ -74,11 +74,11 @@ export class IndexedDBChatMessageHistory extends ChatMessageHistory {
this.chatMessages = chat.messages.map(message => {
switch (message.type) {
case 'ai':
return new AIChatMessage(message.data.content);
return new AIMessage(message.data.content);
case 'human':
return new HumanChatMessage(message.data.content);
return new HumanMessage(message.data.content);
case 'system':
return new SystemChatMessage(message.data.content);
return new SystemMessage(message.data.content);
default:
return new ChatMessage(
message.data.content,
@@ -115,29 +115,29 @@ export class IndexedDBChatMessageHistory extends ChatMessageHistory {
return [];
}
override async addMessage(message: BaseChatMessage): Promise<void> {
override async addMessage(message: BaseMessage): Promise<void> {
await this.initPromise;
this.chatMessages.push(message);
const db = await this.dbPromise;
const objectStore = db.transaction('chat', 'readwrite').objectStore('chat');
const chat = await objectStore.get(this.id);
if (chat != null) {
chat.messages.push(message.toJSON());
chat.messages.push(message.toDict());
await objectStore.put(chat);
} else {
await objectStore.add({
id: this.id,
messages: [message.toJSON()],
messages: [message.toDict()],
});
}
}
override async addAIChatMessage(message: string): Promise<void> {
await this.addMessage(new AIChatMessage(message));
await this.addMessage(new AIMessage(message));
}
override async addUserMessage(message: string): Promise<void> {
await this.addMessage(new HumanChatMessage(message));
await this.addMessage(new HumanMessage(message));
}
override async clear(): Promise<void> {
@@ -148,7 +148,7 @@ export class IndexedDBChatMessageHistory extends ChatMessageHistory {
await objectStore.delete(this.id);
}
override async getMessages(): Promise<BaseChatMessage[]> {
override async getMessages(): Promise<BaseMessage[]> {
return this.initPromise.then(() => this.chatMessages);
}
}
+105 -28
View File
@@ -157,7 +157,7 @@ __metadata:
"@types/react-dom": ^18.2.6
idb: ^7.1.1
jotai: ^2.2.2
langchain: ^0.0.102
langchain: ^0.0.107
marked: ^5.1.0
marked-gfm-heading-id: ^3.0.4
marked-mangle: ^1.1.0
@@ -631,13 +631,21 @@ __metadata:
languageName: node
linkType: hard
"@anthropic-ai/sdk@npm:^0.4.3":
version: 0.4.4
resolution: "@anthropic-ai/sdk@npm:0.4.4"
"@anthropic-ai/sdk@npm:^0.5.3":
version: 0.5.4
resolution: "@anthropic-ai/sdk@npm:0.5.4"
dependencies:
"@fortaine/fetch-event-source": ^3.0.6
cross-fetch: ^3.1.5
checksum: aaa375dbada0120f7d9b684575b263a5462e8beba82cf0c3b2f6de46e7b35ef6e7251c72aefd4a33b2a96ea21c21541fba4e94171807808993bc09beed496455
"@types/node": ^18.11.18
"@types/node-fetch": ^2.6.4
"@types/qs": ^6.9.7
abort-controller: ^3.0.0
agentkeepalive: ^4.2.1
digest-fetch: ^1.3.0
form-data-encoder: 1.7.2
formdata-node: ^4.3.2
node-fetch: ^2.6.7
qs: ^6.10.3
checksum: 2baee795eebd852d13368c67f857d039901f362ac740cd97dc748c8170e0aa19ccccefd57356c2c7b134ace2fb22ff7d95a2d43b6957524056f0803a6610fac8
languageName: node
linkType: hard
@@ -5036,13 +5044,6 @@ __metadata:
languageName: node
linkType: hard
"@fortaine/fetch-event-source@npm:^3.0.6":
version: 3.0.6
resolution: "@fortaine/fetch-event-source@npm:3.0.6"
checksum: 6366ad31762170896417684c48536fcf0c27c5f64e090a2de932df55d67c86bdc3c9744e460b19ef1741eab4e4c69797cad1b72f7cf7a981cd17a66c7b0c4418
languageName: node
linkType: hard
"@graphql-codegen/add@npm:^5.0.0":
version: 5.0.0
resolution: "@graphql-codegen/add@npm:5.0.0"
@@ -11922,7 +11923,7 @@ __metadata:
languageName: node
linkType: hard
"@types/qs@npm:*, @types/qs@npm:^6.9.5":
"@types/qs@npm:*, @types/qs@npm:^6.9.5, @types/qs@npm:^6.9.7":
version: 6.9.7
resolution: "@types/qs@npm:6.9.7"
checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba
@@ -14028,6 +14029,13 @@ __metadata:
languageName: node
linkType: hard
"base-64@npm:^0.1.0":
version: 0.1.0
resolution: "base-64@npm:0.1.0"
checksum: 5a42938f82372ab5392cbacc85a5a78115cbbd9dbef9f7540fa47d78763a3a8bd7d598475f0d92341f66285afd377509851a9bb5c67bbecb89686e9255d5b3eb
languageName: node
linkType: hard
"base16@npm:^1.0.0":
version: 1.0.0
resolution: "base16@npm:1.0.0"
@@ -14775,6 +14783,13 @@ __metadata:
languageName: node
linkType: hard
"charenc@npm:0.0.2":
version: 0.0.2
resolution: "charenc@npm:0.0.2"
checksum: 81dcadbe57e861d527faf6dd3855dc857395a1c4d6781f4847288ab23cffb7b3ee80d57c15bba7252ffe3e5e8019db767757ee7975663ad2ca0939bb8fcaf2e5
languageName: node
linkType: hard
"check-error@npm:^1.0.2":
version: 1.0.2
resolution: "check-error@npm:1.0.2"
@@ -15696,6 +15711,13 @@ __metadata:
languageName: node
linkType: hard
"crypt@npm:0.0.2":
version: 0.0.2
resolution: "crypt@npm:0.0.2"
checksum: baf4c7bbe05df656ec230018af8cf7dbe8c14b36b98726939cef008d473f6fe7a4fad906cfea4062c93af516f1550a3f43ceb4d6615329612c6511378ed9fe34
languageName: node
linkType: hard
"crypto-random-string@npm:^2.0.0":
version: 2.0.0
resolution: "crypto-random-string@npm:2.0.0"
@@ -16442,6 +16464,16 @@ __metadata:
languageName: node
linkType: hard
"digest-fetch@npm:^1.3.0":
version: 1.3.0
resolution: "digest-fetch@npm:1.3.0"
dependencies:
base-64: ^0.1.0
md5: ^2.3.0
checksum: 8ebdb4b9ef02b1ac0da532d25c7d08388f2552813dfadabfe7c4630e944bb4a48093b997fc926440a10e1ccf4912f2ce9adcf2d6687b0518dab8480e08f22f9d
languageName: node
linkType: hard
"dir-compare@npm:^3.0.0":
version: 3.3.0
resolution: "dir-compare@npm:3.3.0"
@@ -18686,6 +18718,13 @@ __metadata:
languageName: node
linkType: hard
"form-data-encoder@npm:1.7.2":
version: 1.7.2
resolution: "form-data-encoder@npm:1.7.2"
checksum: aeebd87a1cb009e13cbb5e4e4008e6202ed5f6551eb6d9582ba8a062005178907b90f4887899d3c993de879159b6c0c940af8196725b428b4248cec5af3acf5f
languageName: node
linkType: hard
"form-data@npm:^3.0.0":
version: 3.0.1
resolution: "form-data@npm:3.0.1"
@@ -18715,6 +18754,16 @@ __metadata:
languageName: node
linkType: hard
"formdata-node@npm:^4.3.2":
version: 4.4.1
resolution: "formdata-node@npm:4.4.1"
dependencies:
node-domexception: 1.0.0
web-streams-polyfill: 4.0.0-beta.3
checksum: d91d4f667cfed74827fc281594102c0dabddd03c9f8b426fc97123eedbf73f5060ee43205d89284d6854e2fc5827e030cd352ef68b93beda8decc2d72128c576
languageName: node
linkType: hard
"formdata-polyfill@npm:^4.0.10":
version: 4.0.10
resolution: "formdata-polyfill@npm:4.0.10"
@@ -20526,6 +20575,13 @@ __metadata:
languageName: node
linkType: hard
"is-buffer@npm:~1.1.6":
version: 1.1.6
resolution: "is-buffer@npm:1.1.6"
checksum: 4a186d995d8bbf9153b4bd9ff9fd04ae75068fe695d29025d25e592d9488911eeece84eefbd8fa41b8ddcc0711058a71d4c466dcf6f1f6e1d83830052d8ca707
languageName: node
linkType: hard
"is-builtin-module@npm:^3.2.1":
version: 3.2.1
resolution: "is-builtin-module@npm:3.2.1"
@@ -22346,11 +22402,11 @@ __metadata:
languageName: node
linkType: hard
"langchain@npm:^0.0.102":
version: 0.0.102
resolution: "langchain@npm:0.0.102"
"langchain@npm:^0.0.107":
version: 0.0.107
resolution: "langchain@npm:0.0.107"
dependencies:
"@anthropic-ai/sdk": ^0.4.3
"@anthropic-ai/sdk": ^0.5.3
ansi-styles: ^5.0.0
binary-extensions: ^2.2.0
camelcase: 6
@@ -22360,7 +22416,7 @@ __metadata:
js-tiktoken: ^1.0.7
js-yaml: ^4.1.0
jsonpointer: ^5.0.1
langchainplus-sdk: ^0.0.15
langchainplus-sdk: ^0.0.19
ml-distance: ^4.0.0
object-hash: ^3.0.0
openai: ^3.3.0
@@ -22399,7 +22455,7 @@ __metadata:
apify-client: ^2.7.1
axios: "*"
cheerio: ^1.0.0-rc.12
chromadb: ^1.5.2
chromadb: ^1.5.3
cohere-ai: ^5.0.2
d3-dsv: ^2.0.0
epub2: ^3.0.1
@@ -22420,6 +22476,7 @@ __metadata:
puppeteer: ^19.7.2
redis: ^4.6.4
replicate: ^0.9.0
sonix-speech-recognition: ^2.1.1
srt-parser-2: ^1.2.2
typeorm: ^0.3.12
typesense: ^1.5.3
@@ -22522,6 +22579,8 @@ __metadata:
optional: true
replicate:
optional: true
sonix-speech-recognition:
optional: true
srt-parser-2:
optional: true
typeorm:
@@ -22532,13 +22591,13 @@ __metadata:
optional: true
weaviate-ts-client:
optional: true
checksum: f863ff4e8e1e5e0b7fb46772b1a093b96f40b749a4c20382cb5993e240ce376850c04e7d0ef495a17a8e06de7d0bcac8a76bb93546505dbb20902f3da3c95093
checksum: d1f01321db83aebae5b619ade2060b2416459e1b55723793c0e3244a9ec8fe57775f8c159f406b85eb58b66761a59705e17e9a2efb522876e81e881056711227
languageName: node
linkType: hard
"langchainplus-sdk@npm:^0.0.15":
version: 0.0.15
resolution: "langchainplus-sdk@npm:0.0.15"
"langchainplus-sdk@npm:^0.0.19":
version: 0.0.19
resolution: "langchainplus-sdk@npm:0.0.19"
dependencies:
"@types/uuid": ^9.0.1
commander: ^10.0.1
@@ -22547,7 +22606,7 @@ __metadata:
uuid: ^9.0.0
bin:
langchain: dist/cli/main.cjs
checksum: 7467364922753a44e2e15f6c54fe20c191105e10b42774cb7ebc4bfbeb2c2fa4ee159eaea52637083673f821beb0bfd155918abf8c2f14cf8151dd74b4bac32f
checksum: f0174c1e248e4bc5034a7dd182f703b895a485b6408aa518c91ff12b3f015febd5546eeb7f821c82b63a9d2b67a7ea903a1a57ad196049743f0934ff1c524ae8
languageName: node
linkType: hard
@@ -23406,6 +23465,17 @@ __metadata:
languageName: node
linkType: hard
"md5@npm:^2.3.0":
version: 2.3.0
resolution: "md5@npm:2.3.0"
dependencies:
charenc: 0.0.2
crypt: 0.0.2
is-buffer: ~1.1.6
checksum: a63cacf4018dc9dee08c36e6f924a64ced735b37826116c905717c41cebeb41a522f7a526ba6ad578f9c80f02cb365033ccd67fe186ffbcc1a1faeb75daa9b6e
languageName: node
linkType: hard
"mdast-util-definitions@npm:^4.0.0":
version: 4.0.0
resolution: "mdast-util-definitions@npm:4.0.0"
@@ -24263,7 +24333,7 @@ __metadata:
languageName: node
linkType: hard
"node-domexception@npm:^1.0.0":
"node-domexception@npm:1.0.0, node-domexception@npm:^1.0.0":
version: 1.0.0
resolution: "node-domexception@npm:1.0.0"
checksum: ee1d37dd2a4eb26a8a92cd6b64dfc29caec72bff5e1ed9aba80c294f57a31ba4895a60fd48347cf17dd6e766da0ae87d75657dfd1f384ebfa60462c2283f5c7f
@@ -26229,7 +26299,7 @@ __metadata:
languageName: node
linkType: hard
"qs@npm:^6.10.0, qs@npm:^6.11.0":
"qs@npm:^6.10.0, qs@npm:^6.10.3, qs@npm:^6.11.0":
version: 6.11.2
resolution: "qs@npm:6.11.2"
dependencies:
@@ -30736,6 +30806,13 @@ __metadata:
languageName: node
linkType: hard
"web-streams-polyfill@npm:4.0.0-beta.3":
version: 4.0.0-beta.3
resolution: "web-streams-polyfill@npm:4.0.0-beta.3"
checksum: dfec1fbf52b9140e4183a941e380487b6c3d5d3838dd1259be81506c1c9f2abfcf5aeb670aeeecfd9dff4271a6d8fef931b193c7bedfb42542a3b05ff36c0d16
languageName: node
linkType: hard
"web-streams-polyfill@npm:^3.0.3, web-streams-polyfill@npm:^3.2.1":
version: 3.2.1
resolution: "web-streams-polyfill@npm:3.2.1"