sessions

package
v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileSystemRegistry

type FileSystemRegistry struct {
	// contains filtered or unexported fields
}

FileSystemRegistry implements Registry using the filesystem at ~/.grove/hooks/sessions/

func NewFileSystemRegistry

func NewFileSystemRegistry() (*FileSystemRegistry, error)

func (*FileSystemRegistry) Find

func (r *FileSystemRegistry) Find(jobID string) (*SessionMetadata, error)

Find searches for a session by Grove job ID in the SessionMetadata.

func (*FileSystemRegistry) IsAlive

func (r *FileSystemRegistry) IsAlive(sessionID string) (bool, error)

IsAlive checks if a session with the given ID is still running.

func (*FileSystemRegistry) Register

func (r *FileSystemRegistry) Register(metadata SessionMetadata) error

Register creates the tracking files for a live session.

type Registry

type Registry interface {
	Register(metadata SessionMetadata) error
	IsAlive(sessionID string) (bool, error)
	Find(jobID string) (*SessionMetadata, error)
}

Registry defines the interface for managing live session tracking.

type SessionMetadata

type SessionMetadata struct {
	SessionID        string    `json:"session_id"`
	ClaudeSessionID  string    `json:"claude_session_id,omitempty"` // For Claude provider (or native agent ID)
	Provider         string    `json:"provider"`                    // "claude" or "codex"
	PID              int       `json:"pid"`
	Repo             string    `json:"repo,omitempty"`
	Branch           string    `json:"branch,omitempty"`
	TmuxKey          string    `json:"tmux_key,omitempty"`
	WorkingDirectory string    `json:"working_directory"`
	User             string    `json:"user"`
	StartedAt        time.Time `json:"started_at"`
	TranscriptPath   string    `json:"transcript_path,omitempty"`
	Type             string    `json:"type,omitempty"`
	JobTitle         string    `json:"job_title,omitempty"`
	PlanName         string    `json:"plan_name,omitempty"`
	JobFilePath      string    `json:"job_file_path,omitempty"`
}

SessionMetadata is the data stored on disk to track a live session.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL