@salesforce/sfdx-agent-harness-mastra 0.1.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/LICENSE.txt +21 -0
- package/README.md +66 -0
- package/dist/default-model-config-factory.d.ts +11 -0
- package/dist/default-model-config-factory.js +18 -0
- package/dist/default-model-config-factory.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/llmg-express-model-config-factory.d.ts +23 -0
- package/dist/llmg-express-model-config-factory.js +28 -0
- package/dist/llmg-express-model-config-factory.js.map +1 -0
- package/dist/mastra-event-adapter.d.ts +73 -0
- package/dist/mastra-event-adapter.js +204 -0
- package/dist/mastra-event-adapter.js.map +1 -0
- package/dist/mastra-harness-factory.d.ts +9 -0
- package/dist/mastra-harness-factory.js +17 -0
- package/dist/mastra-harness-factory.js.map +1 -0
- package/dist/mastra-harness.d.ts +292 -0
- package/dist/mastra-harness.js +838 -0
- package/dist/mastra-harness.js.map +1 -0
- package/dist/mastra-message-mapper.d.ts +42 -0
- package/dist/mastra-message-mapper.js +195 -0
- package/dist/mastra-message-mapper.js.map +1 -0
- package/dist/mastra-tool-mapper.d.ts +29 -0
- package/dist/mastra-tool-mapper.js +55 -0
- package/dist/mastra-tool-mapper.js.map +1 -0
- package/dist/mcp-config-mapper.d.ts +20 -0
- package/dist/mcp-config-mapper.js +73 -0
- package/dist/mcp-config-mapper.js.map +1 -0
- package/dist/model-config-factory.d.ts +16 -0
- package/dist/model-config-factory.js +6 -0
- package/dist/model-config-factory.js.map +1 -0
- package/dist/salesforce-llm-gateway.d.ts +29 -0
- package/dist/salesforce-llm-gateway.js +266 -0
- package/dist/salesforce-llm-gateway.js.map +1 -0
- package/dist/test/tsconfig.tsbuildinfo +1 -0
- package/dist/utils.d.ts +10 -0
- package/dist/utils.js +29 -0
- package/dist/utils.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra-harness.js","sourceRoot":"","sources":["../src/mastra-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { MastraDBMessage, MastraMessagePart } from '@mastra/core/agent';
|
|
2
|
+
import type { Message, MessagePart } from '@salesforce/sfdx-agent-sdk';
|
|
3
|
+
import { Clock, type LogBus } from '@salesforce/agentic-common';
|
|
4
|
+
/**
|
|
5
|
+
* Converts a Mastra persisted message into the SDK's {@link Message} type.
|
|
6
|
+
*
|
|
7
|
+
* Parts that have no SDK equivalent (source, file, step-start, and any
|
|
8
|
+
* unrecognized upstream types including AI SDK v5 `data-*` metadata parts)
|
|
9
|
+
* are silently dropped. Unrecognized types emit a structured `warn` log when a
|
|
10
|
+
* `logBus` is supplied so consumers can surface mapping gaps without crashing
|
|
11
|
+
* message history retrieval.
|
|
12
|
+
*/
|
|
13
|
+
export declare function mapMastraToMessage(msg: MastraDBMessage, logBus?: LogBus): Message;
|
|
14
|
+
/**
|
|
15
|
+
* Converts a single Mastra message part to the SDK {@link MessagePart} equivalent.
|
|
16
|
+
* Returns `undefined` for part types that exist in Mastra but have no SDK representation.
|
|
17
|
+
*
|
|
18
|
+
* @param logBus - When supplied, unrecognized part types emit a `warn` log via this bus.
|
|
19
|
+
* Tests that don't care about logging can omit it.
|
|
20
|
+
*/
|
|
21
|
+
export declare function mapMastraPartToMessagePart(part: MastraMessagePart, logBus?: LogBus): MessagePart | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Converts an SDK {@link Message} into the Mastra persisted message format.
|
|
24
|
+
* The `role` field is normalised: `'tool'` role (which has no Mastra equivalent)
|
|
25
|
+
* is coerced to `'assistant'`.
|
|
26
|
+
*
|
|
27
|
+
* @param clock - Optional clock used for the `createdAt` fallback when the
|
|
28
|
+
* source message has no timestamp. Defaults to `RealClock`. Tests inject
|
|
29
|
+
* a stub to make assertions deterministic.
|
|
30
|
+
*/
|
|
31
|
+
export declare function mapMessageToMastra(msg: Message, threadId: string, resourceId: string, clock?: Clock): MastraDBMessage;
|
|
32
|
+
/**
|
|
33
|
+
* Converts a single SDK {@link MessagePart} into the Mastra message part format.
|
|
34
|
+
*/
|
|
35
|
+
export declare function mapMessagePartToMastra(part: MessagePart): MastraMessagePart;
|
|
36
|
+
/**
|
|
37
|
+
* Renders a {@link MessagePart} as a human-readable string for use in
|
|
38
|
+
* transcript summaries. Tool args and results are emitted verbatim — the
|
|
39
|
+
* transcript-level char budget in `compactThread` is the safety net, not
|
|
40
|
+
* per-part truncation, which previously destroyed signal at 20 chars.
|
|
41
|
+
*/
|
|
42
|
+
export declare function partToTranscriptText(part: MessagePart): string;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, Salesforce, Inc. All rights reserved.
|
|
3
|
+
* See LICENSE.txt for license terms.
|
|
4
|
+
*/
|
|
5
|
+
import { Clock, RealClock } from '@salesforce/agentic-common';
|
|
6
|
+
/**
|
|
7
|
+
* Converts a Mastra persisted message into the SDK's {@link Message} type.
|
|
8
|
+
*
|
|
9
|
+
* Parts that have no SDK equivalent (source, file, step-start, and any
|
|
10
|
+
* unrecognized upstream types including AI SDK v5 `data-*` metadata parts)
|
|
11
|
+
* are silently dropped. Unrecognized types emit a structured `warn` log when a
|
|
12
|
+
* `logBus` is supplied so consumers can surface mapping gaps without crashing
|
|
13
|
+
* message history retrieval.
|
|
14
|
+
*/
|
|
15
|
+
export function mapMastraToMessage(msg, logBus) {
|
|
16
|
+
const parts = [];
|
|
17
|
+
for (const part of msg.content.parts) {
|
|
18
|
+
const mapped = mapMastraPartToMessagePart(part, logBus);
|
|
19
|
+
if (mapped) {
|
|
20
|
+
parts.push(mapped);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const consolidated = consolidateAdjacentTextParts(parts);
|
|
24
|
+
const isSingleText = consolidated.length === 1 && consolidated[0].type === 'text';
|
|
25
|
+
return {
|
|
26
|
+
id: msg.id,
|
|
27
|
+
role: msg.role,
|
|
28
|
+
content: isSingleText ? consolidated[0].text : consolidated,
|
|
29
|
+
createdAt: msg.createdAt,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Merges consecutive text parts into a single text part.
|
|
34
|
+
*
|
|
35
|
+
* Serves two purposes:
|
|
36
|
+
* 1. Historical data repair — messages persisted before the span-ID fix had
|
|
37
|
+
* one text part per token; consolidation makes them readable.
|
|
38
|
+
* 2. Defense in depth — multi-span responses (text before and after a tool
|
|
39
|
+
* call) are legitimate separate spans; consolidation is a no-op for those
|
|
40
|
+
* but guards against future upstream regressions.
|
|
41
|
+
*/
|
|
42
|
+
function consolidateAdjacentTextParts(parts) {
|
|
43
|
+
const result = [];
|
|
44
|
+
for (const part of parts) {
|
|
45
|
+
const prev = result[result.length - 1];
|
|
46
|
+
if (part.type === 'text' && prev?.type === 'text') {
|
|
47
|
+
result[result.length - 1] = { type: 'text', text: prev.text + part.text };
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
result.push(part);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Converts a single Mastra message part to the SDK {@link MessagePart} equivalent.
|
|
57
|
+
* Returns `undefined` for part types that exist in Mastra but have no SDK representation.
|
|
58
|
+
*
|
|
59
|
+
* @param logBus - When supplied, unrecognized part types emit a `warn` log via this bus.
|
|
60
|
+
* Tests that don't care about logging can omit it.
|
|
61
|
+
*/
|
|
62
|
+
export function mapMastraPartToMessagePart(part, logBus) {
|
|
63
|
+
switch (part.type) {
|
|
64
|
+
case 'text':
|
|
65
|
+
return { type: 'text', text: part.text };
|
|
66
|
+
case 'reasoning':
|
|
67
|
+
return { type: 'reasoning', text: part.reasoning };
|
|
68
|
+
case 'tool-invocation': {
|
|
69
|
+
const inv = part.toolInvocation;
|
|
70
|
+
if (inv.state === 'partial-call') {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
if (inv.state === 'result') {
|
|
74
|
+
return {
|
|
75
|
+
type: 'tool-result',
|
|
76
|
+
toolCallId: inv.toolCallId,
|
|
77
|
+
toolName: inv.toolName,
|
|
78
|
+
result: inv.result,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
type: 'tool-call',
|
|
83
|
+
toolCallId: inv.toolCallId,
|
|
84
|
+
toolName: inv.toolName,
|
|
85
|
+
args: inv.args,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// Part types that exist in Mastra but have no SDK equivalent yet.
|
|
89
|
+
case 'source':
|
|
90
|
+
case 'file':
|
|
91
|
+
case 'step-start':
|
|
92
|
+
return undefined;
|
|
93
|
+
default:
|
|
94
|
+
// AI SDK v5 data parts use a `data-*` type prefix for framework-specific
|
|
95
|
+
// metadata (e.g. workspace info). These are harness-internal and expected.
|
|
96
|
+
if (part.type.startsWith('data-')) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
logBus?.warn('Skipping unrecognized MastraMessagePart; omitted from message history', {
|
|
100
|
+
partType: part.type,
|
|
101
|
+
hint: 'Update mapMastraPartToMessagePart to handle this type if it should be mapped.',
|
|
102
|
+
});
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Converts an SDK {@link Message} into the Mastra persisted message format.
|
|
108
|
+
* The `role` field is normalised: `'tool'` role (which has no Mastra equivalent)
|
|
109
|
+
* is coerced to `'assistant'`.
|
|
110
|
+
*
|
|
111
|
+
* @param clock - Optional clock used for the `createdAt` fallback when the
|
|
112
|
+
* source message has no timestamp. Defaults to `RealClock`. Tests inject
|
|
113
|
+
* a stub to make assertions deterministic.
|
|
114
|
+
*/
|
|
115
|
+
export function mapMessageToMastra(msg, threadId, resourceId, clock = new RealClock()) {
|
|
116
|
+
const parts = [];
|
|
117
|
+
if (typeof msg.content === 'string') {
|
|
118
|
+
parts.push({ type: 'text', text: msg.content });
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
for (const part of msg.content) {
|
|
122
|
+
parts.push(mapMessagePartToMastra(part));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const role = msg.role === 'tool' ? 'assistant' : msg.role;
|
|
126
|
+
return {
|
|
127
|
+
id: msg.id,
|
|
128
|
+
role,
|
|
129
|
+
createdAt: msg.createdAt ?? clock.now(),
|
|
130
|
+
threadId,
|
|
131
|
+
resourceId,
|
|
132
|
+
content: {
|
|
133
|
+
format: 2,
|
|
134
|
+
parts,
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Converts a single SDK {@link MessagePart} into the Mastra message part format.
|
|
140
|
+
*/
|
|
141
|
+
export function mapMessagePartToMastra(part) {
|
|
142
|
+
switch (part.type) {
|
|
143
|
+
case 'text':
|
|
144
|
+
return { type: 'text', text: part.text };
|
|
145
|
+
case 'reasoning':
|
|
146
|
+
return {
|
|
147
|
+
type: 'reasoning',
|
|
148
|
+
reasoning: part.text,
|
|
149
|
+
details: [{ type: 'text', text: part.text }],
|
|
150
|
+
};
|
|
151
|
+
case 'tool-call':
|
|
152
|
+
return {
|
|
153
|
+
type: 'tool-invocation',
|
|
154
|
+
toolInvocation: {
|
|
155
|
+
state: 'call',
|
|
156
|
+
toolCallId: part.toolCallId,
|
|
157
|
+
toolName: part.toolName,
|
|
158
|
+
args: part.args,
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
case 'tool-result':
|
|
162
|
+
return {
|
|
163
|
+
type: 'tool-invocation',
|
|
164
|
+
toolInvocation: {
|
|
165
|
+
state: 'result',
|
|
166
|
+
toolCallId: part.toolCallId,
|
|
167
|
+
toolName: part.toolName,
|
|
168
|
+
args: {},
|
|
169
|
+
result: part.result,
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Renders a {@link MessagePart} as a human-readable string for use in
|
|
176
|
+
* transcript summaries. Tool args and results are emitted verbatim — the
|
|
177
|
+
* transcript-level char budget in `compactThread` is the safety net, not
|
|
178
|
+
* per-part truncation, which previously destroyed signal at 20 chars.
|
|
179
|
+
*/
|
|
180
|
+
export function partToTranscriptText(part) {
|
|
181
|
+
switch (part.type) {
|
|
182
|
+
case 'text':
|
|
183
|
+
case 'reasoning':
|
|
184
|
+
return part.text;
|
|
185
|
+
case 'tool-call': {
|
|
186
|
+
const argsStr = JSON.stringify(part.args);
|
|
187
|
+
return `[tool-call: ${part.toolName}(${argsStr})]`;
|
|
188
|
+
}
|
|
189
|
+
case 'tool-result': {
|
|
190
|
+
const resultStr = typeof part.result === 'string' ? part.result : JSON.stringify(part.result);
|
|
191
|
+
return `[tool-result: ${part.toolName} → ${resultStr}]`;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=mastra-message-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra-message-mapper.js","sourceRoot":"","sources":["../src/mastra-message-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ToolsInput } from '@mastra/core/agent';
|
|
2
|
+
import type { ToolDefinition } from '@salesforce/sfdx-agent-sdk';
|
|
3
|
+
/**
|
|
4
|
+
* Converts SDK {@link ToolDefinition} objects into Mastra-compatible {@link ToolAction} entries.
|
|
5
|
+
*
|
|
6
|
+
* Each tool is registered with `requireApproval: true` so that Mastra's agentic loop
|
|
7
|
+
* suspends when the model calls the tool. The consumer then calls
|
|
8
|
+
* `MastraHarness.submitToolResult()`, which resumes the suspended workflow via
|
|
9
|
+
* `agent.resumeStream()` with the client-provided result. The bridge `execute` handler
|
|
10
|
+
* reads `resumeData` from the resume context and returns (or throws for errors).
|
|
11
|
+
*
|
|
12
|
+
* Note: `resumeData` is accessed via a cast because Mastra's `CoreToolBuilder` places it
|
|
13
|
+
* at a context location that depends on internal heuristics (flat vs. nested under `.agent`).
|
|
14
|
+
* The cast matches the observed runtime shape on the `resumeStream` path. A runtime guard
|
|
15
|
+
* catches any future changes to this contract.
|
|
16
|
+
*
|
|
17
|
+
* @requirements
|
|
18
|
+
* - MUST set `id` to `tool.name` so the Mastra Agent registers the tool under that key.
|
|
19
|
+
* - MUST set `description` to `tool.description` (fallback to empty string when absent).
|
|
20
|
+
* - MUST set `inputSchema` to `tool.inputSchema`; `PublicSchema` accepts raw JSON Schema objects.
|
|
21
|
+
* - MUST set `requireApproval: true` so the agentic loop suspends on tool calls.
|
|
22
|
+
* - MUST set an `execute` handler that reads the client-provided result from
|
|
23
|
+
* `context.resumeData` (populated by `resumeStream()`) and returns it. When
|
|
24
|
+
* `resumeData.isError` is truthy the handler MUST throw so Mastra emits a
|
|
25
|
+
* `tool-error` chunk.
|
|
26
|
+
* - MUST throw if `resumeData` is absent — the handler is only called after resume,
|
|
27
|
+
* so a missing payload indicates a Mastra API change.
|
|
28
|
+
*/
|
|
29
|
+
export declare function mapToolDefinitionsToMastraTools(tools: ToolDefinition[]): ToolsInput;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, Salesforce, Inc. All rights reserved.
|
|
3
|
+
* See LICENSE.txt for license terms.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Converts SDK {@link ToolDefinition} objects into Mastra-compatible {@link ToolAction} entries.
|
|
7
|
+
*
|
|
8
|
+
* Each tool is registered with `requireApproval: true` so that Mastra's agentic loop
|
|
9
|
+
* suspends when the model calls the tool. The consumer then calls
|
|
10
|
+
* `MastraHarness.submitToolResult()`, which resumes the suspended workflow via
|
|
11
|
+
* `agent.resumeStream()` with the client-provided result. The bridge `execute` handler
|
|
12
|
+
* reads `resumeData` from the resume context and returns (or throws for errors).
|
|
13
|
+
*
|
|
14
|
+
* Note: `resumeData` is accessed via a cast because Mastra's `CoreToolBuilder` places it
|
|
15
|
+
* at a context location that depends on internal heuristics (flat vs. nested under `.agent`).
|
|
16
|
+
* The cast matches the observed runtime shape on the `resumeStream` path. A runtime guard
|
|
17
|
+
* catches any future changes to this contract.
|
|
18
|
+
*
|
|
19
|
+
* @requirements
|
|
20
|
+
* - MUST set `id` to `tool.name` so the Mastra Agent registers the tool under that key.
|
|
21
|
+
* - MUST set `description` to `tool.description` (fallback to empty string when absent).
|
|
22
|
+
* - MUST set `inputSchema` to `tool.inputSchema`; `PublicSchema` accepts raw JSON Schema objects.
|
|
23
|
+
* - MUST set `requireApproval: true` so the agentic loop suspends on tool calls.
|
|
24
|
+
* - MUST set an `execute` handler that reads the client-provided result from
|
|
25
|
+
* `context.resumeData` (populated by `resumeStream()`) and returns it. When
|
|
26
|
+
* `resumeData.isError` is truthy the handler MUST throw so Mastra emits a
|
|
27
|
+
* `tool-error` chunk.
|
|
28
|
+
* - MUST throw if `resumeData` is absent — the handler is only called after resume,
|
|
29
|
+
* so a missing payload indicates a Mastra API change.
|
|
30
|
+
*/
|
|
31
|
+
export function mapToolDefinitionsToMastraTools(tools) {
|
|
32
|
+
const result = {};
|
|
33
|
+
for (const tool of tools) {
|
|
34
|
+
const mastraTool = {
|
|
35
|
+
id: tool.name,
|
|
36
|
+
description: tool.description ?? '',
|
|
37
|
+
inputSchema: tool.inputSchema,
|
|
38
|
+
requireApproval: true,
|
|
39
|
+
execute: async (_inputData, context) => {
|
|
40
|
+
const resume = context.resumeData;
|
|
41
|
+
if (!resume) {
|
|
42
|
+
throw new Error(`Bridge execute handler for "${tool.name}" called without resumeData. ` +
|
|
43
|
+
'This handler should only run after agent.resumeStream() — Mastra API may have changed.');
|
|
44
|
+
}
|
|
45
|
+
if (resume.isError) {
|
|
46
|
+
throw new Error(String(resume.result));
|
|
47
|
+
}
|
|
48
|
+
return resume.result;
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
result[tool.name] = mastraTool;
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=mastra-tool-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastra-tool-mapper.js","sourceRoot":"","sources":["../src/mastra-tool-mapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAuB;IACnE,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,UAAU,GAAiC;YAC7C,EAAE,EAAE,IAAI,CAAC,IAAI;YACb,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,KAAK,EAAE,UAAmB,EAAE,OAAO,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAI,OAAoE,CAAC,UAAU,CAAC;gBAChG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CACX,+BAA+B,IAAI,CAAC,IAAI,+BAA+B;wBACnE,wFAAwF,CAC/F,CAAC;gBACN,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;SACJ,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MastraMCPServerDefinition } from '@mastra/mcp';
|
|
2
|
+
import type { JSONWebToken } from '@salesforce/llm-gateway-sdk';
|
|
3
|
+
import { type MCPConfiguration } from '@salesforce/sfdx-agent-sdk';
|
|
4
|
+
/**
|
|
5
|
+
* Returns `true` if `config` contains at least one server that is not explicitly disabled.
|
|
6
|
+
* A server is considered enabled when its `enabled` property is `true` or absent.
|
|
7
|
+
*/
|
|
8
|
+
export declare function hasEnabledServers(config: MCPConfiguration | undefined): config is MCPConfiguration;
|
|
9
|
+
/**
|
|
10
|
+
* Converts our {@link MCPConfiguration} into the `servers` map expected by Mastra's `MCPClient`.
|
|
11
|
+
*
|
|
12
|
+
* - Servers where `enabled === false` are omitted so no subprocess or connection is created for them.
|
|
13
|
+
* - `MCPStdioServerConfig` maps to a Mastra stdio definition (`command`, `args`, `env`).
|
|
14
|
+
* - `MCPRemoteServerConfig` maps to a Mastra HTTP definition (`url` as a `URL` object,
|
|
15
|
+
* `headers` forwarded via `requestInit`).
|
|
16
|
+
* - Per-server `timeout` is preserved when provided.
|
|
17
|
+
* - When `orgJwt` is provided, remote servers get a `fetch` that delegates to
|
|
18
|
+
* {@link resolveMcpServerHeaders} per-request to inject auth for Salesforce Platform URLs.
|
|
19
|
+
*/
|
|
20
|
+
export declare function mapToMastraMCPServers(config: MCPConfiguration, orgJwt?: JSONWebToken): Record<string, MastraMCPServerDefinition>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, Salesforce, Inc. All rights reserved.
|
|
3
|
+
* See LICENSE.txt for license terms.
|
|
4
|
+
*/
|
|
5
|
+
import { resolveMcpServerHeaders } from '@salesforce/sfdx-agent-sdk';
|
|
6
|
+
/**
|
|
7
|
+
* Returns `true` if `config` contains at least one server that is not explicitly disabled.
|
|
8
|
+
* A server is considered enabled when its `enabled` property is `true` or absent.
|
|
9
|
+
*/
|
|
10
|
+
export function hasEnabledServers(config) {
|
|
11
|
+
if (!config)
|
|
12
|
+
return false;
|
|
13
|
+
return Object.values(config).some((s) => s.enabled !== false);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Converts our {@link MCPConfiguration} into the `servers` map expected by Mastra's `MCPClient`.
|
|
17
|
+
*
|
|
18
|
+
* - Servers where `enabled === false` are omitted so no subprocess or connection is created for them.
|
|
19
|
+
* - `MCPStdioServerConfig` maps to a Mastra stdio definition (`command`, `args`, `env`).
|
|
20
|
+
* - `MCPRemoteServerConfig` maps to a Mastra HTTP definition (`url` as a `URL` object,
|
|
21
|
+
* `headers` forwarded via `requestInit`).
|
|
22
|
+
* - Per-server `timeout` is preserved when provided.
|
|
23
|
+
* - When `orgJwt` is provided, remote servers get a `fetch` that delegates to
|
|
24
|
+
* {@link resolveMcpServerHeaders} per-request to inject auth for Salesforce Platform URLs.
|
|
25
|
+
*/
|
|
26
|
+
export function mapToMastraMCPServers(config, orgJwt) {
|
|
27
|
+
const result = {};
|
|
28
|
+
for (const [name, serverConfig] of Object.entries(config)) {
|
|
29
|
+
if (serverConfig.enabled === false) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (serverConfig.type === 'stdio') {
|
|
33
|
+
const def = {
|
|
34
|
+
command: serverConfig.command,
|
|
35
|
+
...(serverConfig.args !== undefined && { args: serverConfig.args }),
|
|
36
|
+
...(serverConfig.env !== undefined && { env: serverConfig.env }),
|
|
37
|
+
...(serverConfig.timeout !== undefined && { timeout: serverConfig.timeout }),
|
|
38
|
+
};
|
|
39
|
+
result[name] = def;
|
|
40
|
+
}
|
|
41
|
+
else if (serverConfig.type === 'remote') {
|
|
42
|
+
const url = serverConfig.url instanceof URL ? serverConfig.url : new URL(serverConfig.url);
|
|
43
|
+
const def = {
|
|
44
|
+
url,
|
|
45
|
+
...(serverConfig.headers !== undefined && {
|
|
46
|
+
requestInit: { headers: serverConfig.headers },
|
|
47
|
+
}),
|
|
48
|
+
...(orgJwt && { fetch: createAuthFetch(serverConfig.url, orgJwt, serverConfig.headers) }),
|
|
49
|
+
...(serverConfig.timeout !== undefined && { timeout: serverConfig.timeout }),
|
|
50
|
+
};
|
|
51
|
+
result[name] = def;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Exhaustiveness check: if a new MCPServerConfig type is added to the union
|
|
55
|
+
// without updating this mapper, TypeScript will error here at compile time.
|
|
56
|
+
const _exhaustive = serverConfig;
|
|
57
|
+
throw new Error(`Unsupported MCP server type: "${_exhaustive.type}". ` +
|
|
58
|
+
'Update mapToMastraMCPServers to handle this type.');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
function createAuthFetch(serverUrl, orgJwt, existingHeaders) {
|
|
64
|
+
return async (url, init) => {
|
|
65
|
+
const authHeaders = await resolveMcpServerHeaders(serverUrl, orgJwt, existingHeaders);
|
|
66
|
+
const merged = new Headers(init?.headers);
|
|
67
|
+
for (const [key, value] of Object.entries(authHeaders)) {
|
|
68
|
+
merged.set(key, value);
|
|
69
|
+
}
|
|
70
|
+
return globalThis.fetch(url, { ...init, headers: merged });
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=mcp-config-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-config-mapper.js","sourceRoot":"","sources":["../src/mcp-config-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { MastraModelConfig } from '@mastra/core/llm';
|
|
2
|
+
import type { LLMGatewayClient } from '@salesforce/llm-gateway-sdk';
|
|
3
|
+
export interface ResolvedModelConfig {
|
|
4
|
+
model: MastraModelConfig;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Factory for creating model configurations used by the Mastra Agent.
|
|
8
|
+
*
|
|
9
|
+
* Implementations decide how to build a language model from the available
|
|
10
|
+
* context. The LLMGatewayClient is provided for implementations that need
|
|
11
|
+
* Salesforce org-authenticated model access; implementations that use
|
|
12
|
+
* alternative backends (e.g., direct API key auth) may ignore it.
|
|
13
|
+
*/
|
|
14
|
+
export interface MastraModelConfigFactory {
|
|
15
|
+
create(llmGatewayClient: LLMGatewayClient): ResolvedModelConfig;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-config-factory.js","sourceRoot":"","sources":["../src/model-config-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { MastraModelGateway, type ProviderConfig } from '@mastra/core/llm';
|
|
2
|
+
import type { LanguageModelV2 } from '@ai-sdk/provider';
|
|
3
|
+
import type { LLMGatewayClient } from '@salesforce/llm-gateway-sdk';
|
|
4
|
+
/**
|
|
5
|
+
* Bridges the Salesforce LLM Gateway SDK to Mastra's MastraModelGateway interface.
|
|
6
|
+
*
|
|
7
|
+
* Translates AI SDK LanguageModelV2 calls into GatewayClient API calls,
|
|
8
|
+
* mapping prompts, tools, and responses between the two type systems.
|
|
9
|
+
* Uses chat() for non-streaming generation and chatStream() for streaming.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SalesforceMastraModelGateway extends MastraModelGateway {
|
|
12
|
+
private readonly gatewayClient;
|
|
13
|
+
readonly id = "sfdc";
|
|
14
|
+
readonly name = "Salesforce LLM Gateway";
|
|
15
|
+
private lastResponseTextPromise;
|
|
16
|
+
private resolveLastResponseText?;
|
|
17
|
+
constructor(gatewayClient: LLMGatewayClient);
|
|
18
|
+
getApiKey(_modelId: string): Promise<string>;
|
|
19
|
+
buildUrl(_modelId: string, _envVars: Record<string, string>): string;
|
|
20
|
+
fetchProviders(): Promise<Record<string, ProviderConfig>>;
|
|
21
|
+
resolveLanguageModel(): LanguageModelV2;
|
|
22
|
+
takeLastResponseText(): Promise<string | undefined>;
|
|
23
|
+
private doGenerate;
|
|
24
|
+
private doStream;
|
|
25
|
+
private buildChatRequest;
|
|
26
|
+
private translatePrompt;
|
|
27
|
+
private toolResultOutputToString;
|
|
28
|
+
private translateTools;
|
|
29
|
+
}
|