fix(telegram): prioritize live chat context · openclaw/openclaw@b3afcc6
obviyus
·
2026-05-09
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -595,29 +595,29 @@ export const registerTelegramHandlers = ({
|
595 | 595 | after: 2, |
596 | 596 | }); |
597 | 597 | const entries: TelegramPromptContextEntry[] = []; |
598 | | -if (currentWindow.length > 0) { |
| 598 | +if (replyTargetWindow.length > 0) { |
599 | 599 | entries.push({ |
600 | | -label: "Current local chat window", |
| 600 | +label: "Nearby reply target window", |
601 | 601 | source: "telegram", |
602 | 602 | type: "chat_window", |
603 | 603 | payload: { |
604 | 604 | order: "chronological", |
605 | | -relation: "before_current_message", |
606 | | -messages: currentWindow.map((node) => toPromptContextMessage(node)), |
| 605 | +relation: "around_reply_target", |
| 606 | +messages: replyTargetWindow.map((node) => |
| 607 | +toPromptContextMessage(node, { replyTarget: node.messageId === replyTargetId }), |
| 608 | +), |
607 | 609 | }, |
608 | 610 | }); |
609 | 611 | } |
610 | | -if (replyTargetWindow.length > 0) { |
| 612 | +if (currentWindow.length > 0) { |
611 | 613 | entries.push({ |
612 | | -label: "Nearby reply target window", |
| 614 | +label: "Current local chat window", |
613 | 615 | source: "telegram", |
614 | 616 | type: "chat_window", |
615 | 617 | payload: { |
616 | 618 | order: "chronological", |
617 | | -relation: "around_reply_target", |
618 | | -messages: replyTargetWindow.map((node) => |
619 | | -toPromptContextMessage(node, { replyTarget: node.messageId === replyTargetId }), |
620 | | -), |
| 619 | +relation: "before_current_message", |
| 620 | +messages: currentWindow.map((node) => toPromptContextMessage(node)), |
621 | 621 | }, |
622 | 622 | }); |
623 | 623 | } |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -1615,6 +1615,20 @@ describe("createTelegramBot", () => {
|
1615 | 1615 | expect(replySpy).toHaveBeenCalledTimes(1); |
1616 | 1616 | const payload = replySpy.mock.calls[0][0]; |
1617 | 1617 | expect(payload.UntrustedStructuredContext).toEqual([ |
| 1618 | +expect.objectContaining({ |
| 1619 | +label: "Nearby reply target window", |
| 1620 | +payload: expect.objectContaining({ |
| 1621 | +relation: "around_reply_target", |
| 1622 | +messages: expect.arrayContaining([ |
| 1623 | +expect.objectContaining({ |
| 1624 | +message_id: "100", |
| 1625 | +sender: "Assistant", |
| 1626 | +body: "Earlier deployment answer", |
| 1627 | +is_reply_target: true, |
| 1628 | +}), |
| 1629 | +]), |
| 1630 | +}), |
| 1631 | +}), |
1618 | 1632 | expect.objectContaining({ |
1619 | 1633 | label: "Current local chat window", |
1620 | 1634 | payload: expect.objectContaining({ |
@@ -1633,20 +1647,6 @@ describe("createTelegramBot", () => {
|
1633 | 1647 | ]), |
1634 | 1648 | }), |
1635 | 1649 | }), |
1636 | | -expect.objectContaining({ |
1637 | | -label: "Nearby reply target window", |
1638 | | -payload: expect.objectContaining({ |
1639 | | -relation: "around_reply_target", |
1640 | | -messages: expect.arrayContaining([ |
1641 | | -expect.objectContaining({ |
1642 | | -message_id: "100", |
1643 | | -sender: "Assistant", |
1644 | | -body: "Earlier deployment answer", |
1645 | | -is_reply_target: true, |
1646 | | -}), |
1647 | | -]), |
1648 | | -}), |
1649 | | -}), |
1650 | 1650 | ]); |
1651 | 1651 | }); |
1652 | 1652 | |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。