(input: {
readonly role: string;
readonly integration: string;
readonly message: string;
readonly candidates: readonly string[];
})
| 1093 | * carries the same three facts for the same reason. |
| 1094 | */ |
| 1095 | const bindingUnresolvedResult = (input: { |
| 1096 | readonly role: string; |
| 1097 | readonly integration: string; |
| 1098 | readonly message: string; |
| 1099 | readonly candidates: readonly string[]; |
| 1100 | }): McpToolResult => ({ |
| 1101 | content: [ |
| 1102 | { |
| 1103 | type: "text", |
| 1104 | text: |
| 1105 | input.candidates.length > 0 |
| 1106 | ? `${input.message} Choose one of ${input.candidates.join(", ")}.` |
| 1107 | : input.message, |
| 1108 | }, |
| 1109 | ], |
| 1110 | structuredContent: { |
| 1111 | status: "error", |
| 1112 | error: "binding_unresolved", |
| 1113 | role: input.role, |
| 1114 | integration: input.integration, |
| 1115 | candidates: input.candidates, |
| 1116 | }, |
| 1117 | isError: true, |
| 1118 | }); |
| 1119 | |
| 1120 | /** Format the stored source for the text result channel. */ |
| 1121 | const artifactSourceText = (code: string): string => `Source:\n\`\`\`tsx\n${code}\n\`\`\``; |
no outgoing calls
no test coverage detected