@lemoncat7/dsh-partner 2.25.0 → 2.25.8

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 (127) hide show
  1. package/docs/releases/2.25.1.md +11 -0
  2. package/docs/releases/2.25.2.md +8 -0
  3. package/docs/releases/2.25.3.md +11 -0
  4. package/docs/releases/2.25.4.md +10 -0
  5. package/docs/releases/2.25.5.md +10 -0
  6. package/docs/releases/2.25.6.md +7 -0
  7. package/docs/releases/2.25.7.md +9 -0
  8. package/docs/releases/2.25.8.md +7 -0
  9. package/lib/agent-runtime.d.ts.map +1 -1
  10. package/lib/agent-runtime.js +9 -6
  11. package/lib/agent-runtime.js.map +1 -1
  12. package/lib/attachments/delivery-receipt.d.ts +15 -0
  13. package/lib/attachments/delivery-receipt.d.ts.map +1 -1
  14. package/lib/attachments/delivery-receipt.js +23 -0
  15. package/lib/attachments/delivery-receipt.js.map +1 -1
  16. package/lib/channels/manager.d.ts +1 -0
  17. package/lib/channels/manager.d.ts.map +1 -1
  18. package/lib/channels/manager.js +14 -0
  19. package/lib/channels/manager.js.map +1 -1
  20. package/lib/channels/qq/reply-tool.d.ts.map +1 -1
  21. package/lib/channels/qq/reply-tool.js +9 -7
  22. package/lib/channels/qq/reply-tool.js.map +1 -1
  23. package/lib/character/activity-tool.js +1 -1
  24. package/lib/character/activity-tool.js.map +1 -1
  25. package/lib/character/conversation-behavior.d.ts +2 -1
  26. package/lib/character/conversation-behavior.d.ts.map +1 -1
  27. package/lib/character/conversation-behavior.js +16 -6
  28. package/lib/character/conversation-behavior.js.map +1 -1
  29. package/lib/character/domain.d.ts +1 -0
  30. package/lib/character/domain.d.ts.map +1 -1
  31. package/lib/character/domain.js +3 -0
  32. package/lib/character/domain.js.map +1 -1
  33. package/lib/character/idle-contact.d.ts +1 -1
  34. package/lib/character/idle-contact.d.ts.map +1 -1
  35. package/lib/character/idle-contact.js +12 -7
  36. package/lib/character/idle-contact.js.map +1 -1
  37. package/lib/character/thought-budget.d.ts +8 -0
  38. package/lib/character/thought-budget.d.ts.map +1 -0
  39. package/lib/character/thought-budget.js +39 -0
  40. package/lib/character/thought-budget.js.map +1 -0
  41. package/lib/character/thought-tool.d.ts.map +1 -1
  42. package/lib/character/thought-tool.js +38 -16
  43. package/lib/character/thought-tool.js.map +1 -1
  44. package/lib/character/thoughts.d.ts +3 -1
  45. package/lib/character/thoughts.d.ts.map +1 -1
  46. package/lib/character/thoughts.js +20 -16
  47. package/lib/character/thoughts.js.map +1 -1
  48. package/lib/chat/conversation.js +1 -1
  49. package/lib/chat/conversation.js.map +1 -1
  50. package/lib/chat/live-speech.d.ts +4 -2
  51. package/lib/chat/live-speech.d.ts.map +1 -1
  52. package/lib/chat/live-speech.js +43 -33
  53. package/lib/chat/live-speech.js.map +1 -1
  54. package/lib/chat/persona-delivery.d.ts.map +1 -1
  55. package/lib/chat/persona-delivery.js +18 -19
  56. package/lib/chat/persona-delivery.js.map +1 -1
  57. package/lib/chat/preferred-voice.d.ts +21 -0
  58. package/lib/chat/preferred-voice.d.ts.map +1 -0
  59. package/lib/chat/preferred-voice.js +75 -0
  60. package/lib/chat/preferred-voice.js.map +1 -0
  61. package/lib/chat/protocol.d.ts +4 -1
  62. package/lib/chat/protocol.d.ts.map +1 -1
  63. package/lib/chat/protocol.js.map +1 -1
  64. package/lib/chat/reply-completion.d.ts +3 -1
  65. package/lib/chat/reply-completion.d.ts.map +1 -1
  66. package/lib/chat/reply-completion.js +13 -5
  67. package/lib/chat/reply-completion.js.map +1 -1
  68. package/lib/chat/task-followup.d.ts +59 -0
  69. package/lib/chat/task-followup.d.ts.map +1 -0
  70. package/lib/chat/task-followup.js +111 -0
  71. package/lib/chat/task-followup.js.map +1 -0
  72. package/lib/chat/tools.d.ts +2 -1
  73. package/lib/chat/tools.d.ts.map +1 -1
  74. package/lib/chat/tools.js +35 -16
  75. package/lib/chat/tools.js.map +1 -1
  76. package/lib/client.activities.js +55 -1
  77. package/lib/client.js +49 -26
  78. package/lib/client.js.map +2 -2
  79. package/lib/collaboration/composition.d.ts.map +1 -1
  80. package/lib/collaboration/composition.js +1 -3
  81. package/lib/collaboration/composition.js.map +1 -1
  82. package/lib/collaboration/tool-discovery.d.ts +1 -1
  83. package/lib/collaboration/tool-discovery.d.ts.map +1 -1
  84. package/lib/collaboration/tool-discovery.js +4 -4
  85. package/lib/collaboration/tool-discovery.js.map +1 -1
  86. package/lib/companions/identity-tool.d.ts +3 -0
  87. package/lib/companions/identity-tool.d.ts.map +1 -1
  88. package/lib/companions/identity-tool.js +1 -1
  89. package/lib/companions/identity-tool.js.map +1 -1
  90. package/lib/conversation-history-recall.d.ts +7 -0
  91. package/lib/conversation-history-recall.d.ts.map +1 -1
  92. package/lib/conversation-history-recall.js +15 -7
  93. package/lib/conversation-history-recall.js.map +1 -1
  94. package/lib/execution/task-preamble.d.ts +3 -0
  95. package/lib/execution/task-preamble.d.ts.map +1 -1
  96. package/lib/execution/task-preamble.js +31 -1
  97. package/lib/execution/task-preamble.js.map +1 -1
  98. package/lib/index.js +1 -1
  99. package/lib/index.js.map +1 -1
  100. package/lib/memory-store.d.ts +1 -1
  101. package/lib/rolling-context.d.ts +1 -1
  102. package/lib/rolling-context.d.ts.map +1 -1
  103. package/lib/rolling-context.js +1 -1
  104. package/lib/rolling-context.js.map +1 -1
  105. package/lib/store.d.ts.map +1 -1
  106. package/lib/store.js +13 -2
  107. package/lib/store.js.map +1 -1
  108. package/lib/ui/character-editor.js +1 -1
  109. package/lib/ui/character-editor.js.map +1 -1
  110. package/lib/ui/idle-contact-editor.d.ts.map +1 -1
  111. package/lib/ui/idle-contact-editor.js +1 -2
  112. package/lib/ui/idle-contact-editor.js.map +1 -1
  113. package/lib/ui/push-draft.d.ts +2 -2
  114. package/lib/ui/thoughts-panel.d.ts.map +1 -1
  115. package/lib/ui/thoughts-panel.js +24 -9
  116. package/lib/ui/thoughts-panel.js.map +1 -1
  117. package/lib/voice/audio-tail.d.ts +6 -0
  118. package/lib/voice/audio-tail.d.ts.map +1 -0
  119. package/lib/voice/audio-tail.js +72 -0
  120. package/lib/voice/audio-tail.js.map +1 -0
  121. package/lib/voice/synthesize.d.ts.map +1 -1
  122. package/lib/voice/synthesize.js +3 -1
  123. package/lib/voice/synthesize.js.map +1 -1
  124. package/lib/voice/tool.d.ts.map +1 -1
  125. package/lib/voice/tool.js +6 -4
  126. package/lib/voice/tool.js.map +1 -1
  127. package/package.json +9 -1
@@ -2,13 +2,13 @@ import type { PushChannelView } from '../notifications/push-domain.js';
2
2
  export declare function pushDraft(channel: PushChannelView): {
3
3
  targets: {
4
4
  key: string;
5
- name: string;
6
5
  id: string;
6
+ name: string;
7
7
  enabled: boolean;
8
8
  configured: boolean;
9
9
  }[];
10
- name: string;
11
10
  id: string;
11
+ name: string;
12
12
  createdAt: number;
13
13
  updatedAt: number;
14
14
  enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"thoughts-panel.d.ts","sourceRoot":"","sources":["../../src/ui/thoughts-panel.tsx"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,EAAC,WAAW,EAAC,EAAC;IAAC,WAAW,EAAC,MAAM,CAAA;CAAC,GAAE,GAAG,CAAC,OAAO,CAmD5E"}
1
+ {"version":3,"file":"thoughts-panel.d.ts","sourceRoot":"","sources":["../../src/ui/thoughts-panel.tsx"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAGnF"}
@@ -1,10 +1,20 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import activityCss from './activity-records.css';
2
3
  import { summarizeActivities, activitySharingLabel } from '../character/activity-summary.js';
4
+ import { MAX_ACTIVE_THOUGHTS } from '../character/thought-budget.js';
3
5
  import { useEffect, useState } from 'react';
4
6
  import { loadPartner } from '../client-api.js';
5
7
  import { errorMessage } from './workspace-components.js';
6
8
  export function ThoughtsPanel({ companionId }) {
7
- const [snapshot, setSnapshot] = useState(), [error, setError] = useState(''), [loading, setLoading] = useState(false), [revision, setRevision] = useState(0);
9
+ // Remount on identity changes: never display another companion's cached records.
10
+ return _jsxs(_Fragment, { children: [_jsx("style", { children: activityCss }), _jsx(ActivityRecords, { companionId: companionId }, companionId)] });
11
+ }
12
+ function ActivityRecords({ companionId }) {
13
+ const [snapshot, setSnapshot] = useState(), [error, setError] = useState('');
14
+ const [loading, setLoading] = useState(true), [revision, setRevision] = useState(0);
15
+ const [view, setView] = useState('activities');
16
+ const [visible, setVisible] = useState(6), [archivedVisible, setArchivedVisible] = useState(6);
17
+ const [copied, setCopied] = useState('');
8
18
  useEffect(() => {
9
19
  let alive = true, running = false;
10
20
  const refresh = async () => {
@@ -29,16 +39,20 @@ export function ThoughtsPanel({ companionId }) {
29
39
  setLoading(false);
30
40
  }
31
41
  };
42
+ const onVisible = () => { if (!document.hidden)
43
+ void refresh(); };
32
44
  void refresh();
33
45
  const timer = setInterval(() => void refresh(), 30000);
34
- return () => { alive = false; clearInterval(timer); };
46
+ document.addEventListener('visibilitychange', onVisible);
47
+ return () => { alive = false; clearInterval(timer); document.removeEventListener('visibilitychange', onVisible); };
35
48
  }, [companionId, revision]);
36
- const [visible, setVisible] = useState(8);
37
- useEffect(() => setVisible(8), [companionId]);
38
- const plan = snapshot?.companions.find(c => c.id === companionId)?.activityPlan;
39
- const journal = [...(snapshot?.companions.find(c => c.id === companionId)?.activityJournal ?? [])].reverse();
49
+ const companion = snapshot?.companions.find(c => c.id === companionId);
50
+ const plan = companion?.activityPlan;
51
+ const journal = [...(companion?.activityJournal ?? [])].reverse();
40
52
  const stats = summarizeActivities(journal);
41
- const thoughts = [...(snapshot?.companions.find(c => c.id === companionId)?.thoughts ?? [])].sort((a, b) => b.updatedAt - a.updatedAt);
53
+ const thoughts = [...(companion?.thoughts ?? [])].sort((a, b) => b.updatedAt - a.updatedAt);
54
+ const open = thoughts.filter(t => t.status === 'open'), archived = thoughts.filter(t => t.status !== 'open');
55
+ const date = (at) => new Date(at).toLocaleString('zh-CN', { month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit' });
42
56
  const label = (id) => {
43
57
  const route = snapshot?.sessions.find(r => r.id === id);
44
58
  if (!route)
@@ -48,6 +62,7 @@ export function ThoughtsPanel({ companionId }) {
48
62
  const group = route.userId.match(/^group:(\d+):/);
49
63
  return group ? `群 ${group[1]}` : `${snapshot?.channels.find(c => c.id === route.channelId)?.name ?? '渠道'} · ${snapshot?.pairings.find(p => p.channelId === route.channelId && p.userId === route.userId)?.displayName ?? route.userId}`;
50
64
  };
51
- return _jsxs("section", { className: "dsh-partner-memory-record", "aria-label": "\u81EA\u4E3B\u6D3B\u52A8\u8BB0\u5F55", children: [_jsx("h3", { children: "\u81EA\u4E3B\u6D3B\u52A8\u8BB0\u5F55" }), _jsxs("div", { className: "dsh-partner-character-fields", children: [_jsx("p", { className: "dsh-partner-character-hint", children: "\u4ECE\u771F\u5B9E\u4E92\u52A8\u6216\u81EA\u4E3B\u6D3B\u52A8\u4E2D\u5F62\u6210\uFF0C\u7531\u4F19\u4F34\u51B3\u5B9A\u7EE7\u7EED\u3001\u6362\u4E2A\u4F1A\u8BDD\u804A\uFF0C\u6216\u653E\u4E0B\u3002\u5FF5\u5934\u4E0D\u662F\u5DF2\u53D1\u751F\u7684\u4E8B\u5B9E\u3002" }), plan && _jsxs("p", { className: "dsh-partner-character-hint", style: { overflowWrap: 'anywhere' }, children: ["\u4E0B\u4E00\u6B65\uFF1A", plan.intention, _jsx("br", {}), label(plan.targetRouteId), " \u00B7 ", { waiting: '等待本轮完成', pending: '等待唤起', claimed: '已唤起', cancelled: '已取消' }[plan.status], plan.status === 'pending' ? ` · ${new Date(plan.dueAt).toLocaleString()}` : ''] }), error && _jsx("p", { role: "alert", className: "dsh-partner-inline-error", children: error }), !snapshot && loading && _jsx("p", { role: "status", children: "\u6B63\u5728\u8BFB\u53D6\u2026" }), snapshot && !thoughts.length && _jsx("p", { className: "dsh-partner-character-hint", children: "\u6682\u65F6\u6CA1\u6709\u7559\u4E0B\u5FF5\u5934\uFF0C\u4E0D\u8981\u6C42\u6BCF\u6B21\u4E92\u52A8\u90FD\u4EA7\u751F\u3002" }), snapshot && _jsxs("p", { className: "dsh-partner-character-hint", children: ["\u6700\u8FD1\u4FDD\u7559 ", stats.total, " \u8F6E \u00B7 \u5DF2\u786E\u8BA4\u53D1\u9001 ", stats.confirmed, " \u8F6E \u00B7 \u5F85\u786E\u8BA4 ", stats.pending, " \u8F6E \u00B7 \u542B\u5931\u8D25\u64CD\u4F5C ", stats.failed, " \u8F6E", stats.unknown ? ` · 历史发送状态未知 ${stats.unknown} 轮` : '', _jsx("br", {}), "\u5404\u7C7B\u578B\u53EF\u91CD\u53E0\uFF1A", stats.categories.map(c => `${c.name} ${c.count}`).join(' · ') || '暂无操作记录', "\u3002\u4EC5\u7EDF\u8BA1\u6700\u8FD1\u4FDD\u7559\u8BB0\u5F55\uFF0C\u4E0D\u4EE3\u8868\u5168\u90E8\u5386\u53F2\u3002"] }), snapshot && !journal.length && _jsx("p", { children: "\u6682\u65F6\u6CA1\u6709\u81EA\u4E3B\u6D3B\u52A8\u8BB0\u5F55\u3002" }), _jsx("div", { "aria-label": "\u6D3B\u52A8\u65F6\u95F4\u7EBF", children: journal.slice(0, visible).map(a => _jsxs("article", { className: "dsh-partner-memory-record", style: { overflowWrap: 'anywhere' }, children: [_jsxs("small", { children: [new Date(a.at).toLocaleString(), " \u00B7 ", activitySharingLabel(a), a.tools.some(t => !t.ok) ? ' · 有操作失败' : ''] }), _jsx("p", { children: a.summary }), a.artifacts.map(path => _jsxs("p", { children: [_jsxs("small", { children: ["\u4F5C\u54C1\uFF1A", path, journal.filter(r => r.artifacts.includes(path)).length > 1 ? ` · 关联 ${journal.filter(r => r.artifacts.includes(path)).length} 轮进展` : ''] }), _jsx("button", { type: "button", onClick: () => { void navigator.clipboard.writeText(path).catch(() => setError('复制失败,请手动选择路径复制')); }, children: "\u590D\u5236\u8DEF\u5F84" })] }, path)), _jsxs("details", { children: [_jsx("summary", { children: "\u6267\u884C\u4F9D\u636E" }), _jsxs("p", { children: [a.silent ? '本轮以安静结束工具收尾;之前可能已发送。' : '本轮已结束。', "\u53D1\u9001\u72B6\u6001\u4EC5\u4F9D\u636E\u5DF2\u8BB0\u5F55\u56DE\u6267\uFF0C\u4E0D\u5C06\u5DE5\u5177\u8C03\u7528\u5F53\u4F5C\u6536\u4EF6\u6210\u529F\u3002"] }), _jsx("p", { children: a.tools.map(t => t.name + (t.ok ? ' ✓' : ' ×')).join('、') || '未记录工具操作' })] })] }, a.sessionId + ':' + a.id)) }), visible < journal.length && _jsx("button", { type: "button", onClick: () => setVisible(v => v + 8), children: "\u67E5\u770B\u66F4\u591A\u6D3B\u52A8" }), _jsxs("details", { children: [_jsxs("summary", { children: ["\u8FD8\u60E6\u8BB0\u7740\u4EC0\u4E48\uFF08", thoughts.filter(t => t.status === 'open').length, "\uFF09"] }), thoughts.map(t => _jsxs("details", { className: "dsh-partner-memory-record", children: [_jsxs("summary", { children: [_jsx("span", { style: { whiteSpace: 'normal', overflowWrap: 'anywhere' }, children: t.text }), _jsx("small", { children: t.status === 'done' ? '已完成(自主标记)' : t.status === 'dismissed' ? '已放下' : t.lastOutcome ? { considered: '已考虑', silent: '暂时安静', delivered: '已发送', failed: '未确认送达' }[t.lastOutcome] : '还惦记着' })] }), _jsxs("div", { className: "dsh-partner-character-fields", children: [_jsx("p", { children: t.why }), _jsxs("small", { children: ["\u6765\u81EA\uFF1A", t.sourceRouteIds.map(label).join('、'), " \u00B7 ", new Date(t.sourceAt).toLocaleString()] }), _jsxs("small", { children: ["\u60F3\u53BB\uFF1A", label(t.targetRouteId)] }), t.result && _jsx("p", { children: t.result }), _jsxs("details", { children: [_jsx("summary", { children: "\u6765\u6E90\u4F9D\u636E" }), _jsx("p", { style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' }, children: t.evidence })] })] })] }, t.id))] }), _jsx("button", { type: "button", disabled: loading, onClick: () => setRevision(n => n + 1), children: loading ? '读取中…' : '刷新活动' })] })] });
65
+ const thoughtRow = (t) => _jsxs("details", { className: "dsh-partner-activity-row", children: [_jsxs("summary", { children: [_jsx("span", { className: "dsh-partner-activity-copy", children: t.text }), _jsx("small", { children: t.status === 'done' ? '已完成(自主标记)' : t.status === 'dismissed' ? t.capacityArchivedAt ? '容量整理 · 已放下' : '已放下' : '惦记中' })] }), _jsxs("div", { className: "dsh-partner-activity-detail", children: [_jsx("p", { children: t.why }), _jsxs("small", { children: ["\u6765\u81EA ", t.sourceRouteIds.map(label).join('、'), " \u00B7 ", date(t.sourceAt)] }), _jsxs("small", { children: ["\u60F3\u53BB ", label(t.targetRouteId), t.lastOutcome ? ` · ${{ considered: '已考虑', silent: '暂时安静', delivered: '已发送', failed: '未确认送达' }[t.lastOutcome]}` : ''] }), t.capacityArchivedAt && _jsxs("p", { children: ["\u8FBE\u5230 ", MAX_ACTIVE_THOUGHTS, " \u6761\u4E0A\u9650\u540E\u81EA\u52A8\u653E\u4E0B\uFF0C\u4E0D\u8868\u793A\u5DF2\u7ECF\u5B8C\u6210\u3002"] }), t.result && _jsx("p", { children: t.result }), _jsxs("details", { children: [_jsx("summary", { children: "\u6765\u6E90\u539F\u6587" }), _jsx("p", { className: "dsh-partner-activity-evidence", children: t.evidence })] })] })] }, t.id);
66
+ return _jsxs("section", { className: "dsh-partner-activity-board", "aria-label": "\u81EA\u4E3B\u6D3B\u52A8\u8BB0\u5F55", children: [_jsxs("div", { className: "dsh-partner-activity-toolbar", children: [_jsxs("div", { className: "dsh-partner-activity-switcher", role: "group", "aria-label": "\u8BB0\u5F55\u7C7B\u578B", children: [_jsxs("button", { type: "button", "aria-pressed": view === 'activities', onClick: () => setView('activities'), children: ["\u6700\u8FD1\u6D3B\u52A8", snapshot && _jsx("span", { children: journal.length })] }), _jsxs("button", { type: "button", "aria-pressed": view === 'thoughts', onClick: () => setView('thoughts'), children: ["\u60E6\u8BB0\u7684\u4E8B", snapshot && _jsxs("span", { children: [open.length, "/", MAX_ACTIVE_THOUGHTS] })] })] }), _jsx("button", { type: "button", className: "dsh-partner-activity-refresh", disabled: loading, onClick: () => setRevision(n => n + 1), children: loading ? '读取中…' : '刷新' })] }), error && _jsxs("p", { role: "alert", className: "dsh-partner-inline-error", children: [error, snapshot ? '(暂时显示上次读取的记录)' : ''] }), !snapshot && loading && _jsx("p", { role: "status", className: "dsh-partner-activity-empty", children: "\u6B63\u5728\u8BFB\u53D6\u6D3B\u52A8\u8BB0\u5F55\u2026" }), snapshot && view === 'activities' && _jsxs(_Fragment, { children: [plan && plan.status !== 'cancelled' && _jsxs("div", { className: "dsh-partner-activity-plan", children: [_jsxs("small", { children: ["\u4E0B\u4E00\u6B65 \u00B7 ", { waiting: '等本轮结束', pending: '等待唤起', claimed: '已唤起' }[plan.status]] }), _jsx("p", { children: plan.intention }), _jsxs("small", { children: [label(plan.targetRouteId), plan.status === 'pending' ? ` · ${date(plan.dueAt)}` : ''] })] }), _jsxs("div", { className: "dsh-partner-activity-overview", children: [_jsxs("span", { children: ["\u786E\u8BA4\u53D1\u9001 ", _jsx("b", { children: stats.confirmed })] }), _jsxs("span", { children: ["\u5F85\u786E\u8BA4 ", _jsx("b", { children: stats.pending })] }), _jsxs("span", { "data-warning": stats.failed > 0, children: ["\u542B\u5931\u8D25\u64CD\u4F5C ", _jsx("b", { children: stats.failed })] })] }), !journal.length && _jsx("p", { className: "dsh-partner-activity-empty", children: "\u8FD8\u6CA1\u6709\u81EA\u4E3B\u6D3B\u52A8\u3002\u5524\u8D77\u540E\u4E5F\u53EF\u4EE5\u9009\u62E9\u5B89\u9759\u5F85\u7740\u3002" }), _jsx("div", { "aria-label": "\u6D3B\u52A8\u65F6\u95F4\u7EBF", children: journal.slice(0, visible).map(a => _jsxs("details", { className: "dsh-partner-activity-row", children: [_jsxs("summary", { children: [_jsxs("span", { className: "dsh-partner-activity-meta", children: [_jsx("time", { dateTime: new Date(a.at).toISOString(), children: date(a.at) }), _jsx("span", { children: activitySharingLabel(a) }), a.tools.some(t => !t.ok) && _jsx("span", { className: "dsh-partner-activity-warning", children: "\u6709\u64CD\u4F5C\u5931\u8D25" })] }), _jsx("span", { className: "dsh-partner-activity-copy", children: a.summary }), _jsxs("small", { children: [a.artifacts.length ? `${a.artifacts.length} 项作品 · ` : '', "\u5C55\u5F00\u8BE6\u60C5"] })] }), _jsxs("div", { className: "dsh-partner-activity-detail", children: [a.artifacts.map(path => _jsxs("div", { className: "dsh-partner-activity-artifact", children: [_jsx("span", { title: path, children: path }), _jsx("button", { type: "button", onClick: () => { void navigator.clipboard.writeText(path).then(() => setCopied(path)).catch(() => setError('复制失败,请手动选择路径复制')); }, children: "\u590D\u5236\u8DEF\u5F84" })] }, path)), _jsxs("details", { children: [_jsxs("summary", { children: ["\u6267\u884C\u4F9D\u636E \u00B7 ", a.tools.length, " \u9879\u64CD\u4F5C"] }), _jsxs("p", { children: [a.silent ? '以安静结束收尾;此前可能已发送。' : '本轮已结束。', "\u53D1\u9001\u72B6\u6001\u4EC5\u4F9D\u636E\u5B9E\u9645\u56DE\u6267\u3002"] }), _jsx("ul", { children: a.tools.map((t, i) => _jsxs("li", { children: [t.name, " \u00B7 ", t.ok ? '成功' : '失败'] }, i)) }), !a.tools.length && _jsx("p", { children: "\u672A\u8BB0\u5F55\u5DE5\u5177\u64CD\u4F5C\u3002" })] })] })] }, a.sessionId + ':' + a.id)) }), visible < journal.length && _jsxs("button", { type: "button", className: "dsh-partner-activity-more", onClick: () => setVisible(v => v + 6), children: ["\u67E5\u770B\u66F4\u591A\u6D3B\u52A8\uFF08\u8FD8\u6709 ", journal.length - visible, " \u8F6E\uFF09"] }), _jsxs("details", { className: "dsh-partner-activity-footnote", children: [_jsx("summary", { children: "\u7EDF\u8BA1\u8303\u56F4\u4E0E\u6D3B\u52A8\u7C7B\u578B" }), _jsxs("p", { children: ["\u4EC5\u7EDF\u8BA1\u6700\u8FD1\u4FDD\u7559\u7684 ", stats.total, " \u8F6E\uFF1B\u7C7B\u578B\u53EF\u91CD\u53E0\uFF0C\u4E0D\u4EE3\u8868\u5168\u90E8\u5386\u53F2\u3002", stats.unknown ? `其中 ${stats.unknown} 轮的历史发送状态未知。` : ''] }), _jsx("p", { children: stats.categories.map(c => `${c.name} ${c.count}`).join(' · ') || '暂无操作记录' })] })] }), snapshot && view === 'thoughts' && _jsxs(_Fragment, { children: [_jsxs("p", { className: "dsh-partner-activity-note", children: ["\u6700\u591A\u540C\u65F6\u60E6\u8BB0 ", MAX_ACTIVE_THOUGHTS, " \u4EF6\u4E8B\uFF0C\u6240\u6709\u4F1A\u8BDD\u5171\u7528\u3002\u6EE1\u989D\u65F6\u4F18\u5148\u4FDD\u7559\u6B63\u5728\u505A\u3001\u5DF2\u5B89\u6392\u548C\u8F83\u65B0\u7684\u5FF5\u5934\uFF0C\u65E7\u5FF5\u5934\u653E\u4E0B\u540E\u4ECD\u53EF\u67E5\u770B\u8FD1\u671F\u8BB0\u5F55\u3002"] }), !open.length && _jsx("p", { className: "dsh-partner-activity-empty", children: "\u6682\u65F6\u6CA1\u6709\u60E6\u8BB0\u7684\u4E8B\uFF0C\u4E0D\u8981\u6C42\u6BCF\u6B21\u4E92\u52A8\u90FD\u7559\u4E0B\u5FF5\u5934\u3002" }), _jsx("div", { "aria-label": "\u5F53\u524D\u5FF5\u5934", children: open.map(thoughtRow) }), archived.length > 0 && _jsxs("details", { className: "dsh-partner-activity-archive", children: [_jsxs("summary", { children: ["\u5DF2\u5B8C\u6210\u4E0E\u5DF2\u653E\u4E0B \u00B7 ", archived.length] }), archived.slice(0, archivedVisible).map(thoughtRow), archivedVisible < archived.length && _jsx("button", { type: "button", className: "dsh-partner-activity-more", onClick: () => setArchivedVisible(n => n + 6), children: "\u67E5\u770B\u66F4\u591A\u65E7\u5FF5\u5934" }), _jsx("p", { className: "dsh-partner-activity-note", children: "\u4EC5\u4FDD\u7559\u8FD1\u671F\u8BB0\u5F55\uFF1B\u653E\u4E0B\u7684\u5FF5\u5934\u4E0D\u518D\u8FDB\u5165\u5F53\u524D\u6D3B\u52A8\u4E0A\u4E0B\u6587\u3002" })] })] }), _jsx("span", { className: "dsh-partner-activity-copy-status", role: "status", children: copied ? '路径已复制' : '' })] });
52
67
  }
53
68
  //# sourceMappingURL=thoughts-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thoughts-panel.js","sourceRoot":"","sources":["../../src/ui/thoughts-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,mBAAmB,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAA;AACzF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAwB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,UAAU,aAAa,CAAC,EAAC,WAAW,EAAsB;IAC9D,MAAM,CAAC,QAAQ,EAAC,WAAW,CAAC,GAAC,QAAQ,EAAmB,EAAC,CAAC,KAAK,EAAC,QAAQ,CAAC,GAAC,QAAQ,CAAC,EAAE,CAAC,EAAC,CAAC,OAAO,EAAC,UAAU,CAAC,GAAC,QAAQ,CAAC,KAAK,CAAC,EAAC,CAAC,QAAQ,EAAC,WAAW,CAAC,GAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC9J,SAAS,CAAC,GAAE,EAAE;QACZ,IAAI,KAAK,GAAC,IAAI,EAAC,OAAO,GAAC,KAAK,CAAA;QAC5B,MAAM,OAAO,GAAC,KAAK,IAAE,EAAE;YACrB,IAAG,OAAO,IAAE,QAAQ,CAAC,MAAM;gBAAC,OAAM;YAClC,OAAO,GAAC,IAAI,CAAC;YAAA,UAAU,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAG,CAAC;gBAAA,MAAM,IAAI,GAAC,MAAM,WAAW,EAAE,CAAC;gBAAA,IAAG,KAAK,EAAC,CAAC;oBAAA,WAAW,CAAC,IAAI,CAAC,CAAC;oBAAA,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAAA,CAAC;YAAA,CAAC;YAAA,OAAM,CAAC,EAAC,CAAC;gBAAA,IAAG,KAAK;oBAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YAAA,CAAC;oBAAO,CAAC;gBAAA,OAAO,GAAC,KAAK,CAAC;gBAAA,IAAG,KAAK;oBAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAAA,CAAC;QAC5K,CAAC,CAAA;QACD,KAAK,OAAO,EAAE,CAAC;QAAA,MAAM,KAAK,GAAC,WAAW,CAAC,GAAE,EAAE,CAAA,KAAK,OAAO,EAAE,EAAC,KAAK,CAAC,CAAA;QAChE,OAAM,GAAE,EAAE,GAAC,KAAK,GAAC,KAAK,CAAC,CAAA,aAAa,CAAC,KAAK,CAAC,CAAA,CAAA,CAAC,CAAA;IAC9C,CAAC,EAAC,CAAC,WAAW,EAAC,QAAQ,CAAC,CAAC,CAAA;IACzB,MAAM,CAAC,OAAO,EAAC,UAAU,CAAC,GAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACtC,SAAS,CAAC,GAAE,EAAE,CAAA,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,WAAW,CAAC,EAAE,YAAY,CAAA;IACzE,MAAM,OAAO,GAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,WAAW,CAAC,EAAE,eAAe,IAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACpG,MAAM,KAAK,GAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,WAAW,CAAC,EAAE,QAAQ,IAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAA,CAAC,CAAC,SAAS,GAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACzH,MAAM,KAAK,GAAC,CAAC,EAAS,EAAC,EAAE;QACvB,MAAM,KAAK,GAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,EAAE,CAAC,CAAA;QACjD,IAAG,CAAC,KAAK;YAAC,OAAO,QAAQ,CAAA;QACzB,IAAG,KAAK,CAAC,IAAI,KAAG,OAAO;YAAC,OAAO,OAAO,CAAA;QACtC,MAAM,KAAK,GAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC/C,OAAO,KAAK,CAAA,CAAC,CAAA,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAA,GAAG,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,IAAE,IAAI,MAAM,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,SAAS,KAAG,KAAK,CAAC,SAAS,IAAE,CAAC,CAAC,MAAM,KAAG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,IAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IACrN,CAAC,CAAA;IACD,OAAO,mBAAS,SAAS,EAAC,2BAA2B,gBAAY,sCAAQ,aACvE,gEAAe,EACf,eAAK,SAAS,EAAC,8BAA8B,aAC3C,YAAG,SAAS,EAAC,4BAA4B,mRAAgD,EACxF,IAAI,IAAE,aAAG,SAAS,EAAC,4BAA4B,EAAC,KAAK,EAAE,EAAC,YAAY,EAAC,UAAU,EAAC,yCAAO,IAAI,CAAC,SAAS,EAAC,cAAK,EAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAK,EAAC,OAAO,EAAC,QAAQ,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,KAAG,SAAS,CAAA,CAAC,CAAA,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,EAAE,CAAA,CAAC,CAAA,EAAE,IAAK,EACrS,KAAK,IAAE,YAAG,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,0BAA0B,YAAE,KAAK,GAAK,EACvE,CAAC,QAAQ,IAAE,OAAO,IAAE,YAAG,IAAI,EAAC,QAAQ,+CAAU,EAC9C,QAAQ,IAAE,CAAC,QAAQ,CAAC,MAAM,IAAE,YAAG,SAAS,EAAC,4BAA4B,yIAAyB,EAC9F,QAAQ,IAAE,aAAG,SAAS,EAAC,4BAA4B,0CAAO,KAAK,CAAC,KAAK,oDAAa,KAAK,CAAC,SAAS,wCAAW,KAAK,CAAC,OAAO,oDAAa,KAAK,CAAC,MAAM,aAAI,KAAK,CAAC,OAAO,CAAA,CAAC,CAAA,eAAe,KAAK,CAAC,OAAO,IAAI,CAAA,CAAC,CAAA,EAAE,EAAC,cAAK,gDAAQ,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAE,QAAQ,0HAAwB,EAClT,QAAQ,IAAE,CAAC,OAAO,CAAC,MAAM,IAAE,6FAAkB,EAC9C,4BAAgB,gCAAO,YAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,mBAAoC,SAAS,EAAC,2BAA2B,EAAC,KAAK,EAAE,EAAC,YAAY,EAAC,UAAU,EAAC,aACjK,4BAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,cAAK,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAA,UAAU,CAAA,CAAC,CAAA,EAAE,IAAS,EAClH,sBAAI,CAAC,CAAC,OAAO,GAAK,EACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA,EAAE,CAAA,wBAAc,kDAAW,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAC,CAAC,CAAA,CAAC,CAAA,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,MAAM,CAAA,CAAC,CAAA,EAAE,IAAS,EAAA,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAE,EAAE,GAAC,KAAK,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAE,EAAE,CAAA,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAA,CAAA,CAAC,yCAAe,KAA/R,IAAI,CAA+R,CAAC,EACnU,8BAAS,yDAAuB,EAAA,wBAAI,CAAC,CAAC,MAAM,CAAA,CAAC,CAAA,sBAAsB,CAAA,CAAC,CAAA,QAAQ,oKAA+B,EAAA,sBAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,IAAI,GAAC,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAA,IAAI,CAAA,CAAC,CAAA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAE,SAAS,GAAK,IAAU,KAJrH,CAAC,CAAC,SAAS,GAAC,GAAG,GAAC,CAAC,CAAC,EAAE,CAKjF,CAAC,GAAO,EACjB,OAAO,GAAC,OAAO,CAAC,MAAM,IAAE,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAE,EAAE,CAAA,UAAU,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,GAAC,CAAC,CAAC,qDAAiB,EAC/F,8BAAS,4EAAiB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,MAAM,KAAG,MAAM,CAAC,CAAC,MAAM,cAAY,EACjF,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,mBAAoB,SAAS,EAAC,2BAA2B,aACxE,8BAAS,eAAM,KAAK,EAAE,EAAC,UAAU,EAAC,QAAQ,EAAC,YAAY,EAAC,UAAU,EAAC,YAAG,CAAC,CAAC,IAAI,GAAQ,EAAA,0BAAQ,CAAC,CAAC,MAAM,KAAG,MAAM,CAAA,CAAC,CAAA,WAAW,CAAA,CAAC,CAAA,CAAC,CAAC,MAAM,KAAG,WAAW,CAAA,CAAC,CAAA,KAAK,CAAA,CAAC,CAAA,CAAC,CAAC,WAAW,CAAA,CAAC,CAAA,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA,CAAC,CAAA,MAAM,GAAS,IAAU,EAC7Q,eAAK,SAAS,EAAC,8BAA8B,aAAC,sBAAI,CAAC,CAAC,GAAG,GAAK,EAAA,kDAAW,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAK,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,IAAS,EAAA,kDAAW,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAS,EAAC,CAAC,CAAC,MAAM,IAAE,sBAAI,CAAC,CAAC,MAAM,GAAK,EAAC,8BAAS,yDAAuB,EAAA,YAAG,KAAK,EAAE,EAAC,UAAU,EAAC,UAAU,EAAC,YAAY,EAAC,UAAU,EAAC,YAAG,CAAC,CAAC,QAAQ,GAAK,IAAU,IAAM,KAFpU,CAAC,CAAC,EAAE,CAGzB,CAAC,IACD,EACV,iBAAQ,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAE,EAAE,CAAA,WAAW,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,GAAC,CAAC,CAAC,YAAG,OAAO,CAAA,CAAC,CAAA,MAAM,CAAA,CAAC,CAAA,MAAM,GAAU,IACvG,IACE,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"thoughts-panel.js","sourceRoot":"","sources":["../../src/ui/thoughts-panel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Preserve generated PCM samples and leave a half-second release at the end.
2
+ * Leave at least 250ms after audible samples even when QQ rounds duration to seconds.
3
+ * Compressed/unknown WAV layouts and user-supplied files are not rewritten.
4
+ */
5
+ export declare function withSpeechTail(bytes: Buffer, maxBytes: number): Buffer;
6
+ //# sourceMappingURL=audio-tail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-tail.d.ts","sourceRoot":"","sources":["../../src/voice/audio-tail.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+CtE"}
@@ -0,0 +1,72 @@
1
+ /** Preserve generated PCM samples and leave a half-second release at the end.
2
+ * Leave at least 250ms after audible samples even when QQ rounds duration to seconds.
3
+ * Compressed/unknown WAV layouts and user-supplied files are not rewritten.
4
+ */
5
+ export function withSpeechTail(bytes, maxBytes) {
6
+ if (bytes.length < 44 || bytes.toString('ascii', 0, 4) !== 'RIFF' || bytes.toString('ascii', 8, 12) !== 'WAVE' || bytes.readUInt32LE(4) + 8 !== bytes.length)
7
+ return bytes;
8
+ let fmt = -1, data = -1, size = 0;
9
+ for (let offset = 12; offset + 8 <= bytes.length;) {
10
+ const length = bytes.readUInt32LE(offset + 4), end = offset + 8 + length + length % 2;
11
+ if (end > bytes.length)
12
+ return bytes;
13
+ const tag = bytes.toString('ascii', offset, offset + 4);
14
+ if (tag === 'fmt ') {
15
+ if (fmt !== -1 || length < 16)
16
+ return bytes;
17
+ fmt = offset + 8;
18
+ }
19
+ if (tag === 'data') {
20
+ if (data !== -1)
21
+ return bytes;
22
+ data = offset + 8;
23
+ size = length;
24
+ }
25
+ offset = end;
26
+ }
27
+ if (fmt < 0 || data < 0 || !size)
28
+ return bytes;
29
+ const format = bytes.readUInt16LE(fmt), channels = bytes.readUInt16LE(fmt + 2), rate = bytes.readUInt32LE(fmt + 4);
30
+ const align = bytes.readUInt16LE(fmt + 12), bits = bytes.readUInt16LE(fmt + 14), width = bits / 8;
31
+ if (format !== 1 || ![8, 16, 24, 32].includes(bits) || channels < 1 || channels > 32 || rate < 8000 || rate > 192000 || align !== channels * width || size % align || bytes.readUInt32LE(fmt + 8) !== rate * align)
32
+ return bytes;
33
+ const releaseFrames = Math.ceil(rate * 0.5), frames = size / align;
34
+ const threshold = 2 ** (bits - 1) * 0.001; // -60 dBFS; retain every original sample, including quieter ones.
35
+ let quietFrames = 0;
36
+ for (let frame = frames - 1; frame >= Math.max(0, frames - releaseFrames); frame--) {
37
+ let quiet = true;
38
+ for (let ch = 0; ch < channels; ch++) {
39
+ const offset = data + frame * align + ch * width;
40
+ const sample = bits === 8 ? bytes[offset] - 128 : bytes.readIntLE(offset, width);
41
+ if (Math.abs(sample) > threshold) {
42
+ quiet = false;
43
+ break;
44
+ }
45
+ }
46
+ if (!quiet)
47
+ break;
48
+ quietFrames++;
49
+ }
50
+ const voicedFrames = frames - quietFrames;
51
+ // QQ's bridge rounds source duration. Crossing the half-second boundary keeps
52
+ // that advertised duration at least 250ms beyond the final audible sample.
53
+ const roundedSeconds = Math.ceil(voicedFrames / rate + 0.25);
54
+ const targetFrames = Math.max(voicedFrames + releaseFrames, Math.ceil((roundedSeconds - 0.5) * rate) + 1);
55
+ if (targetFrames <= frames)
56
+ return bytes;
57
+ const extra = (targetFrames - frames) * align, nextSize = size + extra;
58
+ const oldEnd = data + size + size % 2;
59
+ const total = bytes.length + extra + nextSize % 2 - size % 2;
60
+ if (total > maxBytes || total - 8 > 0xffffffff)
61
+ return bytes;
62
+ const result = Buffer.concat([
63
+ bytes.subarray(0, data + size),
64
+ Buffer.alloc(extra, bits === 8 ? 128 : 0),
65
+ Buffer.alloc(nextSize % 2),
66
+ bytes.subarray(oldEnd),
67
+ ]);
68
+ result.writeUInt32LE(result.length - 8, 4);
69
+ result.writeUInt32LE(nextSize, data - 4);
70
+ return result;
71
+ }
72
+ //# sourceMappingURL=audio-tail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-tail.js","sourceRoot":"","sources":["../../src/voice/audio-tail.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,QAAgB;IAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC1K,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAA;IACjC,KAAK,IAAI,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;QACrF,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACpC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;QACvD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAAC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,EAAE;gBAAE,OAAO,KAAK,CAAC;YAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;QAAC,CAAC;QACrF,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAAC,IAAI,IAAI,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAAC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;YAAC,IAAI,GAAG,MAAM,CAAA;QAAC,CAAC;QACvF,MAAM,GAAG,GAAG,CAAA;IACd,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAClH,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAA;IACjG,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,MAAM,IAAI,KAAK,KAAK,QAAQ,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK;QAAE,OAAO,KAAK,CAAA;IAChO,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA;IAClE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA,CAAC,kEAAkE;IAC5G,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACnF,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,CAAA;YAChD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACjF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;gBAAC,KAAK,GAAG,KAAK,CAAC;gBAAC,MAAK;YAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,MAAK;QACjB,WAAW,EAAE,CAAA;IACf,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,CAAA;IACzC,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACzG,IAAI,YAAY,IAAI,MAAM;QAAE,OAAO,KAAK,CAAA;IACxC,MAAM,KAAK,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAA;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA;IAC5D,IAAI,KAAK,GAAG,QAAQ,IAAI,KAAK,GAAG,CAAC,GAAG,UAAU;QAAE,OAAO,KAAK,CAAA;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;KACvB,CAAC,CAAA;IACF,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAA;IACxC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/voice/synthesize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AAC3C,eAAO,MAAM,eAAe,QAAa,CAAA;AACzC,wBAAgB,SAAS,CAAC,KAAK,EAAC,MAAM,GAAE,WAAW,GAAC,YAAY,CAQ/D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,SAAQ,GAAE;IAAC,GAAG,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,OAAO,CAAA;CAAC,CAM3F;AAQD,wBAAsB,UAAU,CAAC,CAAC,EAAC,UAAU,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,GAAC,OAAO,KAAW,GAAE,OAAO,CAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAA;CAAC,CAAC,CAcvK"}
1
+ {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/voice/synthesize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AAC3C,eAAO,MAAM,eAAe,QAAa,CAAA;AACzC,wBAAgB,SAAS,CAAC,KAAK,EAAC,MAAM,GAAE,WAAW,GAAC,YAAY,CAQ/D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,SAAQ,GAAE;IAAC,GAAG,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,OAAO,CAAA;CAAC,CAM3F;AAQD,wBAAsB,UAAU,CAAC,CAAC,EAAC,UAAU,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,GAAC,OAAO,KAAW,GAAE,OAAO,CAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAA;CAAC,CAAC,CAevK"}
@@ -1,3 +1,4 @@
1
+ import { withSpeechTail } from './audio-tail.js';
1
2
  export const MAX_AUDIO_BYTES = 10 * 1024 * 1024;
2
3
  export function audioType(bytes) {
3
4
  if (bytes.length >= 44 && bytes.toString('ascii', 0, 4) === 'RIFF' && bytes.toString('ascii', 8, 12) === 'WAVE') {
@@ -92,6 +93,7 @@ export async function synthesize(p, key, text, voice, signal, fetcher = fetch) {
92
93
  throw Error('TTS 响应不是音频类型');
93
94
  if (bytes.length > MAX_AUDIO_BYTES)
94
95
  throw Error('TTS 音频超过大小限制');
95
- return { data: bytes, mediaType: audioType(bytes) };
96
+ const mediaType = audioType(bytes);
97
+ return { data: mediaType === 'audio/wav' ? withSpeechTail(bytes, MAX_AUDIO_BYTES) : bytes, mediaType };
96
98
  }
97
99
  //# sourceMappingURL=synthesize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/voice/synthesize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/voice/synthesize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/voice/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAA;AAGpE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAM3D,wBAAgB,cAAc,CAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,YAAY,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,YAAY,EAAC,SAAS,CAAC,EAAC,CAAC,SAAS,EAAC,MAAM,EAAC,IAAI,EAAC,yBAAyB,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,MAAI,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC,GAAE,cAAc,CAgC/O"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/voice/tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAA;AAGpE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAM3D,wBAAgB,cAAc,CAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,YAAY,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,YAAY,EAAC,SAAS,CAAC,EAAC,CAAC,SAAS,EAAC,MAAM,EAAC,IAAI,EAAC,yBAAyB,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,MAAI,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC,GAAE,cAAc,CAiC/O"}
package/lib/voice/tool.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { taskFollowup, checkTaskReview, TASK_REVIEW_SCHEMA } from '../chat/task-followup.js';
1
2
  import { supportsChannelTts } from './domain.js';
2
3
  import { directReplyTarget } from '../channels/reply-access.js';
3
4
  import { qqGroupPeer, qqSettings } from '../channels/qq/settings.js';
@@ -6,11 +7,11 @@ import { questionOrigin } from '../channels/question-origin.js';
6
7
  import { isIdleContactNotice } from '../character/idle-contact.js';
7
8
  import { OneBotApiError } from '../channels/qq/connection.js';
8
9
  export function voiceReplyTool(owner, store, service, call, sendAudio) {
9
- return { name: 'partner_voice_reply', description: '使用伙伴「渠道 → TTS」中配置并分配给当前渠道的通用服务向当前聊天对象说话,属于公开聊天回复能力。action=status 查看当前语音服务和可用音色;action=send_file 用 path 发送脚本已生成的当前会话目录内 WAV/MP3(最多10MB),不合成、不改音色、不要求开启或选择 TTS 服务;可 continueTurn:true 连续发送试听,比较和记录音色由你自行完成。action=speak 将按当前人物写好的 text 合成并发送音频(QQ 为语音条,微信、Matrix、Mattermost 为音频附件),不重写语气。不能填写收件人、接口或密钥。默认送达后结束本轮;continueTurn:true 可接着执行或接话。成功后不重复发同样的文字;结果未知不能重试发送。未启用外部 TTS 时 QQ 原生语音仍可用 partner_qq_reply。', parameters: { type: 'object', additionalProperties: false, required: ['action'], properties: { action: { type: 'string', enum: ['status', 'speak', 'send_file'] }, path: { type: 'string', minLength: 1, maxLength: 4096, description: 'send_file 专用,本会话工作目录内已生成的音频路径' }, text: { type: 'string', minLength: 1, maxLength: 2000 }, voice: { type: 'string', maxLength: 200 }, continueTurn: { type: 'boolean' } } }, presentCall: () => ({ card: 'generic', title: '语音 TTS' }),
10
- output: { schema: { type: 'object' }, render: (_a, v) => [{ type: 'text', text: JSON.stringify(v) }], presentationMeta: (_a, v) => { const r = v; return r.status === 'confirmed' ? { kind: 'partner-chat-v1', parts: [], delivered: true, deliveryKind: 'text', originRouteId: r.originRouteId, inputMessageId: r.inputMessageId, spokenText: r.spokenText, ...(r.continueTurn ? { intermediate: true } : {}) } : null; } },
10
+ return { name: 'partner_voice_reply', description: '使用伙伴「渠道 → TTS」中配置并分配给当前渠道的通用服务向当前聊天对象说话,属于公开聊天回复能力。action=status 查看当前语音服务和可用音色;action=send_file 用 path 发送脚本已生成的当前会话目录内 WAV/MP3(最多10MB),不合成、不改音色、不要求开启或选择 TTS 服务;可 continueTurn:true 连续发送试听,比较和记录音色由你自行完成。action=speak 将按当前人物写好的 text 合成并发送音频(QQ 为语音条,微信、Matrix、Mattermost 为音频附件),不重写语气。不能填写收件人、接口或密钥。有任务接续上下文时最终回复需 taskReview(与 partner_chat_reply 相同);默认送达后结束本轮;continueTurn:true 可接着执行或接话。成功后不重复发同样的文字;结果未知不能重试发送。未启用外部 TTS 时 QQ 原生语音仍可用 partner_qq_reply。', parameters: { type: 'object', additionalProperties: false, required: ['action'], properties: { taskReview: TASK_REVIEW_SCHEMA, action: { type: 'string', enum: ['status', 'speak', 'send_file'] }, path: { type: 'string', minLength: 1, maxLength: 4096, description: 'send_file 专用,本会话工作目录内已生成的音频路径' }, text: { type: 'string', minLength: 1, maxLength: 2000 }, voice: { type: 'string', maxLength: 200 }, continueTurn: { type: 'boolean' } } }, presentCall: () => ({ card: 'generic', title: '语音 TTS' }),
11
+ output: { schema: { type: 'object' }, render: (_a, v) => [{ type: 'text', text: JSON.stringify(v) }], presentationMeta: (_a, v) => { const r = v; return r.status === 'confirmed' ? { kind: 'partner-chat-v1', parts: [], delivered: true, deliveryKind: 'voice', originRouteId: r.originRouteId, ...(r.taskReview ? { taskReview: r.taskReview } : {}), inputMessageId: r.inputMessageId, spokenText: r.spokenText, ...(r.continueTurn ? { intermediate: true } : {}) } : null; } },
11
12
  async execute(raw, exec) {
12
13
  const a = raw;
13
- if (!a || Object.keys(a).some(k => !['action', 'path', 'text', 'voice', 'continueTurn'].includes(k)) || !['status', 'speak', 'send_file'].includes(a.action) || a.continueTurn !== undefined && typeof a.continueTurn !== 'boolean')
14
+ if (!a || Object.keys(a).some(k => !['action', 'path', 'text', 'voice', 'continueTurn', 'taskReview'].includes(k)) || !['status', 'speak', 'send_file'].includes(a.action) || a.continueTurn !== undefined && typeof a.continueTurn !== 'boolean')
14
15
  throw Error('语音参数无效');
15
16
  const agent = exec.agent;
16
17
  if (!agent)
@@ -44,6 +45,7 @@ export function voiceReplyTool(owner, store, service, call, sendAudio) {
44
45
  throw Error('请提供有效的语音正文和音色');
45
46
  if (!a.continueTurn && typeof exec.concludeTurn !== 'function')
46
47
  throw Error('当前宿主不支持语音终结');
48
+ const taskReview = a.continueTurn ? undefined : checkTaskReview(taskFollowup(store.snapshot(), owner, agent.session.id, agent.session.snapshotEvents()), a.taskReview);
47
49
  const input = { owner, channelId: c.id, routeId: route.id, inputId: initial.input, text: a.text?.trim() ?? '', voice: a.voice, signal: exec.signal, guard, send: async (data, signal, check, file) => {
48
50
  if (c.platform !== 'qq') {
49
51
  await sendAudio(agent.session.id, file, signal, route.id, check);
@@ -67,7 +69,7 @@ export function voiceReplyTool(owner, store, service, call, sendAudio) {
67
69
  throw Error('本次语音' + (r.status === 'unknown' ? '结果未知' : '尚未确认送达') + ';不要自动重新合成或发送,请核对服务和渠道记录');
68
70
  if (!a.continueTurn)
69
71
  exec.concludeTurn();
70
- return { status: r.status, messageId: r.messageId, originRouteId: route.id, inputMessageId: initial.input, spokenText: r.spokenText, continueTurn: a.continueTurn === true };
72
+ return { status: r.status, ...(taskReview ? { taskReview } : {}), messageId: r.messageId, originRouteId: route.id, inputMessageId: initial.input, spokenText: r.spokenText, continueTurn: a.continueTurn === true };
71
73
  } };
72
74
  }
73
75
  //# sourceMappingURL=tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/voice/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/voice/tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemoncat7/dsh-partner",
3
- "version": "2.25.0",
3
+ "version": "2.25.8",
4
4
  "description": "Long-lived AI companions with QQ, WeChat, Matrix and Mattermost channels for DeepSeek Harness",
5
5
  "keywords": [
6
6
  "deepseek-harness",
@@ -31,6 +31,14 @@
31
31
  }
32
32
  },
33
33
  "files": [
34
+ "docs/releases/2.25.8.md",
35
+ "docs/releases/2.25.7.md",
36
+ "docs/releases/2.25.6.md",
37
+ "docs/releases/2.25.5.md",
38
+ "docs/releases/2.25.4.md",
39
+ "docs/releases/2.25.3.md",
40
+ "docs/releases/2.25.2.md",
41
+ "docs/releases/2.25.1.md",
34
42
  "docs/releases/2.25.0.md",
35
43
  "docs/releases/2.25.0-rc.11.md",
36
44
  "docs/releases/2.25.0-rc.5.md",