server

package
v1.14.5 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package server provides the HTTP API for Engram.

This is how external clients (OpenCode plugin, Claude Code hooks, any agent) communicate with the memory engine. Simple JSON REST API.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Server

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

func New

func New(s *store.Store, port int) *Server

func (*Server) Handler

func (s *Server) Handler() http.Handler

func (*Server) SetOnWrite added in v1.8.0

func (s *Server) SetOnWrite(fn func())

SetOnWrite configures a callback invoked after every successful local write. This is used to notify autosync.Manager via NotifyDirty().

func (*Server) SetSyncStatus added in v1.8.0

func (s *Server) SetSyncStatus(provider SyncStatusProvider)

SetSyncStatus configures the sync status provider for the /sync/status endpoint.

func (*Server) Start

func (s *Server) Start() error

type SyncStatus added in v1.8.0

type SyncStatus struct {
	Enabled              bool       `json:"enabled"`
	Phase                string     `json:"phase"`
	LastError            string     `json:"last_error,omitempty"`
	ConsecutiveFailures  int        `json:"consecutive_failures"`
	BackoffUntil         *time.Time `json:"backoff_until,omitempty"`
	LastSyncAt           *time.Time `json:"last_sync_at,omitempty"`
	ReasonCode           string     `json:"reason_code,omitempty"`
	ReasonMessage        string     `json:"reason_message,omitempty"`
	UpgradeStage         string     `json:"upgrade_stage,omitempty"`
	UpgradeReasonCode    string     `json:"upgrade_reason_code,omitempty"`
	UpgradeReasonMessage string     `json:"upgrade_reason_message,omitempty"`
}

SyncStatus mirrors autosync.Status to avoid a direct import cycle.

type SyncStatusProvider added in v1.8.0

type SyncStatusProvider interface {
	Status(project string) SyncStatus
}

SyncStatusProvider returns the current sync status. This is implemented by autosync.Manager and injected from cmd/engram/main.go.

Jump to

Keyboard shortcuts

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