@memberjunction/messaging-adapters 0.0.1 → 5.18.0
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/README.md +231 -43
- package/dist/base/BaseMessagingAdapter.d.ts +428 -0
- package/dist/base/BaseMessagingAdapter.d.ts.map +1 -0
- package/dist/base/BaseMessagingAdapter.js +934 -0
- package/dist/base/BaseMessagingAdapter.js.map +1 -0
- package/dist/base/message-formatter.d.ts +70 -0
- package/dist/base/message-formatter.d.ts.map +1 -0
- package/dist/base/message-formatter.js +201 -0
- package/dist/base/message-formatter.js.map +1 -0
- package/dist/base/types.d.ts +211 -0
- package/dist/base/types.d.ts.map +1 -0
- package/dist/base/types.js +6 -0
- package/dist/base/types.js.map +1 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/slack/SlackAdapter.d.ts +141 -0
- package/dist/slack/SlackAdapter.d.ts.map +1 -0
- package/dist/slack/SlackAdapter.js +291 -0
- package/dist/slack/SlackAdapter.js.map +1 -0
- package/dist/slack/SlackMessagingExtension.d.ts +148 -0
- package/dist/slack/SlackMessagingExtension.d.ts.map +1 -0
- package/dist/slack/SlackMessagingExtension.js +433 -0
- package/dist/slack/SlackMessagingExtension.js.map +1 -0
- package/dist/slack/slack-block-builder.d.ts +133 -0
- package/dist/slack/slack-block-builder.d.ts.map +1 -0
- package/dist/slack/slack-block-builder.js +748 -0
- package/dist/slack/slack-block-builder.js.map +1 -0
- package/dist/slack/slack-formatter.d.ts +37 -0
- package/dist/slack/slack-formatter.d.ts.map +1 -0
- package/dist/slack/slack-formatter.js +116 -0
- package/dist/slack/slack-formatter.js.map +1 -0
- package/dist/slack/slack-interactivity.d.ts +38 -0
- package/dist/slack/slack-interactivity.d.ts.map +1 -0
- package/dist/slack/slack-interactivity.js +414 -0
- package/dist/slack/slack-interactivity.js.map +1 -0
- package/dist/slack/slack-routes.d.ts +35 -0
- package/dist/slack/slack-routes.d.ts.map +1 -0
- package/dist/slack/slack-routes.js +98 -0
- package/dist/slack/slack-routes.js.map +1 -0
- package/dist/teams/TeamsAdapter.d.ts +155 -0
- package/dist/teams/TeamsAdapter.d.ts.map +1 -0
- package/dist/teams/TeamsAdapter.js +383 -0
- package/dist/teams/TeamsAdapter.js.map +1 -0
- package/dist/teams/TeamsMessagingExtension.d.ts +75 -0
- package/dist/teams/TeamsMessagingExtension.d.ts.map +1 -0
- package/dist/teams/TeamsMessagingExtension.js +176 -0
- package/dist/teams/TeamsMessagingExtension.js.map +1 -0
- package/dist/teams/teams-card-builder.d.ts +94 -0
- package/dist/teams/teams-card-builder.d.ts.map +1 -0
- package/dist/teams/teams-card-builder.js +648 -0
- package/dist/teams/teams-card-builder.js.map +1 -0
- package/dist/teams/teams-formatter.d.ts +39 -0
- package/dist/teams/teams-formatter.d.ts.map +1 -0
- package/dist/teams/teams-formatter.js +107 -0
- package/dist/teams/teams-formatter.js.map +1 -0
- package/package.json +40 -7
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module @memberjunction/messaging-adapters
|
|
3
|
+
* @description Rich Adaptive Card builder functions for Teams agent responses.
|
|
4
|
+
*
|
|
5
|
+
* Composes structured Adaptive Card v1.4 layouts from agent execution results,
|
|
6
|
+
* including agent identity headers, text content, action buttons, explorer
|
|
7
|
+
* deep-links, and metadata footers.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors the layout and feature parity of `slack-block-builder.ts` using
|
|
10
|
+
* Microsoft Adaptive Card elements instead of Slack Block Kit.
|
|
11
|
+
*
|
|
12
|
+
* @see https://adaptivecards.io/designer/
|
|
13
|
+
* @see https://learn.microsoft.com/en-us/adaptive-cards/
|
|
14
|
+
*/
|
|
15
|
+
import { ExecuteAgentResult, MJAIAgentEntityExtended, ActionableCommand, AgentResponseForm } from '@memberjunction/ai-core-plus';
|
|
16
|
+
/**
|
|
17
|
+
* Options for building a rich Adaptive Card response.
|
|
18
|
+
*/
|
|
19
|
+
export interface BuildRichCardOptions {
|
|
20
|
+
/** Base URL of MJ Explorer for deep-linking. */
|
|
21
|
+
explorerBaseURL?: string;
|
|
22
|
+
/** MJ Conversation Artifact ID — links to the artifact viewer. */
|
|
23
|
+
artifactId?: string;
|
|
24
|
+
/** MJ Conversation ID — links to the conversation in MJ Explorer. */
|
|
25
|
+
conversationId?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build the complete Adaptive Card for an agent response.
|
|
29
|
+
*
|
|
30
|
+
* Layout:
|
|
31
|
+
* ```
|
|
32
|
+
* ┌─────────────────────────────────┐
|
|
33
|
+
* │ [Avatar] **Agent Name** │ ← ColumnSet (agent header)
|
|
34
|
+
* │─────────────────────────────────│ ← separator on next element
|
|
35
|
+
* │ Response text (TextBlocks) │ ← from splitMarkdownIntoSections
|
|
36
|
+
* │ │
|
|
37
|
+
* │ ┌─ Artifact link ─────────────┐ │ ← Container (if artifact/conversation)
|
|
38
|
+
* │ │ View in MJ Explorer │ │
|
|
39
|
+
* │ └─────────────────────────────┘ │
|
|
40
|
+
* │ │
|
|
41
|
+
* │ Completed in 4.2s · 1,240 tok │ ← TextBlock (subtle footer)
|
|
42
|
+
* ├─────────────────────────────────┤
|
|
43
|
+
* │ [Action1] [Action2] [Explorer] │ ← actions[] array
|
|
44
|
+
* └─────────────────────────────────┘
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildRichAdaptiveCard(result: ExecuteAgentResult | null, agent: MJAIAgentEntityExtended, responseText: string, options?: BuildRichCardOptions): Record<string, unknown>;
|
|
48
|
+
/**
|
|
49
|
+
* Build a ColumnSet showing the agent's avatar and name.
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildAgentHeader(agent: MJAIAgentEntityExtended): Record<string, unknown>;
|
|
52
|
+
/**
|
|
53
|
+
* Convert markdown text to Adaptive Card TextBlock elements.
|
|
54
|
+
* Uses `splitMarkdownIntoSections` from the shared message formatter.
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildTextBody(markdown: string): Record<string, unknown>[];
|
|
57
|
+
/**
|
|
58
|
+
* Build an Adaptive Card Container linking to the artifact in MJ Explorer.
|
|
59
|
+
* Returns null if no explorer URL or neither artifact/conversation ID is available.
|
|
60
|
+
*/
|
|
61
|
+
export declare function buildArtifactCard(artifactId: string, explorerBaseURL: string): Record<string, unknown>;
|
|
62
|
+
/**
|
|
63
|
+
* Build Action.OpenUrl buttons from actionable commands.
|
|
64
|
+
* Handles `open:url` and `open:resource` command types.
|
|
65
|
+
* Returns at most 5 action buttons.
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildActionButtons(commands: ActionableCommand[], explorerBaseURL?: string): Record<string, unknown>[];
|
|
68
|
+
/**
|
|
69
|
+
* Build an "Open in MJ Explorer" Action.OpenUrl.
|
|
70
|
+
* Prefers artifact link; falls back to conversation link.
|
|
71
|
+
* Returns null if neither ID is available or no explorer URL.
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildExplorerLink(explorerBaseURL?: string, artifactId?: string, conversationId?: string): Record<string, unknown> | null;
|
|
74
|
+
/**
|
|
75
|
+
* Build a subtle metadata footer with timing and token info.
|
|
76
|
+
*/
|
|
77
|
+
export declare function buildMetadataFooter(result: ExecuteAgentResult): Record<string, unknown>;
|
|
78
|
+
/**
|
|
79
|
+
* Build a full Adaptive Card for an error message.
|
|
80
|
+
*/
|
|
81
|
+
export declare function buildErrorCard(errorMessage: string): Record<string, unknown>;
|
|
82
|
+
/**
|
|
83
|
+
* Build response form elements from an AgentResponseForm.
|
|
84
|
+
*
|
|
85
|
+
* Adaptive Cards support native input elements (Input.Text, Input.Number,
|
|
86
|
+
* Input.Date, Input.Time, Input.ChoiceSet) so we render the form inline
|
|
87
|
+
* in the card body rather than requiring a separate modal.
|
|
88
|
+
*
|
|
89
|
+
* Note: Action.Submit handlers are out of scope — forms are rendered
|
|
90
|
+
* read-only as a summary for now. Full interactivity is follow-up work
|
|
91
|
+
* (requires Task Modules or Action.Submit webhook handling).
|
|
92
|
+
*/
|
|
93
|
+
export declare function buildResponseFormElements(form: AgentResponseForm): Record<string, unknown>[];
|
|
94
|
+
//# sourceMappingURL=teams-card-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-card-builder.d.ts","sourceRoot":"","sources":["../../src/teams/teams-card-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAsD,iBAAiB,EAAgB,MAAM,8BAA8B,CAAC;AAoBnM;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,kBAAkB,GAAG,IAAI,EACjC,KAAK,EAAE,uBAAuB,EAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuDzB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmCxF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CA6CzE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,eAAe,CAAC,EAAE,MAAM,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAwB3B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,eAAe,CAAC,EAAE,MAAM,EACxB,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBhC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsCvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAe5E;AAmCD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgD5F"}
|