summaryrefslogtreecommitdiff
path: root/packages/core/src/tools
diff options
context:
space:
mode:
authorRichie Foreman <[email protected]>2025-08-17 12:43:21 -0400
committerGitHub <[email protected]>2025-08-17 16:43:21 +0000
commit2998f27f703282359f6389d1c2d8758fc6a14955 (patch)
treea7e3ff7f969c44e61ab27240cdd615e291b6deae /packages/core/src/tools
parentec1fa954d18ec9abab3ce669536dd24559a499f1 (diff)
chore(compiler): Enable strict property access TS compiler flag. (#6255)
Co-authored-by: Jacob Richman <[email protected]>
Diffstat (limited to 'packages/core/src/tools')
-rw-r--r--packages/core/src/tools/mcp-client.ts14
-rw-r--r--packages/core/src/tools/mcp-tool.ts7
2 files changed, 11 insertions, 10 deletions
diff --git a/packages/core/src/tools/mcp-client.ts b/packages/core/src/tools/mcp-client.ts
index 837b91fc..87d38815 100644
--- a/packages/core/src/tools/mcp-client.ts
+++ b/packages/core/src/tools/mcp-client.ts
@@ -448,7 +448,7 @@ export function hasValidTypes(schema: unknown): boolean {
const s = schema as Record<string, unknown>;
- if (!s.type) {
+ if (!s['type']) {
// These keywords contain an array of schemas that should be validated.
//
// If no top level type was given, then they must each have a type.
@@ -470,9 +470,9 @@ export function hasValidTypes(schema: unknown): boolean {
if (!hasSubSchema) return false;
}
- if (s.type === 'object' && s.properties) {
- if (typeof s.properties === 'object' && s.properties !== null) {
- for (const prop of Object.values(s.properties)) {
+ if (s['type'] === 'object' && s['properties']) {
+ if (typeof s['properties'] === 'object' && s['properties'] !== null) {
+ for (const prop of Object.values(s['properties'])) {
if (!hasValidTypes(prop)) {
return false;
}
@@ -480,8 +480,8 @@ export function hasValidTypes(schema: unknown): boolean {
}
}
- if (s.type === 'array' && s.items) {
- if (!hasValidTypes(s.items)) {
+ if (s['type'] === 'array' && s['items']) {
+ if (!hasValidTypes(s['items'])) {
return false;
}
}
@@ -1046,7 +1046,7 @@ export async function connectToMcpServer(
conciseError = `Connection failed for '${mcpServerName}': ${errorMessage}`;
}
- if (process.env.SANDBOX) {
+ if (process.env['SANDBOX']) {
conciseError += ` (check sandbox availability)`;
}
diff --git a/packages/core/src/tools/mcp-tool.ts b/packages/core/src/tools/mcp-tool.ts
index 88e89c85..64952dd1 100644
--- a/packages/core/src/tools/mcp-tool.ts
+++ b/packages/core/src/tools/mcp-tool.ts
@@ -271,7 +271,7 @@ function transformResourceLinkBlock(block: McpResourceLinkBlock): Part {
*/
function transformMcpContentToParts(sdkResponse: Part[]): Part[] {
const funcResponse = sdkResponse?.[0]?.functionResponse;
- const mcpContent = funcResponse?.response?.content as McpContentBlock[];
+ const mcpContent = funcResponse?.response?.['content'] as McpContentBlock[];
const toolName = funcResponse?.name || 'unknown tool';
if (!Array.isArray(mcpContent)) {
@@ -308,8 +308,9 @@ function transformMcpContentToParts(sdkResponse: Part[]): Part[] {
* @returns A formatted string representing the tool's output.
*/
function getStringifiedResultForDisplay(rawResponse: Part[]): string {
- const mcpContent = rawResponse?.[0]?.functionResponse?.response
- ?.content as McpContentBlock[];
+ const mcpContent = rawResponse?.[0]?.functionResponse?.response?.[
+ 'content'
+ ] as McpContentBlock[];
if (!Array.isArray(mcpContent)) {
return '```json\n' + JSON.stringify(rawResponse, null, 2) + '\n```';