File tree Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments