Skip to content

feat(cli): add command to prune exited sessions #4

@pinion05

Description

@pinion05

Summary

status 출력에 누적되는 exited 세션들을 정리할 수 있는 CLI 명령어가 필요합니다.

현재는 종료된 세션 레코드가 계속 남아 sessions 목록이 길어지고, 현재 활성/최근 세션 파악이 어려워집니다.

Proposed CLI

  • agentty prune --exited
  • (대안 네이밍) agentty clean --exited

Expected Behavior

  • sessions.json에서 status === "exited"인 세션 레코드 삭제
  • running 세션은 절대 건드리지 않음
  • active session pointer가 exited 세션을 가리키는 경우 안전하게 해제
  • 선택적으로 해당 세션 로그 파일(logs/<sessionId>.log)도 함께 정리

Optional Flags

  • --all : 모든 exited 세션 정리(기본값)
  • --older-than <duration> : 오래된 exited만 정리 (예: 7d)
  • --dry-run : 삭제 대상만 출력, 실제 삭제 없음

Acceptance Criteria

  1. running + exited가 섞인 상태에서 실행 시 exited만 제거됨
  2. 실행 후 status에서 exited 개수가 감소/0으로 표시됨
  3. running 세션 동작(text/key/get/kill)에 영향 없음
  4. active pointer가 exited를 가리키던 경우 에러 없이 정리됨
  5. --dry-run은 변경 없이 대상 목록만 보여줌

UX Notes

  • 결과 요약 출력 권장:
    • removed sessions: N
    • kept running sessions: M
    • removed logs: K (로그 정리 시)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions