myagent-ai 1.15.96 → 1.15.97

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myagent-ai",
3
- "version": "1.15.96",
3
+ "version": "1.15.97",
4
4
  "description": "本地桌面端执行型AI助手 - Open Interpreter 风格 | Local Desktop Execution-Oriented AI Assistant",
5
5
  "main": "main.py",
6
6
  "bin": {
@@ -981,8 +981,23 @@ function renderInlineExecEvent(data, msgIdx) {
981
981
 
982
982
  function showExecResultModal(msgIndex, eventId) {
983
983
  const msg = state.messages[msgIndex];
984
- if (!msg || !msg.exec_events) return;
985
- const evt = msg.exec_events.find(e => String(e.id) === String(eventId));
984
+ if (!msg) return;
985
+
986
+ // 先尝试从 exec_events 查找(旧格式)
987
+ let evt = null;
988
+ if (msg.exec_events) {
989
+ evt = msg.exec_events.find(e => String(e.id) === String(eventId));
990
+ }
991
+ // 再从 parts 查找(V2 格式)
992
+ if (!evt && msg.parts) {
993
+ for (const part of msg.parts) {
994
+ const inner = (part.type === 'v2_tool') ? part.data : (part.type === 'exec') ? part.data : null;
995
+ if (inner && String(inner.id) === String(eventId)) {
996
+ evt = inner;
997
+ break;
998
+ }
999
+ }
1000
+ }
986
1001
  if (!evt) return;
987
1002
 
988
1003
  const lang = evt.language || 'unknown';
@@ -1070,8 +1085,22 @@ function switchExecResultTab(tabId) {
1070
1085
 
1071
1086
  function showToolResultModal(msgIndex, eventId) {
1072
1087
  const msg = state.messages[msgIndex];
1073
- if (!msg || !msg.exec_events) return;
1074
- const evt = msg.exec_events.find(e => String(e.id) === String(eventId));
1088
+ if (!msg) return;
1089
+
1090
+ // 先尝试从 exec_events 查找(旧格式)
1091
+ let evt = null;
1092
+ if (msg.exec_events) {
1093
+ evt = msg.exec_events.find(e => String(e.id) === String(eventId));
1094
+ }
1095
+ // 再从 parts 查找(V2 格式:{type:'v2_tool', data:{id, tool_name, ...}})
1096
+ if (!evt && msg.parts) {
1097
+ for (const part of msg.parts) {
1098
+ if (part.type === 'v2_tool' && part.data && String(part.data.id) === String(eventId)) {
1099
+ evt = part.data;
1100
+ break;
1101
+ }
1102
+ }
1103
+ }
1075
1104
  if (!evt) return;
1076
1105
 
1077
1106
  const title = evt.title || (evt.tool_name || evt.skill_name || '工具调用');