agent-orchestrator/backend/internal/adapters/agent/codex/activity.go

24 lines
839 B
Go

package codex
import "github.com/aoagents/agent-orchestrator/backend/internal/domain"
// DeriveActivityState maps a Codex hook event onto an AO activity state. The
// bool is false when the event carries no activity signal.
//
// event is the AO hook sub-command name installed in codexManagedHooks
// ("user-prompt-submit", "permission-request", "stop", ...), not the native
// Codex event name. Codex currently has no SessionEnd/Notification equivalent
// in the adapter, so runtime exit still falls back to the reaper.
func DeriveActivityState(event string, _ []byte) (domain.ActivityState, bool) {
switch event {
case "user-prompt-submit":
return domain.ActivityActive, true
case "permission-request":
return domain.ActivityWaitingInput, true
case "stop":
return domain.ActivityIdle, true
default:
return "", false
}
}