@tdesign-react/chat 1.0.2-alpha.5 → 1.0.2-alpha.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/es/_util/reactify.js +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +1 -1
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-attachments/index.js +1 -1
- package/es/chat-engine/components/activity/index.d.ts +4 -0
- package/es/chat-engine/components/activity/index.js +18 -0
- package/es/chat-engine/components/activity/index.js.map +1 -0
- package/es/chat-engine/components/activity/registry.d.ts +44 -0
- package/es/chat-engine/components/activity/registry.js +85 -0
- package/es/chat-engine/components/activity/registry.js.map +1 -0
- package/es/chat-engine/components/activity/render.d.ts +11 -0
- package/es/chat-engine/components/activity/render.js +107 -0
- package/es/chat-engine/components/activity/render.js.map +1 -0
- package/es/chat-engine/components/activity/types.d.ts +32 -0
- package/es/chat-engine/components/activity/types.js +7 -0
- package/es/chat-engine/components/activity/types.js.map +1 -0
- package/es/chat-engine/components/index.d.ts +3 -0
- package/es/chat-engine/components/index.js +30 -0
- package/es/chat-engine/components/index.js.map +1 -0
- package/es/chat-engine/components/provider/agent-state.js +6 -2
- package/es/chat-engine/components/provider/agent-state.js.map +1 -1
- package/es/chat-engine/components/toolcall/index.js +7 -2
- package/es/chat-engine/components/toolcall/index.js.map +1 -1
- package/es/chat-engine/components/toolcall/registry.js +1 -1
- package/es/chat-engine/components/toolcall/render.d.ts +1 -1
- package/es/chat-engine/components/toolcall/render.js +57 -13
- package/es/chat-engine/components/toolcall/render.js.map +1 -1
- package/es/chat-engine/components/toolcall/types.js +1 -1
- package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +109 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js +370 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
- package/es/chat-engine/core/adapters/agui/events.js +199 -0
- package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/index.d.ts +75 -0
- package/es/chat-engine/core/adapters/agui/index.js +175 -0
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types.d.ts +817 -0
- package/es/chat-engine/core/adapters/agui/types.js +95 -0
- package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/utils.d.ts +197 -0
- package/es/chat-engine/core/adapters/agui/utils.js +311 -0
- package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
- package/es/chat-engine/core/index.d.ts +132 -0
- package/es/chat-engine/core/index.js +597 -0
- package/es/chat-engine/core/index.js.map +1 -0
- package/es/chat-engine/core/processor/index.d.ts +20 -0
- package/es/chat-engine/core/processor/index.js +146 -0
- package/es/chat-engine/core/processor/index.js.map +1 -0
- package/es/chat-engine/core/server/batch-client.d.ts +20 -0
- package/es/chat-engine/core/server/batch-client.js +114 -0
- package/es/chat-engine/core/server/batch-client.js.map +1 -0
- package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
- package/es/chat-engine/core/server/connection-manager.js +84 -0
- package/es/chat-engine/core/server/connection-manager.js.map +1 -0
- package/es/chat-engine/core/server/errors.d.ts +22 -0
- package/es/chat-engine/core/server/errors.js +80 -0
- package/es/chat-engine/core/server/errors.js.map +1 -0
- package/es/chat-engine/core/server/index.d.ts +11 -0
- package/es/chat-engine/core/server/index.js +26 -0
- package/es/chat-engine/core/server/index.js.map +1 -0
- package/es/chat-engine/core/server/llm-service.d.ts +44 -0
- package/es/chat-engine/core/server/llm-service.js +198 -0
- package/es/chat-engine/core/server/llm-service.js.map +1 -0
- package/es/chat-engine/core/server/sse-client.d.ts +77 -0
- package/es/chat-engine/core/server/sse-client.js +362 -0
- package/es/chat-engine/core/server/sse-client.js.map +1 -0
- package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
- package/es/chat-engine/core/server/sse-parser.js +116 -0
- package/es/chat-engine/core/server/sse-parser.js.map +1 -0
- package/es/chat-engine/core/server/types.d.ts +54 -0
- package/es/chat-engine/core/server/types.js +28 -0
- package/es/chat-engine/core/server/types.js.map +1 -0
- package/es/chat-engine/core/store/message.d.ts +27 -0
- package/es/chat-engine/core/store/message.js +263 -0
- package/es/chat-engine/core/store/message.js.map +1 -0
- package/es/chat-engine/core/store/model.d.ts +8 -0
- package/es/chat-engine/core/store/model.js +65 -0
- package/es/chat-engine/core/store/model.js.map +1 -0
- package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
- package/es/chat-engine/core/store/reactiveState.js +1359 -0
- package/es/chat-engine/core/store/reactiveState.js.map +1 -0
- package/es/chat-engine/core/type.d.ts +255 -0
- package/es/chat-engine/core/type.js +7 -0
- package/es/chat-engine/core/type.js.map +1 -0
- package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
- package/es/chat-engine/core/utils/eventEmitter.js +67 -0
- package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
- package/es/chat-engine/core/utils/index.d.ts +33 -0
- package/es/chat-engine/core/utils/index.js +999 -0
- package/es/chat-engine/core/utils/index.js.map +1 -0
- package/es/chat-engine/core/utils/logger.d.ts +30 -0
- package/es/chat-engine/core/utils/logger.js +87 -0
- package/es/chat-engine/core/utils/logger.js.map +1 -0
- package/es/chat-engine/hooks/index.d.ts +4 -0
- package/es/chat-engine/hooks/index.js +50 -0
- package/es/chat-engine/hooks/index.js.map +1 -0
- package/es/chat-engine/hooks/useAgentActivity.d.ts +16 -0
- package/es/chat-engine/hooks/useAgentActivity.js +73 -0
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
- package/es/chat-engine/hooks/useAgentState.js +6 -2
- package/es/chat-engine/hooks/useAgentState.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useChat.d.ts +2 -2
- package/es/chat-engine/hooks/useChat.js +37 -3
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/index.d.ts +3 -1
- package/es/chat-engine/index.js +36 -3
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/index.js +1 -1
- package/es/chat-loading/index.js +1 -1
- package/es/chat-markdown/index.js +1 -1
- package/es/chat-message/index.js +1 -1
- package/es/chat-sender/index.js +1 -1
- package/es/chat-thinking/index.js +1 -1
- package/es/chatbot/index.js +1 -1
- package/es/index.js +33 -5
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +2 -2
- package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
package/es/_util/reactify.js
CHANGED
package/es/attachments/index.js
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import './types.js';
|
|
8
|
+
export { activityRegistry } from './registry.js';
|
|
9
|
+
export { ActivityRenderer } from './render.js';
|
|
10
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
11
|
+
import '@babel/runtime/helpers/createClass';
|
|
12
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
13
|
+
import 'react';
|
|
14
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
15
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
16
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
17
|
+
import '@babel/runtime/helpers/inherits';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ActivityConfig, ActivityRegistry, ActivityComponentProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Activity 注册表管理器
|
|
5
|
+
* 参考 AgentToolcallRegistryManager 的设计,但简化了复杂的状态管理
|
|
6
|
+
*/
|
|
7
|
+
declare class ActivityRegistryManager {
|
|
8
|
+
private registry;
|
|
9
|
+
private renderFunctionCache;
|
|
10
|
+
/**
|
|
11
|
+
* 注册一个 Activity 配置
|
|
12
|
+
*/
|
|
13
|
+
register<TContent = any>(config: ActivityConfig<TContent>): void;
|
|
14
|
+
/**
|
|
15
|
+
* 获取指定类型的 Activity 配置
|
|
16
|
+
*/
|
|
17
|
+
get(activityType: string): ActivityConfig | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* 获取或创建缓存的组件渲染函数
|
|
20
|
+
*/
|
|
21
|
+
getRenderFunction(activityType: string): React.MemoExoticComponent<React.ComponentType<ActivityComponentProps>> | null;
|
|
22
|
+
/**
|
|
23
|
+
* 获取所有已注册的 Activity 配置
|
|
24
|
+
*/
|
|
25
|
+
getAll(): ActivityRegistry;
|
|
26
|
+
/**
|
|
27
|
+
* 取消注册指定的 Activity
|
|
28
|
+
*/
|
|
29
|
+
unregister(activityType: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* 清空所有注册的 Activity
|
|
32
|
+
*/
|
|
33
|
+
clear(): void;
|
|
34
|
+
/**
|
|
35
|
+
* 检查指定类型是否已注册
|
|
36
|
+
*/
|
|
37
|
+
has(activityType: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 获取所有已注册的 Activity 类型
|
|
40
|
+
*/
|
|
41
|
+
getRegisteredTypes(): string[];
|
|
42
|
+
}
|
|
43
|
+
export declare const activityRegistry: ActivityRegistryManager;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
8
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
9
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
+
import React from 'react';
|
|
11
|
+
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
var ActivityRegistryManager = /*#__PURE__*/function () {
|
|
15
|
+
function ActivityRegistryManager() {
|
|
16
|
+
_classCallCheck(this, ActivityRegistryManager);
|
|
17
|
+
_defineProperty(this, "registry", {});
|
|
18
|
+
_defineProperty(this, "renderFunctionCache", /* @__PURE__ */new Map());
|
|
19
|
+
}
|
|
20
|
+
return _createClass(ActivityRegistryManager, [{
|
|
21
|
+
key: "register",
|
|
22
|
+
value: function register(config) {
|
|
23
|
+
var existingConfig = this.registry[config.activityType];
|
|
24
|
+
if (existingConfig && existingConfig.component !== config.component) {
|
|
25
|
+
this.renderFunctionCache["delete"](config.activityType);
|
|
26
|
+
}
|
|
27
|
+
this.registry[config.activityType] = config;
|
|
28
|
+
window.dispatchEvent(new CustomEvent("activity-registered", {
|
|
29
|
+
detail: {
|
|
30
|
+
activityType: config.activityType
|
|
31
|
+
}
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
}, {
|
|
35
|
+
key: "get",
|
|
36
|
+
value: function get(activityType) {
|
|
37
|
+
return this.registry[activityType];
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
key: "getRenderFunction",
|
|
41
|
+
value: function getRenderFunction(activityType) {
|
|
42
|
+
var config = this.registry[activityType];
|
|
43
|
+
if (!config) return null;
|
|
44
|
+
var memoizedComponent = this.renderFunctionCache.get(activityType);
|
|
45
|
+
if (!memoizedComponent) {
|
|
46
|
+
memoizedComponent = /*#__PURE__*/React.memo(function (props) {
|
|
47
|
+
return /*#__PURE__*/React.createElement(config.component, props);
|
|
48
|
+
});
|
|
49
|
+
this.renderFunctionCache.set(activityType, memoizedComponent);
|
|
50
|
+
}
|
|
51
|
+
return memoizedComponent;
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
54
|
+
key: "getAll",
|
|
55
|
+
value: function getAll() {
|
|
56
|
+
return _objectSpread({}, this.registry);
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "unregister",
|
|
60
|
+
value: function unregister(activityType) {
|
|
61
|
+
delete this.registry[activityType];
|
|
62
|
+
this.renderFunctionCache["delete"](activityType);
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "clear",
|
|
66
|
+
value: function clear() {
|
|
67
|
+
this.registry = {};
|
|
68
|
+
this.renderFunctionCache.clear();
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "has",
|
|
72
|
+
value: function has(activityType) {
|
|
73
|
+
return activityType in this.registry;
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "getRegisteredTypes",
|
|
77
|
+
value: function getRegisteredTypes() {
|
|
78
|
+
return Object.keys(this.registry);
|
|
79
|
+
}
|
|
80
|
+
}]);
|
|
81
|
+
}();
|
|
82
|
+
var activityRegistry = new ActivityRegistryManager();
|
|
83
|
+
|
|
84
|
+
export { activityRegistry };
|
|
85
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sources":["../../../../../pro-components/chat/chat-engine/components/activity/registry.ts"],"sourcesContent":["import React from 'react';\nimport type { ActivityConfig, ActivityRegistry, ActivityComponentProps } from './types';\n\n/**\n * Activity 注册表管理器\n * 参考 AgentToolcallRegistryManager 的设计,但简化了复杂的状态管理\n */\nclass ActivityRegistryManager {\n private registry: ActivityRegistry = {};\n\n // 组件渲染函数缓存,避免重复创建 React 组件\n private renderFunctionCache = new Map<\n string,\n React.MemoExoticComponent<React.ComponentType<ActivityComponentProps>>\n >();\n\n /**\n * 注册一个 Activity 配置\n */\n register<TContent = any>(config: ActivityConfig<TContent>): void {\n const existingConfig = this.registry[config.activityType];\n\n // 如果组件发生变化,清除旧的缓存\n if (existingConfig && existingConfig.component !== config.component) {\n this.renderFunctionCache.delete(config.activityType);\n }\n\n this.registry[config.activityType] = config;\n\n // 触发注册事件,支持动态注册\n window.dispatchEvent(\n new CustomEvent('activity-registered', {\n detail: { activityType: config.activityType },\n }),\n );\n }\n\n /**\n * 获取指定类型的 Activity 配置\n */\n get(activityType: string): ActivityConfig | undefined {\n return this.registry[activityType];\n }\n\n /**\n * 获取或创建缓存的组件渲染函数\n */\n getRenderFunction(activityType: string): React.MemoExoticComponent<React.ComponentType<ActivityComponentProps>> | null {\n const config = this.registry[activityType];\n if (!config) return null;\n\n // 检查缓存\n let memoizedComponent = this.renderFunctionCache.get(activityType);\n\n if (!memoizedComponent) {\n // 创建 memo 化的组件\n memoizedComponent = React.memo((props: ActivityComponentProps) => \n React.createElement(config.component, props)\n );\n\n // 缓存组件\n this.renderFunctionCache.set(activityType, memoizedComponent);\n }\n\n return memoizedComponent;\n }\n\n /**\n * 获取所有已注册的 Activity 配置\n */\n getAll(): ActivityRegistry {\n return { ...this.registry };\n }\n\n /**\n * 取消注册指定的 Activity\n */\n unregister(activityType: string): void {\n delete this.registry[activityType];\n this.renderFunctionCache.delete(activityType);\n }\n\n /**\n * 清空所有注册的 Activity\n */\n clear(): void {\n this.registry = {};\n this.renderFunctionCache.clear();\n }\n\n /**\n * 检查指定类型是否已注册\n */\n has(activityType: string): boolean {\n return activityType in this.registry;\n }\n\n /**\n * 获取所有已注册的 Activity 类型\n */\n getRegisteredTypes(): string[] {\n return Object.keys(this.registry);\n }\n}\n\n// 导出单例实例\nexport const activityRegistry = new ActivityRegistryManager();"],"names":["ActivityRegistryManager","_classCallCheck","_defineProperty","Map","_createClass","key","value","register","config","existingConfig","registry","activityType","component","renderFunctionCache","window","dispatchEvent","CustomEvent","detail","get","getRenderFunction","memoizedComponent","React","memo","props","createElement","set","getAll","_objectSpread","unregister","clear","has","getRegisteredTypes","Object","keys","activityRegistry"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ActivityData } from '../../core';
|
|
3
|
+
interface ActivityRendererProps {
|
|
4
|
+
activity: ActivityData;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Activity 渲染器组件
|
|
8
|
+
* 根据 activityType 查找注册的组件进行渲染
|
|
9
|
+
*/
|
|
10
|
+
export declare const ActivityRenderer: React.NamedExoticComponent<ActivityRendererProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
9
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
10
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
11
|
+
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
12
|
+
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
13
|
+
import _inherits from '@babel/runtime/helpers/inherits';
|
|
14
|
+
import React, { Component, useState, useMemo, useEffect } from 'react';
|
|
15
|
+
import { activityRegistry } from './registry.js';
|
|
16
|
+
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
21
|
+
var ActivityErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
22
|
+
function ActivityErrorBoundary(props) {
|
|
23
|
+
var _this;
|
|
24
|
+
_classCallCheck(this, ActivityErrorBoundary);
|
|
25
|
+
_this = _callSuper(this, ActivityErrorBoundary, [props]);
|
|
26
|
+
_this.state = {
|
|
27
|
+
hasError: false,
|
|
28
|
+
error: null
|
|
29
|
+
};
|
|
30
|
+
return _this;
|
|
31
|
+
}
|
|
32
|
+
_inherits(ActivityErrorBoundary, _Component);
|
|
33
|
+
return _createClass(ActivityErrorBoundary, [{
|
|
34
|
+
key: "componentDidCatch",
|
|
35
|
+
value: function componentDidCatch(error, errorInfo) {
|
|
36
|
+
console.error("[ActivityRenderer] Error in activity \"".concat(this.props.activityType, "\":"), error, errorInfo);
|
|
37
|
+
}
|
|
38
|
+
}, {
|
|
39
|
+
key: "render",
|
|
40
|
+
value: function render() {
|
|
41
|
+
if (this.state.hasError) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return this.props.children;
|
|
45
|
+
}
|
|
46
|
+
}], [{
|
|
47
|
+
key: "getDerivedStateFromError",
|
|
48
|
+
value: function getDerivedStateFromError(error) {
|
|
49
|
+
return {
|
|
50
|
+
hasError: true,
|
|
51
|
+
error: error
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}]);
|
|
55
|
+
}(Component);
|
|
56
|
+
var DefaultActivityRenderer = function DefaultActivityRenderer(_ref) {
|
|
57
|
+
var activity = _ref.activity;
|
|
58
|
+
console.warn("[ActivityRenderer] Unknown activity type: ".concat(activity.activityType), activity.content);
|
|
59
|
+
return null;
|
|
60
|
+
};
|
|
61
|
+
var ActivityRenderer = /*#__PURE__*/React.memo(function (_ref2) {
|
|
62
|
+
var activity = _ref2.activity;
|
|
63
|
+
var _useState = useState(function () {
|
|
64
|
+
return !!activityRegistry.getRenderFunction(activity.activityType);
|
|
65
|
+
}),
|
|
66
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
67
|
+
isRegistered = _useState2[0],
|
|
68
|
+
setIsRegistered = _useState2[1];
|
|
69
|
+
var componentProps = useMemo(function () {
|
|
70
|
+
return {
|
|
71
|
+
activityType: activity.activityType,
|
|
72
|
+
content: activity.content,
|
|
73
|
+
messageId: activity.messageId || ""
|
|
74
|
+
};
|
|
75
|
+
}, [activity.activityType, activity.content, activity.messageId]);
|
|
76
|
+
useEffect(function () {
|
|
77
|
+
if (!isRegistered) {
|
|
78
|
+
var handleRegistered = function handleRegistered(event) {
|
|
79
|
+
var _event$detail;
|
|
80
|
+
if (((_event$detail = event.detail) === null || _event$detail === void 0 ? void 0 : _event$detail.activityType) === activity.activityType) {
|
|
81
|
+
setIsRegistered(true);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
window.addEventListener("activity-registered", handleRegistered);
|
|
85
|
+
return function () {
|
|
86
|
+
window.removeEventListener("activity-registered", handleRegistered);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}, [activity.activityType, isRegistered]);
|
|
90
|
+
var MemoizedComponent = useMemo(function () {
|
|
91
|
+
return activityRegistry.getRenderFunction(activity.activityType);
|
|
92
|
+
}, [activity.activityType, isRegistered]);
|
|
93
|
+
if (!MemoizedComponent) {
|
|
94
|
+
return /* @__PURE__ */React.createElement(DefaultActivityRenderer, {
|
|
95
|
+
activity: activity
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return /* @__PURE__ */React.createElement(ActivityErrorBoundary, {
|
|
99
|
+
activityType: activity.activityType
|
|
100
|
+
}, /* @__PURE__ */React.createElement(MemoizedComponent, _objectSpread({}, componentProps)));
|
|
101
|
+
}, function (prevProps, nextProps) {
|
|
102
|
+
return prevProps.activity.activityType === nextProps.activity.activityType && prevProps.activity.messageId === nextProps.activity.messageId && JSON.stringify(prevProps.activity.content) === JSON.stringify(nextProps.activity.content);
|
|
103
|
+
});
|
|
104
|
+
ActivityRenderer.displayName = "ActivityRenderer";
|
|
105
|
+
|
|
106
|
+
export { ActivityRenderer };
|
|
107
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sources":["../../../../../pro-components/chat/chat-engine/components/activity/render.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, Component, ErrorInfo } from 'react';\nimport type { ActivityComponentProps } from './types';\nimport { activityRegistry } from './registry';\nimport {type ActivityData } from '../../core';\n\ninterface ActivityRendererProps {\n activity: ActivityData;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n}\n\n/**\n * Activity 错误边界组件\n * 捕获子组件渲染错误,防止整个对话列表崩溃\n * TODO: 后续支持配置化的错误 UI\n */\nclass ActivityErrorBoundary extends Component<\n { children: React.ReactNode; activityType: string },\n ErrorBoundaryState\n> {\n constructor(props: { children: React.ReactNode; activityType: string }) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n console.error(`[ActivityRenderer] Error in activity \"${this.props.activityType}\":`, error, errorInfo);\n }\n\n render() {\n if (this.state.hasError) {\n return null;\n }\n\n return this.props.children;\n }\n}\n\n/**\n * 默认的 Activity 渲染器\n * 当没有注册对应类型的组件时使用\n * TODO: 后续支持配置化的默认 UI\n */\nconst DefaultActivityRenderer: React.FC<ActivityRendererProps> = ({ activity }) => {\n // 空白兜底,仅在控制台输出警告\n console.warn(`[ActivityRenderer] Unknown activity type: ${activity.activityType}`, activity.content);\n return null;\n};\n\n/**\n * Activity 渲染器组件\n * 根据 activityType 查找注册的组件进行渲染\n */\nexport const ActivityRenderer = React.memo<ActivityRendererProps>(\n ({ activity }) => {\n // 添加注册状态监听\n const [isRegistered, setIsRegistered] = useState(\n () => !!activityRegistry.getRenderFunction(activity.activityType),\n );\n\n // 缓存组件 props\n const componentProps = useMemo<ActivityComponentProps>(\n () => ({\n activityType: activity.activityType,\n content: activity.content,\n messageId: activity.messageId || '',\n }),\n [activity.activityType, activity.content, activity.messageId],\n );\n\n // 监听组件注册事件,支持动态注册\n useEffect(() => {\n if (!isRegistered) {\n const handleRegistered = (event: CustomEvent) => {\n if (event.detail?.activityType === activity.activityType) {\n setIsRegistered(true);\n }\n };\n\n // 添加事件监听\n window.addEventListener('activity-registered', handleRegistered as EventListener);\n\n return () => {\n window.removeEventListener('activity-registered', handleRegistered as EventListener);\n };\n }\n }, [activity.activityType, isRegistered]);\n\n // 使用 registry 的缓存渲染函数\n const MemoizedComponent = useMemo(\n () => activityRegistry.getRenderFunction(activity.activityType),\n [activity.activityType, isRegistered],\n );\n\n // 如果没有注册对应的组件,使用默认渲染器\n if (!MemoizedComponent) {\n return <DefaultActivityRenderer activity={activity} />;\n }\n\n return (\n <ActivityErrorBoundary activityType={activity.activityType}>\n <MemoizedComponent {...componentProps} />\n </ActivityErrorBoundary>\n );\n },\n (prevProps, nextProps) =>\n prevProps.activity.activityType === nextProps.activity.activityType &&\n prevProps.activity.messageId === nextProps.activity.messageId &&\n JSON.stringify(prevProps.activity.content) === JSON.stringify(nextProps.activity.content),\n);\n\nActivityRenderer.displayName = 'ActivityRenderer';"],"names":["ActivityErrorBoundary","props","_this","_classCallCheck","_callSuper","state","hasError","error","_inherits","_Component","_createClass","key","value","componentDidCatch","errorInfo","console","activityType","render","children","getDerivedStateFromError","Component","DefaultActivityRenderer","_ref","activity","warn","concat","content","ActivityRenderer","React","memo","_ref2","_useState","useState","activityRegistry","getRenderFunction","_useState2","_slicedToArray","isRegistered","setIsRegistered","componentProps","useMemo","messageId","useEffect","handleRegistered","event","_event$detail","detail","window","addEventListener","removeEventListener","MemoizedComponent","createElement","_objectSpread","prevProps","nextProps","JSON","stringify","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Activity 组件的标准 Props 接口
|
|
4
|
+
*/
|
|
5
|
+
export interface ActivityComponentProps<TContent = any> {
|
|
6
|
+
/** Activity 类型 */
|
|
7
|
+
activityType: string;
|
|
8
|
+
/** Activity 内容数据 */
|
|
9
|
+
content: TContent;
|
|
10
|
+
/** 关联的消息 ID */
|
|
11
|
+
messageId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Activity 配置接口
|
|
15
|
+
*/
|
|
16
|
+
export interface ActivityConfig<TContent = any> {
|
|
17
|
+
/** Activity 类型标识符 */
|
|
18
|
+
activityType: string;
|
|
19
|
+
/** 渲染组件 */
|
|
20
|
+
component: React.FC<ActivityComponentProps<TContent>>;
|
|
21
|
+
/** 描述信息(可选) */
|
|
22
|
+
description?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Activity 注册表接口
|
|
26
|
+
*/
|
|
27
|
+
export interface ActivityRegistry {
|
|
28
|
+
[activityType: string]: ActivityConfig;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Activity 数据结构(从 ActivityContent 中提取)
|
|
32
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import './toolcall/index.js';
|
|
8
|
+
import './activity/index.js';
|
|
9
|
+
export { AgentStateProvider } from './provider/agent-state.js';
|
|
10
|
+
export { isNonInteractive, isNonInteractiveConfig } from './toolcall/types.js';
|
|
11
|
+
export { agentToolcallRegistry } from './toolcall/registry.js';
|
|
12
|
+
export { ToolCallRenderer, withAgentStateToolcall, withAgentStateToolcall1 } from './toolcall/render.js';
|
|
13
|
+
export { activityRegistry } from './activity/registry.js';
|
|
14
|
+
export { ActivityRenderer } from './activity/render.js';
|
|
15
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
16
|
+
import '@babel/runtime/helpers/createClass';
|
|
17
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
18
|
+
import 'react';
|
|
19
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
20
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
21
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
22
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
23
|
+
import '@babel/runtime/helpers/inherits';
|
|
24
|
+
import '@babel/runtime/regenerator';
|
|
25
|
+
import '../hooks/useAgentState.js';
|
|
26
|
+
import '../core/adapters/agui/state-manager.js';
|
|
27
|
+
import '@babel/runtime/helpers/typeof';
|
|
28
|
+
import '../core/utils/index.js';
|
|
29
|
+
import './activity/types.js';
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2-alpha.
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -8,7 +8,11 @@ import React from 'react';
|
|
|
8
8
|
import { useAgentState, AgentStateContext } from '../../hooks/useAgentState.js';
|
|
9
9
|
import '@babel/runtime/helpers/defineProperty';
|
|
10
10
|
import '@babel/runtime/helpers/slicedToArray';
|
|
11
|
-
import '
|
|
11
|
+
import '../../core/adapters/agui/state-manager.js';
|
|
12
|
+
import '@babel/runtime/helpers/typeof';
|
|
13
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
14
|
+
import '@babel/runtime/helpers/createClass';
|
|
15
|
+
import '../../core/utils/index.js';
|
|
12
16
|
|
|
13
17
|
var AgentStateProvider = function AgentStateProvider(_ref) {
|
|
14
18
|
var children = _ref.children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-state.js","sources":["../../../../../pro-components/chat/chat-engine/components/provider/agent-state.tsx"],"sourcesContent":["import React from 'react';\nimport { AgentStateContext, type StateActionOptions, useAgentState } from '../../hooks/useAgentState';\n\n// 导出 Provider 组件\nexport const AgentStateProvider = ({ children, initialState = {}, subscribeKey }: StateActionOptions & {\n children: React.ReactNode;\n}) => {\n const agentStateResult = useAgentState({\n initialState,\n subscribeKey,\n });\n\n return (\n <AgentStateContext.Provider value={agentStateResult}>\n {children}\n </AgentStateContext.Provider>\n );\n};\n"],"names":["AgentStateProvider","_ref","children","_ref$initialState","initialState","subscribeKey","agentStateResult","useAgentState","React","createElement","AgentStateContext","Provider","value"],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-state.js","sources":["../../../../../pro-components/chat/chat-engine/components/provider/agent-state.tsx"],"sourcesContent":["import React from 'react';\nimport { AgentStateContext, type StateActionOptions, useAgentState } from '../../hooks/useAgentState';\n\n// 导出 Provider 组件\nexport const AgentStateProvider = ({ children, initialState = {}, subscribeKey }: StateActionOptions & {\n children: React.ReactNode;\n}) => {\n const agentStateResult = useAgentState({\n initialState,\n subscribeKey,\n });\n\n return (\n <AgentStateContext.Provider value={agentStateResult}>\n {children}\n </AgentStateContext.Provider>\n );\n};\n"],"names":["AgentStateProvider","_ref","children","_ref$initialState","initialState","subscribeKey","agentStateResult","useAgentState","React","createElement","AgentStateContext","Provider","value"],"mappings":";;;;;;;;;;;;;;;;IAIaA,kBAAA,GAAqB,SAArBA,kBAAAA,CAAAC,IAAA,EAEP;AAAA,EAAA,IAF+BC,QAAA,GAAAD,IAAA,CAAAC,QAAA;IAAAC,iBAAA,GAAAF,IAAA,CAAUG;AAAAA,IAAAA,8CAAe,EAAC,GAAAD,iBAAA;IAAGE,oBAAAA;EAGhE,IAAMC,mBAAmBC,aAAc,CAAA;AACrCH,IAAAA,YAAA,EAAAA,YAAA;AACAC,IAAAA,YAAA,EAAAA,YAAAA;AACF,GAAC,CAAA,CAAA;EAGC,sBAAAG,KAAA,CAAAC,aAAA,CAACC,kBAAkBC,QAAlB,EAAA;AAA2BC,IAAAA,KAAO,EAAAN,gBAAAA;GAAA,EAChCJ,QACH,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2-alpha.
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -13,7 +13,12 @@ import '@babel/runtime/helpers/defineProperty';
|
|
|
13
13
|
import 'react';
|
|
14
14
|
import '@babel/runtime/helpers/asyncToGenerator';
|
|
15
15
|
import '@babel/runtime/helpers/slicedToArray';
|
|
16
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
17
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
18
|
+
import '@babel/runtime/helpers/inherits';
|
|
16
19
|
import '@babel/runtime/regenerator';
|
|
17
20
|
import '../../hooks/useAgentState.js';
|
|
18
|
-
import '
|
|
21
|
+
import '../../core/adapters/agui/state-manager.js';
|
|
22
|
+
import '@babel/runtime/helpers/typeof';
|
|
23
|
+
import '../../core/utils/index.js';
|
|
19
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2-alpha.
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -7,17 +7,59 @@
|
|
|
7
7
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
8
8
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
9
9
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
10
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
11
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
12
|
+
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
13
|
+
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
14
|
+
import _inherits from '@babel/runtime/helpers/inherits';
|
|
10
15
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
11
|
-
import React, { useState, useMemo, useCallback, useEffect } from 'react';
|
|
16
|
+
import React, { Component, useState, useMemo, useCallback, useEffect } from 'react';
|
|
12
17
|
import { isNonInteractiveConfig } from './types.js';
|
|
13
18
|
import { agentToolcallRegistry } from './registry.js';
|
|
14
19
|
import { useAgentStateDataByKey, AgentStateContext } from '../../hooks/useAgentState.js';
|
|
15
|
-
import '
|
|
16
|
-
import '@babel/runtime/helpers/
|
|
17
|
-
import '
|
|
20
|
+
import '../../core/adapters/agui/state-manager.js';
|
|
21
|
+
import '@babel/runtime/helpers/typeof';
|
|
22
|
+
import '../../core/utils/index.js';
|
|
18
23
|
|
|
19
24
|
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; }
|
|
20
25
|
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; }
|
|
26
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
27
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
28
|
+
var ToolCallErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
29
|
+
function ToolCallErrorBoundary(props) {
|
|
30
|
+
var _this;
|
|
31
|
+
_classCallCheck(this, ToolCallErrorBoundary);
|
|
32
|
+
_this = _callSuper(this, ToolCallErrorBoundary, [props]);
|
|
33
|
+
_this.state = {
|
|
34
|
+
hasError: false,
|
|
35
|
+
error: null
|
|
36
|
+
};
|
|
37
|
+
return _this;
|
|
38
|
+
}
|
|
39
|
+
_inherits(ToolCallErrorBoundary, _Component);
|
|
40
|
+
return _createClass(ToolCallErrorBoundary, [{
|
|
41
|
+
key: "componentDidCatch",
|
|
42
|
+
value: function componentDidCatch(error, errorInfo) {
|
|
43
|
+
console.error("[ToolCallRenderer] Error in tool \"".concat(this.props.toolCallName, "\":"), error, errorInfo);
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
key: "render",
|
|
47
|
+
value: function render() {
|
|
48
|
+
if (this.state.hasError) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return this.props.children;
|
|
52
|
+
}
|
|
53
|
+
}], [{
|
|
54
|
+
key: "getDerivedStateFromError",
|
|
55
|
+
value: function getDerivedStateFromError(error) {
|
|
56
|
+
return {
|
|
57
|
+
hasError: true,
|
|
58
|
+
error: error
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}]);
|
|
62
|
+
}(Component);
|
|
21
63
|
var ToolCallRenderer = /*#__PURE__*/React.memo(function (_ref) {
|
|
22
64
|
var toolCall = _ref.toolCall,
|
|
23
65
|
onRespond = _ref.onRespond;
|
|
@@ -169,36 +211,38 @@ var ToolCallRenderer = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
169
211
|
if (!MemoizedComponent) {
|
|
170
212
|
return null;
|
|
171
213
|
}
|
|
172
|
-
return /* @__PURE__ */React.createElement(
|
|
214
|
+
return /* @__PURE__ */React.createElement(ToolCallErrorBoundary, {
|
|
215
|
+
toolCallName: toolCall.toolCallName
|
|
216
|
+
}, /* @__PURE__ */React.createElement(MemoizedComponent, _objectSpread({}, componentProps)));
|
|
173
217
|
}, function (prevProps, nextProps) {
|
|
174
218
|
return prevProps.toolCall.toolCallId === nextProps.toolCall.toolCallId && prevProps.toolCall.toolCallName === nextProps.toolCall.toolCallName && prevProps.toolCall.args === nextProps.toolCall.args && prevProps.toolCall.result === nextProps.toolCall.result && prevProps.onRespond === nextProps.onRespond;
|
|
175
219
|
});
|
|
176
|
-
var withAgentStateToolcall1 = function withAgentStateToolcall1(
|
|
220
|
+
var withAgentStateToolcall1 = function withAgentStateToolcall1(Component2) {
|
|
177
221
|
var WrappedComponent = function WrappedComponent(props) {
|
|
178
222
|
return /* @__PURE__ */React.createElement(AgentStateContext.Consumer, null, function (context) {
|
|
179
223
|
if (!context) {
|
|
180
224
|
console.warn("AgentStateContext not found, component will render without state");
|
|
181
|
-
return /* @__PURE__ */React.createElement(
|
|
225
|
+
return /* @__PURE__ */React.createElement(Component2, _objectSpread({}, props));
|
|
182
226
|
}
|
|
183
|
-
return /* @__PURE__ */React.createElement(
|
|
227
|
+
return /* @__PURE__ */React.createElement(Component2, _objectSpread(_objectSpread({}, props), {}, {
|
|
184
228
|
agentState: context.stateMap
|
|
185
229
|
}));
|
|
186
230
|
});
|
|
187
231
|
};
|
|
188
|
-
WrappedComponent.displayName = "withAgentState(".concat(
|
|
232
|
+
WrappedComponent.displayName = "withAgentState(".concat(Component2.displayName || Component2.name || "Component", ")");
|
|
189
233
|
return /*#__PURE__*/React.memo(WrappedComponent);
|
|
190
234
|
};
|
|
191
|
-
var withAgentStateToolcall = function withAgentStateToolcall(
|
|
235
|
+
var withAgentStateToolcall = function withAgentStateToolcall(Component2, subscribeKeyExtractor) {
|
|
192
236
|
var WrappedComponent = function WrappedComponent(props) {
|
|
193
237
|
var targetStateKey = useMemo(function () {
|
|
194
238
|
return subscribeKeyExtractor ? subscribeKeyExtractor(props) : void 0;
|
|
195
239
|
}, [props]);
|
|
196
240
|
var agentState = useAgentStateDataByKey(targetStateKey);
|
|
197
|
-
return /* @__PURE__ */React.createElement(
|
|
241
|
+
return /* @__PURE__ */React.createElement(Component2, _objectSpread(_objectSpread({}, props), {}, {
|
|
198
242
|
agentState: agentState
|
|
199
243
|
}));
|
|
200
244
|
};
|
|
201
|
-
WrappedComponent.displayName = "withAgentState(".concat(
|
|
245
|
+
WrappedComponent.displayName = "withAgentState(".concat(Component2.displayName || Component2.name || "Component", ")");
|
|
202
246
|
return /*#__PURE__*/React.memo(WrappedComponent);
|
|
203
247
|
};
|
|
204
248
|
|