@memberjunction/messaging-adapters 6.1.0-edge.4 → 6.1.0-edge.6
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 +2 -1
- package/dist/base/BaseMessagingAdapter.d.ts +82 -1
- package/dist/base/BaseMessagingAdapter.d.ts.map +1 -1
- package/dist/base/BaseMessagingAdapter.js +222 -14
- package/dist/base/BaseMessagingAdapter.js.map +1 -1
- package/dist/base/message-formatter.d.ts +31 -1
- package/dist/base/message-formatter.d.ts.map +1 -1
- package/dist/base/message-formatter.js +66 -1
- package/dist/base/message-formatter.js.map +1 -1
- package/dist/base/types.d.ts +14 -0
- package/dist/base/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/slack/SlackAdapter.d.ts +60 -4
- package/dist/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/slack/SlackAdapter.js +141 -8
- package/dist/slack/SlackAdapter.js.map +1 -1
- package/dist/slack/SlackMessagingExtension.d.ts.map +1 -1
- package/dist/slack/SlackMessagingExtension.js +35 -0
- package/dist/slack/SlackMessagingExtension.js.map +1 -1
- package/dist/slack/slack-block-builder.d.ts.map +1 -1
- package/dist/slack/slack-block-builder.js +129 -38
- package/dist/slack/slack-block-builder.js.map +1 -1
- package/dist/teams/TeamsAdapter.d.ts +7 -0
- package/dist/teams/TeamsAdapter.d.ts.map +1 -1
- package/dist/teams/TeamsAdapter.js +33 -0
- package/dist/teams/TeamsAdapter.js.map +1 -1
- package/dist/teams/teams-card-builder.d.ts +9 -1
- package/dist/teams/teams-card-builder.d.ts.map +1 -1
- package/dist/teams/teams-card-builder.js +41 -28
- package/dist/teams/teams-card-builder.js.map +1 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -140,6 +140,7 @@ LoadMessagingAdapters();
|
|
|
140
140
|
| `ConnectionMode` | `'http' \| 'socket'` | `'http'` | Slack connection mode |
|
|
141
141
|
| `MaxThreadMessages` | `number` | `50` | Max thread messages for conversation context |
|
|
142
142
|
| `ShowTypingIndicator` | `boolean` | `true` | Show typing indicator while processing |
|
|
143
|
+
| `DisableDelegation` | `boolean` | `false` | Turn off delegation detection; set it on a bot pinned to one agent |
|
|
143
144
|
| `StreamingUpdateIntervalMs` | `number` | `1000` | Min interval between streaming updates (ms) |
|
|
144
145
|
| `ExplorerBaseURL` | `string` | — | MJ Explorer URL for "View in Explorer" buttons |
|
|
145
146
|
| `SlashCommands` | `Record<string, string>` | — | Slash command → agent name mapping (Slack only) |
|
|
@@ -196,7 +197,7 @@ See `SlackAdapter.ts` and `SlackMessagingExtension.ts` for a complete reference
|
|
|
196
197
|
## Testing
|
|
197
198
|
|
|
198
199
|
```bash
|
|
199
|
-
npm run test # Run
|
|
200
|
+
npm run test # Run the package's unit tests
|
|
200
201
|
npm run test:watch # Watch mode
|
|
201
202
|
npm run test:coverage # With coverage report
|
|
202
203
|
```
|
|
@@ -11,6 +11,22 @@
|
|
|
11
11
|
import { ExecuteAgentResult, MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
|
|
12
12
|
import { UserInfo } from '@memberjunction/core';
|
|
13
13
|
import { MessagingAdapterSettings, IncomingMessage, FormattedResponse, AgentIdentity, AgentResponseMetadata } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* A binary output to deliver as a platform file: either a generated `MediaOutput` or a file the
|
|
16
|
+
* agent inlined as a `data:` URI. `fileName`, when present, wins over any derived name.
|
|
17
|
+
*
|
|
18
|
+
* Deliberately not `Pick<MediaOutput, ...>`: `MediaOutput.modality` is `MediaModality`
|
|
19
|
+
* (`'Image' | 'Audio' | 'Video'`), and a file attachment is none of those.
|
|
20
|
+
*/
|
|
21
|
+
export interface UploadableFile {
|
|
22
|
+
modality?: string;
|
|
23
|
+
mimeType?: string;
|
|
24
|
+
/** Base64-encoded bytes. */
|
|
25
|
+
data?: string;
|
|
26
|
+
label?: string;
|
|
27
|
+
/** Preferred name; when absent the adapter derives one from `label` and the MIME type. */
|
|
28
|
+
fileName?: string;
|
|
29
|
+
}
|
|
14
30
|
/**
|
|
15
31
|
* Abstract base class for messaging platform adapters.
|
|
16
32
|
*
|
|
@@ -54,6 +70,12 @@ import { MessagingAdapterSettings, IncomingMessage, FormattedResponse, AgentIden
|
|
|
54
70
|
* Falls back to the configured service account email if no MJ user matches.
|
|
55
71
|
*/
|
|
56
72
|
export declare abstract class BaseMessagingAdapter {
|
|
73
|
+
/**
|
|
74
|
+
* Optional per-platform file upload. Implemented by adapters whose platform can accept file
|
|
75
|
+
* uploads (see `SlackAdapter.uploadMediaOutputs`); absent elsewhere, in which case binary
|
|
76
|
+
* output is simply not delivered as files.
|
|
77
|
+
*/
|
|
78
|
+
protected uploadMediaOutputs?(message: IncomingMessage, files: readonly UploadableFile[]): Promise<void>;
|
|
57
79
|
/** Extension settings from `mj.config.cjs`. */
|
|
58
80
|
protected settings: MessagingAdapterSettings;
|
|
59
81
|
/** Fallback context user (service account) loaded from config email. */
|
|
@@ -160,6 +182,44 @@ export declare abstract class BaseMessagingAdapter {
|
|
|
160
182
|
* Get the bot's own user ID on this platform (to identify bot messages in thread history).
|
|
161
183
|
*/
|
|
162
184
|
protected abstract getBotUserId(): string;
|
|
185
|
+
/**
|
|
186
|
+
* Is this artifact meant for the user, rather than internal system state?
|
|
187
|
+
*
|
|
188
|
+
* Fails OPEN: an unreadable artifact keeps its link, since losing a working link on a
|
|
189
|
+
* transient read failure is worse than the rare case of surfacing an internal one.
|
|
190
|
+
*/
|
|
191
|
+
protected isUserVisibleArtifact(artifactId: string, contextUser: UserInfo): Promise<boolean>;
|
|
192
|
+
/**
|
|
193
|
+
* Was this message posted by THIS bot?
|
|
194
|
+
*
|
|
195
|
+
* Not a bare `=== getBotUserId()`. A platform may publish more than one identifier for the
|
|
196
|
+
* same bot and return a different one depending on how the message was posted — on Slack a
|
|
197
|
+
* post carrying a `username`/`icon_url` override comes back with a `bot_id` and NO `user`,
|
|
198
|
+
* and this adapter sets that override on every agent reply so the agent answers under its own
|
|
199
|
+
* name. Platforms with that split override this; the default is a single-identifier compare.
|
|
200
|
+
*/
|
|
201
|
+
protected isSelf(senderId: string | null | undefined): boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Was this history message written by ANY bot (not just this one)?
|
|
204
|
+
*
|
|
205
|
+
* Thread affinity and conversation context must both ignore other bots' messages: an agent's
|
|
206
|
+
* reply names itself in prose, which the mention matcher would read as a user request, and as
|
|
207
|
+
* a 'user' turn it feeds one agent's self-description into another's context.
|
|
208
|
+
*
|
|
209
|
+
* The default is `false` because the marker is platform-specific — see `SlackAdapter`, which
|
|
210
|
+
* reads the Events API's `bot_id`/`bot_profile`/`bot_message` fields.
|
|
211
|
+
*/
|
|
212
|
+
protected isBotAuthored(_message: IncomingMessage): boolean;
|
|
213
|
+
/**
|
|
214
|
+
* May this bot answer a thread reply that did not address it?
|
|
215
|
+
*
|
|
216
|
+
* `false` (the default) enables the multi-bot thread gate in {@link HandleMessage}: with one
|
|
217
|
+
* app per agent, an un-mentioned thread reply would otherwise be answered by every bot in the
|
|
218
|
+
* channel. Platforms that route a message only to its addressee — Teams, where a channel
|
|
219
|
+
* message reaches a bot solely via an @mention — should return `true`, as the gate is both
|
|
220
|
+
* unnecessary and would suppress legitimate replies there.
|
|
221
|
+
*/
|
|
222
|
+
protected respondsToUnaddressedThreadReplies(): boolean;
|
|
163
223
|
/**
|
|
164
224
|
* Strip the bot @mention from the message text so the agent sees clean input.
|
|
165
225
|
*/
|
|
@@ -306,7 +366,7 @@ export declare abstract class BaseMessagingAdapter {
|
|
|
306
366
|
/** Cached environment lookup — messaging adapters are long-lived and single-environment. */
|
|
307
367
|
private cachedEnvironmentID;
|
|
308
368
|
private resolveEnvironmentID;
|
|
309
|
-
|
|
369
|
+
protected detectDelegation(result: ExecuteAgentResult): string | null;
|
|
310
370
|
/**
|
|
311
371
|
* Extract `invokeAgent` from the in-memory payload object.
|
|
312
372
|
*/
|
|
@@ -344,6 +404,27 @@ export declare abstract class BaseMessagingAdapter {
|
|
|
344
404
|
* Extract response text, format it, and send the final message.
|
|
345
405
|
*/
|
|
346
406
|
private sendAgentResult;
|
|
407
|
+
/**
|
|
408
|
+
* Collect the files an agent produced, from the run's own `fileOutputs`.
|
|
409
|
+
*
|
|
410
|
+
* This is the canonical source — `fileOutputs` is what MJ turns into file artifacts — and it
|
|
411
|
+
* carries the real filename and MIME type rather than leaving them to be guessed. Entries
|
|
412
|
+
* already saved to storage (`fileId`, no `fileData`) are skipped: those have a durable
|
|
413
|
+
* location, and re-uploading their bytes to chat is not this method's job.
|
|
414
|
+
*
|
|
415
|
+
* Preferred over {@link collectInlineFileAttachments}, which depends on the model choosing to
|
|
416
|
+
* emit a `data:` URI — it does so only sometimes, so relying on it meant a generated document
|
|
417
|
+
* reached chat on one run and not the next.
|
|
418
|
+
*/
|
|
419
|
+
protected collectFileOutputAttachments(result: ExecuteAgentResult): UploadableFile[];
|
|
420
|
+
/**
|
|
421
|
+
* Harvest files that an agent inlined as `data:` URIs on its actionable commands.
|
|
422
|
+
*
|
|
423
|
+
* MJ's document actions fall back to embedding the generated file itself when no file storage
|
|
424
|
+
* account is configured. That URI cannot be opened from a chat client, so the file is decoded
|
|
425
|
+
* here and handed to the platform's uploader as an ordinary attachment.
|
|
426
|
+
*/
|
|
427
|
+
protected collectInlineFileAttachments(result: ExecuteAgentResult): UploadableFile[];
|
|
347
428
|
/**
|
|
348
429
|
* Extract the user-facing response text from an `ExecuteAgentResult`.
|
|
349
430
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMessagingAdapter.d.ts","sourceRoot":"","sources":["../../src/base/BaseMessagingAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAsB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"BaseMessagingAdapter.d.ts","sourceRoot":"","sources":["../../src/base/BaseMessagingAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
* platform-specific operations like sending messages and fetching threads.
|
|
10
10
|
*/
|
|
11
11
|
import { AgentRunner } from '@memberjunction/ai-agents';
|
|
12
|
+
import { parseBase64DataUrl } from '@memberjunction/ai';
|
|
12
13
|
import { RunView, LogError, LogStatus } from '@memberjunction/core';
|
|
14
|
+
import { EscapeSQLString } from '@memberjunction/global';
|
|
13
15
|
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
14
16
|
/**
|
|
15
17
|
* Abstract base class for messaging platform adapters.
|
|
@@ -119,17 +121,35 @@ export class BaseMessagingAdapter {
|
|
|
119
121
|
}
|
|
120
122
|
// 2. Resolve the MJ user for this platform sender
|
|
121
123
|
const contextUser = await this.resolveContextUser(message);
|
|
122
|
-
// 3.
|
|
124
|
+
// 3. Fetch thread history (needed for the multi-bot gate below, agent resolution, and
|
|
125
|
+
// conversation context). Deliberately BEFORE the typing indicator: the gate may
|
|
126
|
+
// decline silently, and an indicator followed by silence reads as a hung bot.
|
|
127
|
+
const threadHistory = await this.safeGetThreadHistory(message);
|
|
128
|
+
// 4. Multi-bot thread gate. A thread reply needs no mention to reach a bot, so on a
|
|
129
|
+
// platform that broadcasts channel messages to every installed app (Slack), ONE
|
|
130
|
+
// reply reached every bot and each answered — N replies to one message once more
|
|
131
|
+
// than one agent had its own app. A bot may answer an un-mentioned thread reply
|
|
132
|
+
// only when it is already party to that thread (it posted in it).
|
|
133
|
+
if (message.ThreadID && threadHistory.length > 0 && !this.respondsToUnaddressedThreadReplies()) {
|
|
134
|
+
const botUserId = this.getBotUserId();
|
|
135
|
+
const addressed = message.IsBotMention === true
|
|
136
|
+
|| (!!botUserId && typeof message.Text === 'string' && message.Text.includes(botUserId));
|
|
137
|
+
const inThread = threadHistory.some((m) => this.isSelf(m.SenderID));
|
|
138
|
+
if (!addressed && !inThread) {
|
|
139
|
+
LogStatus(`${this.PlatformName}: not answering thread ${message.ThreadID} — this bot was not ` +
|
|
140
|
+
`addressed and has not posted in it (multi-bot thread gate)`);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// 5. Show typing indicator
|
|
123
145
|
if (this.settings.ShowTypingIndicator !== false) {
|
|
124
146
|
await this.safeShowTypingIndicator(message);
|
|
125
147
|
}
|
|
126
|
-
//
|
|
127
|
-
const threadHistory = await this.safeGetThreadHistory(message);
|
|
128
|
-
// 5. Determine which agent to use (uses thread history for agent affinity)
|
|
148
|
+
// 6. Determine which agent to use (uses thread history for agent affinity)
|
|
129
149
|
const { agent, multiAgentNote } = await this.resolveAgent(message, contextUser, threadHistory);
|
|
130
|
-
//
|
|
150
|
+
// 7. Build conversation messages from thread history
|
|
131
151
|
const conversationMessages = this.buildConversationMessages(threadHistory, message);
|
|
132
|
-
//
|
|
152
|
+
// 8. Run the agent with streaming
|
|
133
153
|
await this.executeAgentAndRespond(message, agent, contextUser, conversationMessages, multiAgentNote);
|
|
134
154
|
}
|
|
135
155
|
/**
|
|
@@ -139,6 +159,71 @@ export class BaseMessagingAdapter {
|
|
|
139
159
|
get AvailableAgentNames() {
|
|
140
160
|
return this.availableAgents.map(a => a.Name ?? '').filter(Boolean);
|
|
141
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Is this artifact meant for the user, rather than internal system state?
|
|
164
|
+
*
|
|
165
|
+
* Fails OPEN: an unreadable artifact keeps its link, since losing a working link on a
|
|
166
|
+
* transient read failure is worse than the rare case of surfacing an internal one.
|
|
167
|
+
*/
|
|
168
|
+
async isUserVisibleArtifact(artifactId, contextUser) {
|
|
169
|
+
try {
|
|
170
|
+
const res = await new RunView().RunView({
|
|
171
|
+
EntityName: 'MJ: Artifacts',
|
|
172
|
+
ExtraFilter: `ID = '${EscapeSQLString(artifactId)}'`,
|
|
173
|
+
Fields: ['ID', 'Visibility'],
|
|
174
|
+
ResultType: 'simple',
|
|
175
|
+
MaxRows: 1,
|
|
176
|
+
}, contextUser);
|
|
177
|
+
const visibility = res.Success ? res.Results?.[0]?.Visibility : undefined;
|
|
178
|
+
if (visibility === 'System Only') {
|
|
179
|
+
LogStatus(`Not linking artifact ${artifactId}: it is marked System Only`);
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
LogError(`Could not read artifact ${artifactId} visibility; linking it anyway:`, undefined, error);
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Was this message posted by THIS bot?
|
|
191
|
+
*
|
|
192
|
+
* Not a bare `=== getBotUserId()`. A platform may publish more than one identifier for the
|
|
193
|
+
* same bot and return a different one depending on how the message was posted — on Slack a
|
|
194
|
+
* post carrying a `username`/`icon_url` override comes back with a `bot_id` and NO `user`,
|
|
195
|
+
* and this adapter sets that override on every agent reply so the agent answers under its own
|
|
196
|
+
* name. Platforms with that split override this; the default is a single-identifier compare.
|
|
197
|
+
*/
|
|
198
|
+
isSelf(senderId) {
|
|
199
|
+
const botUserId = this.getBotUserId();
|
|
200
|
+
return !!senderId && !!botUserId && senderId === botUserId;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Was this history message written by ANY bot (not just this one)?
|
|
204
|
+
*
|
|
205
|
+
* Thread affinity and conversation context must both ignore other bots' messages: an agent's
|
|
206
|
+
* reply names itself in prose, which the mention matcher would read as a user request, and as
|
|
207
|
+
* a 'user' turn it feeds one agent's self-description into another's context.
|
|
208
|
+
*
|
|
209
|
+
* The default is `false` because the marker is platform-specific — see `SlackAdapter`, which
|
|
210
|
+
* reads the Events API's `bot_id`/`bot_profile`/`bot_message` fields.
|
|
211
|
+
*/
|
|
212
|
+
isBotAuthored(_message) {
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* May this bot answer a thread reply that did not address it?
|
|
217
|
+
*
|
|
218
|
+
* `false` (the default) enables the multi-bot thread gate in {@link HandleMessage}: with one
|
|
219
|
+
* app per agent, an un-mentioned thread reply would otherwise be answered by every bot in the
|
|
220
|
+
* channel. Platforms that route a message only to its addressee — Teams, where a channel
|
|
221
|
+
* message reaches a bot solely via an @mention — should return `true`, as the gate is both
|
|
222
|
+
* unnecessary and would suppress legitimate replies there.
|
|
223
|
+
*/
|
|
224
|
+
respondsToUnaddressedThreadReplies() {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
142
227
|
// ─── Protected helper methods ─────────────────────────────────────
|
|
143
228
|
/**
|
|
144
229
|
* Build an `AgentIdentity` from an agent entity.
|
|
@@ -315,7 +400,13 @@ export class BaseMessagingAdapter {
|
|
|
315
400
|
}
|
|
316
401
|
}
|
|
317
402
|
if (email) {
|
|
318
|
-
|
|
403
|
+
// UserCache.Instance, never `new UserCache()`: UserCache extends BaseSingleton, whose
|
|
404
|
+
// constructor RETURNS the existing shared instance — and then the subclass field
|
|
405
|
+
// initializer (`_users = []`) runs against that returned instance. So `new` both
|
|
406
|
+
// EMPTIES the process-wide user cache and reads back an empty list: the lookup below
|
|
407
|
+
// could never succeed, and the whole server lost its user cache until the next
|
|
408
|
+
// auto-refresh tick.
|
|
409
|
+
const userCache = UserCache.Instance;
|
|
319
410
|
const mjUser = userCache.Users.find((u) => u.Email?.toLowerCase() === email.toLowerCase());
|
|
320
411
|
if (mjUser) {
|
|
321
412
|
return mjUser;
|
|
@@ -377,11 +468,13 @@ export class BaseMessagingAdapter {
|
|
|
377
468
|
resolveThreadAgent(threadHistory) {
|
|
378
469
|
if (threadHistory.length === 0)
|
|
379
470
|
return null;
|
|
380
|
-
const botUserId = this.getBotUserId();
|
|
381
471
|
// Walk through thread messages (oldest first) looking for user messages with agent mentions
|
|
382
472
|
for (const msg of threadHistory) {
|
|
383
|
-
// Skip bot messages
|
|
384
|
-
|
|
473
|
+
// Skip bot messages — this bot's own, AND any other bot's. Another agent's reply
|
|
474
|
+
// names that agent in its own prose ("I'm Sage, ..."), which the mention matcher
|
|
475
|
+
// below reads as a user asking for it, letting one bot steal a thread that belongs
|
|
476
|
+
// to another. Only humans establish thread affinity.
|
|
477
|
+
if (this.isSelf(msg.SenderID) || this.isBotAuthored(msg))
|
|
385
478
|
continue;
|
|
386
479
|
// Check for agent mentions in this message
|
|
387
480
|
const mentions = msg.MentionedAgentNames ?? this.matchAgentMentions(msg.Text);
|
|
@@ -512,7 +605,17 @@ export class BaseMessagingAdapter {
|
|
|
512
605
|
createArtifacts: true,
|
|
513
606
|
conversationName: `${this.PlatformName}: ${userMessageText.substring(0, 80)}`,
|
|
514
607
|
});
|
|
515
|
-
|
|
608
|
+
// Only link an artifact the user is meant to see. MJ marks an artifact
|
|
609
|
+
// `Visibility = 'System Only'` when the agent's ArtifactCreationMode says so — the
|
|
610
|
+
// Explorer UI hides those, but the link we post does not, so a run whose payload was
|
|
611
|
+
// internal state (a loop agent's scratch payload) offered "view the artifact" and
|
|
612
|
+
// opened raw JSON. Checked on the artifact itself rather than the agent's mode,
|
|
613
|
+
// because a System-Only agent can still produce a user-facing FILE artifact.
|
|
614
|
+
const candidateArtifactId = conversationResult.artifactInfo?.artifactId;
|
|
615
|
+
const artifactId = candidateArtifactId
|
|
616
|
+
&& (await this.isUserVisibleArtifact(candidateArtifactId, contextUser))
|
|
617
|
+
? candidateArtifactId
|
|
618
|
+
: undefined;
|
|
516
619
|
return {
|
|
517
620
|
result: conversationResult.agentResult,
|
|
518
621
|
progressMessageId,
|
|
@@ -545,6 +648,12 @@ export class BaseMessagingAdapter {
|
|
|
545
648
|
return this.cachedEnvironmentID;
|
|
546
649
|
}
|
|
547
650
|
detectDelegation(result) {
|
|
651
|
+
// A bot pinned to one agent must not be delegated away from it. Checked before any
|
|
652
|
+
// strategy runs, because Strategy 3 below reads the reply TEXT — so an orchestrator
|
|
653
|
+
// agent describing its own routing role would hand the conversation to whichever agent
|
|
654
|
+
// it happened to name, under this bot's identity and with no attribution.
|
|
655
|
+
if (this.settings.DisableDelegation)
|
|
656
|
+
return null;
|
|
548
657
|
if (!result.success)
|
|
549
658
|
return null;
|
|
550
659
|
// Strategy 1: Check in-memory payload.invokeAgent (primary, matches MJ Explorer)
|
|
@@ -718,6 +827,98 @@ export class BaseMessagingAdapter {
|
|
|
718
827
|
else {
|
|
719
828
|
await this.sendFinalMessage(message, formatted);
|
|
720
829
|
}
|
|
830
|
+
// Deliver binary output as real platform files, AFTER the text reply is posted.
|
|
831
|
+
//
|
|
832
|
+
// Two sources, neither of which the message renderers can show:
|
|
833
|
+
// - `mediaOutputs` — generated images arrive as base64, and the block/card builders can
|
|
834
|
+
// only render media that already has a public https URL, so they were silently dropped.
|
|
835
|
+
// - inlined file data URIs on actionable commands — MJ's document actions embed a whole
|
|
836
|
+
// generated file as `data:<mime>;base64,...` when no file storage account is
|
|
837
|
+
// configured. Unusable as a link (see isOpenableURI), but the bytes are right there.
|
|
838
|
+
//
|
|
839
|
+
// Failures are logged and swallowed: the text reply has already posted, and an upload
|
|
840
|
+
// problem must not turn a delivered answer into an error.
|
|
841
|
+
if (this.uploadMediaOutputs) {
|
|
842
|
+
// De-duplicated by payload, in preference order. A document action puts the file in
|
|
843
|
+
// `fileOutputs` AND the model often repeats the same base64 back as an `open:url`
|
|
844
|
+
// command, so an un-deduped union uploads the identical file twice — and both copies
|
|
845
|
+
// count against the platform's per-reply file cap.
|
|
846
|
+
const attachments = [];
|
|
847
|
+
const seen = new Set();
|
|
848
|
+
for (const file of [
|
|
849
|
+
...(result.mediaOutputs ?? []),
|
|
850
|
+
...this.collectFileOutputAttachments(result),
|
|
851
|
+
...this.collectInlineFileAttachments(result),
|
|
852
|
+
]) {
|
|
853
|
+
if (file.data && seen.has(file.data))
|
|
854
|
+
continue;
|
|
855
|
+
if (file.data)
|
|
856
|
+
seen.add(file.data);
|
|
857
|
+
attachments.push(file);
|
|
858
|
+
}
|
|
859
|
+
if (attachments.length > 0) {
|
|
860
|
+
try {
|
|
861
|
+
await this.uploadMediaOutputs(message, attachments);
|
|
862
|
+
}
|
|
863
|
+
catch (error) {
|
|
864
|
+
LogError('Failed to upload agent output files (the text reply already posted):', undefined, error);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* Collect the files an agent produced, from the run's own `fileOutputs`.
|
|
871
|
+
*
|
|
872
|
+
* This is the canonical source — `fileOutputs` is what MJ turns into file artifacts — and it
|
|
873
|
+
* carries the real filename and MIME type rather than leaving them to be guessed. Entries
|
|
874
|
+
* already saved to storage (`fileId`, no `fileData`) are skipped: those have a durable
|
|
875
|
+
* location, and re-uploading their bytes to chat is not this method's job.
|
|
876
|
+
*
|
|
877
|
+
* Preferred over {@link collectInlineFileAttachments}, which depends on the model choosing to
|
|
878
|
+
* emit a `data:` URI — it does so only sometimes, so relying on it meant a generated document
|
|
879
|
+
* reached chat on one run and not the next.
|
|
880
|
+
*/
|
|
881
|
+
collectFileOutputAttachments(result) {
|
|
882
|
+
return (result.fileOutputs ?? [])
|
|
883
|
+
.filter((o) => !!o.fileData)
|
|
884
|
+
.map((o) => ({
|
|
885
|
+
modality: 'file',
|
|
886
|
+
mimeType: o.mimeType,
|
|
887
|
+
data: o.fileData,
|
|
888
|
+
fileName: o.fileName,
|
|
889
|
+
label: o.fileName,
|
|
890
|
+
}));
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Harvest files that an agent inlined as `data:` URIs on its actionable commands.
|
|
894
|
+
*
|
|
895
|
+
* MJ's document actions fall back to embedding the generated file itself when no file storage
|
|
896
|
+
* account is configured. That URI cannot be opened from a chat client, so the file is decoded
|
|
897
|
+
* here and handed to the platform's uploader as an ordinary attachment.
|
|
898
|
+
*/
|
|
899
|
+
collectInlineFileAttachments(result) {
|
|
900
|
+
const files = [];
|
|
901
|
+
for (const cmd of result.actionableCommands ?? []) {
|
|
902
|
+
if (cmd.type !== 'open:url')
|
|
903
|
+
continue;
|
|
904
|
+
// The scheme is lower-cased first: the guard that DROPS these buttons is
|
|
905
|
+
// case-insensitive, so an upper-case `DATA:` URI would otherwise be suppressed as a
|
|
906
|
+
// link and never collected as a file — the note would promise an attachment that
|
|
907
|
+
// never arrives.
|
|
908
|
+
const parsed = parseBase64DataUrl(cmd.url.trim().replace(/^data:/i, 'data:'));
|
|
909
|
+
if (!parsed)
|
|
910
|
+
continue;
|
|
911
|
+
files.push({
|
|
912
|
+
modality: 'file',
|
|
913
|
+
mimeType: parsed.mediaType,
|
|
914
|
+
data: parsed.data,
|
|
915
|
+
label: cmd.label,
|
|
916
|
+
// No fileName: `OpenURLCommand` does not declare one, nothing in the repo emits
|
|
917
|
+
// one, and the model-facing command contract never mentions the field — so the
|
|
918
|
+
// adapter derives the name from the label and the MIME type instead.
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
return files;
|
|
721
922
|
}
|
|
722
923
|
/**
|
|
723
924
|
* Extract the user-facing response text from an `ExecuteAgentResult`.
|
|
@@ -830,10 +1031,14 @@ export class BaseMessagingAdapter {
|
|
|
830
1031
|
* Bot @mentions are stripped from user messages.
|
|
831
1032
|
*/
|
|
832
1033
|
buildConversationMessages(history, currentMessage) {
|
|
833
|
-
const botUserId = this.getBotUserId();
|
|
834
1034
|
const messages = [];
|
|
835
1035
|
for (const msg of history) {
|
|
836
|
-
|
|
1036
|
+
// Another bot's message is neither this agent's own turn nor anything the user said.
|
|
1037
|
+
// Left as a 'user' turn it fed a different agent's self-description into this
|
|
1038
|
+
// agent's context, and the model imitated it.
|
|
1039
|
+
if (!this.isSelf(msg.SenderID) && this.isBotAuthored(msg))
|
|
1040
|
+
continue;
|
|
1041
|
+
const role = this.isSelf(msg.SenderID) ? 'assistant' : 'user';
|
|
837
1042
|
const content = role === 'user' ? this.stripBotMention(msg.Text) : msg.Text;
|
|
838
1043
|
if (content.trim()) {
|
|
839
1044
|
messages.push({ role, content });
|
|
@@ -889,7 +1094,10 @@ export class BaseMessagingAdapter {
|
|
|
889
1094
|
* @throws Error if the configured email cannot be found.
|
|
890
1095
|
*/
|
|
891
1096
|
async loadFallbackContextUser() {
|
|
892
|
-
|
|
1097
|
+
// UserCache.Instance, never `new UserCache()` — see resolveContextUser for why `new`
|
|
1098
|
+
// wipes the shared cache. Here it made Initialize fail with "Fallback context user not
|
|
1099
|
+
// found" for EVERY configured email, on every deployment.
|
|
1100
|
+
const userCache = UserCache.Instance;
|
|
893
1101
|
const user = userCache.Users.find((u) => u.Email?.toLowerCase() === this.settings.ContextUserEmail.toLowerCase());
|
|
894
1102
|
if (!user) {
|
|
895
1103
|
throw new Error(`Fallback context user not found: '${this.settings.ContextUserEmail}'. ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMessagingAdapter.js","sourceRoot":"","sources":["../../src/base/BaseMessagingAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseMessagingAdapter.js","sourceRoot":"","sources":["../../src/base/BaseMessagingAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module @memberjunction/messaging-adapters
|
|
3
|
-
* @description Shared
|
|
3
|
+
* @description Shared formatting utilities used by all platform-specific formatters.
|
|
4
4
|
*/
|
|
5
|
+
import { OpenResourceCommand } from '@memberjunction/ai-core-plus';
|
|
5
6
|
import { MarkdownSection } from './types.js';
|
|
6
7
|
/**
|
|
7
8
|
* Split Markdown text into typed sections for platform-specific formatting.
|
|
@@ -67,4 +68,33 @@ export declare function truncateText(text: string, maxLength: number): string;
|
|
|
67
68
|
* @returns Array of text chunks.
|
|
68
69
|
*/
|
|
69
70
|
export declare function splitTextIntoChunks(text: string, maxLength: number): string[];
|
|
71
|
+
/**
|
|
72
|
+
* Can this URI be opened from a chat client at all?
|
|
73
|
+
*
|
|
74
|
+
* An ALLOW-list of `http:`/`https:`, deliberately, because the answer has to hold for a hostile
|
|
75
|
+
* URL as well as a broken one. Two separate problems:
|
|
76
|
+
*
|
|
77
|
+
* - `data:` (and `blob:`/`file:`) URIs are inert: Slack rejects the whole message and Adaptive
|
|
78
|
+
* Cards silently do nothing, so a button over one is indistinguishable from a broken bot. Agents
|
|
79
|
+
* do emit them — MJ's document actions inline a whole generated file as `data:<mime>;base64,...`
|
|
80
|
+
* whenever no file storage account is configured, which is the normal local-dev state.
|
|
81
|
+
* - `javascript:`, `vbscript:` and OS handler schemes such as `ms-msdt:` are *worse* than inert.
|
|
82
|
+
* Teams desktop hands an unknown scheme to the operating system's URI handler, so a deny-list
|
|
83
|
+
* naming only the inert schemes would turn an agent-authored URL into a local code-execution
|
|
84
|
+
* surface. An allow-list cannot be outflanked by a scheme nobody thought to enumerate.
|
|
85
|
+
*
|
|
86
|
+
* Localhost stays allowed: dev "View in MJ Explorer" links depend on it, and Teams opens it.
|
|
87
|
+
* Whether a platform will additionally refuse an openable URL — Slack rejects non-public http(s)
|
|
88
|
+
* — is a separate screen; see `isButtonSafeURL` in the Slack builder.
|
|
89
|
+
*/
|
|
90
|
+
export declare function isOpenableURI(url: unknown): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Build an MJ Explorer deep link for an `open:resource` command.
|
|
93
|
+
*
|
|
94
|
+
* Returns `null` when there is nothing safe to link to — no configured Explorer base URL, or a
|
|
95
|
+
* resource kind whose identifier is absent. `resourceId` is optional on the shared `UICommand`
|
|
96
|
+
* type (a Record can be addressed by `keys` instead), so every branch checks it rather than
|
|
97
|
+
* emitting a `/resource/dashboard/undefined` URL that 404s on click.
|
|
98
|
+
*/
|
|
99
|
+
export declare function buildExplorerDeepLink(cmd: OpenResourceCommand, explorerBaseURL?: string): string | null;
|
|
70
100
|
//# sourceMappingURL=message-formatter.d.ts.map
|