Licence
Apache-2.0
Version
0.12.2
Deps
0
Size
46 kB
Vulns
0
Weekly
0
@cuylabs/channel-teams
Teams channel primitives for parsing Microsoft Teams activities, detecting Teams invoke routes, building invoke responses, and using a curated subset of Microsoft Teams SDK helpers.
This package does not create or run an agent. Use it when your application owns the runtime but wants reusable Teams mechanics.
Install
npm install @cuylabs/channel-teamsMost hosts that use the invoke helpers also install the Microsoft activity and hosting packages:
npm install @microsoft/agents-activity @microsoft/agents-hosting @microsoft/agents-hosting-extensions-teamsParse A Teams Activity
import { parseTeamsActivity } from "@cuylabs/channel-teams";
const teams = parseTeamsActivity(turnContext, {
strictChannelData: false,
});
if (teams.kind === "message-extension-query") {
// Route the compose extension query in your own host.
}parseTeamsActivity returns normalized Teams metadata:
{
"channelId": "msteams",
"conversationId": "conversation-1",
"invokeName": "composeExtension/query",
"tenantId": "tenant-1",
"teamId": "team-1",
"channelThreadId": "channel-1",
"surface": "channel",
"kind": "message-extension-query",
"targeted": false
}Build Invoke Responses
import {
createTeamsSearchResult,
sendTeamsInvoke,
} from "@cuylabs/channel-teams";
await sendTeamsInvoke(
turnContext,
createTeamsSearchResult({
layout: "list",
text: "No matching records",
}),
);Subpaths
import { parseTeamsActivity } from "@cuylabs/channel-teams/activity";
import { TeamsInfo } from "@cuylabs/channel-teams/extensions";
import { sendTeamsInvoke } from "@cuylabs/channel-teams/invoke";
import { createTeamsDialog } from "@cuylabs/channel-teams/responses";