@touchvue/chat 1.0.0-beta.29 → 1.0.0-beta.30

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.
Files changed (37) hide show
  1. package/es/package.json.mjs +1 -1
  2. package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs.map +1 -1
  3. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs +17 -18
  4. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs.map +1 -1
  5. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue.mjs +7 -0
  6. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue.mjs.map +1 -0
  7. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs +929 -0
  8. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs.map +1 -0
  9. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs +23 -19
  10. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
  11. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs +74 -3
  12. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
  13. package/es/packages/components/touchchat/src/index.vue2.mjs +32 -2
  14. package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
  15. package/es/packages/components/touchchat/src/types/a2a.mjs +11 -0
  16. package/es/packages/components/touchchat/src/types/a2a.mjs.map +1 -0
  17. package/es/packages/components/touchchat/utils/a2aService.mjs +292 -0
  18. package/es/packages/components/touchchat/utils/a2aService.mjs.map +1 -0
  19. package/lib/package.json.js +1 -1
  20. package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js.map +1 -1
  21. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js +16 -17
  22. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js.map +1 -1
  23. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue.js +11 -0
  24. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue.js.map +1 -0
  25. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js +933 -0
  26. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js.map +1 -0
  27. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js +23 -19
  28. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
  29. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js +73 -2
  30. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
  31. package/lib/packages/components/touchchat/src/index.vue2.js +32 -2
  32. package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
  33. package/lib/packages/components/touchchat/src/types/a2a.js +13 -0
  34. package/lib/packages/components/touchchat/src/types/a2a.js.map +1 -0
  35. package/lib/packages/components/touchchat/utils/a2aService.js +295 -0
  36. package/lib/packages/components/touchchat/utils/a2aService.js.map +1 -0
  37. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
- import { defineComponent, reactive, ref, inject, provide, computed, watch, onMounted, openBlock, createElementBlock, createElementVNode, withModifiers, createCommentVNode, createBlock, withCtx, renderSlot, withDirectives, createVNode, vShow } from 'vue';
1
+ import { defineComponent, reactive, ref, inject, watch, provide, computed, onMounted, openBlock, createElementBlock, createElementVNode, withModifiers, createCommentVNode, createBlock, withCtx, renderSlot, Fragment, createVNode, withDirectives, vShow } from 'vue';
2
2
  import TouchChat from './TouchChat.vue.mjs';
3
+ import TouchAgent from './TouchAgent.vue.mjs';
3
4
  import HistorySidebar from './HistorySidebar.vue.mjs';
4
5
  import SiderBarView from './SiderBarView.vue.mjs';
5
6
 
@@ -25,6 +26,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
25
26
  const scripts = inject("scripts", []);
26
27
  const agents = inject("agents", []);
27
28
  const agentsInfo = ref();
29
+ const isAgentRef = inject("isAgent", ref(false));
30
+ const iIsAgent = ref(isAgentRef.value);
31
+ watch(
32
+ isAgentRef,
33
+ (newVal) => {
34
+ iIsAgent.value = newVal;
35
+ },
36
+ { immediate: true }
37
+ );
28
38
  const updateSharedData = (item) => {
29
39
  var _a, _b;
30
40
  agentsInfo.value = item;
@@ -359,7 +369,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
359
369
  onRenameChat: handleRenameChat,
360
370
  onDeleteChat: deleteChat
361
371
  }, null, 8, ["is-sidebar-collapsed", "active-chat", "chat-history"])) : createCommentVNode("v-if", true),
362
- (openBlock(), createBlock(TouchChat, {
372
+ !iIsAgent.value ? (openBlock(), createBlock(TouchChat, {
363
373
  ref_key: "chatComponent",
364
374
  ref: chatComponent,
365
375
  key: state.activeChat,
@@ -412,7 +422,68 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
412
422
  ]),
413
423
  _: 3
414
424
  /* FORWARDED */
415
- }, 8, ["value"])),
425
+ }, 8, ["value"])) : (openBlock(), createElementBlock(
426
+ Fragment,
427
+ { key: 2 },
428
+ [
429
+ createCommentVNode(' :key="state.activeChat" '),
430
+ createVNode(TouchAgent, {
431
+ ref_key: "chatComponent",
432
+ ref: chatComponent,
433
+ value: currentChatMessages.value,
434
+ onSendMessage: sendMessage,
435
+ onToggleSidebar: toggleSidebarOut,
436
+ onBeforeSendMessage: beforeSendMessage
437
+ }, {
438
+ aimsg: withCtx(({ item, index }) => [
439
+ renderSlot(_ctx.$slots, "aimsg", {
440
+ item,
441
+ index
442
+ })
443
+ ]),
444
+ msg: withCtx(({ item, index }) => [
445
+ renderSlot(_ctx.$slots, "msg", {
446
+ item,
447
+ index
448
+ })
449
+ ]),
450
+ aiAvatar: withCtx(() => [
451
+ renderSlot(_ctx.$slots, "aiAvatar")
452
+ ]),
453
+ userAvatar: withCtx(() => [
454
+ renderSlot(_ctx.$slots, "userAvatar")
455
+ ]),
456
+ welcome: withCtx(() => [
457
+ renderSlot(_ctx.$slots, "welcome")
458
+ ]),
459
+ edit: withCtx(() => [
460
+ renderSlot(_ctx.$slots, "edit")
461
+ ]),
462
+ shortcut: withCtx(() => [
463
+ renderSlot(_ctx.$slots, "shortcut")
464
+ ]),
465
+ top: withCtx(() => [
466
+ renderSlot(_ctx.$slots, "top")
467
+ ]),
468
+ fn: withCtx(({ item, index }) => [
469
+ renderSlot(_ctx.$slots, "fn", {
470
+ item,
471
+ index
472
+ })
473
+ ]),
474
+ extendsFn: withCtx(({ item, index }) => [
475
+ renderSlot(_ctx.$slots, "extendsFn", {
476
+ item,
477
+ index
478
+ })
479
+ ]),
480
+ _: 3
481
+ /* FORWARDED */
482
+ }, 8, ["value"])
483
+ ],
484
+ 2112
485
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
486
+ )),
416
487
  withDirectives(createVNode(SiderBarView, {
417
488
  flag: state.isSidebarCollapsed,
418
489
  item: messageItem.value,
@@ -1 +1 @@
1
- {"version":3,"file":"TouchHistory.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/TouchHistory.vue"],"sourcesContent":["<template>\n\t<div ref=\"historyContainer\" class=\"touchchat\">\n\t\t<div v-if=\"state.isSidebarCollapsed && !isNotHeader\" class=\"touchchat-header\">\n\t\t\t<div class=\"touchchat-showmenu\" @click.stop=\"toggleSidebar\">\n\t\t\t\t<div class=\"touchchat-showmenu-icon\"></div>\n\t\t\t</div>\n\t\t\t<div class=\"touchchat-add-lite\" @click.stop=\"startNewChat\">\n\t\t\t\t<div class=\"touchchat-add-lite-icon\"></div>\n\t\t\t\t<span>新对话</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"touchchat-content\">\n\t\t\t<HistorySidebar v-if=\"!isNotHeader && !state.isSidebarCollapsed\" :is-sidebar-collapsed=\"state.isSidebarCollapsed\" :active-chat=\"state.activeChat\" :chat-history=\"state.chatHistory\" @toggle-sidebar=\"toggleSidebar\" @start-new-chat=\"startNewChat\" @select-chat=\"selectChat\" @rename-chat=\"handleRenameChat\" @delete-chat=\"deleteChat\"> </HistorySidebar>\n\t\t\t<TouchChat ref=\"chatComponent\" :key=\"state.activeChat\" :value=\"currentChatMessages\" @send-message=\"sendMessage\" @toggle-sidebar=\"toggleSidebarOut\" @before-send-message=\"beforeSendMessage\">\n\t\t\t\t<template #aimsg=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #msg=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"msg\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #aiAvatar>\n\t\t\t\t\t<slot name=\"aiAvatar\" />\n\t\t\t\t</template>\n\t\t\t\t<template #userAvatar>\n\t\t\t\t\t<slot name=\"userAvatar\" />\n\t\t\t\t</template>\n\t\t\t\t<template #welcome>\n\t\t\t\t\t<slot name=\"welcome\" />\n\t\t\t\t</template>\n\t\t\t\t<template #edit>\n\t\t\t\t\t<slot name=\"edit\" />\n\t\t\t\t</template>\n\t\t\t\t<template #shortcut>\n\t\t\t\t\t<slot name=\"shortcut\" />\n\t\t\t\t</template>\n\t\t\t\t<template #top>\n\t\t\t\t\t<slot name=\"top\" />\n\t\t\t\t</template>\n\t\t\t\t<template #fn=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #extendsFn=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t</TouchChat>\n\t\t\t<SiderBarView v-show=\"state.toggleSidebarFlag\" :flag=\"state.isSidebarCollapsed\" :item=\"messageItem\" :index=\"messageIndex\">\n\t\t\t\t<template #extend=\"{ item: slotMessageItem, index: slotMessageIndex }\">\n\t\t\t\t\t<slot name=\"extend\" :item=\"slotMessageItem\" :index=\"slotMessageIndex\" />\n\t\t\t\t</template>\n\t\t\t</SiderBarView>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, computed, watch, reactive, inject, ref, provide } from 'vue'\nimport TouchChat from './TouchChat.vue'\nimport HistorySidebar from './HistorySidebar.vue'\nimport SiderBarView from './SiderBarView.vue'\nimport type { ChatMessage } from './SiderBarView.vue'\n\ninterface HistoryItem {\n\tid: string\n\ttitle: string\n\ttime: Date\n\ttype: string // 用于区分不同类型的对话\n\tmessages?: ChatMessage[]\n}\n\ninterface Agent {\n\tid: string\n\tname: string\n\tintro: string\n}\n\n// 状态管理\nconst state = reactive({\n\tactiveChat: '',\n\tchatHistory: [] as HistoryItem[],\n\tisSidebarCollapsed: false,\n\tactionMenuVisible: {} as Record<string, boolean>,\n\tmockMessages: [] as ChatMessage[],\n\ttoggleSidebarFlag: false,\n\tagentsType: '',\n\tclickCreateNum: 0\n})\nconst historyContainer = ref(null)\nconst watchHistoryData = ref<HistoryItem[]>([])\nconst watchHistoryDetail = ref<ChatMessage[]>([])\nconst chatComponent = ref<InstanceType<typeof TouchChat>>()\n\nconst layout = inject<string>('layout', 'side, think, upload, chain')\nconst isNotHeader = !layout.includes('side')\nconst scripts = inject<any[]>('scripts', [])\nconst agents = inject<Agent[]>('agents', [])\nconst agentsInfo = ref<Agent>()\n// 提供更新函数给后代组件\nconst updateSharedData = (item: Agent) => {\n\tagentsInfo.value = item\n\tif (chatComponent.value) {\n\t\tchatComponent.value?.handleAgentSelect?.(item)\n\t}\n}\nprovide('updateSharedData', updateSharedData)\n\n// 本地存储相关\nconst STORAGE_KEYS = {\n\tCHAT_HISTORY: scripts.length === 0 ? 'chatHistory' : 'robotHistory',\n\tSIDEBAR_STATE: 'sidebarCollapsed'\n}\n\nconst loadFromLocalStorage = () => {\n\t// 加载折叠状态\n\tconst savedCollapseState = localStorage.getItem(STORAGE_KEYS.SIDEBAR_STATE)\n\tif (savedCollapseState) {\n\t\tstate.isSidebarCollapsed = JSON.parse(savedCollapseState)\n\t}\n\n\tif (scripts.length > 0) {\n\t\tlocalStorage.setItem(STORAGE_KEYS.CHAT_HISTORY, '[]')\n\t\tlocalStorage.setItem('activeAgentsName', '')\n\t}\n\n\t// 加载聊天历史\n\tconst savedHistory = localStorage.getItem(STORAGE_KEYS.CHAT_HISTORY)\n\tconst historyData = JSON.parse(savedHistory || '[]')\n\tif (agents.length > 0 && !historyData.length) {\n\t\tagents.forEach(item => {\n\t\t\tconst agentsList = [\n\t\t\t\t{\n\t\t\t\t\tchatId: item.id,\n\t\t\t\t\tuser: 'ai',\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tisShowLike: true,\n\t\t\t\t\tcontent: item?.intro || '我是AI助手,我可以回答你的问题,你可以和我聊天,也可以问我问题。'\n\t\t\t\t}\n\t\t\t]\n\t\t\tcreateNewChat(item.name, agentsList, item.name)\n\t\t})\n\t}\n\tif (watchHistoryData.value.length > 0) {\n\t\tstate.chatHistory = watchHistoryData.value\n\t\t// if (state.chatHistory.length > 0) {\n\t\t// \tstate.activeChat = state.chatHistory[0].id\n\t\t// }\n\t} else if (historyData.length > 0) {\n\t\tstate.chatHistory = historyData\n\t\t// if (state.chatHistory.length > 0) {\n\t\t// \tstate.activeChat = state.chatHistory[0].id\n\t\t// }\n\t}\n\t// else {\n\t// \t// 初始化默认对话\n\t// \tconst newChat = createNewChat('AI基础问答')\n\t// \tstate.activeChat = newChat.id\n\t// }\n}\n\nconst historyList = inject<any>('historyList', [])\nconst setHistoryData = ref(Array.isArray(historyList) ? historyList : typeof historyList === 'object' && historyList ? historyList : [])\nconst computedHistoryData = computed(() => {\n\tif (setHistoryData.value.length) {\n\t\treturn setHistoryData.value\n\t}\n\treturn []\n})\nwatch(\n\tcomputedHistoryData,\n\tnewVal => {\n\t\twatchHistoryData.value = newVal\n\t\tstate.chatHistory = newVal\n\t\tloadFromLocalStorage()\n\t},\n\t{ immediate: true }\n)\nconst historyDetail = inject<ChatMessage[]>('historyDetail', [])\nconst setMessageDetail = ref(Array.isArray(historyDetail) ? historyDetail : typeof historyDetail === 'object' && historyDetail ? historyDetail : [])\nconst computedHistoryDetail = computed(() => {\n\tif (setMessageDetail.value.length) {\n\t\treturn setMessageDetail.value\n\t}\n\treturn []\n})\nwatch(\n\tcomputedHistoryDetail,\n\tnewVal => {\n\t\twatchHistoryDetail.value = newVal\n\t},\n\t{ immediate: true }\n)\nconst messageItem = ref<ChatMessage>({ user: '', type: '', content: '' })\nconst messageIndex = ref<number>(0)\n\n// 修改currentChatMessages计算属性\nconst currentChatMessages = computed(() => {\n\tif (watchHistoryDetail.value.length) {\n\t\treturn watchHistoryDetail.value\n\t}\n\tif (!state.activeChat) return []\n\tif ((!watchHistoryDetail.value.length && !watchHistoryData.value.length) || watchHistoryData.value.length) {\n\t\tconst currentChat = state.chatHistory.find(item => item.id === state.activeChat)\n\t\treturn currentChat?.messages || []\n\t} else {\n\t\treturn watchHistoryDetail.value\n\t}\n})\n\nwatch(\n\t() => {\n\t\tif (typeof historyList === 'object' && historyList !== undefined) {\n\t\t\treturn historyList\n\t\t}\n\t\treturn historyList\n\t},\n\tnewVal => {\n\t\tif (newVal && Array.isArray(newVal) && newVal.length) {\n\t\t\twatchHistoryData.value = newVal\n\t\t\t// loadFromLocalStorage()\n\t\t\tif (!scripts.length) {\n\t\t\t\tstate.chatHistory = newVal\n\t\t\t\tif (state.chatHistory.length > 0 && !state.activeChat) {\n\t\t\t\t\tstate.activeChat = state.chatHistory[0].id\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => {\n\t\tif (typeof historyDetail === 'object' && historyDetail !== undefined) {\n\t\t\treturn historyDetail\n\t\t}\n\t\treturn historyDetail\n\t},\n\tnewVal => {\n\t\tif (newVal && Array.isArray(newVal)) {\n\t\t\twatchHistoryDetail.value = JSON.parse(JSON.stringify(newVal))\n\t\t\tif (chatComponent.value) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tchatComponent.value?.$forceUpdate?.()\n\t\t\t\t}, 0)\n\t\t\t}\n\t\t}\n\t},\n\t{ deep: true, immediate: true }\n)\n\n// 生命周期\nonMounted(() => {\n\tloadFromLocalStorage()\n\t// 初始化事件监听\n\t// initEventListeners()\n})\n\nfunction saveToLocalStorage() {\n\tlocalStorage.setItem(STORAGE_KEYS.CHAT_HISTORY, JSON.stringify(state.chatHistory))\n\tlocalStorage.setItem(STORAGE_KEYS.SIDEBAR_STATE, JSON.stringify(state.isSidebarCollapsed))\n}\n\n// 事件监听\n// function initEventListeners() {\n// \tdocument.addEventListener('click', () => {\n// \t\t// 点击空白处关闭所有菜单\n// \t\tObject.keys(state.actionMenuVisible).forEach(key => {\n// \t\t\tstate.actionMenuVisible[key] = false\n// \t\t})\n// \t})\n// }\n\nconst toggleSidebarOut = (item: ChatMessage, index: number) => {\n\tmessageItem.value = item\n\tmessageIndex.value = index\n\tif (state.toggleSidebarFlag) {\n\t\treturn\n\t}\n\tstate.toggleSidebarFlag = true\n\tstate.isSidebarCollapsed = false\n\ttoggleSidebar()\n}\n\n// 侧边栏控制\nfunction toggleSidebar() {\n\tstate.isSidebarCollapsed = !state.isSidebarCollapsed\n\tsaveToLocalStorage()\n}\n\n// 聊天管理\nfunction createNewChat(title: string = '新对话', messageList: ChatMessage[] = [], type?: string) {\n\tlet agentsId = ''\n\tif (agents.length > 0) {\n\t\tagentsId = agents.find(item => item.name === title)?.id || ''\n\t}\n\tconst newChat: HistoryItem = {\n\t\t// id: Date.now().toString(),\n\t\tid: agentsId ? agentsId : (Math.floor(Math.random() * 89999999) + 10000000).toString(),\n\t\ttitle,\n\t\ttime: new Date(),\n\t\tmessages: messageList,\n\t\ttype: type ? type : ''\n\t}\n\n\tstate.chatHistory.unshift(newChat)\n\tsaveToLocalStorage()\n\treturn newChat\n}\n\nfunction startNewChat() {\n\tlocalStorage.setItem('activeAgentsName', '')\n\tconst robotHistory = localStorage.getItem(STORAGE_KEYS.CHAT_HISTORY) || '[]'\n\tconst robotHistoryData = JSON.parse(robotHistory)\n\tlet messageList: ChatMessage[] = []\n\tlet messageItem: HistoryItem = {} as HistoryItem\n\tlet firstMessageList: ChatMessage[] = []\n\tif (robotHistoryData.length) {\n\t\tmessageItem = robotHistoryData.find((item: HistoryItem) => item.id === state.activeChat) || ({} as HistoryItem)\n\t\tmessageList = messageItem?.messages || []\n\t\tfirstMessageList = robotHistoryData?.[0]?.messages || ([] as ChatMessage[])\n\t}\n\tstate.toggleSidebarFlag = false\n\tif ((watchHistoryData.value.length > 0 && firstMessageList.length > 0 && (watchHistoryDetail.value.length > 0 || currentChatMessages.value.length > 0 || messageList.length > 0)) || (!messageItem?.messages && firstMessageList.length > 0) || !state.clickCreateNum) {\n\t\tconst newChat = createNewChat('新对话' + (state.chatHistory.length + 1))\n\t\tstate.activeChat = newChat.id\n\t\tchange('')\n\t\tstate.clickCreateNum++\n\t\treturn\n\t}\n\tif (state.chatHistory.length > 0 && !state.chatHistory?.[0]?.messages?.length) {\n\t\tstate.activeChat = state.chatHistory[0].id\n\t\tchange('')\n\t\treturn\n\t}\n\tif (!currentChatMessages.value.length && state.chatHistory.length > 0) {\n\t\tstate.activeChat = state.chatHistory?.[0]?.id ?? ''\n\t\tchange('')\n\t\treturn\n\t}\n\tconst newChat = createNewChat('新对话' + (state.chatHistory.length + 1))\n\tstate.activeChat = newChat.id\n\tchange('')\n}\n\nconst change = inject<(id: string) => void>('change', () => {\n\tconsole.warn('未提供change函数')\n})\n\nfunction selectChat(id: string, type?: string) {\n\tstate.activeChat = id\n\tstate.toggleSidebarFlag = false\n\tstate.agentsType = type as string\n\tif (!type) {\n\t\tlocalStorage.setItem('activeAgentsName', '')\n\t}\n\tchange(id)\n\tresetAllMenus()\n}\n\nconst historyRemove = inject<(id: string) => void>('historyRemove', () => {\n\tconsole.warn('未提供remove函数')\n})\n\nfunction deleteChat(id: string) {\n\tconst index = state.chatHistory.findIndex(item => item.id === id)\n\tif (index === -1) return\n\n\tstate.chatHistory.splice(index, 1)\n\n\tif (state.chatHistory.length > 0) {\n\t\tselectChat(state.chatHistory[0].id)\n\t} else {\n\t\tstate.activeChat = ''\n\t\tstate.mockMessages = []\n\t}\n\thistoryRemove(id)\n\tsaveToLocalStorage()\n}\n\nconst beforeSendMessage = () => {\n\tstate.toggleSidebarFlag = false\n}\n\nfunction sendMessage(messageList: ChatMessage[], type?: string) {\n\tstate.mockMessages = messageList\n\n\tif (type) {\n\t\treturn\n\t}\n\n\tif (!state.activeChat) {\n\t\tconst newChat = createNewChat('AI基础问答', messageList)\n\t\tnewChat.messages = messageList\n\t\tstate.activeChat = newChat.id\n\t} else {\n\t\tconst currentChat = state.chatHistory.find(item => item.id === state.activeChat)\n\t\tif (currentChat) {\n\t\t\tcurrentChat.messages = messageList\n\t\t\tcurrentChat.time = new Date()\n\t\t}\n\t\tsaveToLocalStorage()\n\t}\n}\n\n// 菜单控制\nfunction resetAllMenus() {\n\tObject.keys(state.actionMenuVisible).forEach(key => {\n\t\tstate.actionMenuVisible[key] = false\n\t})\n}\n\nconst handleRenameChat = (id: string, newTitle: string) => {\n\tconst item = state.chatHistory.find(item => item.id === id)\n\tif (item) {\n\t\titem.title = newTitle\n\t\titem.time = new Date()\n\t\tsaveToLocalStorage()\n\t}\n}\n\n// 监听聊天历史变化,自动保存\nwatch(\n\t() => state.chatHistory,\n\t() => {\n\t\tsaveToLocalStorage()\n\t},\n\t{ deep: true }\n)\ndefineExpose({\n\tsend: (value: string, fileList?: any[], auto?: boolean, type?: string) => {\n\t\tchatComponent.value?.send(value, fileList, auto, type)\n\t},\n\tcloseExtend: () => {\n\t\tstate.toggleSidebarFlag = false\n\t},\n\tcreate: () => {\n\t\tstartNewChat()\n\t},\n\tretry: (index: number) => {\n\t\tchatComponent.value?.retry(index)\n\t},\n\tupdate: (index: number, message: object) => {\n\t\tchatComponent.value?.update(index, message)\n\t}\n})\n</script>\n"],"names":["messageItem","newChat","item","_createElementBlock","_createElementVNode","_createBlock","_withCtx","_renderSlot","_createVNode","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"TouchHistory.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/TouchHistory.vue"],"sourcesContent":["<template>\n\t<div ref=\"historyContainer\" class=\"touchchat\">\n\t\t<div v-if=\"state.isSidebarCollapsed && !isNotHeader\" class=\"touchchat-header\">\n\t\t\t<div class=\"touchchat-showmenu\" @click.stop=\"toggleSidebar\">\n\t\t\t\t<div class=\"touchchat-showmenu-icon\"></div>\n\t\t\t</div>\n\t\t\t<div class=\"touchchat-add-lite\" @click.stop=\"startNewChat\">\n\t\t\t\t<div class=\"touchchat-add-lite-icon\"></div>\n\t\t\t\t<span>新对话</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"touchchat-content\">\n\t\t\t<HistorySidebar v-if=\"!isNotHeader && !state.isSidebarCollapsed\" :is-sidebar-collapsed=\"state.isSidebarCollapsed\" :active-chat=\"state.activeChat\" :chat-history=\"state.chatHistory\" @toggle-sidebar=\"toggleSidebar\" @start-new-chat=\"startNewChat\" @select-chat=\"selectChat\" @rename-chat=\"handleRenameChat\" @delete-chat=\"deleteChat\"> </HistorySidebar>\n\t\t\t<TouchChat v-if=\"!iIsAgent\" ref=\"chatComponent\" :key=\"state.activeChat\" :value=\"currentChatMessages\" @send-message=\"sendMessage\" @toggle-sidebar=\"toggleSidebarOut\" @before-send-message=\"beforeSendMessage\">\n\t\t\t\t<template #aimsg=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #msg=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"msg\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #aiAvatar>\n\t\t\t\t\t<slot name=\"aiAvatar\" />\n\t\t\t\t</template>\n\t\t\t\t<template #userAvatar>\n\t\t\t\t\t<slot name=\"userAvatar\" />\n\t\t\t\t</template>\n\t\t\t\t<template #welcome>\n\t\t\t\t\t<slot name=\"welcome\" />\n\t\t\t\t</template>\n\t\t\t\t<template #edit>\n\t\t\t\t\t<slot name=\"edit\" />\n\t\t\t\t</template>\n\t\t\t\t<template #shortcut>\n\t\t\t\t\t<slot name=\"shortcut\" />\n\t\t\t\t</template>\n\t\t\t\t<template #top>\n\t\t\t\t\t<slot name=\"top\" />\n\t\t\t\t</template>\n\t\t\t\t<template #fn=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #extendsFn=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t</TouchChat>\n\t\t\t<!-- :key=\"state.activeChat\" -->\n\t\t\t<TouchAgent v-else ref=\"chatComponent\" :value=\"currentChatMessages\" @send-message=\"sendMessage\" @toggle-sidebar=\"toggleSidebarOut\" @before-send-message=\"beforeSendMessage\">\n\t\t\t\t<template #aimsg=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #msg=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"msg\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #aiAvatar>\n\t\t\t\t\t<slot name=\"aiAvatar\" />\n\t\t\t\t</template>\n\t\t\t\t<template #userAvatar>\n\t\t\t\t\t<slot name=\"userAvatar\" />\n\t\t\t\t</template>\n\t\t\t\t<template #welcome>\n\t\t\t\t\t<slot name=\"welcome\" />\n\t\t\t\t</template>\n\t\t\t\t<template #edit>\n\t\t\t\t\t<slot name=\"edit\" />\n\t\t\t\t</template>\n\t\t\t\t<template #shortcut>\n\t\t\t\t\t<slot name=\"shortcut\" />\n\t\t\t\t</template>\n\t\t\t\t<template #top>\n\t\t\t\t\t<slot name=\"top\" />\n\t\t\t\t</template>\n\t\t\t\t<template #fn=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t\t<template #extendsFn=\"{ item, index }\">\n\t\t\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t</template>\n\t\t\t</TouchAgent>\n\t\t\t<SiderBarView v-show=\"state.toggleSidebarFlag\" :flag=\"state.isSidebarCollapsed\" :item=\"messageItem\" :index=\"messageIndex\">\n\t\t\t\t<template #extend=\"{ item: slotMessageItem, index: slotMessageIndex }\">\n\t\t\t\t\t<slot name=\"extend\" :item=\"slotMessageItem\" :index=\"slotMessageIndex\" />\n\t\t\t\t</template>\n\t\t\t</SiderBarView>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, computed, watch, reactive, inject, ref, provide, Ref } from 'vue'\nimport TouchChat from './TouchChat.vue'\nimport TouchAgent from './TouchAgent.vue'\nimport HistorySidebar from './HistorySidebar.vue'\nimport SiderBarView from './SiderBarView.vue'\nimport type { ChatMessage } from './SiderBarView.vue'\n\ninterface HistoryItem {\n\tid: string\n\ttitle: string\n\ttime: Date\n\ttype: string // 用于区分不同类型的对话\n\tmessages?: ChatMessage[]\n}\n\ninterface Agent {\n\tid: string\n\tname: string\n\tintro: string\n}\n\n// 状态管理\nconst state = reactive({\n\tactiveChat: '',\n\tchatHistory: [] as HistoryItem[],\n\tisSidebarCollapsed: false,\n\tactionMenuVisible: {} as Record<string, boolean>,\n\tmockMessages: [] as ChatMessage[],\n\ttoggleSidebarFlag: false,\n\tagentsType: '',\n\tclickCreateNum: 0\n})\nconst historyContainer = ref(null)\nconst watchHistoryData = ref<HistoryItem[]>([])\nconst watchHistoryDetail = ref<ChatMessage[]>([])\nconst chatComponent = ref<InstanceType<typeof TouchChat>>()\n\nconst layout = inject<string>('layout', 'side, think, upload, chain')\nconst isNotHeader = !layout.includes('side')\nconst scripts = inject<any[]>('scripts', [])\nconst agents = inject<Agent[]>('agents', [])\nconst agentsInfo = ref<Agent>()\nconst isAgentRef = inject<Ref<boolean>>('isAgent', ref(false))\nconst iIsAgent = ref(isAgentRef.value)\nwatch(\n\tisAgentRef,\n\tnewVal => {\n\t\tiIsAgent.value = newVal\n\t},\n\t{ immediate: true }\n)\n// 提供更新函数给后代组件\nconst updateSharedData = (item: Agent) => {\n\tagentsInfo.value = item\n\tif (chatComponent.value) {\n\t\tchatComponent.value?.handleAgentSelect?.(item)\n\t}\n}\nprovide('updateSharedData', updateSharedData)\n\n// 本地存储相关\nconst STORAGE_KEYS = {\n\tCHAT_HISTORY: scripts.length === 0 ? 'chatHistory' : 'robotHistory',\n\tSIDEBAR_STATE: 'sidebarCollapsed'\n}\n\nconst loadFromLocalStorage = () => {\n\t// 加载折叠状态\n\tconst savedCollapseState = localStorage.getItem(STORAGE_KEYS.SIDEBAR_STATE)\n\tif (savedCollapseState) {\n\t\tstate.isSidebarCollapsed = JSON.parse(savedCollapseState)\n\t}\n\n\tif (scripts.length > 0) {\n\t\tlocalStorage.setItem(STORAGE_KEYS.CHAT_HISTORY, '[]')\n\t\tlocalStorage.setItem('activeAgentsName', '')\n\t}\n\n\t// 加载聊天历史\n\tconst savedHistory = localStorage.getItem(STORAGE_KEYS.CHAT_HISTORY)\n\tconst historyData = JSON.parse(savedHistory || '[]')\n\tif (agents.length > 0 && !historyData.length) {\n\t\tagents.forEach(item => {\n\t\t\tconst agentsList = [\n\t\t\t\t{\n\t\t\t\t\tchatId: item.id,\n\t\t\t\t\tuser: 'ai',\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tisShowLike: true,\n\t\t\t\t\tcontent: item?.intro || '我是AI助手,我可以回答你的问题,你可以和我聊天,也可以问我问题。'\n\t\t\t\t}\n\t\t\t]\n\t\t\tcreateNewChat(item.name, agentsList, item.name)\n\t\t})\n\t}\n\tif (watchHistoryData.value.length > 0) {\n\t\tstate.chatHistory = watchHistoryData.value\n\t\t// if (state.chatHistory.length > 0) {\n\t\t// \tstate.activeChat = state.chatHistory[0].id\n\t\t// }\n\t} else if (historyData.length > 0) {\n\t\tstate.chatHistory = historyData\n\t\t// if (state.chatHistory.length > 0) {\n\t\t// \tstate.activeChat = state.chatHistory[0].id\n\t\t// }\n\t}\n\t// else {\n\t// \t// 初始化默认对话\n\t// \tconst newChat = createNewChat('AI基础问答')\n\t// \tstate.activeChat = newChat.id\n\t// }\n}\n\nconst historyList = inject<any>('historyList', [])\nconst setHistoryData = ref(Array.isArray(historyList) ? historyList : typeof historyList === 'object' && historyList ? historyList : [])\nconst computedHistoryData = computed(() => {\n\tif (setHistoryData.value.length) {\n\t\treturn setHistoryData.value\n\t}\n\treturn []\n})\nwatch(\n\tcomputedHistoryData,\n\tnewVal => {\n\t\twatchHistoryData.value = newVal\n\t\tstate.chatHistory = newVal\n\t\tloadFromLocalStorage()\n\t},\n\t{ immediate: true }\n)\nconst historyDetail = inject<ChatMessage[]>('historyDetail', [])\nconst setMessageDetail = ref(Array.isArray(historyDetail) ? historyDetail : typeof historyDetail === 'object' && historyDetail ? historyDetail : [])\nconst computedHistoryDetail = computed(() => {\n\tif (setMessageDetail.value.length) {\n\t\treturn setMessageDetail.value\n\t}\n\treturn []\n})\nwatch(\n\tcomputedHistoryDetail,\n\tnewVal => {\n\t\twatchHistoryDetail.value = newVal\n\t},\n\t{ immediate: true }\n)\nconst messageItem = ref<ChatMessage>({ user: '', type: '', content: '' })\nconst messageIndex = ref<number>(0)\n\n// 修改currentChatMessages计算属性\nconst currentChatMessages = computed(() => {\n\tif (watchHistoryDetail.value.length) {\n\t\treturn watchHistoryDetail.value\n\t}\n\tif (!state.activeChat) return []\n\tif ((!watchHistoryDetail.value.length && !watchHistoryData.value.length) || watchHistoryData.value.length) {\n\t\tconst currentChat = state.chatHistory.find(item => item.id === state.activeChat)\n\t\treturn currentChat?.messages || []\n\t} else {\n\t\treturn watchHistoryDetail.value\n\t}\n})\n\nwatch(\n\t() => {\n\t\tif (typeof historyList === 'object' && historyList !== undefined) {\n\t\t\treturn historyList\n\t\t}\n\t\treturn historyList\n\t},\n\tnewVal => {\n\t\tif (newVal && Array.isArray(newVal) && newVal.length) {\n\t\t\twatchHistoryData.value = newVal\n\t\t\t// loadFromLocalStorage()\n\t\t\tif (!scripts.length) {\n\t\t\t\tstate.chatHistory = newVal\n\t\t\t\tif (state.chatHistory.length > 0 && !state.activeChat) {\n\t\t\t\t\tstate.activeChat = state.chatHistory[0].id\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => {\n\t\tif (typeof historyDetail === 'object' && historyDetail !== undefined) {\n\t\t\treturn historyDetail\n\t\t}\n\t\treturn historyDetail\n\t},\n\tnewVal => {\n\t\tif (newVal && Array.isArray(newVal)) {\n\t\t\twatchHistoryDetail.value = JSON.parse(JSON.stringify(newVal))\n\t\t\tif (chatComponent.value) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tchatComponent.value?.$forceUpdate?.()\n\t\t\t\t}, 0)\n\t\t\t}\n\t\t}\n\t},\n\t{ deep: true, immediate: true }\n)\n\n// 生命周期\nonMounted(() => {\n\tloadFromLocalStorage()\n\t// 初始化事件监听\n\t// initEventListeners()\n})\n\nfunction saveToLocalStorage() {\n\tlocalStorage.setItem(STORAGE_KEYS.CHAT_HISTORY, JSON.stringify(state.chatHistory))\n\tlocalStorage.setItem(STORAGE_KEYS.SIDEBAR_STATE, JSON.stringify(state.isSidebarCollapsed))\n}\n\n// 事件监听\n// function initEventListeners() {\n// \tdocument.addEventListener('click', () => {\n// \t\t// 点击空白处关闭所有菜单\n// \t\tObject.keys(state.actionMenuVisible).forEach(key => {\n// \t\t\tstate.actionMenuVisible[key] = false\n// \t\t})\n// \t})\n// }\n\nconst toggleSidebarOut = (item: ChatMessage, index: number) => {\n\tmessageItem.value = item\n\tmessageIndex.value = index\n\tif (state.toggleSidebarFlag) {\n\t\treturn\n\t}\n\tstate.toggleSidebarFlag = true\n\tstate.isSidebarCollapsed = false\n\ttoggleSidebar()\n}\n\n// 侧边栏控制\nfunction toggleSidebar() {\n\tstate.isSidebarCollapsed = !state.isSidebarCollapsed\n\tsaveToLocalStorage()\n}\n\n// 聊天管理\nfunction createNewChat(title: string = '新对话', messageList: ChatMessage[] = [], type?: string) {\n\tlet agentsId = ''\n\tif (agents.length > 0) {\n\t\tagentsId = agents.find(item => item.name === title)?.id || ''\n\t}\n\tconst newChat: HistoryItem = {\n\t\t// id: Date.now().toString(),\n\t\tid: agentsId ? agentsId : (Math.floor(Math.random() * 89999999) + 10000000).toString(),\n\t\ttitle,\n\t\ttime: new Date(),\n\t\tmessages: messageList,\n\t\ttype: type ? type : ''\n\t}\n\n\tstate.chatHistory.unshift(newChat)\n\tsaveToLocalStorage()\n\treturn newChat\n}\n\nfunction startNewChat() {\n\tlocalStorage.setItem('activeAgentsName', '')\n\tconst robotHistory = localStorage.getItem(STORAGE_KEYS.CHAT_HISTORY) || '[]'\n\tconst robotHistoryData = JSON.parse(robotHistory)\n\tlet messageList: ChatMessage[] = []\n\tlet messageItem: HistoryItem = {} as HistoryItem\n\tlet firstMessageList: ChatMessage[] = []\n\tif (robotHistoryData.length) {\n\t\tmessageItem = robotHistoryData.find((item: HistoryItem) => item.id === state.activeChat) || ({} as HistoryItem)\n\t\tmessageList = messageItem?.messages || []\n\t\tfirstMessageList = robotHistoryData?.[0]?.messages || ([] as ChatMessage[])\n\t}\n\tstate.toggleSidebarFlag = false\n\tif ((watchHistoryData.value.length > 0 && firstMessageList.length > 0 && (watchHistoryDetail.value.length > 0 || currentChatMessages.value.length > 0 || messageList.length > 0)) || (!messageItem?.messages && firstMessageList.length > 0) || !state.clickCreateNum) {\n\t\tconst newChat = createNewChat('新对话' + (state.chatHistory.length + 1))\n\t\tstate.activeChat = newChat.id\n\t\tchange('')\n\t\tstate.clickCreateNum++\n\t\treturn\n\t}\n\tif (state.chatHistory.length > 0 && !state.chatHistory?.[0]?.messages?.length) {\n\t\tstate.activeChat = state.chatHistory[0].id\n\t\tchange('')\n\t\treturn\n\t}\n\tif (!currentChatMessages.value.length && state.chatHistory.length > 0) {\n\t\tstate.activeChat = state.chatHistory?.[0]?.id ?? ''\n\t\tchange('')\n\t\treturn\n\t}\n\tconst newChat = createNewChat('新对话' + (state.chatHistory.length + 1))\n\tstate.activeChat = newChat.id\n\tchange('')\n}\n\nconst change = inject<(id: string) => void>('change', () => {\n\tconsole.warn('未提供change函数')\n})\n\nfunction selectChat(id: string, type?: string) {\n\tstate.activeChat = id\n\tstate.toggleSidebarFlag = false\n\tstate.agentsType = type as string\n\tif (!type) {\n\t\tlocalStorage.setItem('activeAgentsName', '')\n\t}\n\tchange(id)\n\tresetAllMenus()\n}\n\nconst historyRemove = inject<(id: string) => void>('historyRemove', () => {\n\tconsole.warn('未提供remove函数')\n})\n\nfunction deleteChat(id: string) {\n\tconst index = state.chatHistory.findIndex(item => item.id === id)\n\tif (index === -1) return\n\n\tstate.chatHistory.splice(index, 1)\n\n\tif (state.chatHistory.length > 0) {\n\t\tselectChat(state.chatHistory[0].id)\n\t} else {\n\t\tstate.activeChat = ''\n\t\tstate.mockMessages = []\n\t}\n\thistoryRemove(id)\n\tsaveToLocalStorage()\n}\n\nconst beforeSendMessage = () => {\n\tstate.toggleSidebarFlag = false\n}\n\nfunction sendMessage(messageList: ChatMessage[], type?: string) {\n\tstate.mockMessages = messageList\n\n\tif (type) {\n\t\treturn\n\t}\n\n\tif (!state.activeChat) {\n\t\tconst newChat = createNewChat('AI基础问答', messageList)\n\t\tnewChat.messages = messageList\n\t\tstate.activeChat = newChat.id\n\t} else {\n\t\tconst currentChat = state.chatHistory.find(item => item.id === state.activeChat)\n\t\tif (currentChat) {\n\t\t\tcurrentChat.messages = messageList\n\t\t\tcurrentChat.time = new Date()\n\t\t}\n\t\tsaveToLocalStorage()\n\t}\n}\n\n// 菜单控制\nfunction resetAllMenus() {\n\tObject.keys(state.actionMenuVisible).forEach(key => {\n\t\tstate.actionMenuVisible[key] = false\n\t})\n}\n\nconst handleRenameChat = (id: string, newTitle: string) => {\n\tconst item = state.chatHistory.find(item => item.id === id)\n\tif (item) {\n\t\titem.title = newTitle\n\t\titem.time = new Date()\n\t\tsaveToLocalStorage()\n\t}\n}\n\n// 监听聊天历史变化,自动保存\nwatch(\n\t() => state.chatHistory,\n\t() => {\n\t\tsaveToLocalStorage()\n\t},\n\t{ deep: true }\n)\ndefineExpose({\n\tsend: (value: string, fileList?: any[], auto?: boolean, type?: string) => {\n\t\tchatComponent.value?.send(value, fileList, auto, type)\n\t},\n\tcloseExtend: () => {\n\t\tstate.toggleSidebarFlag = false\n\t},\n\tcreate: () => {\n\t\tstartNewChat()\n\t},\n\tretry: (index: number) => {\n\t\tchatComponent.value?.retry(index)\n\t},\n\tupdate: (index: number, message: object) => {\n\t\tchatComponent.value?.update(index, message)\n\t}\n})\n</script>\n"],"names":["messageItem","newChat","item","_createElementBlock","_createElementVNode","_createBlock","_withCtx","_renderSlot","_Fragment","_createCommentVNode","_createVNode","_vShow"],"mappings":"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"}
@@ -21,7 +21,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
21
21
  agents: { default: () => [] },
22
22
  modules: { default: () => [] },
23
23
  speed: { default: 10 },
24
- allowedTypes: { default: () => [] }
24
+ allowedTypes: { default: () => [] },
25
+ isAgent: { type: Boolean, default: false },
26
+ agentConfigList: { default: () => [] }
25
27
  },
26
28
  emits: ["send", "afterSend", "like", "dislike", "side-bottom", "change", "historyRemove", "remove", "bottom", "stop", "modelChange"],
27
29
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -59,7 +61,35 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
59
61
  );
60
62
  provide("historyDetail", providedHistoryDetail);
61
63
  provide("agents", props.agents);
62
- provide("modules", props.modules);
64
+ const iModules = ref(props.modules);
65
+ watch(
66
+ () => props.modules,
67
+ (newVal) => {
68
+ iModules.value = newVal;
69
+ console.log("modules === index.vue === 191", newVal);
70
+ },
71
+ { immediate: true }
72
+ );
73
+ provide("modules", iModules);
74
+ const iIsAgent = ref(props.isAgent);
75
+ watch(
76
+ () => props.isAgent,
77
+ (newVal) => {
78
+ iIsAgent.value = newVal;
79
+ },
80
+ { immediate: true }
81
+ );
82
+ provide("isAgent", iIsAgent);
83
+ const iAgentConfigList = ref(props.agentConfigList);
84
+ watch(
85
+ () => props.agentConfigList,
86
+ (newVal) => {
87
+ console.log("agentConfigList === index.vue", newVal);
88
+ iAgentConfigList.value = newVal;
89
+ },
90
+ { immediate: true }
91
+ );
92
+ provide("agentConfigList", iAgentConfigList);
63
93
  provide("like", (index, isLike) => {
64
94
  emits("like", index, isLike);
65
95
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../../../../packages/components/touchchat/src/index.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'Touchchat' });\n</script>\n<template>\n\t<!-- <div>1.0.0-beta.2025091504</div> -->\n\t<DeepSeek ref=\"deepSeekRef\" :style=\"elementStyle\" :class=\"elementClass\">\n\t\t<!-- msg -->\n\t\t<template #aimsg=\"{ item, index }\">\n\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<template #msg=\"{ item, index }\">\n\t\t\t<slot name=\"msg\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<template #aiAvatar>\n\t\t\t<slot name=\"aiAvatar\" />\n\t\t</template>\n\t\t<template #userAvatar>\n\t\t\t<slot name=\"userAvatar\" />\n\t\t</template>\n\t\t<template #welcome>\n\t\t\t<slot name=\"welcome\" />\n\t\t</template>\n\t\t<!-- edit -->\n\t\t<template #edit>\n\t\t\t<slot name=\"edit\" />\n\t\t</template>\n\t\t<!-- top -->\n\t\t<template #top>\n\t\t\t<slot name=\"top\" />\n\t\t</template>\n\t\t<template #shortcut>\n\t\t\t<slot name=\"shortcut\" />\n\t\t</template>\n\t\t<!-- extend -->\n\t\t<template #extend=\"{ item, index }\">\n\t\t\t<slot name=\"extend\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<!-- fn -->\n\t\t<template #fn=\"{ item, index }\">\n\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<template #extendsFn=\"{ item, index }\">\n\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t</DeepSeek>\n</template>\n<script setup lang=\"ts\">\nimport { ChatMessage, ModuleItem } from './AiChat/TouchChat.vue'\nimport DeepSeek from './AiChat/TouchHistory.vue'\nimport { provide, ref, computed, watch } from 'vue'\n\n\n\nconst emits = defineEmits<{\n\t(e: 'send', value: string, fileList?: any[]): void\n\t(e: 'afterSend', result: any): void\n\t(e: 'like', index: number, isLike: boolean): void\n\t(e: 'dislike', index: number, isDislike: boolean): void\n\t(e: 'side-bottom'): void\n\t(e: 'change', id: string): void\n\t(e: 'historyRemove', id: string): void\n\t(e: 'remove', item: ChatMessage, index: number): void\n\t(e: 'bottom'): void\n\t(e: 'stop', item: ChatMessage, index: number): void\n\t(e: 'modelChange', item: ModuleItem, index: number): void\n}>()\n\nconst sendVal = ref('')\n\ninterface ScriptItem {\n\tid?: string\n\tname: string\n\tsubTitle?: string\n\tcontent: Array<{\n\t\tuser: string\n\t\tdata?: string\n\t\talias?: string[]\n\t\ttype?: string\n\t}>\n}\n\ninterface HistoryItem {\n\tid?: string\n\ttime?: string\n\ttitle?: string\n}\n\ninterface MessageItem {\n\tchatId: string\n\tuser: string\n\ttype: string\n\tcontent: string\n\t[props: string]: any\n}\n\n// interface ModuleItem {\n// \tname: string\n// \tconfig: {\n// \t\taction: string\n// \t\theaders: () => object\n// \t\tbody: () => object\n// \t\trespoKey: () => object\n// \t}\n// }\ntype Modules = (string | ModuleItem)[]\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\tmode?: string\n\t\tscripts?: ScriptItem[]\n\t\twidth?: number | string\n\t\theight?: number | string\n\t\tcomponents?: { [key: string]: any } // components\n\t\tavatar?: boolean // avatar\n\t\tplaceholder?: string\n\t\tunmatchText?: string // unmatchText\n\t\ttitle?: string\n\t\tlayout?: string // layout=\"side, think, upload, chain,realtime\"\n\t\tbeforeSend?: () => { result: boolean; componentName?: string }\n\t\thistoryList?: HistoryItem[] // historyList\n\t\thistoryDetail?: MessageItem[] // historyDetail\n\t\tagents?: {\n\t\t\tid: string\n\t\t\tname: string\n\t\t\tintro: string\n\t\t}[] // agents\n\t\tmodules?: Modules // modules\n\t\tspeed?: number // speed\n\t\tallowedTypes?: string[] // allowedTypes\n\n\t\t// aiChatType?: 'Flow' | 'Intelligent' // category-text=\"category\"\n\t\t// category-text=\"category\"\n\t\t// content-category=\"task_stream_content\"\n\t\t// content-text=\"content\"\n\t\t// all-text=\"message\"\n\t\t// all-category=\"answer\"\n\t}>(),\n\t{\n\t\tmode: '',\n\t\tscripts: () => [],\n\t\twidth: '',\n\t\theight: '',\n\t\tcomponents: () => ({}),\n\t\tavatar: true,\n\t\tplaceholder: 'hi,我是touchchat,快来和我聊天吧~',\n\t\tunmatchText: '您的消息未匹配到任何内容',\n\t\ttitle: 'TouchChat',\n\t\tlayout: 'side, clear, think, upload, screen, voice,realtime', //chain 思考链\n\t\t// side 侧边栏(历史记录),think 深度思考,upload 上传文件,chain 思考链\n\t\tbeforeSend: () => ({ result: true, componentName: '' }),\n\t\thistoryList: () => [],\n\t\thistoryDetail: () => [],\n\t\tagents: () => [],\n\t\tmodules: () => [],\n\t\tspeed: 10,\n\t\tallowedTypes: () => []\n\t}\n)\n\nprovide('components', props.components)\nprovide('avatar', props.avatar)\nprovide('placeholder', props.placeholder)\nprovide('unmatchText', props.unmatchText)\nprovide('title', props.title)\nprovide('layout', props.layout)\nprovide('beforeSend', props.beforeSend)\nprovide('scripts', props.scripts)\nprovide('speed', props.speed)\nprovide('allowedTypes', props.allowedTypes)\nconst historyListComputed = computed(() => props.historyList)\nconst providedHistoryList = ref(props.historyList)\nwatch(\n\thistoryListComputed,\n\tnewVal => {\n\t\tprovidedHistoryList.value = newVal\n\t},\n\t{ immediate: true }\n)\nprovide('historyList', providedHistoryList)\nconst historyDetailComputed = computed(() => props.historyDetail)\nconst providedHistoryDetail = ref(props.historyDetail)\nwatch(\n\thistoryDetailComputed,\n\tnewVal => {\n\t\tprovidedHistoryDetail.value = newVal\n\t},\n\t{ immediate: true }\n)\nprovide('historyDetail', providedHistoryDetail)\nprovide('agents', props.agents)\nprovide('modules', props.modules)\n\n// 新增:提供处理点赞事件的函数\nprovide('like', (index: number, isLike: boolean) => {\n\t// 这里可以实现具体的点赞逻辑\n\temits('like', index, isLike) // like\n\t// 可以添加实际的业务逻辑,如调用API等\n})\n\n// 新增:提供处理点赞事件的函数 dislike\nprovide('dislike', (index: number, isUnlike: boolean) => {\n\t// 这里可以实现具体的点赞逻辑\n\temits('dislike', index, isUnlike) // dislike\n\t// 可以添加实际的业务逻辑,如调用API等\n})\n\nprovide('send', (value: string, fileList?: any[]) => {\n\t// send\n\t// 这里可以实现具体的点赞逻辑\n\tsendVal.value = value\n\temits('send', value, fileList)\n\t// 可以添加实际的业务逻辑,如调用API等\n})\n\nprovide('sideBottom', () => {\n\tconsole.log('sideBottom === 触底事件') // bottom\n\temits('side-bottom')\n})\n\nprovide('change', (id: string) => {\n\tconsole.log('change === 激活事件', id) // change\n\temits('change', id)\n})\n\nprovide('historyRemove', (id: string) => {\n\t//remove\n\tconsole.log('historyRemove === 删除事件', id)\n\temits('historyRemove', id)\n})\n\nprovide('afterSend', (content: any) => {\n\t// afterSend\n\t// console.log('afterSend === 发送消息事件', content)\n\temits('afterSend', content)\n})\n\nprovide('remove', (item: ChatMessage, index: number) => {\n\t// afterSend\n\tconsole.log('remove === 详情删除', item, index)\n\temits('remove', item, index)\n})\n\nprovide('bottom', () => {\n\tconsole.log('bottom === 详情触底')\n\temits('bottom')\n})\n\nprovide('stop', (item: ChatMessage, index: number) => {\n\tconsole.log('stop === 用户终止事件')\n\temits('stop', item, index)\n})\n\nprovide('modelChange', (item: ModuleItem, index: number) => {\n\tconsole.log('modelChange === 模型切换事件', item, index)\n\temits('modelChange', item, index)\n})\n\n// const rootRef = ref(null)\nconst deepSeekRef = ref<InstanceType<typeof DeepSeek> | null>(null)\n\nconst elementClass = computed(() => {\n\tconst classList = []\n\tif (props.mode) {\n\t\tclassList.push(`touchchat-${props.mode}`)\n\t}\n\treturn classList.join(' ')\n})\n\n// 修改elementStyle计算属性,移除对scripts.length的检查\nconst elementStyle = computed(() => {\n\tlet width = ''\n\tlet height = ''\n\n\tif (props.width) {\n\t\tif (typeof props.width === 'string') {\n\t\t\twidth = props.width ?? '100%'\n\t\t} else {\n\t\t\twidth = `${props.width}em`\n\t\t}\n\t}\n\n\tif (props.height) {\n\t\tif (typeof props.height === 'string') {\n\t\t\theight = props.height ?? '100%'\n\t\t} else {\n\t\t\theight = `${props.height}em`\n\t\t}\n\t}\n\n\treturn {\n\t\twidth,\n\t\theight\n\t}\n})\ndefineExpose({\n\tsend: (value: string, fileList?: any[], auto?: boolean, type?: string) => {\n\t\tdeepSeekRef.value?.send(value, fileList, auto, type) //send\n\t},\n\tcloseExtend: () => {\n\t\tdeepSeekRef.value?.closeExtend() // closeExtend\n\t},\n\tcreate: () => {\n\t\tdeepSeekRef.value?.create() // reset\n\t},\n\tretry: (index: number) => {\n\t\tdeepSeekRef.value?.retry(index)\n\t},\n\tupdate: (index: number, message: object) => {\n\t\tdeepSeekRef.value?.update(index, message)\n\t}\n})\n</script>\n"],"names":["DO_defineComponent","_createCommentVNode","_createVNode","_withCtx","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../../../../packages/components/touchchat/src/index.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'Touchchat' });\n</script>\n<template>\n\t<!-- <div>1.0.0-beta.2025091504</div> -->\n\t<DeepSeek ref=\"deepSeekRef\" :style=\"elementStyle\" :class=\"elementClass\">\n\t\t<!-- msg -->\n\t\t<template #aimsg=\"{ item, index }\">\n\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<template #msg=\"{ item, index }\">\n\t\t\t<slot name=\"msg\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<template #aiAvatar>\n\t\t\t<slot name=\"aiAvatar\" />\n\t\t</template>\n\t\t<template #userAvatar>\n\t\t\t<slot name=\"userAvatar\" />\n\t\t</template>\n\t\t<template #welcome>\n\t\t\t<slot name=\"welcome\" />\n\t\t</template>\n\t\t<!-- edit -->\n\t\t<template #edit>\n\t\t\t<slot name=\"edit\" />\n\t\t</template>\n\t\t<!-- top -->\n\t\t<template #top>\n\t\t\t<slot name=\"top\" />\n\t\t</template>\n\t\t<template #shortcut>\n\t\t\t<slot name=\"shortcut\" />\n\t\t</template>\n\t\t<!-- extend -->\n\t\t<template #extend=\"{ item, index }\">\n\t\t\t<slot name=\"extend\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<!-- fn -->\n\t\t<template #fn=\"{ item, index }\">\n\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t\t<template #extendsFn=\"{ item, index }\">\n\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\n\t\t</template>\n\t</DeepSeek>\n</template>\n<script setup lang=\"ts\">\nimport { ChatMessage, ModuleItem } from './AiChat/TouchChat.vue'\nimport type { AgentConfig, SubAgent } from '../src/types/a2a'\nimport DeepSeek from './AiChat/TouchHistory.vue'\nimport { provide, ref, computed, watch } from 'vue'\n\n\n\nconst emits = defineEmits<{\n\t(e: 'send', value: string, fileList?: any[]): void\n\t(e: 'afterSend', result: any): void\n\t(e: 'like', index: number, isLike: boolean): void\n\t(e: 'dislike', index: number, isDislike: boolean): void\n\t(e: 'side-bottom'): void\n\t(e: 'change', id: string): void\n\t(e: 'historyRemove', id: string): void\n\t(e: 'remove', item: ChatMessage, index: number): void\n\t(e: 'bottom'): void\n\t(e: 'stop', item: ChatMessage, index: number): void\n\t(e: 'modelChange', item: ModuleItem, index: number): void\n}>()\n\nconst sendVal = ref('')\n\ninterface ScriptItem {\n\tid?: string\n\tname: string\n\tsubTitle?: string\n\tcontent: Array<{\n\t\tuser: string\n\t\tdata?: string\n\t\talias?: string[]\n\t\ttype?: string\n\t}>\n}\n\ninterface HistoryItem {\n\tid?: string\n\ttime?: string\n\ttitle?: string\n}\n\ninterface MessageItem {\n\tchatId: string\n\tuser: string\n\ttype: string\n\tcontent: string\n\t[props: string]: any\n}\n\n// interface ModuleItem {\n// \tname: string\n// \tconfig: {\n// \t\taction: string\n// \t\theaders: () => object\n// \t\tbody: () => object\n// \t\trespoKey: () => object\n// \t}\n// }\ntype Modules = (string | ModuleItem)[]\ntype ResultArray = AgentConfig[] | SubAgent[]\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\tmode?: string\n\t\tscripts?: ScriptItem[]\n\t\twidth?: number | string\n\t\theight?: number | string\n\t\tcomponents?: { [key: string]: any } // components\n\t\tavatar?: boolean // avatar\n\t\tplaceholder?: string\n\t\tunmatchText?: string // unmatchText\n\t\ttitle?: string\n\t\tlayout?: string // layout=\"side, think, upload, chain,realtime\"\n\t\tbeforeSend?: () => { result: boolean; componentName?: string }\n\t\thistoryList?: HistoryItem[] // historyList\n\t\thistoryDetail?: MessageItem[] // historyDetail\n\t\tagents?: {\n\t\t\tid: string\n\t\t\tname: string\n\t\t\tintro: string\n\t\t}[] // agents\n\t\tmodules?: Modules // modules\n\t\tspeed?: number // speed\n\t\tallowedTypes?: string[] // allowedTypes\n\t\tisAgent?: boolean // isAgent 是否是智能体\n\t\tagentConfigList?: ResultArray // agentConfigList 智能体配置列表\n\t}>(),\n\t{\n\t\tmode: '',\n\t\tscripts: () => [],\n\t\twidth: '',\n\t\theight: '',\n\t\tcomponents: () => ({}),\n\t\tavatar: true,\n\t\tplaceholder: 'hi,我是touchchat,快来和我聊天吧~',\n\t\tunmatchText: '您的消息未匹配到任何内容',\n\t\ttitle: 'TouchChat',\n\t\tlayout: 'side, clear, think, upload, screen, voice,realtime', //chain 思考链\n\t\t// side 侧边栏(历史记录),think 深度思考,upload 上传文件,chain 思考链\n\t\tbeforeSend: () => ({ result: true, componentName: '' }),\n\t\thistoryList: () => [],\n\t\thistoryDetail: () => [],\n\t\tagents: () => [],\n\t\tmodules: () => [],\n\t\tspeed: 10,\n\t\tallowedTypes: () => [],\n\t\tisAgent: false, // isAgent 是否是智能体\n\t\tagentConfigList: () => []\n\t}\n)\n\nprovide('components', props.components)\nprovide('avatar', props.avatar)\nprovide('placeholder', props.placeholder)\nprovide('unmatchText', props.unmatchText)\nprovide('title', props.title)\nprovide('layout', props.layout)\nprovide('beforeSend', props.beforeSend)\nprovide('scripts', props.scripts)\nprovide('speed', props.speed)\nprovide('allowedTypes', props.allowedTypes)\nconst historyListComputed = computed(() => props.historyList)\nconst providedHistoryList = ref(props.historyList)\nwatch(\n\thistoryListComputed,\n\tnewVal => {\n\t\tprovidedHistoryList.value = newVal\n\t},\n\t{ immediate: true }\n)\nprovide('historyList', providedHistoryList)\nconst historyDetailComputed = computed(() => props.historyDetail)\nconst providedHistoryDetail = ref(props.historyDetail)\nwatch(\n\thistoryDetailComputed,\n\tnewVal => {\n\t\tprovidedHistoryDetail.value = newVal\n\t},\n\t{ immediate: true }\n)\nprovide('historyDetail', providedHistoryDetail)\nprovide('agents', props.agents)\nconst iModules = ref(props.modules)\nwatch(\n\t() => props.modules,\n\tnewVal => {\n\t\tiModules.value = newVal\n\t\tconsole.log('modules === index.vue === 191', newVal)\n\t},\n\t{ immediate: true }\n)\nprovide('modules', iModules)\n\nconst iIsAgent = ref(props.isAgent)\nwatch(\n\t() => props.isAgent,\n\tnewVal => {\n\t\tiIsAgent.value = newVal\n\t},\n\t{ immediate: true }\n)\nprovide('isAgent', iIsAgent)\n\nconst iAgentConfigList = ref(props.agentConfigList)\nwatch(\n\t() => props.agentConfigList,\n\tnewVal => {\n\t\tconsole.log('agentConfigList === index.vue', newVal)\n\t\t// provide('agentConfigList', newVal)\n\t\tiAgentConfigList.value = newVal\n\t},\n\t{ immediate: true }\n)\nprovide('agentConfigList', iAgentConfigList)\n\n// 新增:提供处理点赞事件的函数\nprovide('like', (index: number, isLike: boolean) => {\n\t// 这里可以实现具体的点赞逻辑\n\temits('like', index, isLike) // like\n\t// 可以添加实际的业务逻辑,如调用API等\n})\n\n// 新增:提供处理点赞事件的函数 dislike\nprovide('dislike', (index: number, isUnlike: boolean) => {\n\t// 这里可以实现具体的点赞逻辑\n\temits('dislike', index, isUnlike) // dislike\n\t// 可以添加实际的业务逻辑,如调用API等\n})\n\nprovide('send', (value: string, fileList?: any[]) => {\n\t// send\n\t// 这里可以实现具体的点赞逻辑\n\tsendVal.value = value\n\temits('send', value, fileList)\n\t// 可以添加实际的业务逻辑,如调用API等\n})\n\nprovide('sideBottom', () => {\n\tconsole.log('sideBottom === 触底事件') // bottom\n\temits('side-bottom')\n})\n\nprovide('change', (id: string) => {\n\tconsole.log('change === 激活事件', id) // change\n\temits('change', id)\n})\n\nprovide('historyRemove', (id: string) => {\n\t//remove\n\tconsole.log('historyRemove === 删除事件', id)\n\temits('historyRemove', id)\n})\n\nprovide('afterSend', (content: any) => {\n\t// afterSend\n\t// console.log('afterSend === 发送消息事件', content)\n\temits('afterSend', content)\n})\n\nprovide('remove', (item: ChatMessage, index: number) => {\n\t// afterSend\n\tconsole.log('remove === 详情删除', item, index)\n\temits('remove', item, index)\n})\n\nprovide('bottom', () => {\n\tconsole.log('bottom === 详情触底')\n\temits('bottom')\n})\n\nprovide('stop', (item: ChatMessage, index: number) => {\n\tconsole.log('stop === 用户终止事件')\n\temits('stop', item, index)\n})\n\nprovide('modelChange', (item: ModuleItem, index: number) => {\n\tconsole.log('modelChange === 模型切换事件', item, index)\n\temits('modelChange', item, index)\n})\n\n// const rootRef = ref(null)\nconst deepSeekRef = ref<InstanceType<typeof DeepSeek> | null>(null)\n\nconst elementClass = computed(() => {\n\tconst classList = []\n\tif (props.mode) {\n\t\tclassList.push(`touchchat-${props.mode}`)\n\t}\n\treturn classList.join(' ')\n})\n\n// 修改elementStyle计算属性,移除对scripts.length的检查\nconst elementStyle = computed(() => {\n\tlet width = ''\n\tlet height = ''\n\n\tif (props.width) {\n\t\tif (typeof props.width === 'string') {\n\t\t\twidth = props.width ?? '100%'\n\t\t} else {\n\t\t\twidth = `${props.width}em`\n\t\t}\n\t}\n\n\tif (props.height) {\n\t\tif (typeof props.height === 'string') {\n\t\t\theight = props.height ?? '100%'\n\t\t} else {\n\t\t\theight = `${props.height}em`\n\t\t}\n\t}\n\n\treturn {\n\t\twidth,\n\t\theight\n\t}\n})\ndefineExpose({\n\tsend: (value: string, fileList?: any[], auto?: boolean, type?: string) => {\n\t\tdeepSeekRef.value?.send(value, fileList, auto, type) //send\n\t},\n\tcloseExtend: () => {\n\t\tdeepSeekRef.value?.closeExtend() // closeExtend\n\t},\n\tcreate: () => {\n\t\tdeepSeekRef.value?.create() // reset\n\t},\n\tretry: (index: number) => {\n\t\tdeepSeekRef.value?.retry(index)\n\t},\n\tupdate: (index: number, message: object) => {\n\t\tdeepSeekRef.value?.update(index, message)\n\t}\n})\n</script>\n"],"names":["DO_defineComponent","_createCommentVNode","_createVNode","_withCtx","_renderSlot"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ var A2AMethods = /* @__PURE__ */ ((A2AMethods2) => {
2
+ A2AMethods2["SEND_MESSAGE"] = "message/send";
3
+ A2AMethods2["STREAM_MESSAGE"] = "message/stream";
4
+ A2AMethods2["GET_TASK"] = "task/get";
5
+ A2AMethods2["CANCEL_TASK"] = "task/cancel";
6
+ A2AMethods2["SUBSCRIBE_TASK"] = "task/subscribe";
7
+ return A2AMethods2;
8
+ })(A2AMethods || {});
9
+
10
+ export { A2AMethods };
11
+ //# sourceMappingURL=a2a.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.mjs","sources":["../../../../../../../packages/components/touchchat/src/types/a2a.ts"],"sourcesContent":["// A2A Protocol Types\n// Based on A2A (Agent-to-Agent) protocol specification\n\n// Message Part Types\nexport interface TextPart {\n\ttype: 'text'\n\ttext: string\n}\n\nexport interface FilePart {\n\ttype: 'file'\n\tfile: {\n\t\tname: string\n\t\tmimeType?: string\n\t\tbytes?: string\n\t\turi?: string\n\t}\n}\n\nexport interface DataPart {\n\ttype: 'data'\n\tdata: Record<string, unknown>\n}\n\nexport type Part = TextPart | FilePart | DataPart\n\n// Message\nexport interface Message {\n\tmessageId: string\n\trole: 'user' | 'agent'\n\tparts: Part[]\n\ttimestamp?: string\n}\n\n// JSON-RPC Request\nexport interface JSONRPCRequest {\n\tjsonrpc: '2.0'\n\tid: string\n\tmethod: string\n\tparams: Record<string, unknown>\n}\n\n// JSON-RPC Response\nexport interface JSONRPCResponse {\n\tjsonrpc: '2.0'\n\tid: string\n\tresult?: Record<string, unknown>\n\terror?: {\n\t\tcode: number\n\t\tmessage: string\n\t\tdata?: unknown\n\t}\n}\n\n// Agent Configuration\nexport interface AgentConfig {\n\tid: string\n\tname: string\n\tversion: string\n\tendpoint: string\n\tauthToken?: string\n\tdescription?: string\n}\n\n// Stream Response Chunk\nexport interface StreamChunk {\n\tjsonrpc: '2.0'\n\tid?: string\n\tmethod?: string\n\tparams?: {\n\t\tmessage?: Message\n\t\tstatus?: TaskStatus\n\t\tartifact?: Artifact\n\t}\n\tresult?: Record<string, unknown>\n}\n\n// Task Status\nexport interface TaskStatus {\n\tstate: 'pending' | 'working' | 'input-required' | 'completed' | 'canceled' | 'failed'\n\tmessage?: Message\n\ttimestamp?: string\n}\n\n// Artifact\nexport interface Artifact {\n\tartifactId: string\n\tname?: string\n\tdescription?: string\n\tparts: Part[]\n\tindex?: number\n\tappend?: boolean\n\tlastChunk?: boolean\n\tmetadata?: Record<string, unknown>\n}\n\n// Task\nexport interface Task {\n\ttaskId: string\n\tsessionId?: string\n\tstatus: TaskStatus\n\tartifacts?: Artifact[]\n\thistory?: Message[]\n\tmetadata?: Record<string, unknown>\n}\n\n// A2A Methods\nexport enum A2AMethods {\n\tSEND_MESSAGE = 'message/send',\n\tSTREAM_MESSAGE = 'message/stream',\n\tGET_TASK = 'task/get',\n\tCANCEL_TASK = 'task/cancel',\n\tSUBSCRIBE_TASK = 'task/subscribe'\n}\n\n// Agent Card (Agent Discovery)\nexport interface AgentCard {\n\tname: string\n\tdescription: string\n\turl: string\n\tversion: string\n\tcapabilities: {\n\t\tstreaming?: boolean\n\t\tpushNotifications?: boolean\n\t\tstateTransitionHistory?: boolean\n\t}\n\tauthentication?: {\n\t\tschemes: string[]\n\t\tcredentials?: string\n\t}\n\tdefaultInputModes?: string[]\n\tdefaultOutputModes?: string[]\n\tskills?: Array<{\n\t\tid: string\n\t\tname: string\n\t\tdescription?: string\n\t\ttags?: string[]\n\t\texamples?: string[]\n\t\tinputModes?: string[]\n\t\toutputModes?: string[]\n\t}>\n}\n\n// Multi-Agent Types\nexport interface SubAgent {\n\tagent_name: string\n\tagent_url: string\n\theaders: {\n\t\tAuthorization: string\n\t}\n}\n\nexport interface MultiAgentConfig {\n\thostEndpoint: string\n\tsubAgents: SubAgent[]\n}\n"],"names":["A2AMethods"],"mappings":"AA2GY,IAAA,UAAA,qBAAAA,WAAL,KAAA;AACN,EAAAA,YAAA,cAAe,CAAA,GAAA,cAAA,CAAA;AACf,EAAAA,YAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjB,EAAAA,YAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AACX,EAAAA,YAAA,aAAc,CAAA,GAAA,aAAA,CAAA;AACd,EAAAA,YAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AALN,EAAAA,OAAAA,WAAAA,CAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;;;;"}