Documentation
¶
Index ¶
- func ConfiguredMachine() (string, error)
- func DefaultScanner() (*secretscan.Scanner, []string, error)
- func DirForRead(projectsRoot string) (string, error)
- func DirForWrite(projectsRoot string) (string, error)
- func MoveStore(projectsRoot string) (sessionmove.Store, error)
- func ParkTargetStore(projectsRoot string) (sessionpark.TargetStore, error)
- func ResolveSource(projectsRoot string) (session.Record, bool, error)
- func ScanContinuation(load func() (*secretscan.Scanner, []string, error), ...) ([]secretscan.Finding, error)
- type ListDependencies
- type ListRequest
- type ListService
- type MessageDependencies
- type MessageRequest
- type MessageService
- type MoveDependencies
- type MoveRequest
- type MoveResult
- type MoveService
- type ParkDependencies
- type ParkOutput
- type ParkRegistration
- type ParkRequest
- type ParkResult
- type ParkService
- type PruneDependencies
- type PruneService
- type ReceiveDependencies
- type ReceiveMessageDependencies
- type ReceiveMessageService
- type ReceiveParkDependencies
- type ReceiveParkService
- type ReceiveRequest
- type ReceiveService
- type RegisterDependencies
- type RegisterRequest
- type RegisterService
- type ResumeDependencies
- type ResumeRequest
- type ResumeResult
- type ResumeService
- type Row
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConfiguredMachine ¶
func DefaultScanner ¶
func DefaultScanner() (*secretscan.Scanner, []string, error)
func DirForRead ¶
func DirForWrite ¶
func ParkTargetStore ¶
func ParkTargetStore(projectsRoot string) (sessionpark.TargetStore, error)
func ScanContinuation ¶
func ScanContinuation(load func() (*secretscan.Scanner, []string, error), overrides secretscan.Overrides, segments ...secretscan.Segment) ([]secretscan.Finding, error)
Types ¶
type ListDependencies ¶
type ListDependencies struct {
Directory func(string) (string, error)
Records func(string) ([]session.View, error)
Worktrees func(context.Context, worktrees.ListOptions) ([]worktrees.ListResult, error)
Home func(string) (string, error)
Waits func(string, waitregistry.Options) ([]waitregistry.Record, error)
}
func DefaultListDependencies ¶
func DefaultListDependencies() ListDependencies
type ListRequest ¶
type ListService ¶
type ListService struct {
// contains filtered or unexported fields
}
func NewList ¶
func NewList(deps ListDependencies) *ListService
func (*ListService) List ¶
func (s *ListService) List(_ context.Context, request ListRequest, warn func(string)) ([]Row, error)
List intentionally detaches the attribution scan from caller cancellation, matching the existing observational listing contract.
type MessageDependencies ¶
type MessageDependencies struct {
ResolveSource func(string) (session.Record, bool, error)
Store func(string) (sessionmove.Store, error)
NewMessageID func() (string, error)
Send func(context.Context, sessionmessenger.Options) (sessionmessenger.Result, error)
Now func() time.Time
}
func DefaultMessageDependencies ¶
func DefaultMessageDependencies() MessageDependencies
type MessageRequest ¶
type MessageRequest struct {
ProjectsRoot, Target, Body, ResumeID, RetryVerb string
Kind sessionmove.MessageKind
}
type MessageService ¶
type MessageService struct {
// contains filtered or unexported fields
}
func NewMessage ¶
func NewMessage(deps MessageDependencies) *MessageService
func (*MessageService) Send ¶
func (s *MessageService) Send(ctx context.Context, request MessageRequest) (sessionmessenger.Result, error)
type MoveDependencies ¶
type MoveDependencies struct {
LoadScanner func() (*secretscan.Scanner, []string, error)
DefaultConfigPath func() string
LoadConfig func(string) (sessionmove.Config, error)
LocalMachine func() (string, error)
ResolveSource func(string) (session.Record, bool, error)
Checkpoint func(context.Context, worktrees.SessionCheckpointOptions) (worktrees.SessionCheckpointResult, error)
Store func(string) (sessionmove.Store, error)
NewDeliverer func(sessionmove.TargetConfig, sessionmove.Courier, sessioncourier.SynchestraOptions) (sessioncourier.Deliverer, error)
LoopbackDeliverer func(sessionmove.Store) sessioncourier.Deliverer
Acknowledge func(context.Context, sessioncustody.Options) (sessioncustody.Result, error)
}
func DefaultMoveDependencies ¶
func DefaultMoveDependencies() MoveDependencies
type MoveRequest ¶
type MoveRequest struct {
ProjectsRoot string
Worktree string
Target string
Via string
ConfigPath string
Harness string
Model string
Summary string
Validation string
Remaining string
HandoverFile string
Input io.Reader
OverrideSecrets []string
ResumeID string
}
MoveRequest describes a fresh move or a retry of an immutable handoff. Input is only consumed for HandoverFile "-" at the existing input stage.
type MoveResult ¶
type MoveResult struct {
Phase string `json:"phase"`
Courier sessionmove.Courier `json:"courier"`
SourceActive bool `json:"source_active"`
Request sessionmove.Request `json:"request"`
Digest sessionmove.Digest `json:"request_digest"`
Successor *sessionlaunch.Result `json:"successor,omitempty"`
Receipt *sessionmove.Receipt `json:"receipt,omitempty"`
Address *sessionmove.SuccessorAddress `json:"successor_address,omitempty"`
Resume bool `json:"-"`
}
MoveResult is the existing public move response. Resume selects the existing completed-handoff text without adding a field to the public JSON response.
type MoveService ¶
type MoveService struct {
// contains filtered or unexported fields
}
func NewMove ¶
func NewMove(deps MoveDependencies) *MoveService
func (*MoveService) Move ¶
func (s *MoveService) Move(ctx context.Context, request MoveRequest, warn func([]secretscan.Finding)) (MoveResult, error)
func (*MoveService) Resume ¶
func (s *MoveService) Resume(ctx context.Context, options MoveRequest) (MoveResult, error)
type ParkDependencies ¶
type ParkDependencies struct {
Directory func(string) (string, error)
Home func(string) (string, error)
PID func() int
ResolveSource func(string, int, session.AutoRegisterHints) (session.Record, bool, error)
List func(context.Context, worktrees.ListOptions) ([]worktrees.ListResult, error)
Store func(string) sessionpark.Store
Capture func(context.Context, string, []worktrees.ListResult, session.Record, func([]sessionpark.Worktree) error) error
NewID func() (string, error)
Now func() time.Time
MarkParked func(string, int, string) (session.Record, error)
LoadScanner func() (*secretscan.Scanner, []string, error)
}
func DefaultParkDependencies ¶
func DefaultParkDependencies() ParkDependencies
type ParkOutput ¶
type ParkOutput struct {
ParkedSessionID string `json:"parked_session_id"`
Status string `json:"status"`
MemberCount int `json:"member_count"`
// WBSessionID names the parked source session, and RegisteredAtPark says
// whether park had to register it first. A caller that never ran
// `wb session register` learns its own identity from exactly here.
WBSessionID string `json:"wb_session_id"`
RegisteredAtPark bool `json:"registered_at_park"`
}
type ParkRegistration ¶
type ParkRequest ¶
type ParkResult ¶
type ParkResult struct {
Output ParkOutput
Warnings []secretscan.Finding
Registration ParkRegistration
}
ParkResult keeps post-success presentation facts separate from public JSON.
type ParkService ¶
type ParkService struct {
// contains filtered or unexported fields
}
func NewPark ¶
func NewPark(deps ParkDependencies) *ParkService
func (*ParkService) Park ¶
func (s *ParkService) Park(ctx context.Context, request ParkRequest) (ParkResult, error)
type PruneDependencies ¶
type PruneDependencies struct {
Directory func(string) (string, error)
Prune func(string) (int, error)
}
func DefaultPruneDependencies ¶
func DefaultPruneDependencies() PruneDependencies
type PruneService ¶
type PruneService struct {
// contains filtered or unexported fields
}
func NewPrune ¶
func NewPrune(deps PruneDependencies) *PruneService
type ReceiveDependencies ¶
type ReceiveDependencies struct {
LocalMachine func() (string, error)
Store func(string) (sessionmove.Store, error)
Receive func(context.Context, sessionreceive.Options) (sessionreceive.Result, error)
}
func DefaultReceiveDependencies ¶
func DefaultReceiveDependencies() ReceiveDependencies
type ReceiveMessageDependencies ¶
type ReceiveMessageDependencies struct {
LocalMachine func() (string, error)
Store func(string) (sessionmove.Store, error)
Receive func(context.Context, sessionmessage.Options) (sessionmessage.Result, error)
Directory func(string) (string, error)
}
func DefaultReceiveMessageDependencies ¶
func DefaultReceiveMessageDependencies() ReceiveMessageDependencies
type ReceiveMessageService ¶
type ReceiveMessageService struct {
// contains filtered or unexported fields
}
func NewReceiveMessage ¶
func NewReceiveMessage(deps ReceiveMessageDependencies) *ReceiveMessageService
func (*ReceiveMessageService) ReceiveMessage ¶
func (s *ReceiveMessageService) ReceiveMessage(ctx context.Context, request ReceiveRequest) (sessionmessage.Result, error)
type ReceiveParkDependencies ¶
type ReceiveParkDependencies struct {
LocalMachine func() (string, error)
Store func(string) (sessionpark.TargetStore, error)
Receive func(context.Context, sessionparkreceive.Options) (sessionparkreceive.Result, error)
}
func DefaultReceiveParkDependencies ¶
func DefaultReceiveParkDependencies() ReceiveParkDependencies
type ReceiveParkService ¶
type ReceiveParkService struct {
// contains filtered or unexported fields
}
func NewReceivePark ¶
func NewReceivePark(deps ReceiveParkDependencies) *ReceiveParkService
func (*ReceiveParkService) ReceivePark ¶
func (s *ReceiveParkService) ReceivePark(ctx context.Context, request ReceiveRequest) (sessionparkreceive.Result, error)
type ReceiveRequest ¶
type ReceiveService ¶
type ReceiveService struct {
// contains filtered or unexported fields
}
func NewReceive ¶
func NewReceive(deps ReceiveDependencies) *ReceiveService
func (*ReceiveService) Receive ¶
func (s *ReceiveService) Receive(ctx context.Context, request ReceiveRequest) (sessionreceive.Result, error)
type RegisterDependencies ¶
type RegisterDependencies struct {
CurrentPID func() int
ParentPID func() int
RuntimeProcess func(int, string) bool
Directory func(string) (string, error)
Register func(string, session.Record) (session.Record, error)
}
func DefaultRegisterDependencies ¶
func DefaultRegisterDependencies() RegisterDependencies
type RegisterRequest ¶
type RegisterService ¶
type RegisterService struct {
// contains filtered or unexported fields
}
func NewRegister ¶
func NewRegister(deps RegisterDependencies) *RegisterService
func (*RegisterService) Register ¶
func (s *RegisterService) Register(_ context.Context, request RegisterRequest) (session.Record, error)
type ResumeDependencies ¶
type ResumeDependencies struct {
Home func(string) (string, error)
Now func() time.Time
DeliverSSH func(context.Context, sessionmove.SSHConfig, []byte, sessionparkcourier.Options) (sessionparkcourier.Result, error)
WithRemoteCustody func(context.Context, string, sessionpark.Bundle, func() error) error
WithLocalCustody func(context.Context, string, sessionpark.Bundle, string, func(*worktrees.ParkedLocalCustody) error) error
AttachLocal func(context.Context, *worktrees.ParkedLocalCustody, session.Record, string, uint64) error
StartLocal func(context.Context, sessionlaunch.Options) (sessionlaunch.Result, error)
InspectLocal func(context.Context, sessionlaunch.Options) (sessionlaunch.Result, error)
InspectPrepared func(context.Context, sessionlaunch.Options) (string, error)
AfterLocalLaunch func(sessionlaunch.Result) error
MarkResumed func(string, int, string, string) (session.Record, error)
PreflightLocal func(session.Record) error
}
func DefaultResumeDependencies ¶
func DefaultResumeDependencies() ResumeDependencies
type ResumeRequest ¶
type ResumeResult ¶
type ResumeResult struct {
ParkedSessionID string `json:"parked_session_id"`
Status string `json:"status"`
TargetMachine string `json:"target_machine"`
SuccessorWBSessionID string `json:"successor_wb_session_id"`
MemberCount int `json:"member_count"`
ReceiptDigest sessionmove.Digest `json:"receipt_digest,omitempty"`
Replay bool `json:"replay"`
}
type ResumeService ¶
type ResumeService struct {
// contains filtered or unexported fields
}
func NewResume ¶
func NewResume(deps ResumeDependencies) *ResumeService
func (*ResumeService) Resume ¶
func (s *ResumeService) Resume(ctx context.Context, request ResumeRequest) (ResumeResult, error)
type Row ¶
type Row struct {
session.View
Efforts []string `json:"efforts"`
Worktrees []string `json:"worktrees"`
Branches []string `json:"branches"`
// Waiting is what this session has delegated to WB and is still blocked
// on. Without it a session that correctly delegated its waiting is
// indistinguishable from one that stopped.
Waiting []string `json:"waiting,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.