Versions in this module Expand all Collapse all v0 v0.6.1 Mar 13, 2026 v0.6.0 Mar 13, 2026 Changes in this version + const SessionNew + const SessionReuse + type ChatFunc func(ctx context.Context, sessionID, message, model string) <-chan runner.Event + type CronTool struct + func NewTool(service *Service) *CronTool + func (t *CronTool) Definition() toolspec.Definition + func (t *CronTool) Execute(_ context.Context, args map[string]any) (string, error) + type Decision struct + Action string + Reason string + type HeartbeatConfig struct + FastModel string + File string + type Job struct + CreatedAt time.Time + Enabled bool + ID string + Message string + Name string + Schedule Schedule + SessionMode string + func (j Job) SessionID() string + type OnJobFunc func(ctx context.Context, job Job) + type Schedule struct + At string + Cron string + Every string + type Service struct + func New(dataPath string) (*Service, error) + func (s *Service) AddJob(name, message string, sched Schedule, sessionMode string) (Job, error) + func (s *Service) ListJobs() []Job + func (s *Service) RemoveJob(id string) error + func (s *Service) ScheduleEvery(ctx context.Context, every string, fn TaskFunc) error + func (s *Service) SetHeartbeat(cfg HeartbeatConfig, chat ChatFunc, notifier channel.Notifier) + func (s *Service) SetOnJob(fn OnJobFunc) + func (s *Service) Start(ctx context.Context) error + func (s *Service) StartEphemeral(ctx context.Context) error + func (s *Service) StartHeartbeat(ctx context.Context, every string) error + func (s *Service) Stop() error + type TaskFunc func(ctx context.Context)