MCPcopy
hub / github.com/codeaashu/claude-code / setMultipleMemberModes

Function setMultipleMemberModes

src/utils/swarm/teamHelpers.ts:415–445  ·  view source on GitHub ↗
(
  teamName: string,
  modeUpdates: Array<{ memberName: string; mode: PermissionMode }>,
)

Source from the content-addressed store, hash-verified

413 * @param modeUpdates - Array of {memberName, mode} to update
414 */
415export function setMultipleMemberModes(
416 teamName: string,
417 modeUpdates: Array<{ memberName: string; mode: PermissionMode }>,
418): boolean {
419 const teamFile = readTeamFile(teamName)
420 if (!teamFile) {
421 return false
422 }
423
424 // Build a map of updates for efficient lookup
425 const updateMap = new Map(modeUpdates.map(u => [u.memberName, u.mode]))
426
427 // Create updated members array immutably
428 let anyChanged = false
429 const updatedMembers = teamFile.members.map(member => {
430 const newMode = updateMap.get(member.name)
431 if (newMode !== undefined && member.mode !== newMode) {
432 anyChanged = true
433 return { ...member, mode: newMode }
434 }
435 return member
436 })
437
438 if (anyChanged) {
439 writeTeamFile(teamName, { ...teamFile, members: updatedMembers })
440 logForDebugging(
441 `[TeammateTool] Set ${modeUpdates.length} member modes in team ${teamName}`,
442 )
443 }
444 return true
445}
446
447/**
448 * Sets a team member's active status.

Callers 1

cycleAllTeammateModesFunction · 0.85

Calls 4

readTeamFileFunction · 0.85
writeTeamFileFunction · 0.85
logForDebuggingFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected