MCPcopy Create free account
hub / github.com/compozy/agh / taskRoleSessionMatches

Function taskRoleSessionMatches

internal/daemon/task_role_runtime.go:524–549  ·  view source on GitHub ↗
(info *session.Info, activation taskRoleActivation)

Source from the content-addressed store, hash-verified

522}
523
524func taskRoleSessionMatches(info *session.Info, activation taskRoleActivation) bool {
525 if info == nil {
526 return false
527 }
528 if !taskRoleSessionStateReusable(info.State) {
529 return false
530 }
531 if strings.TrimSpace(info.AgentName) != activation.AgentName {
532 return false
533 }
534 if strings.TrimSpace(info.Channel) != activation.Channel {
535 return false
536 }
537 if strings.TrimSpace(info.Name) != taskRoleSessionName(activation) {
538 return false
539 }
540 switch activation.Scope {
541 case taskpkg.ScopeWorkspace:
542 return strings.TrimSpace(info.WorkspaceID) == activation.WorkspaceID
543 case taskpkg.ScopeGlobal:
544 return strings.TrimSpace(info.WorkspaceID) == "" &&
545 strings.TrimSpace(info.Workspace) == activation.WorkspacePath
546 default:
547 return false
548 }
549}
550
551func taskRoleSessionStateReusable(state session.State) bool {
552 switch state {

Callers 1

activeRoleSessionMethod · 0.85

Calls 2

taskRoleSessionNameFunction · 0.85

Tested by

no test coverage detected