@tdesign-react/chat 1.0.2-alpha.7 → 1.0.2-alpha.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/es/_util/reactify.d.ts +1 -2
- package/es/_util/reactify.js +81 -231
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +4 -6
- package/es/attachments/index.js.map +1 -1
- package/es/chat-actionbar/_example-js/base.d.ts +2 -0
- package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
- package/es/chat-actionbar/_example-js/style.d.ts +2 -0
- package/es/chat-actionbar/index.js +4 -6
- package/es/chat-actionbar/index.js.map +1 -1
- package/es/chat-attachments/_example-js/base.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
- package/es/chat-attachments/index.js +3 -1
- package/es/chat-attachments/index.js.map +1 -1
- package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
- package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
- package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
- package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
- package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
- package/es/chat-engine/_example-js/agui.d.ts +1 -0
- package/es/chat-engine/_example-js/basic.d.ts +9 -0
- package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
- package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
- package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
- package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
- package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/login.d.ts +1 -0
- package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
- package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
- package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
- package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
- package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
- package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
- package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
- package/es/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
- package/es/chat-engine/components/activity/index.js +18 -0
- package/es/{chatbot/components/toolcall → chat-engine/components/activity}/index.js.map +1 -1
- package/es/chat-engine/components/activity/registry.d.ts +44 -0
- package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
- 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 +28 -0
- package/es/chat-engine/components/index.js.map +1 -0
- package/es/chat-engine/components/provider/agent-state.js +1 -1
- package/es/chat-engine/components/toolcall/index.js +4 -1
- 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.js +72 -25
- 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 +375 -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 +20 -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 +1 -1
- 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.js +3 -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 +37 -3
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/_example-js/base.d.ts +1 -0
- package/es/chat-filecard/index.js +4 -6
- package/es/chat-filecard/index.js.map +1 -1
- package/es/chat-loading/_example-js/base.d.ts +2 -0
- package/es/chat-loading/_example-js/text.d.ts +2 -0
- package/es/chat-loading/index.js +4 -6
- package/es/chat-loading/index.js.map +1 -1
- package/es/chat-markdown/_example-js/base.d.ts +1 -0
- package/es/chat-markdown/_example-js/custom.d.ts +2 -0
- package/es/chat-markdown/_example-js/event.d.ts +1 -0
- package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
- package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
- package/es/chat-markdown/_example-js/theme.d.ts +2 -0
- package/es/chat-markdown/index.js +4 -6
- package/es/chat-markdown/index.js.map +1 -1
- package/es/chat-message/_example-js/action.d.ts +1 -0
- package/es/chat-message/_example-js/base.d.ts +1 -0
- package/es/chat-message/_example-js/configure.d.ts +1 -0
- package/es/chat-message/_example-js/content.d.ts +1 -0
- package/es/chat-message/_example-js/custom.d.ts +1 -0
- package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
- package/es/chat-message/_example-js/status.d.ts +1 -0
- package/es/chat-message/_example-js/think.d.ts +1 -0
- package/es/chat-message/index.js +4 -6
- package/es/chat-message/index.js.map +1 -1
- package/es/chat-sender/_example-js/attachment.d.ts +2 -0
- package/es/chat-sender/_example-js/base.d.ts +2 -0
- package/es/chat-sender/_example-js/custom.d.ts +2 -0
- package/es/chat-sender/index.js +4 -6
- package/es/chat-sender/index.js.map +1 -1
- package/es/chat-thinking/_example-js/base.d.ts +1 -0
- package/es/chat-thinking/_example-js/style.d.ts +1 -0
- package/es/chat-thinking/index.js +4 -6
- package/es/chat-thinking/index.js.map +1 -1
- package/es/chatbot/_example-js/agent.d.ts +1 -0
- package/es/chatbot/_example-js/agui.d.ts +13 -0
- package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
- package/es/chatbot/_example-js/basic.d.ts +1 -0
- package/es/chatbot/_example-js/code.d.ts +1 -0
- package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chatbot/_example-js/components/login.d.ts +1 -0
- package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
- package/es/chatbot/_example-js/custom-content.d.ts +1 -0
- package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
- package/es/chatbot/_example-js/custom.d.ts +1 -0
- package/es/chatbot/_example-js/docs.d.ts +1 -0
- package/es/chatbot/_example-js/image.d.ts +1 -0
- package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
- package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
- package/es/chatbot/_example-js/nostream.d.ts +1 -0
- package/es/chatbot/_example-js/quick-start.d.ts +9 -0
- package/es/chatbot/_example-js/research.d.ts +1 -0
- package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
- package/es/chatbot/_example-js/sender-config.d.ts +20 -0
- package/es/chatbot/_example-js/service-config.d.ts +17 -0
- package/es/chatbot/_example-js/simple.d.ts +1 -0
- package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
- package/es/chatbot/index.js +4 -6
- package/es/chatbot/index.js.map +1 -1
- package/es/index.js +37 -9
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +2 -2
- package/es/chatbot/components/provider/agent-state.d.ts +0 -5
- package/es/chatbot/components/provider/agent-state.js +0 -28
- package/es/chatbot/components/provider/agent-state.js.map +0 -1
- package/es/chatbot/components/toolcall/index.js +0 -19
- package/es/chatbot/components/toolcall/registry.d.ts +0 -35
- package/es/chatbot/components/toolcall/registry.js.map +0 -1
- package/es/chatbot/components/toolcall/render.d.ts +0 -13
- package/es/chatbot/components/toolcall/render.js +0 -207
- package/es/chatbot/components/toolcall/render.js.map +0 -1
- package/es/chatbot/components/toolcall/types.d.ts +0 -57
- package/es/chatbot/components/toolcall/types.js +0 -15
- package/es/chatbot/components/toolcall/types.js.map +0 -1
- package/es/chatbot/hooks/useAgentState.d.ts +0 -40
- package/es/chatbot/hooks/useAgentState.js +0 -76
- package/es/chatbot/hooks/useAgentState.js.map +0 -1
- package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
- package/es/chatbot/hooks/useAgentToolcall.js +0 -78
- package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
- package/es/chatbot/hooks/useChat.d.ts +0 -11
- package/es/chatbot/hooks/useChat.js +0 -66
- package/es/chatbot/hooks/useChat.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/helpers.mjs","../../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/core.mjs","../../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/duplex.mjs","../../../../../../node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/index.mjs","../../../../../pro-components/chat/chat-engine/core/utils/index.ts"],"sourcesContent":["/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n var keys_1 = new Array(obj.length);\n for (var k = 0; k < keys_1.length; k++) {\n keys_1[k] = \"\" + k;\n }\n return keys_1;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n var keys = [];\n for (var i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n;\n/**\n* Deeply clone the object.\n* https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n* @param {any} obj value to clone\n* @return {any} cloned obj\n*/\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str) {\n var i = 0;\n var len = str.length;\n var charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n* Escapes a json pointer path\n* @param path The raw pointer\n* @return the Escaped path\n*/\nexport function escapePathComponent(path) {\n if (path.indexOf('/') === -1 && path.indexOf('~') === -1)\n return path;\n return path.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path) {\n return path.replace(/~1/g, '/').replace(/~0/g, '~');\n}\nexport function _getPathRecursive(root, obj) {\n var found;\n for (var key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + '/';\n }\n else if (typeof root[key] === 'object') {\n found = _getPathRecursive(root[key], obj);\n if (found != '') {\n return escapePathComponent(key) + '/' + found;\n }\n }\n }\n }\n return '';\n}\nexport function getPath(root, obj) {\n if (root === obj) {\n return '/';\n }\n var path = _getPathRecursive(root, obj);\n if (path === '') {\n throw new Error(\"Object not found in root\");\n }\n return \"/\" + path;\n}\n/**\n* Recursively checks whether an object has any undefined values inside.\n*/\nexport function hasUndefined(obj) {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (var i_1 = 0, len = obj.length; i_1 < len; i_1++) {\n if (hasUndefined(obj[i_1])) {\n return true;\n }\n }\n }\n else if (typeof obj === \"object\") {\n var objKeys = _objectKeys(obj);\n var objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\nfunction patchErrorMessageFormatter(message, args) {\n var messageParts = [message];\n for (var key in args) {\n var value = typeof args[key] === 'object' ? JSON.stringify(args[key], null, 2) : args[key]; // pretty print\n if (typeof value !== 'undefined') {\n messageParts.push(key + \": \" + value);\n }\n }\n return messageParts.join('\\n');\n}\nvar PatchError = /** @class */ (function (_super) {\n __extends(PatchError, _super);\n function PatchError(message, name, index, operation, tree) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree })) || this;\n _this.name = name;\n _this.index = index;\n _this.operation = operation;\n _this.tree = tree;\n Object.setPrototypeOf(_this, _newTarget.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n _this.message = patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree });\n return _this;\n }\n return PatchError;\n}(Error));\nexport { PatchError };\n","import { PatchError, _deepClone, isInteger, unescapePathComponent, hasUndefined } from './helpers.mjs';\nexport var JsonPatchError = PatchError;\nexport var deepClone = _deepClone;\n/* We use a Javascript hash to store each\n function. Each hash entry (property) uses\n the operation identifiers specified in rfc6902.\n In this way, we can map each patch operation\n to its dedicated function in efficient way.\n */\n/* The operations applicable to an object */\nvar objOps = {\n add: function (obj, key, document) {\n obj[key] = this.value;\n return { newDocument: document };\n },\n remove: function (obj, key, document) {\n var removed = obj[key];\n delete obj[key];\n return { newDocument: document, removed: removed };\n },\n replace: function (obj, key, document) {\n var removed = obj[key];\n obj[key] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: function (obj, key, document) {\n /* in case move target overwrites an existing value,\n return the removed value, this can be taxing performance-wise,\n and is potentially unneeded */\n var removed = getValueByPointer(document, this.path);\n if (removed) {\n removed = _deepClone(removed);\n }\n var originalValue = applyOperation(document, { op: \"remove\", path: this.from }).removed;\n applyOperation(document, { op: \"add\", path: this.path, value: originalValue });\n return { newDocument: document, removed: removed };\n },\n copy: function (obj, key, document) {\n var valueToCopy = getValueByPointer(document, this.from);\n // enforce copy by value so further operations don't affect source (see issue #177)\n applyOperation(document, { op: \"add\", path: this.path, value: _deepClone(valueToCopy) });\n return { newDocument: document };\n },\n test: function (obj, key, document) {\n return { newDocument: document, test: _areEquals(obj[key], this.value) };\n },\n _get: function (obj, key, document) {\n this.value = obj[key];\n return { newDocument: document };\n }\n};\n/* The operations applicable to an array. Many are the same as for the object */\nvar arrOps = {\n add: function (arr, i, document) {\n if (isInteger(i)) {\n arr.splice(i, 0, this.value);\n }\n else { // array props\n arr[i] = this.value;\n }\n // this may be needed when using '-' in an array\n return { newDocument: document, index: i };\n },\n remove: function (arr, i, document) {\n var removedList = arr.splice(i, 1);\n return { newDocument: document, removed: removedList[0] };\n },\n replace: function (arr, i, document) {\n var removed = arr[i];\n arr[i] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: objOps.move,\n copy: objOps.copy,\n test: objOps.test,\n _get: objOps._get\n};\n/**\n * Retrieves a value from a JSON document by a JSON pointer.\n * Returns the value.\n *\n * @param document The document to get the value from\n * @param pointer an escaped JSON pointer\n * @return The retrieved value\n */\nexport function getValueByPointer(document, pointer) {\n if (pointer == '') {\n return document;\n }\n var getOriginalDestination = { op: \"_get\", path: pointer };\n applyOperation(document, getOriginalDestination);\n return getOriginalDestination.value;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the {newDocument, result} of the operation.\n * It modifies the `document` and `operation` objects - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyOperation(document, jsonpatch._deepClone(operation))`.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return `{newDocument, result}` after the operation\n */\nexport function applyOperation(document, operation, validateOperation, mutateDocument, banPrototypeModifications, index) {\n if (validateOperation === void 0) { validateOperation = false; }\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (index === void 0) { index = 0; }\n if (validateOperation) {\n if (typeof validateOperation == 'function') {\n validateOperation(operation, 0, document, operation.path);\n }\n else {\n validator(operation, 0);\n }\n }\n /* ROOT OPERATIONS */\n if (operation.path === \"\") {\n var returnValue = { newDocument: document };\n if (operation.op === 'add') {\n returnValue.newDocument = operation.value;\n return returnValue;\n }\n else if (operation.op === 'replace') {\n returnValue.newDocument = operation.value;\n returnValue.removed = document; //document we removed\n return returnValue;\n }\n else if (operation.op === 'move' || operation.op === 'copy') { // it's a move or copy to root\n returnValue.newDocument = getValueByPointer(document, operation.from); // get the value by json-pointer in `from` field\n if (operation.op === 'move') { // report removed item\n returnValue.removed = document;\n }\n return returnValue;\n }\n else if (operation.op === 'test') {\n returnValue.test = _areEquals(document, operation.value);\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n returnValue.newDocument = document;\n return returnValue;\n }\n else if (operation.op === 'remove') { // a remove on root\n returnValue.removed = document;\n returnValue.newDocument = null;\n return returnValue;\n }\n else if (operation.op === '_get') {\n operation.value = document;\n return returnValue;\n }\n else { /* bad operation */\n if (validateOperation) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else {\n return returnValue;\n }\n }\n } /* END ROOT OPERATIONS */\n else {\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var path = operation.path || \"\";\n var keys = path.split('/');\n var obj = document;\n var t = 1; //skip empty element - http://jsperf.com/to-shift-or-not-to-shift\n var len = keys.length;\n var existingPathFragment = undefined;\n var key = void 0;\n var validateFunction = void 0;\n if (typeof validateOperation == 'function') {\n validateFunction = validateOperation;\n }\n else {\n validateFunction = validator;\n }\n while (true) {\n key = keys[t];\n if (key && key.indexOf('~') != -1) {\n key = unescapePathComponent(key);\n }\n if (banPrototypeModifications &&\n (key == '__proto__' ||\n (key == 'prototype' && t > 0 && keys[t - 1] == 'constructor'))) {\n throw new TypeError('JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README');\n }\n if (validateOperation) {\n if (existingPathFragment === undefined) {\n if (obj[key] === undefined) {\n existingPathFragment = keys.slice(0, t).join('/');\n }\n else if (t == len - 1) {\n existingPathFragment = operation.path;\n }\n if (existingPathFragment !== undefined) {\n validateFunction(operation, 0, document, existingPathFragment);\n }\n }\n }\n t++;\n if (Array.isArray(obj)) {\n if (key === '-') {\n key = obj.length;\n }\n else {\n if (validateOperation && !isInteger(key)) {\n throw new JsonPatchError(\"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\", \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\", index, operation, document);\n } // only parse key when it's an integer for `arr.prop` to work\n else if (isInteger(key)) {\n key = ~~key;\n }\n }\n if (t >= len) {\n if (validateOperation && operation.op === \"add\" && key > obj.length) {\n throw new JsonPatchError(\"The specified index MUST NOT be greater than the number of elements in the array\", \"OPERATION_VALUE_OUT_OF_BOUNDS\", index, operation, document);\n }\n var returnValue = arrOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n else {\n if (t >= len) {\n var returnValue = objOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n obj = obj[key];\n // If we have more keys in the path, but the next value isn't a non-null object,\n // throw an OPERATION_PATH_UNRESOLVABLE error instead of iterating again.\n if (validateOperation && t < len && (!obj || typeof obj !== \"object\")) {\n throw new JsonPatchError('Cannot perform operation at the desired path', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Apply a full JSON Patch array on a JSON document.\n * Returns the {newDocument, result} of the patch.\n * It modifies the `document` object and `patch` - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyPatch(document, jsonpatch._deepClone(patch))`.\n *\n * @param document The document to patch\n * @param patch The patch to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return An array of `{newDocument, result}` after the patch\n */\nexport function applyPatch(document, patch, validateOperation, mutateDocument, banPrototypeModifications) {\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (validateOperation) {\n if (!Array.isArray(patch)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n }\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var results = new Array(patch.length);\n for (var i = 0, length_1 = patch.length; i < length_1; i++) {\n // we don't need to pass mutateDocument argument because if it was true, we already deep cloned the object, we'll just pass `true`\n results[i] = applyOperation(document, patch[i], validateOperation, true, banPrototypeModifications, i);\n document = results[i].newDocument; // in case root was replaced\n }\n results.newDocument = document;\n return results;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the updated document.\n * Suitable as a reducer.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @return The updated document\n */\nexport function applyReducer(document, operation, index) {\n var operationResult = applyOperation(document, operation);\n if (operationResult.test === false) { // failed test\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return operationResult.newDocument;\n}\n/**\n * Validates a single operation. Called from `jsonpatch.validate`. Throws `JsonPatchError` in case of an error.\n * @param {object} operation - operation object (patch)\n * @param {number} index - index of operation in the sequence\n * @param {object} [document] - object where the operation is supposed to be applied\n * @param {string} [existingPathFragment] - comes along with `document`\n */\nexport function validator(operation, index, document, existingPathFragment) {\n if (typeof operation !== 'object' || operation === null || Array.isArray(operation)) {\n throw new JsonPatchError('Operation is not an object', 'OPERATION_NOT_AN_OBJECT', index, operation, document);\n }\n else if (!objOps[operation.op]) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else if (typeof operation.path !== 'string') {\n throw new JsonPatchError('Operation `path` property is not a string', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if (operation.path.indexOf('/') !== 0 && operation.path.length > 0) {\n // paths that aren't empty string should start with \"/\"\n throw new JsonPatchError('Operation `path` property must start with \"/\"', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if ((operation.op === 'move' || operation.op === 'copy') && typeof operation.from !== 'string') {\n throw new JsonPatchError('Operation `from` property is not present (applicable in `move` and `copy` operations)', 'OPERATION_FROM_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && operation.value === undefined) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && hasUndefined(operation.value)) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED', index, operation, document);\n }\n else if (document) {\n if (operation.op == \"add\") {\n var pathLen = operation.path.split(\"/\").length;\n var existingPathLen = existingPathFragment.split(\"/\").length;\n if (pathLen !== existingPathLen + 1 && pathLen !== existingPathLen) {\n throw new JsonPatchError('Cannot perform an `add` operation at the desired path', 'OPERATION_PATH_CANNOT_ADD', index, operation, document);\n }\n }\n else if (operation.op === 'replace' || operation.op === 'remove' || operation.op === '_get') {\n if (operation.path !== existingPathFragment) {\n throw new JsonPatchError('Cannot perform the operation at a path that does not exist', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n else if (operation.op === 'move' || operation.op === 'copy') {\n var existingValue = { op: \"_get\", path: operation.from, value: undefined };\n var error = validate([existingValue], document);\n if (error && error.name === 'OPERATION_PATH_UNRESOLVABLE') {\n throw new JsonPatchError('Cannot perform the operation from a path that does not exist', 'OPERATION_FROM_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Validates a sequence of operations. If `document` parameter is provided, the sequence is additionally validated against the object document.\n * If error is encountered, returns a JsonPatchError object\n * @param sequence\n * @param document\n * @returns {JsonPatchError|undefined}\n */\nexport function validate(sequence, document, externalValidator) {\n try {\n if (!Array.isArray(sequence)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n if (document) {\n //clone document and sequence so that we can safely try applying operations\n applyPatch(_deepClone(document), _deepClone(sequence), externalValidator || true);\n }\n else {\n externalValidator = externalValidator || validator;\n for (var i = 0; i < sequence.length; i++) {\n externalValidator(sequence[i], i, document, undefined);\n }\n }\n }\n catch (e) {\n if (e instanceof JsonPatchError) {\n return e;\n }\n else {\n throw e;\n }\n }\n}\n// based on https://github.com/epoberezkin/fast-deep-equal\n// MIT License\n// Copyright (c) 2017 Evgeny Poberezkin\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\nexport function _areEquals(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = Array.isArray(a), arrB = Array.isArray(b), i, length, key;\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0;)\n if (!_areEquals(a[i], b[i]))\n return false;\n return true;\n }\n if (arrA != arrB)\n return false;\n var keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0;)\n if (!b.hasOwnProperty(keys[i]))\n return false;\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!_areEquals(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n}\n;\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2021 Joachim Wester\n * MIT license\n */\nimport { _deepClone, _objectKeys, escapePathComponent, hasOwnProperty } from './helpers.mjs';\nimport { applyPatch } from './core.mjs';\nvar beforeDict = new WeakMap();\nvar Mirror = /** @class */ (function () {\n function Mirror(obj) {\n this.observers = new Map();\n this.obj = obj;\n }\n return Mirror;\n}());\nvar ObserverInfo = /** @class */ (function () {\n function ObserverInfo(callback, observer) {\n this.callback = callback;\n this.observer = observer;\n }\n return ObserverInfo;\n}());\nfunction getMirror(obj) {\n return beforeDict.get(obj);\n}\nfunction getObserverFromMirror(mirror, callback) {\n return mirror.observers.get(callback);\n}\nfunction removeObserverFromMirror(mirror, observer) {\n mirror.observers.delete(observer.callback);\n}\n/**\n * Detach an observer from an object\n */\nexport function unobserve(root, observer) {\n observer.unobserve();\n}\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe(obj, callback) {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n }\n else {\n var observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n if (observer) {\n return observer;\n }\n observer = {};\n mirror.value = _deepClone(obj);\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n var dirtyCheck = function () {\n generate(observer);\n };\n var fastCheck = function () {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== 'undefined') { //not Node\n window.addEventListener('mouseup', fastCheck);\n window.addEventListener('keyup', fastCheck);\n window.addEventListener('mousedown', fastCheck);\n window.addEventListener('keydown', fastCheck);\n window.addEventListener('change', fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n observer.unobserve = function () {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', fastCheck);\n window.removeEventListener('keyup', fastCheck);\n window.removeEventListener('mousedown', fastCheck);\n window.removeEventListener('keydown', fastCheck);\n window.removeEventListener('change', fastCheck);\n }\n };\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n return observer;\n}\n/**\n * Generate an array of patches from an observer\n */\nexport function generate(observer, invertible) {\n if (invertible === void 0) { invertible = false; }\n var mirror = beforeDict.get(observer.object);\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n if (hasOwnProperty(obj, key) && !(obj[key] === undefined && oldVal !== undefined && Array.isArray(obj) === false)) {\n var newVal = obj[key];\n if (typeof oldVal == \"object\" && oldVal != null && typeof newVal == \"object\" && newVal != null && Array.isArray(oldVal) === Array.isArray(newVal)) {\n _generate(oldVal, newVal, patches, path + \"/\" + escapePathComponent(key), invertible);\n }\n else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"replace\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(newVal) });\n }\n }\n }\n else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"remove\", path: path + \"/\" + escapePathComponent(key) });\n deleted = true; // property has been deleted\n }\n else {\n if (invertible) {\n patches.push({ op: \"test\", path: path, value: mirror });\n }\n patches.push({ op: \"replace\", path: path, value: obj });\n changed = true;\n }\n }\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({ op: \"add\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(obj[key]) });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(tree1, tree2, invertible) {\n if (invertible === void 0) { invertible = false; }\n var patches = [];\n _generate(tree1, tree2, patches, '', invertible);\n return patches;\n}\n","export * from './module/core.mjs';\nexport * from './module/duplex.mjs';\nexport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\n\n/**\n * Default export for backwards compat\n */\n\nimport * as core from './module/core.mjs';\nimport * as duplex from './module/duplex.mjs';\nimport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\nexport default Object.assign({}, core, duplex, {\n JsonPatchError,\n deepClone,\n escapePathComponent,\n unescapePathComponent\n});","import { applyPatch } from 'fast-json-patch';\n\nimport type {\n ActivityContent,\n AIMessageContent,\n AttachmentContent,\n ChatMessagesData,\n ImageContent,\n MarkdownContent,\n SearchContent,\n SuggestionContent,\n TextContent,\n ThinkingContent,\n ToolCallContent,\n UserMessageContent,\n} from '../type';\n\n/**\n * 应用JSON Patch操作到状态对象\n * 使用fast-json-patch库实现RFC6902规范的JSON Patch操作\n * @param state 原始状态对象\n * @param delta 包含patch操作的数组\n * @returns 更新后的新状态对象\n */\nexport function applyJsonPatch(state: any, delta: any[]): any {\n try {\n // 使用fast-json-patch库应用补丁\n // applyPatch会自动深拷贝原始对象,避免直接修改\n const result = applyPatch(state, delta, false, false);\n return result.newDocument;\n } catch (error) {\n console.warn('JSON Patch操作失败,返回原始状态:', error);\n // 如果应用补丁失败,返回原始状态的深拷贝\n return JSON.parse(JSON.stringify(state));\n }\n}\n\n/**\n * 安全解析JSON字符串的工具函数\n *\n * @param value 待解析的值,可能是字符串或已解析的对象\n * @param fallbackValue 解析失败时的回退值,默认为原值\n * @param errorContext 错误上下文,用于日志输出\n * @returns 解析后的值或回退值\n */\nexport function safeParseJSON<T = any>(value: any, fallbackValue?: T, errorContext?: string): T {\n if (typeof value !== 'string') {\n return value; // 如果不是字符串,直接返回\n }\n\n try {\n return JSON.parse(value);\n } catch (error) {\n const context = errorContext ? ` (${errorContext})` : '';\n console.warn(`Failed to parse JSON${context}:`, error);\n return (fallbackValue !== undefined ? fallbackValue : value) as T;\n }\n}\n\nexport function findTargetElement(event: MouseEvent, selector: string | string[]): HTMLElement | null {\n // 统一处理选择器输入格式(支持字符串或数组)\n const selectors = Array.isArray(selector) ? selector : selector.split(',').map((s) => s.trim());\n\n // 获取事件穿透路径(包含Shadow DOM内部元素)\n const eventPath = event.composedPath();\n\n // 遍历路径查找目标元素\n for (const el of eventPath) {\n // 类型安全判断 + 多选择器匹配\n if (el instanceof HTMLElement) {\n // 检查是否匹配任意一个选择器\n if (selectors.some((sel) => el.matches?.(sel))) {\n return el; // 找到即返回\n }\n }\n }\n\n return null; // 未找到返回null\n}\n\n// 类型守卫函数\nexport function isUserMessage(message: ChatMessagesData) {\n return message.role === 'user' && 'content' in message;\n}\n\nexport function isAIMessage(message: ChatMessagesData) {\n return message.role === 'assistant';\n}\n\nexport function isThinkingContent(content: AIMessageContent): content is ThinkingContent {\n return content.type === 'thinking';\n}\n\nexport function isTextContent(content: AIMessageContent): content is TextContent {\n return content.type === 'text';\n}\n\nexport function isMarkdownContent(content: AIMessageContent): content is MarkdownContent {\n return content.type === 'markdown';\n}\n\nexport function isImageContent(content: AIMessageContent): content is ImageContent {\n return content.type === 'image';\n}\n\nexport function isSearchContent(content: AIMessageContent): content is SearchContent {\n return content.type === 'search';\n}\n\nexport function isSuggestionContent(content: AIMessageContent): content is SuggestionContent {\n return content.type === 'suggestion';\n}\n\nexport function isAttachmentContent(content: UserMessageContent): content is AttachmentContent {\n return content.type === 'attachment';\n}\n\nexport function isToolCallContent(content: AIMessageContent): content is ToolCallContent {\n return content.type === 'toolcall' || content.type.startsWith('toolcall-');\n}\n\nexport function isActivityContent(content: AIMessageContent): content is ActivityContent {\n return content.type === 'activity' || content.type.startsWith('activity-');\n}\n\nexport function isReasoningContent(content) {\n return content.type === 'reasoning';\n}\n\n/** 提取消息复制内容 */\nexport function getMessageContentForCopy(message: ChatMessagesData): string {\n if (!isAIMessage(message) || !message.content) {\n return '';\n }\n return message.content.reduce((pre: string, item: AIMessageContent) => {\n let append = '';\n if (isTextContent(item) || isMarkdownContent(item)) {\n append = item.data;\n } else if (isThinkingContent(item)) {\n append = item.data.text || '';\n }\n if (!pre) {\n return append;\n }\n return `${pre}\\n${append}`;\n }, '');\n}\n"],"names":["__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","_hasOwnProperty","obj","key","call","_objectKeys","isArray","keys_1","length","k","keys","i","push","_deepClone","_typeof","JSON","parse","stringify","isInteger","str","len","charCode","charCodeAt","escapePathComponent","path","indexOf","replace","unescapePathComponent","_getPathRecursive","root","found","getPath","Error","hasUndefined","undefined","i_1","objKeys","objKeysLength","patchErrorMessageFormatter","message","args","messageParts","value","join","PatchError","_super","name","index","operation","tree","_newTarget","_this","JsonPatchError","deepClone","objOps","add","document","newDocument","remove","removed","move","getValueByPointer","originalValue","applyOperation","op","from","copy","valueToCopy","test","_areEquals","_get","arrOps","arr","splice","removedList","pointer","getOriginalDestination","validateOperation","mutateDocument","banPrototypeModifications","validator","returnValue","split","t","existingPathFragment","validateFunction","TypeError","slice","applyPatch","patch","results","length_1","applyReducer","operationResult","pathLen","existingPathLen","existingValue","error","validate","sequence","externalValidator","e","a","arrA","arrB","beforeDict","WeakMap","Mirror","observers","Map","ObserverInfo","callback","observer","getMirror","get","getObserverFromMirror","mirror","removeObserverFromMirror","unobserve","observe","patches","set","observerInfo","next","dirtyCheck","generate","fastCheck","clearTimeout","setTimeout","window","addEventListener","object","removeEventListener","invertible","_generate","temp","toJSON","newKeys","oldKeys","changed","deleted","oldVal","newVal","compare","tree1","tree2","assign","core","duplex","applyJsonPatch","state","delta","result","console","warn","safeParseJSON","fallbackValue","errorContext","context","concat","findTargetElement","event","selector","selectors","map","s","trim","eventPath","composedPath","_iterator","_createForOfIteratorHelper","_step","_loop","el","HTMLElement","some","sel","_el$matches","matches","v","_ret","n","done","err","f","isUserMessage","role","isAIMessage","isThinkingContent","content","type","isTextContent","isMarkdownContent","isImageContent","isSearchContent","isSuggestionContent","isAttachmentContent","isToolCallContent","startsWith","isActivityContent","isReasoningContent","getMessageContentForCopy","reduce","pre","item","append","data","text"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface Logger {
|
|
2
|
+
debug(message: string, ...args: any[]): void;
|
|
3
|
+
info(message: string, ...args: any[]): void;
|
|
4
|
+
warn(message: string, ...args: any[]): void;
|
|
5
|
+
error(message: string, ...args: any[]): void;
|
|
6
|
+
}
|
|
7
|
+
export declare class ConsoleLogger implements Logger {
|
|
8
|
+
private enableDebug;
|
|
9
|
+
constructor(enableDebug?: boolean);
|
|
10
|
+
debug(message: string, ...args: any[]): void;
|
|
11
|
+
info(message: string, ...args: any[]): void;
|
|
12
|
+
warn(message: string, ...args: any[]): void;
|
|
13
|
+
error(message: string, ...args: any[]): void;
|
|
14
|
+
}
|
|
15
|
+
export declare class LoggerManager {
|
|
16
|
+
private static instance;
|
|
17
|
+
private static customLogger;
|
|
18
|
+
/**
|
|
19
|
+
* 获取日志实例(单例模式)
|
|
20
|
+
*/
|
|
21
|
+
static getLogger(): Logger;
|
|
22
|
+
/**
|
|
23
|
+
* 设置自定义日志实例
|
|
24
|
+
*/
|
|
25
|
+
static setLogger(logger: Logger): void;
|
|
26
|
+
/**
|
|
27
|
+
* 重置为默认日志
|
|
28
|
+
*/
|
|
29
|
+
static resetToDefault(): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
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 _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
10
|
+
|
|
11
|
+
var ConsoleLogger = /*#__PURE__*/function () {
|
|
12
|
+
function ConsoleLogger() {
|
|
13
|
+
var enableDebug = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
14
|
+
_classCallCheck(this, ConsoleLogger);
|
|
15
|
+
this.enableDebug = enableDebug;
|
|
16
|
+
}
|
|
17
|
+
return _createClass(ConsoleLogger, [{
|
|
18
|
+
key: "debug",
|
|
19
|
+
value: function debug(message) {
|
|
20
|
+
if (this.enableDebug) {
|
|
21
|
+
var _console;
|
|
22
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
23
|
+
args[_key - 1] = arguments[_key];
|
|
24
|
+
}
|
|
25
|
+
(_console = console).debug.apply(_console, ["[SSE Debug] ".concat(message)].concat(args));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}, {
|
|
29
|
+
key: "info",
|
|
30
|
+
value: function info(message) {
|
|
31
|
+
var _console2;
|
|
32
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
33
|
+
args[_key2 - 1] = arguments[_key2];
|
|
34
|
+
}
|
|
35
|
+
(_console2 = console).info.apply(_console2, ["[SSE Info] ".concat(message)].concat(args));
|
|
36
|
+
}
|
|
37
|
+
}, {
|
|
38
|
+
key: "warn",
|
|
39
|
+
value: function warn(message) {
|
|
40
|
+
var _console3;
|
|
41
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
42
|
+
args[_key3 - 1] = arguments[_key3];
|
|
43
|
+
}
|
|
44
|
+
(_console3 = console).warn.apply(_console3, ["[SSE Warn] ".concat(message)].concat(args));
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "error",
|
|
48
|
+
value: function error(message) {
|
|
49
|
+
var _console4;
|
|
50
|
+
for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
|
|
51
|
+
args[_key4 - 1] = arguments[_key4];
|
|
52
|
+
}
|
|
53
|
+
(_console4 = console).error.apply(_console4, ["[SSE Error] ".concat(message)].concat(args));
|
|
54
|
+
}
|
|
55
|
+
}]);
|
|
56
|
+
}();
|
|
57
|
+
var LoggerManager = /*#__PURE__*/function () {
|
|
58
|
+
function LoggerManager() {
|
|
59
|
+
_classCallCheck(this, LoggerManager);
|
|
60
|
+
}
|
|
61
|
+
return _createClass(LoggerManager, null, [{
|
|
62
|
+
key: "getLogger",
|
|
63
|
+
value: function getLogger() {
|
|
64
|
+
if (this.customLogger) {
|
|
65
|
+
return this.customLogger;
|
|
66
|
+
}
|
|
67
|
+
if (!this.instance) {
|
|
68
|
+
this.instance = new ConsoleLogger();
|
|
69
|
+
}
|
|
70
|
+
return this.instance;
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
key: "setLogger",
|
|
74
|
+
value: function setLogger(logger) {
|
|
75
|
+
this.customLogger = logger;
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
key: "resetToDefault",
|
|
79
|
+
value: function resetToDefault() {
|
|
80
|
+
this.customLogger = null;
|
|
81
|
+
}
|
|
82
|
+
}]);
|
|
83
|
+
}();
|
|
84
|
+
_defineProperty(LoggerManager, "customLogger", null);
|
|
85
|
+
|
|
86
|
+
export { ConsoleLogger, LoggerManager };
|
|
87
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../../../../../pro-components/chat/chat-engine/core/utils/logger.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\n/* eslint-disable no-await-in-loop, max-classes-per-file */\n// 日志接口\nexport interface Logger {\n debug(message: string, ...args: any[]): void;\n info(message: string, ...args: any[]): void;\n warn(message: string, ...args: any[]): void;\n error(message: string, ...args: any[]): void;\n}\n\n// 默认日志实现\nexport class ConsoleLogger implements Logger {\n private enableDebug: boolean;\n\n constructor(enableDebug = false) {\n this.enableDebug = enableDebug;\n }\n\n debug(message: string, ...args: any[]): void {\n if (this.enableDebug) {\n console.debug(`[SSE Debug] ${message}`, ...args);\n }\n }\n\n info(message: string, ...args: any[]): void {\n console.info(`[SSE Info] ${message}`, ...args);\n }\n\n warn(message: string, ...args: any[]): void {\n console.warn(`[SSE Warn] ${message}`, ...args);\n }\n\n error(message: string, ...args: any[]): void {\n console.error(`[SSE Error] ${message}`, ...args);\n }\n}\n\nexport class LoggerManager {\n private static instance: Logger;\n\n private static customLogger: Logger | null = null;\n\n /**\n * 获取日志实例(单例模式)\n */\n static getLogger(): Logger {\n if (this.customLogger) {\n return this.customLogger;\n }\n\n if (!this.instance) {\n this.instance = new ConsoleLogger();\n }\n return this.instance;\n }\n\n /**\n * 设置自定义日志实例\n */\n static setLogger(logger: Logger): void {\n this.customLogger = logger;\n }\n\n /**\n * 重置为默认日志\n */\n static resetToDefault(): void {\n this.customLogger = null;\n }\n}\n"],"names":["ConsoleLogger","enableDebug","_classCallCheck","_createClass","key","value","debug","message","_console","_len","arguments","length","args","Array","_key","console","apply","concat","info","_console2","_len2","_key2","warn","_console3","_len3","_key3","error","_console4","_len4","_key4","LoggerManager","getLogger","customLogger","instance","setLogger","logger","resetToDefault","_defineProperty"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { AgentStateContext, useAgentState, useAgentStateContext, useAgentStateDataByKey } from './useAgentState.js';
|
|
8
|
+
export { useAgentToolcall } from './useAgentToolcall.js';
|
|
9
|
+
export { useAgentActivity } from './useAgentActivity.js';
|
|
10
|
+
export { useChat } from './useChat.js';
|
|
11
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
12
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
13
|
+
import 'react';
|
|
14
|
+
import 'tdesign-web-components/lib/chat-engine';
|
|
15
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
16
|
+
import '../components/toolcall/registry.js';
|
|
17
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
18
|
+
import '@babel/runtime/helpers/createClass';
|
|
19
|
+
import '../components/activity/registry.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ActivityConfig } from '../components/activity/types';
|
|
2
|
+
export interface UseAgentActivityReturn {
|
|
3
|
+
register: (config: ActivityConfig | ActivityConfig[]) => void;
|
|
4
|
+
unregister: (activityTypes: string | string[]) => void;
|
|
5
|
+
isRegistered: (activityType: string) => boolean;
|
|
6
|
+
getRegistered: () => string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Activity 注册管理 Hook
|
|
10
|
+
* 简化版的 useAgentToolcall,专门用于 Activity 组件的注册管理
|
|
11
|
+
*
|
|
12
|
+
* 支持两种使用模式:
|
|
13
|
+
* 1. 自动注册模式:传入配置,自动注册和清理
|
|
14
|
+
* 2. 手动注册模式:不传配置,返回注册方法由业务控制
|
|
15
|
+
*/
|
|
16
|
+
export declare function useAgentActivity<TContent = any>(config?: ActivityConfig<TContent> | ActivityConfig<TContent>[] | null | undefined): UseAgentActivityReturn;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.6
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
8
|
+
import { useRef, useCallback, useEffect } from 'react';
|
|
9
|
+
import { activityRegistry } from '../components/activity/registry.js';
|
|
10
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
11
|
+
import '@babel/runtime/helpers/createClass';
|
|
12
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
13
|
+
|
|
14
|
+
function useAgentActivity(config) {
|
|
15
|
+
var registeredTypesRef = useRef(/* @__PURE__ */new Set());
|
|
16
|
+
var autoRegisteredTypesRef = useRef(/* @__PURE__ */new Set());
|
|
17
|
+
var register = useCallback(function (newConfig) {
|
|
18
|
+
if (!newConfig) {
|
|
19
|
+
console.warn("[useAgentActivity] \u914D\u7F6E\u4E3A\u7A7A\uFF0C\u8DF3\u8FC7\u6CE8\u518C");
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
var configs = Array.isArray(newConfig) ? newConfig : [newConfig];
|
|
23
|
+
configs.forEach(function (cfg) {
|
|
24
|
+
if (activityRegistry.has(cfg.activityType)) {
|
|
25
|
+
console.warn("[useAgentActivity] Activity \u7C7B\u578B \"".concat(cfg.activityType, "\" \u5DF2\u5B58\u5728\u4E8E\u6CE8\u518C\u8868\u4E2D\uFF0C\u5C06\u88AB\u8986\u76D6"));
|
|
26
|
+
}
|
|
27
|
+
activityRegistry.register(cfg);
|
|
28
|
+
registeredTypesRef.current.add(cfg.activityType);
|
|
29
|
+
});
|
|
30
|
+
}, []);
|
|
31
|
+
var unregister = useCallback(function (activityTypes) {
|
|
32
|
+
var typeArray = Array.isArray(activityTypes) ? activityTypes : [activityTypes];
|
|
33
|
+
typeArray.forEach(function (activityType) {
|
|
34
|
+
activityRegistry.unregister(activityType);
|
|
35
|
+
registeredTypesRef.current["delete"](activityType);
|
|
36
|
+
autoRegisteredTypesRef.current["delete"](activityType);
|
|
37
|
+
});
|
|
38
|
+
}, []);
|
|
39
|
+
var isRegistered = useCallback(function (activityType) {
|
|
40
|
+
return registeredTypesRef.current.has(activityType) || autoRegisteredTypesRef.current.has(activityType);
|
|
41
|
+
}, []);
|
|
42
|
+
var getRegistered = useCallback(function () {
|
|
43
|
+
return Array.from(/* @__PURE__ */new Set([].concat(_toConsumableArray(registeredTypesRef.current), _toConsumableArray(autoRegisteredTypesRef.current))));
|
|
44
|
+
}, []);
|
|
45
|
+
useEffect(function () {
|
|
46
|
+
if (!config) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
var configs = Array.isArray(config) ? config : [config];
|
|
50
|
+
configs.forEach(function (cfg) {
|
|
51
|
+
if (activityRegistry.has(cfg.activityType)) {
|
|
52
|
+
console.warn("[useAgentActivity] Activity \u7C7B\u578B \"".concat(cfg.activityType, "\" \u5DF2\u5B58\u5728\u4E8E\u6CE8\u518C\u8868\u4E2D\uFF0C\u5C06\u88AB\u8986\u76D6"));
|
|
53
|
+
}
|
|
54
|
+
activityRegistry.register(cfg);
|
|
55
|
+
autoRegisteredTypesRef.current.add(cfg.activityType);
|
|
56
|
+
});
|
|
57
|
+
return function () {
|
|
58
|
+
configs.forEach(function (cfg) {
|
|
59
|
+
activityRegistry.unregister(cfg.activityType);
|
|
60
|
+
autoRegisteredTypesRef.current["delete"](cfg.activityType);
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
}, [config]);
|
|
64
|
+
return {
|
|
65
|
+
register: register,
|
|
66
|
+
unregister: unregister,
|
|
67
|
+
isRegistered: isRegistered,
|
|
68
|
+
getRegistered: getRegistered
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export { useAgentActivity };
|
|
73
|
+
//# sourceMappingURL=useAgentActivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentActivity.js","sources":["../../../../pro-components/chat/chat-engine/hooks/useAgentActivity.ts"],"sourcesContent":["import { useCallback, useRef, useEffect } from 'react';\nimport type { ActivityConfig } from '../components/activity/types';\nimport { activityRegistry } from '../components/activity/registry';\n\nexport interface UseAgentActivityReturn {\n register: (config: ActivityConfig | ActivityConfig[]) => void;\n unregister: (activityTypes: string | string[]) => void;\n isRegistered: (activityType: string) => boolean;\n getRegistered: () => string[];\n}\n\n/**\n * Activity 注册管理 Hook\n * 简化版的 useAgentToolcall,专门用于 Activity 组件的注册管理\n * \n * 支持两种使用模式:\n * 1. 自动注册模式:传入配置,自动注册和清理\n * 2. 手动注册模式:不传配置,返回注册方法由业务控制\n */\nexport function useAgentActivity<TContent = any>(\n config?: ActivityConfig<TContent> | ActivityConfig<TContent>[] | null | undefined,\n): UseAgentActivityReturn {\n const registeredTypesRef = useRef<Set<string>>(new Set());\n const autoRegisteredTypesRef = useRef<Set<string>>(new Set());\n\n // 手动注册方法\n const register = useCallback((newConfig: ActivityConfig | ActivityConfig[]) => {\n if (!newConfig) {\n console.warn('[useAgentActivity] 配置为空,跳过注册');\n return;\n }\n\n const configs = Array.isArray(newConfig) ? newConfig : [newConfig];\n\n configs.forEach((cfg) => {\n if (activityRegistry.has(cfg.activityType)) {\n console.warn(`[useAgentActivity] Activity 类型 \"${cfg.activityType}\" 已存在于注册表中,将被覆盖`);\n }\n\n activityRegistry.register(cfg);\n registeredTypesRef.current.add(cfg.activityType);\n });\n }, []);\n\n // 手动取消注册方法\n const unregister = useCallback((activityTypes: string | string[]) => {\n const typeArray = Array.isArray(activityTypes) ? activityTypes : [activityTypes];\n\n typeArray.forEach((activityType) => {\n activityRegistry.unregister(activityType);\n registeredTypesRef.current.delete(activityType);\n autoRegisteredTypesRef.current.delete(activityType);\n });\n }, []);\n\n // 检查是否已注册\n const isRegistered = useCallback(\n (activityType: string) => \n registeredTypesRef.current.has(activityType) || \n autoRegisteredTypesRef.current.has(activityType),\n [],\n );\n\n // 获取所有已注册的 Activity 类型\n const getRegistered = useCallback(\n () => Array.from(new Set([...registeredTypesRef.current, ...autoRegisteredTypesRef.current])),\n [],\n );\n\n // 自动注册逻辑(当传入配置时)\n useEffect(() => {\n if (!config) {\n return;\n }\n\n const configs = Array.isArray(config) ? config : [config];\n \n configs.forEach((cfg) => {\n if (activityRegistry.has(cfg.activityType)) {\n console.warn(`[useAgentActivity] Activity 类型 \"${cfg.activityType}\" 已存在于注册表中,将被覆盖`);\n }\n\n activityRegistry.register(cfg);\n autoRegisteredTypesRef.current.add(cfg.activityType);\n });\n\n // 清理函数:取消注册自动注册的配置\n return () => {\n configs.forEach((cfg) => {\n activityRegistry.unregister(cfg.activityType);\n autoRegisteredTypesRef.current.delete(cfg.activityType);\n });\n };\n }, [config]);\n\n return {\n register,\n unregister,\n isRegistered,\n getRegistered,\n };\n}"],"names":["useAgentActivity","config","registeredTypesRef","useRef","Set","autoRegisteredTypesRef","register","useCallback","newConfig","console","warn","configs","Array","isArray","forEach","cfg","activityRegistry","has","activityType","concat","current","add","unregister","activityTypes","typeArray","isRegistered","getRegistered","from","_toConsumableArray","useEffect"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentState.js","sources":["../../../../pro-components/chat/chat-engine/hooks/useAgentState.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useState, useEffect, useRef, createContext, useContext, useMemo } from 'react';\nimport { stateManager } from 'tdesign-web-components/lib/chat-engine';\n
|
|
1
|
+
{"version":3,"file":"useAgentState.js","sources":["../../../../pro-components/chat/chat-engine/hooks/useAgentState.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useState, useEffect, useRef, createContext, useContext, useMemo } from 'react';\nimport { stateManager } from 'tdesign-web-components/lib/chat-engine';\n// import { stateManager } from '../core';\n/**\n * 状态订阅相关类型定义\n */\n\nexport interface StateActionOptions {\n /**\n * 初始状态\n */\n initialState?: Record<string, any>;\n /**\n * 只订阅特定key的变化\n */\n subscribeKey?: string;\n}\n\nexport interface UseStateActionReturn {\n /**\n * 全量状态Map - 包含所有stateKey的状态\n * 格式: { [stateKey]: stateData }\n */\n stateMap: Record<string, any>;\n /**\n * 当前最新的状态key\n */\n currentStateKey: string | null;\n /**\n * 设置状态Map,用于加载历史对话消息中的state数据\n */\n setStateMap: (stateMap: Record<string, any> | ((prev: Record<string, any>) => Record<string, any>)) => void;\n /**\n * 获取当前完整状态的方法\n */\n getCurrentState: () => Record<string, any>;\n /**\n * 获取特定 key 状态的方法\n */\n getStateByKey: (key: string) => any;\n}\n\nexport const useAgentState = <T = any>(options: StateActionOptions = {}): UseStateActionReturn => {\n const { initialState, subscribeKey } = options;\n const [stateMap, setStateMap] = useState<Record<string, any>>(initialState || {});\n const [currentStateKey, setCurrentStateKey] = useState<string | null>(null);\n\n // 使用 ref 来避免不必要的重新渲染\n const stateMapRef = useRef(stateMap);\n stateMapRef.current = stateMap;\n\n useEffect(\n () =>\n stateManager.subscribeToLatest((newState: T, newStateKey: string) => {\n // 如果指定了 subscribeKey,只有匹配时才更新状态\n if (subscribeKey && newStateKey !== subscribeKey) {\n // 仍然更新内部状态,但不触发重新渲染\n stateMapRef.current = {\n ...stateMapRef.current,\n [newStateKey]: newState,\n };\n return;\n }\n\n setStateMap((prev) => ({\n ...prev,\n [newStateKey]: newState,\n }));\n setCurrentStateKey(newStateKey);\n }),\n [subscribeKey],\n );\n\n return {\n stateMap: stateMapRef.current,\n currentStateKey,\n setStateMap,\n getCurrentState: () => stateMapRef.current,\n getStateByKey: (key: string) => stateMapRef.current[key],\n };\n};\n\n// 创建 AgentState Context\nexport const AgentStateContext = createContext<UseStateActionReturn | null>(null);\n\n// 简化的状态选择器\nexport const useAgentStateDataByKey = (stateKey?: string) => {\n const contextState = useContext(AgentStateContext);\n const independentState = useAgentState({ subscribeKey: stateKey });\n\n return useMemo(() => {\n if (contextState) {\n // 有 Provider,使用 Context 状态\n const { stateMap } = contextState;\n return stateKey ? stateMap[stateKey] : stateMap;\n }\n\n // 没有 Provider,使用独立状态\n const { stateMap } = independentState;\n return stateKey ? stateMap[stateKey] : stateMap;\n }, [\n stateKey,\n // 关键:添加和 useAgentStateByKey 相同的深度依赖逻辑\n contextState && (stateKey ? contextState.stateMap[stateKey] : JSON.stringify(contextState.stateMap)),\n independentState && (stateKey ? independentState.stateMap[stateKey] : JSON.stringify(independentState.stateMap)),\n ]);\n};\n\n// 导出 Context Hook\nexport const useAgentStateContext = (): UseStateActionReturn => {\n const context = useContext(AgentStateContext);\n\n if (!context) {\n throw new Error('useAgentState must be used within AgentStateProvider');\n }\n\n return context;\n};\n"],"names":["useAgentState","options","arguments","length","undefined","initialState","subscribeKey","_useState","useState","_useState2","_slicedToArray","stateMap","setStateMap","_useState3","_useState4","currentStateKey","setCurrentStateKey","stateMapRef","useRef","current","useEffect","stateManager","subscribeToLatest","newState","newStateKey","_objectSpread","_defineProperty","prev","getCurrentState","getStateByKey","key","AgentStateContext","createContext","useAgentStateDataByKey","stateKey","contextState","useContext","independentState","useMemo","JSON","stringify","useAgentStateContext","context","Error"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
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
|
*/
|
|
6
6
|
|
|
7
7
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
8
8
|
import { useState, useRef, useEffect } from 'react';
|
|
9
|
-
import
|
|
9
|
+
import ChatEngine from 'tdesign-web-components/lib/chat-engine';
|
|
10
10
|
|
|
11
11
|
var useChat = function useChat(_ref) {
|
|
12
12
|
var initialMessages = _ref.defaultMessages,
|
|
@@ -19,7 +19,7 @@ var useChat = function useChat(_ref) {
|
|
|
19
19
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
20
20
|
status = _useState4[0],
|
|
21
21
|
setStatus = _useState4[1];
|
|
22
|
-
var chatEngineRef = useRef(new
|
|
22
|
+
var chatEngineRef = useRef(new ChatEngine());
|
|
23
23
|
var msgSubscribeRef = useRef(null);
|
|
24
24
|
var prevInitialMessagesRef = useRef([]);
|
|
25
25
|
var chatEngine = chatEngineRef.current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChat.js","sources":["../../../../pro-components/chat/chat-engine/hooks/useChat.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ChatEngine from 'tdesign-web-components/lib/chat-engine';\nimport type { ChatMessagesData, ChatServiceConfig, ChatStatus } from 'tdesign-web-components/lib/chat-engine';\n\nexport type IUseChat = {\n defaultMessages?: ChatMessagesData[];\n chatServiceConfig: ChatServiceConfig;\n};\n\nexport const useChat = ({ defaultMessages: initialMessages, chatServiceConfig }: IUseChat) => {\n const [messages, setMessage] = useState<ChatMessagesData[]>([]);\n const [status, setStatus] = useState<ChatStatus>('idle');\n const chatEngineRef = useRef<ChatEngine>(new ChatEngine());\n const msgSubscribeRef = useRef<null | (() => void)>(null);\n const prevInitialMessagesRef = useRef<ChatMessagesData[]>([]);\n\n const chatEngine = chatEngineRef.current;\n\n const syncState = (state: ChatMessagesData[]) => {\n setMessage(state);\n setStatus(state.at(-1)?.status || 'idle');\n };\n\n const subscribeToChat = () => {\n // 清理之前的订阅\n msgSubscribeRef.current?.();\n\n msgSubscribeRef.current = chatEngine.messageStore.subscribe((state) => {\n syncState(state.messages);\n });\n };\n\n const initChat = () => {\n // @ts-ignore\n chatEngine.init(chatServiceConfig, initialMessages);\n // @ts-ignore\n syncState(initialMessages);\n subscribeToChat();\n };\n\n // 初始化聊天引擎\n useEffect(() => {\n initChat();\n return () => msgSubscribeRef.current?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // 监听 defaultMessages 变化\n useEffect(() => {\n // 检查 initialMessages 是否真的发生了变化\n const hasChanged = JSON.stringify(prevInitialMessagesRef.current) !== JSON.stringify(initialMessages);\n\n if (hasChanged && initialMessages && initialMessages.length > 0) {\n // 更新引用\n prevInitialMessagesRef.current = initialMessages;\n\n // 重新初始化聊天引擎或更新消息\n chatEngine.setMessages(initialMessages, 'replace');\n\n // 同步状态\n syncState(initialMessages);\n }\n }, [initialMessages, chatEngine]);\n\n return {\n chatEngine,\n messages,\n status,\n };\n};\n"],"names":["useChat","initialMessages","_ref","defaultMessages","chatServiceConfig","_useState","useState","_useState2","_slicedToArray","messages","setMessage","_useState3","_useState4","status","setStatus","chatEngineRef","useRef","ChatEngine","msgSubscribeRef","prevInitialMessagesRef","chatEngine","current","syncState","state","_state$at","at","subscribeToChat","_msgSubscribeRef$curr","call","messageStore","subscribe","initChat","init","useEffect","_msgSubscribeRef$curr2","hasChanged","JSON","stringify","length","setMessages"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useChat.js","sources":["../../../../pro-components/chat/chat-engine/hooks/useChat.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n// import ChatEngine from '../core';\n// import type { ChatMessagesData, ChatServiceConfig, ChatStatus } from '../core';\nimport ChatEngine from 'tdesign-web-components/lib/chat-engine';\nimport type { ChatMessagesData, ChatServiceConfig, ChatStatus } from 'tdesign-web-components/lib/chat-engine';\n\n\nexport type IUseChat = {\n defaultMessages?: ChatMessagesData[];\n chatServiceConfig: ChatServiceConfig;\n};\n\nexport const useChat = ({ defaultMessages: initialMessages, chatServiceConfig }: IUseChat) => {\n const [messages, setMessage] = useState<ChatMessagesData[]>([]);\n const [status, setStatus] = useState<ChatStatus>('idle');\n const chatEngineRef = useRef<ChatEngine>(new ChatEngine());\n const msgSubscribeRef = useRef<null | (() => void)>(null);\n const prevInitialMessagesRef = useRef<ChatMessagesData[]>([]);\n\n const chatEngine = chatEngineRef.current;\n\n const syncState = (state: ChatMessagesData[]) => {\n setMessage(state);\n setStatus(state.at(-1)?.status || 'idle');\n };\n\n const subscribeToChat = () => {\n // 清理之前的订阅\n msgSubscribeRef.current?.();\n\n msgSubscribeRef.current = chatEngine.messageStore.subscribe((state) => {\n syncState(state.messages);\n });\n };\n\n const initChat = () => {\n // @ts-ignore\n chatEngine.init(chatServiceConfig, initialMessages);\n // @ts-ignore\n syncState(initialMessages);\n subscribeToChat();\n };\n\n // 初始化聊天引擎\n useEffect(() => {\n initChat();\n return () => msgSubscribeRef.current?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // 监听 defaultMessages 变化\n useEffect(() => {\n // 检查 initialMessages 是否真的发生了变化\n const hasChanged = JSON.stringify(prevInitialMessagesRef.current) !== JSON.stringify(initialMessages);\n\n if (hasChanged && initialMessages && initialMessages.length > 0) {\n // 更新引用\n prevInitialMessagesRef.current = initialMessages;\n\n // 重新初始化聊天引擎或更新消息\n chatEngine.setMessages(initialMessages, 'replace');\n\n // 同步状态\n syncState(initialMessages);\n }\n }, [initialMessages, chatEngine]);\n\n return {\n chatEngine,\n messages,\n status,\n };\n};\n"],"names":["useChat","initialMessages","_ref","defaultMessages","chatServiceConfig","_useState","useState","_useState2","_slicedToArray","messages","setMessage","_useState3","_useState4","status","setStatus","chatEngineRef","useRef","ChatEngine","msgSubscribeRef","prevInitialMessagesRef","chatEngine","current","syncState","state","_state$at","at","subscribeToChat","_msgSubscribeRef$curr","call","messageStore","subscribe","initChat","init","useEffect","_msgSubscribeRef$curr2","hasChanged","JSON","stringify","length","setMessages"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './hooks/useChat';
|
|
2
2
|
export * from './hooks/useAgentToolcall';
|
|
3
3
|
export * from './hooks/useAgentState';
|
|
4
|
+
export * from './hooks/useAgentActivity';
|
|
4
5
|
export * from './components/toolcall';
|
|
6
|
+
export * from './components/activity';
|
|
5
7
|
export * from './components/provider/agent-state';
|
|
6
|
-
export * from '
|
|
8
|
+
export * from './core';
|