Skip to content

Commit b5964dd

Browse files
committed
address copilot comments
1 parent ac8aa2d commit b5964dd

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

src/tools/atlas/connect/connectCluster.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,9 +310,19 @@ export class ConnectClusterTool extends AtlasToolBase {
310310
result: CallToolResult,
311311
args: Parameters<ToolCallback<typeof this.argsShape>>
312312
): ConnectionMetadata {
313+
const parentMetadata = super.resolveTelemetryMetadata(result, ...args);
314+
const connectionMetadata = this.getConnectionInfoMetadata();
315+
// Explicitly merge, preferring parentMetadata for known overlapping keys (project_id, org_id)
316+
// since parent has more complete information from tool arguments
317+
const { project_id, org_id, ...restConnectionMetadata } = connectionMetadata;
318+
const finalProjectId = parentMetadata.project_id ?? project_id;
319+
const finalOrgId = parentMetadata.org_id ?? org_id;
313320
return {
314-
...super.resolveTelemetryMetadata(result, ...args),
315-
...this.getConnectionInfoMetadata(),
321+
...parentMetadata,
322+
...restConnectionMetadata,
323+
// Only include project_id and org_id if they are defined
324+
...(finalProjectId !== undefined && { project_id: finalProjectId }),
325+
...(finalOrgId !== undefined && { org_id: finalOrgId }),
316326
};
317327
}
318328
}

src/tools/atlasLocal/connect/connectDeployment.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,19 @@ export class ConnectDeploymentTool extends AtlasLocalToolBase {
3737
}
3838

3939
protected override resolveTelemetryMetadata(result: CallToolResult): ConnectionMetadata {
40+
const parentMetadata = super.resolveTelemetryMetadata(result);
41+
const connectionMetadata = this.getConnectionInfoMetadata();
42+
// Explicitly merge, preferring parentMetadata for known overlapping keys (project_id, org_id)
43+
// since parent has deployment-specific information
44+
const { project_id, org_id, ...restConnectionMetadata } = connectionMetadata;
45+
const finalProjectId = parentMetadata.project_id ?? project_id;
46+
const finalOrgId = parentMetadata.org_id ?? org_id;
4047
return {
41-
...super.resolveTelemetryMetadata(result),
42-
...this.getConnectionInfoMetadata(),
48+
...parentMetadata,
49+
...restConnectionMetadata,
50+
// Only include project_id and org_id if they are defined
51+
...(finalProjectId !== undefined && { project_id: finalProjectId }),
52+
...(finalOrgId !== undefined && { org_id: finalOrgId }),
4353
};
4454
}
4555
}

0 commit comments

Comments
 (0)