mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-03 13:22:14 +00:00
* msteams: add pin/unpin, list-pins, and read message actions Wire up Graph API endpoints for message read, pin, unpin, and list-pins in the MS Teams extension, following the same patterns as edit/delete. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * msteams: address PR review comments for pin/unpin/read actions - Handle 204 No Content in postGraphJson (Graph mutations may return empty body) - Strip conversation:/user: prefixes in resolveConversationPath to avoid Graph 404s - Remove dead variable in channel pin branch - Rename unpin param from messageId to pinnedMessageId for semantic clarity - Accept both pinnedMessageId and messageId in unpin action handler for compat Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * msteams: resolve user targets + add User-Agent to Graph helpers - Resolve user:<aadId> targets to actual conversation IDs via conversation store before Graph API calls (fixes 404 for DM-context actions) - Add User-Agent header to postGraphJson/deleteGraphRequest for consistency with fetchGraphJson after rebase onto main Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * msteams: resolve DM targets to Graph chat IDs + expose pin IDs - Prefer cached graphChatId over Bot Framework conversation IDs for user targets; throw descriptive error when no Graph-compatible ID is available - Add `id` field to list-pins rows so default formatters surface the pinned resource ID needed for the unpin flow Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * msteams: add react and reactions (list) message actions * msteams: add search message action via Graph API * msteams: fix search query injection, add ConsistencyLevel header, use manual query string --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
41 lines
1.8 KiB
TypeScript
41 lines
1.8 KiB
TypeScript
import {
|
|
listMSTeamsDirectoryGroupsLive as listMSTeamsDirectoryGroupsLiveImpl,
|
|
listMSTeamsDirectoryPeersLive as listMSTeamsDirectoryPeersLiveImpl,
|
|
} from "./directory-live.js";
|
|
import {
|
|
getMessageMSTeams as getMessageMSTeamsImpl,
|
|
listPinsMSTeams as listPinsMSTeamsImpl,
|
|
listReactionsMSTeams as listReactionsMSTeamsImpl,
|
|
pinMessageMSTeams as pinMessageMSTeamsImpl,
|
|
reactMessageMSTeams as reactMessageMSTeamsImpl,
|
|
searchMessagesMSTeams as searchMessagesMSTeamsImpl,
|
|
unpinMessageMSTeams as unpinMessageMSTeamsImpl,
|
|
unreactMessageMSTeams as unreactMessageMSTeamsImpl,
|
|
} from "./graph-messages.js";
|
|
import { msteamsOutbound as msteamsOutboundImpl } from "./outbound.js";
|
|
import { probeMSTeams as probeMSTeamsImpl } from "./probe.js";
|
|
import {
|
|
deleteMessageMSTeams as deleteMessageMSTeamsImpl,
|
|
editMessageMSTeams as editMessageMSTeamsImpl,
|
|
sendAdaptiveCardMSTeams as sendAdaptiveCardMSTeamsImpl,
|
|
sendMessageMSTeams as sendMessageMSTeamsImpl,
|
|
} from "./send.js";
|
|
export const msTeamsChannelRuntime = {
|
|
deleteMessageMSTeams: deleteMessageMSTeamsImpl,
|
|
editMessageMSTeams: editMessageMSTeamsImpl,
|
|
getMessageMSTeams: getMessageMSTeamsImpl,
|
|
listPinsMSTeams: listPinsMSTeamsImpl,
|
|
listReactionsMSTeams: listReactionsMSTeamsImpl,
|
|
pinMessageMSTeams: pinMessageMSTeamsImpl,
|
|
reactMessageMSTeams: reactMessageMSTeamsImpl,
|
|
searchMessagesMSTeams: searchMessagesMSTeamsImpl,
|
|
unpinMessageMSTeams: unpinMessageMSTeamsImpl,
|
|
unreactMessageMSTeams: unreactMessageMSTeamsImpl,
|
|
listMSTeamsDirectoryGroupsLive: listMSTeamsDirectoryGroupsLiveImpl,
|
|
listMSTeamsDirectoryPeersLive: listMSTeamsDirectoryPeersLiveImpl,
|
|
msteamsOutbound: { ...msteamsOutboundImpl },
|
|
probeMSTeams: probeMSTeamsImpl,
|
|
sendAdaptiveCardMSTeams: sendAdaptiveCardMSTeamsImpl,
|
|
sendMessageMSTeams: sendMessageMSTeamsImpl,
|
|
};
|