Documentation
¶
Index ¶
- type CreateInput
- type DecisionInput
- type Query
- type Request
- type RequestStatus
- type Service
- func (s *Service) Approve(id string, decision DecisionInput) (Request, error)
- func (s *Service) Create(input CreateInput) (Request, error)
- func (s *Service) ExpirePending() ([]Request, error)
- func (s *Service) List(query Query) ([]Request, error)
- func (s *Service) Reject(id string, decision DecisionInput) (Request, error)
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateInput ¶
CreateInput contains fields needed to create an approval request.
type DecisionInput ¶
DecisionInput contains fields needed to approve/reject a request.
type Query ¶
type Query struct {
ID string
Status RequestStatus
ToolName string
}
Query filters approval requests when listing.
type Request ¶
type Request struct {
ID string `json:"id"`
ToolName string `json:"tool_name"`
ArgsJSON string `json:"args_json"`
Reason string `json:"reason,omitempty"`
DecisionNote string `json:"decision_note,omitempty"`
Status RequestStatus `json:"status"`
RequestedAt time.Time `json:"requested_at"`
ExpiresAt time.Time `json:"expires_at,omitempty"`
DecidedAt time.Time `json:"decided_at,omitempty"`
DecidedBy string `json:"decided_by,omitempty"`
}
Request is a persisted approval request record.
type RequestStatus ¶
type RequestStatus string
RequestStatus is the lifecycle state of an approval request.
const ( StatusPending RequestStatus = "pending" StatusApproved RequestStatus = "approved" StatusRejected RequestStatus = "rejected" StatusExpired RequestStatus = "expired" )
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service orchestrates approval lifecycle operations.
func NewService ¶
NewService creates a service backed by <workspace>/state/approvals.json.
func (*Service) Approve ¶
func (s *Service) Approve(id string, decision DecisionInput) (Request, error)
Approve marks a pending request as approved.
func (*Service) Create ¶
func (s *Service) Create(input CreateInput) (Request, error)
Create inserts a new pending approval request.
func (*Service) ExpirePending ¶
ExpirePending marks pending requests as expired when TTL has elapsed.
Click to show internal directories.
Click to hide internal directories.