From 54196062d554a2cd510f93545cc74c140a5b7170 Mon Sep 17 00:00:00 2001 From: carolin913 Date: Tue, 14 Apr 2026 21:17:23 +0800 Subject: [PATCH 1/9] feat(chatengine): ai-core submodule --- .gitignore | 1 + .gitmodules | 3 + package.json | 4 +- packages/ai-core | 1 + .../_example/agui-history-test.tsx | 4 +- .../_example/headless-eventbus.tsx | 6 +- .../chat-engine/_example/headless-pure.tsx | 6 +- .../components/activity/render.tsx | 2 +- .../components/toolcall/render.tsx | 2 +- .../chat/chat-engine/hooks/useAgentState.ts | 3 +- .../chat/chat-engine/hooks/useChat.ts | 6 +- .../pro-components/chat/chat-engine/index.ts | 67 ++++++++++++++++++- .../tdesign-react-aigc/site/vite.config.js | 5 ++ script/rollup.aigc.config.js | 3 +- tsconfig.aigc.build.json | 15 ++++- tsconfig.json | 8 ++- 16 files changed, 108 insertions(+), 28 deletions(-) create mode 160000 packages/ai-core diff --git a/.gitignore b/.gitignore index dca38afadc..5a7c22ff57 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .DS_Store .idea temp* +.tmp-aigc-dts robotMsg.json .history diff --git a/.gitmodules b/.gitmodules index bd2d737bd8..acdf6e2266 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "packages/common"] path = packages/common url = https://github.com/Tencent/tdesign-common.git +[submodule "packages/ai-core"] + path = packages/ai-core + url = https://github.com/TDesignOteam/tdesign-ai-core.git diff --git a/package.json b/package.json index 0661f2ecf3..34ed8d7ded 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "test:coverage": "vitest run --coverage", "prebuild": "rimraf packages/tdesign-react/es/* packages/tdesign-react/lib/* packages/tdesign-react/dist/* packages/tdesign-react/esm/* packages/tdesign-react/cjs/*", "build": "cross-env NODE_ENV=production rollup -c script/rollup.config.js && node script/utils/bundle-override.js && pnpm run build:tsc", - "build:aigc": "cross-env NODE_ENV=production rollup -c script/rollup.aigc.config.js && tsc -p ./tsconfig.aigc.build.json --outDir packages/tdesign-react-aigc/es/", + "build:aigc": "cross-env NODE_ENV=production rollup -c script/rollup.aigc.config.js && tsc -p ./tsconfig.aigc.build.json --outDir .tmp-aigc-dts && cp -r .tmp-aigc-dts/packages/pro-components/chat/* packages/tdesign-react-aigc/es/ && rm -rf .tmp-aigc-dts", "build:tsc": "run-p build:tsc-*", "build:tsc-es": "tsc -p ./tsconfig.build.json --outDir packages/tdesign-react/es/", "build:tsc-esm": "tsc -p ./tsconfig.build.json --outDir packages/tdesign-react/esm/", @@ -110,6 +110,7 @@ "glob": "^9.0.3", "happy-dom": "^15.11.0", "husky": "^7.0.4", + "immer": "^10.0.0", "jest-canvas-mock": "^2.4.0", "jsdom": "^20.0.1", "less": "4.4.2", @@ -146,6 +147,7 @@ "@popperjs/core": "~2.11.2", "tdesign-react": "workspace:^", "@tdesign-react/chat": "workspace:^", + "@tdesign/ai-chat-engine": "workspace:^", "@tdesign/common": "workspace:^", "@tdesign/common-docs": "workspace:^", "@tdesign/common-js": "workspace:^", diff --git a/packages/ai-core b/packages/ai-core new file mode 160000 index 0000000000..129aae862e --- /dev/null +++ b/packages/ai-core @@ -0,0 +1 @@ +Subproject commit 129aae862eb9e02a06028064b80dad68a90d3b78 diff --git a/packages/pro-components/chat/chat-engine/_example/agui-history-test.tsx b/packages/pro-components/chat/chat-engine/_example/agui-history-test.tsx index 332867e8de..6769db5371 100644 --- a/packages/pro-components/chat/chat-engine/_example/agui-history-test.tsx +++ b/packages/pro-components/chat/chat-engine/_example/agui-history-test.tsx @@ -1,7 +1,7 @@ import React, { useState, useMemo } from 'react'; import { Card, Space, Button, Divider } from 'tdesign-react'; -import { AGUIAdapter } from 'tdesign-web-components/lib/chat-engine'; -import type { AGUIHistoryMessage, AGUIActivityMessage } from 'tdesign-web-components/lib/chat-engine'; +import { AGUIAdapter } from '@tdesign-react/chat'; +import type { AGUIHistoryMessage, AGUIActivityMessage } from '@tdesign-react/chat'; /** * AG-UI 历史消息转换测试 diff --git a/packages/pro-components/chat/chat-engine/_example/headless-eventbus.tsx b/packages/pro-components/chat/chat-engine/_example/headless-eventbus.tsx index a9c2c167b4..573451af9e 100644 --- a/packages/pro-components/chat/chat-engine/_example/headless-eventbus.tsx +++ b/packages/pro-components/chat/chat-engine/_example/headless-eventbus.tsx @@ -1,10 +1,6 @@ import React, { useEffect, useState, useRef } from 'react'; import { Button, Card, Space, Tag, Divider, List, MessagePlugin } from 'tdesign-react'; -import ChatEngine, { - ChatEngineEventType, - type SSEChunkData, - type AIMessageContent, -} from 'tdesign-web-components/lib/chat-engine'; +import { ChatEngine, ChatEngineEventType, type SSEChunkData, type AIMessageContent } from '@tdesign-react/chat'; /** * Headless 事件总线示例 diff --git a/packages/pro-components/chat/chat-engine/_example/headless-pure.tsx b/packages/pro-components/chat/chat-engine/_example/headless-pure.tsx index 975c92bede..bdc26bf2f1 100644 --- a/packages/pro-components/chat/chat-engine/_example/headless-pure.tsx +++ b/packages/pro-components/chat/chat-engine/_example/headless-pure.tsx @@ -1,10 +1,6 @@ import React, { useEffect, useRef } from 'react'; import { Card, Button, Space, Divider } from 'tdesign-react'; -import ChatEngine, { - ChatEngineEventType, - type SSEChunkData, - type AIMessageContent, -} from 'tdesign-web-components/lib/chat-engine'; +import { ChatEngine, ChatEngineEventType, type SSEChunkData, type AIMessageContent } from '@tdesign-react/chat'; /** * 纯 Headless 示例 - 无 UI 依赖的 ChatEngine 使用方式 diff --git a/packages/pro-components/chat/chat-engine/components/activity/render.tsx b/packages/pro-components/chat/chat-engine/components/activity/render.tsx index bd0d4e07f9..df3d88860f 100644 --- a/packages/pro-components/chat/chat-engine/components/activity/render.tsx +++ b/packages/pro-components/chat/chat-engine/components/activity/render.tsx @@ -1,7 +1,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ import React, { useState, useEffect, useMemo, Component, ErrorInfo } from 'react'; import isEqual from 'react-fast-compare'; -import { type ActivityData } from 'tdesign-web-components'; +import { type ActivityData } from '@tdesign/ai-chat-engine'; import type { ActivityComponentProps } from './types'; import { activityRegistry } from './registry'; diff --git a/packages/pro-components/chat/chat-engine/components/toolcall/render.tsx b/packages/pro-components/chat/chat-engine/components/toolcall/render.tsx index 14adcf13c8..59e8c5f26f 100644 --- a/packages/pro-components/chat/chat-engine/components/toolcall/render.tsx +++ b/packages/pro-components/chat/chat-engine/components/toolcall/render.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect, useCallback, useMemo, Component, ErrorInfo } from 'react'; -import { AGUIEventType, ToolCall } from 'tdesign-web-components/lib/chat-engine'; +import { AGUIEventType, ToolCall } from '@tdesign/ai-chat-engine'; import { isNonInteractiveConfig, type ToolcallComponentProps } from './types'; import { agentToolcallRegistry } from './registry'; import { AgentStateContext, useAgentStateDataByKey } from '../../hooks/useAgentState'; diff --git a/packages/pro-components/chat/chat-engine/hooks/useAgentState.ts b/packages/pro-components/chat/chat-engine/hooks/useAgentState.ts index fbec8d3c73..33a9201dc6 100644 --- a/packages/pro-components/chat/chat-engine/hooks/useAgentState.ts +++ b/packages/pro-components/chat/chat-engine/hooks/useAgentState.ts @@ -1,7 +1,6 @@ /* eslint-disable react-hooks/exhaustive-deps */ import { useState, useEffect, useRef, createContext, useContext, useMemo } from 'react'; -// import { stateManager } from 'tdesign-web-components/lib/chat-engine'; -import { stateManager } from 'tdesign-web-components/lib/chat-engine'; +import { stateManager } from '@tdesign/ai-chat-engine'; /** * 状态订阅相关类型定义 diff --git a/packages/pro-components/chat/chat-engine/hooks/useChat.ts b/packages/pro-components/chat/chat-engine/hooks/useChat.ts index a11e2cf228..fa65dc73b6 100644 --- a/packages/pro-components/chat/chat-engine/hooks/useChat.ts +++ b/packages/pro-components/chat/chat-engine/hooks/useChat.ts @@ -1,8 +1,6 @@ import { useEffect, useRef, useState } from 'react'; -import ChatEngine from 'tdesign-web-components/lib/chat-engine'; -import type { ChatMessagesData, ChatServiceConfig, ChatStatus } from 'tdesign-web-components/lib/chat-engine'; -// import ChatEngine from 'tdesign-web-components/lib/chat-engine'; -// import type { ChatMessagesData, ChatServiceConfig, ChatStatus } from 'tdesign-web-components/lib/chat-engine'; +import ChatEngine from '@tdesign/ai-chat-engine'; +import type { ChatMessagesData, ChatServiceConfig, ChatStatus } from '@tdesign/ai-chat-engine'; export type IUseChat = { defaultMessages?: ChatMessagesData[]; diff --git a/packages/pro-components/chat/chat-engine/index.ts b/packages/pro-components/chat/chat-engine/index.ts index 49a21e8806..0685250a9a 100644 --- a/packages/pro-components/chat/chat-engine/index.ts +++ b/packages/pro-components/chat/chat-engine/index.ts @@ -1,7 +1,70 @@ +// React hooks export * from './hooks/useChat'; export * from './hooks/useAgentToolcall'; export * from './hooks/useAgentState'; export * from './hooks/useAgentActivity'; +// React components export * from './components'; -// export * from './core'; // 用于调试 -export * from 'tdesign-web-components/lib/chat-engine'; + +// Re-export core API from @tdesign/ai-chat-engine +// For full core API, use: import { ... } from '@tdesign/ai-chat-engine' +export { default as ChatEngine } from '@tdesign/ai-chat-engine'; +export { ChatEngineEventType, ChatEventBus, createEventBus } from '@tdesign/ai-chat-engine'; +export { AGUIAdapter, stateManager, activityManager } from '@tdesign/ai-chat-engine'; +export { + isAIMessage, + isUserMessage, + isTextContent, + isMarkdownContent, + isToolCallContent, + isActivityContent, + isThinkingContent, + isReasoningContent, + isSearchContent, + isSuggestionContent, + isAttachmentContent, + isImageContent, + applyJsonPatch, + safeParseJSON, + getMessageContentForCopy, + findTargetElement, +} from '@tdesign/ai-chat-engine'; +export { AGUIEventType } from '@tdesign/ai-chat-engine'; + +// Re-export commonly used types +export type { + ChatMessagesData, + ChatServiceConfig, + ChatServiceConfigSetter, + ChatStatus, + ChatMessageStatus, + ChatMessageRole, + ChatRequestParams, + ChatMessageSetterMode, + AIMessageContent, + UserMessageContent, + SSEChunkData, + IChatEngine, + IChatEventBus, + UserMessage, + AIMessage, + SystemMessage, + ToolCall, + ToolCallContent, + ActivityData, + ActivityContent, + TextContent, + MarkdownContent, + ThinkingContent, + ReasoningContent, + SearchContent, + SuggestionContent, + ImageContent, + AttachmentContent, + AttachmentItem, + ChatBaseContent, + ChatContentType, + ChatEventBusOptions, + AGUIHistoryMessage, + AGUIActivityMessage, +} from '@tdesign/ai-chat-engine'; diff --git a/packages/tdesign-react-aigc/site/vite.config.js b/packages/tdesign-react-aigc/site/vite.config.js index 0491c31c2c..f605532826 100644 --- a/packages/tdesign-react-aigc/site/vite.config.js +++ b/packages/tdesign-react-aigc/site/vite.config.js @@ -2,6 +2,7 @@ import path from 'path'; import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import tdocPlugin from './plugin-tdoc'; +import pkg from '../package.json'; const publicPathMap = { preview: '/', @@ -25,6 +26,7 @@ export default ({ mode }) => resolve: { alias: { '@tdesign-react/chat': path.resolve(__dirname, '../../pro-components/chat'), + '@tdesign/ai-chat-engine': path.resolve(__dirname, '../../ai-core/packages/chat-engine/index.ts'), '@tdesign/react-aigc-site': path.resolve(__dirname, './'), 'tdesign-react/es': path.resolve(__dirname, '../../components'), 'tdesign-react': path.resolve(__dirname, '../../components'), @@ -38,6 +40,9 @@ export default ({ mode }) => }, }, }, + define: { + __VERSION__: JSON.stringify(pkg.version), + }, jsx: 'react', server: { host: '0.0.0.0', diff --git a/script/rollup.aigc.config.js b/script/rollup.aigc.config.js index fa0d9ee11b..609144cdae 100644 --- a/script/rollup.aigc.config.js +++ b/script/rollup.aigc.config.js @@ -15,7 +15,8 @@ import { resolve } from 'path'; import pkg from '../packages/tdesign-react-aigc/package.json'; const name = 'tdesign'; -const externalDeps = Object.keys(pkg.dependencies || {}); +const internalWorkspaceDeps = ['@tdesign/ai-chat-engine', '@tdesign/ai-shared']; +const externalDeps = Object.keys(pkg.dependencies || {}).filter((dep) => !internalWorkspaceDeps.includes(dep)); const externalPeerDeps = Object.keys(pkg.peerDependencies || {}); // 分析模式配置 diff --git a/tsconfig.aigc.build.json b/tsconfig.aigc.build.json index 149cbfef43..e431d98d1a 100644 --- a/tsconfig.aigc.build.json +++ b/tsconfig.aigc.build.json @@ -1,11 +1,20 @@ { "extends": "./tsconfig", - "include": ["packages/pro-components/chat"], - "exclude": ["**/**/__tests__/*", "**/**/_example/*", "**/**/_example-js/*","**/**/_usage/*", "es", "node_modules"], + "include": ["packages/pro-components/chat", "packages/ai-core/packages/chat-engine", "packages/ai-core/packages/shared"], + "exclude": [ + "**/**/__tests__/*", + "**/**/_example/*", + "**/**/_example-js/*", + "**/**/_usage/*", + "es", + "node_modules", + "packages/ai-core/packages/chat-engine/adapters/a2ui/**", + "packages/ai-core/packages/chat-engine/adapters/json-render/**" + ], "compilerOptions": { "jsx": "react-jsx", "emitDeclarationOnly": true, - "rootDir": "packages/pro-components/chat", + "rootDir": ".", "skipLibCheck": true } } diff --git a/tsconfig.json b/tsconfig.json index 6996525832..1831317e40 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -33,7 +33,13 @@ ], "@common/*": [ "packages/common/*" - ] + ], + "@tdesign/ai-chat-engine": [ + "packages/ai-core/packages/chat-engine/index.ts" + ], + "@tdesign/ai-chat-engine/*": [ + "packages/ai-core/packages/chat-engine/*" + ], }, "allowJs": true, "checkJs": true, From 3490df76b1ce770c4e98164d59635420ef8095e5 Mon Sep 17 00:00:00 2001 From: carolin913 Date: Tue, 14 Apr 2026 21:18:18 +0800 Subject: [PATCH 2/9] feat(chatengine): add ai-core submodule --- package.json | 2 +- tsconfig.aigc.build.json | 8 +++----- tsconfig.json | 6 ------ 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 34ed8d7ded..d1c0c405a7 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "test:coverage": "vitest run --coverage", "prebuild": "rimraf packages/tdesign-react/es/* packages/tdesign-react/lib/* packages/tdesign-react/dist/* packages/tdesign-react/esm/* packages/tdesign-react/cjs/*", "build": "cross-env NODE_ENV=production rollup -c script/rollup.config.js && node script/utils/bundle-override.js && pnpm run build:tsc", - "build:aigc": "cross-env NODE_ENV=production rollup -c script/rollup.aigc.config.js && tsc -p ./tsconfig.aigc.build.json --outDir .tmp-aigc-dts && cp -r .tmp-aigc-dts/packages/pro-components/chat/* packages/tdesign-react-aigc/es/ && rm -rf .tmp-aigc-dts", + "build:aigc": "cross-env NODE_ENV=production rollup -c script/rollup.aigc.config.js && tsc -p ./tsconfig.aigc.build.json --outDir packages/tdesign-react-aigc/es/", "build:tsc": "run-p build:tsc-*", "build:tsc-es": "tsc -p ./tsconfig.build.json --outDir packages/tdesign-react/es/", "build:tsc-esm": "tsc -p ./tsconfig.build.json --outDir packages/tdesign-react/esm/", diff --git a/tsconfig.aigc.build.json b/tsconfig.aigc.build.json index e431d98d1a..20729ce2e8 100644 --- a/tsconfig.aigc.build.json +++ b/tsconfig.aigc.build.json @@ -1,20 +1,18 @@ { "extends": "./tsconfig", - "include": ["packages/pro-components/chat", "packages/ai-core/packages/chat-engine", "packages/ai-core/packages/shared"], + "include": ["packages/pro-components/chat"], "exclude": [ "**/**/__tests__/*", "**/**/_example/*", "**/**/_example-js/*", "**/**/_usage/*", "es", - "node_modules", - "packages/ai-core/packages/chat-engine/adapters/a2ui/**", - "packages/ai-core/packages/chat-engine/adapters/json-render/**" + "node_modules" ], "compilerOptions": { "jsx": "react-jsx", "emitDeclarationOnly": true, - "rootDir": ".", + "rootDir": "packages/pro-components/chat", "skipLibCheck": true } } diff --git a/tsconfig.json b/tsconfig.json index 1831317e40..244253835b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -34,12 +34,6 @@ "@common/*": [ "packages/common/*" ], - "@tdesign/ai-chat-engine": [ - "packages/ai-core/packages/chat-engine/index.ts" - ], - "@tdesign/ai-chat-engine/*": [ - "packages/ai-core/packages/chat-engine/*" - ], }, "allowJs": true, "checkJs": true, From e9a8cc79c018d18d5f1230ca2a83a807982d4a6f Mon Sep 17 00:00:00 2001 From: carolin913 Date: Thu, 23 Apr 2026 17:35:00 +0800 Subject: [PATCH 3/9] chore(chatengine): bump ai-core submodule to latest main Made-with: Cursor --- packages/ai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ai-core b/packages/ai-core index 129aae862e..e1758f1425 160000 --- a/packages/ai-core +++ b/packages/ai-core @@ -1 +1 @@ -Subproject commit 129aae862eb9e02a06028064b80dad68a90d3b78 +Subproject commit e1758f1425b8ea741bd23f6582d2a6ec785d4055 From 6b24dbfa2db4c424cafd2df5444e6cbad11f0a1f Mon Sep 17 00:00:00 2001 From: carolin913 Date: Thu, 23 Apr 2026 17:48:24 +0800 Subject: [PATCH 4/9] chore(chatengine): bump ai-core submodule (workspace exports to TS source) Made-with: Cursor --- packages/ai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ai-core b/packages/ai-core index e1758f1425..e2cc549cb0 160000 --- a/packages/ai-core +++ b/packages/ai-core @@ -1 +1 @@ -Subproject commit e1758f1425b8ea741bd23f6582d2a6ec785d4055 +Subproject commit e2cc549cb08464f1e8bc86c07ad5af3ff08c71ea From 72ae25824963e8a96d62bd44d31092241f6d27f6 Mon Sep 17 00:00:00 2001 From: carolin913 Date: Thu, 23 Apr 2026 18:44:17 +0800 Subject: [PATCH 5/9] =?UTF-8?q?chore(chatengine):=20bump=20ai-core=20submo?= =?UTF-8?q?dule=20(AG-UI=20thinking=20=E2=86=92=20reasoning=20migration)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- packages/ai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ai-core b/packages/ai-core index e2cc549cb0..8e6e9fb8a8 160000 --- a/packages/ai-core +++ b/packages/ai-core @@ -1 +1 @@ -Subproject commit e2cc549cb08464f1e8bc86c07ad5af3ff08c71ea +Subproject commit 8e6e9fb8a80c2c83e1a03b838f8399ea117a0423 From b1c36ab8f8df1531c074e830937ab73614f63001 Mon Sep 17 00:00:00 2001 From: carolin913 Date: Thu, 23 Apr 2026 19:16:55 +0800 Subject: [PATCH 6/9] =?UTF-8?q?chore(ai-core):=20sync=20REASONING=5FMESSAG?= =?UTF-8?q?E=5FCHUNK=20=E5=AF=B9=E9=BD=90=20TEXT=5FMESSAGE=5FCHUNK=20?= =?UTF-8?q?=E9=A3=8E=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- packages/ai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ai-core b/packages/ai-core index 8e6e9fb8a8..b53aedfdde 160000 --- a/packages/ai-core +++ b/packages/ai-core @@ -1 +1 @@ -Subproject commit 8e6e9fb8a80c2c83e1a03b838f8399ea117a0423 +Subproject commit b53aedfdde816e067bc9bdc03b0caab128aaffb4 From 4958beec36da3ee06293fdf64a28bc18915780ed Mon Sep 17 00:00:00 2001 From: carolin913 Date: Thu, 23 Apr 2026 19:27:18 +0800 Subject: [PATCH 7/9] =?UTF-8?q?chore(ai-core):=20sync=20REASONING=5FMESSAG?= =?UTF-8?q?E=5FCHUNK=20=E7=A9=BA=20delta=20=E9=9A=90=E5=BC=8F=E5=85=B3?= =?UTF-8?q?=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- packages/ai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ai-core b/packages/ai-core index b53aedfdde..f3c8073f36 160000 --- a/packages/ai-core +++ b/packages/ai-core @@ -1 +1 @@ -Subproject commit b53aedfdde816e067bc9bdc03b0caab128aaffb4 +Subproject commit f3c8073f362f3574b160827c16a21d915a2130ff From 6c254ae3be26d7c4c0b034b82ed6d43b03ee20aa Mon Sep 17 00:00:00 2001 From: carolin913 Date: Thu, 23 Apr 2026 19:47:25 +0800 Subject: [PATCH 8/9] =?UTF-8?q?chore(chatengine):=20bump=20ai-core=20submo?= =?UTF-8?q?dule=20(AG-UI=20history=20=E6=94=AF=E6=8C=81=20role=3Dreasoning?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 同步 ai-core b2028b7:ReasoningMessageSchema + convertHistoryMessages 支持 role='reasoning' 历史消息,转为 thinking 块(encryptedValue 透传 ext) - 移除 barrel 对 isReasoningContent / ReasoningContent 的再导出 (upstream 已在 thinking → reasoning 迁移中删除) Made-with: Cursor --- packages/ai-core | 2 +- packages/pro-components/chat/chat-engine/index.ts | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/ai-core b/packages/ai-core index f3c8073f36..b2028b75a5 160000 --- a/packages/ai-core +++ b/packages/ai-core @@ -1 +1 @@ -Subproject commit f3c8073f362f3574b160827c16a21d915a2130ff +Subproject commit b2028b75a5c4b8b40acb3cb1e7406e13c5587d3b diff --git a/packages/pro-components/chat/chat-engine/index.ts b/packages/pro-components/chat/chat-engine/index.ts index 0685250a9a..73b0c4b1a9 100644 --- a/packages/pro-components/chat/chat-engine/index.ts +++ b/packages/pro-components/chat/chat-engine/index.ts @@ -19,7 +19,6 @@ export { isToolCallContent, isActivityContent, isThinkingContent, - isReasoningContent, isSearchContent, isSuggestionContent, isAttachmentContent, @@ -56,7 +55,6 @@ export type { TextContent, MarkdownContent, ThinkingContent, - ReasoningContent, SearchContent, SuggestionContent, ImageContent, From 7469178c280f664f8b7db942027527da801a715c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?w=C5=AB=20y=C4=81ng?= Date: Mon, 27 Apr 2026 10:37:34 +0800 Subject: [PATCH 9/9] chore: ignore ai-core package --- .eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintignore b/.eslintignore index 375f1db78a..18e9f7cb20 100644 --- a/.eslintignore +++ b/.eslintignore @@ -13,3 +13,4 @@ _site temp* static/ packages/common +packages/ai-core