Documentation
¶
Overview ¶
Package memory provides file-backed project and global memory storage.
Index ¶
- Variables
- func LooksLikeSecret(content string) bool
- func ParseFile(path string) (*session.Memory, error)
- type FileStore
- func (s *FileStore) Forget(ctx context.Context, scope session.MemoryScope, memoryID string) (*session.Memory, error)
- func (s *FileStore) List(ctx context.Context, scope session.MemoryScope) ([]*session.Memory, error)
- func (s *FileStore) ListMemories(ctx context.Context) ([]*session.Memory, error)
- func (s *FileStore) MemoryDir(scope session.MemoryScope) (string, error)
- func (s *FileStore) ProjectMemoryGitignoreWarning(ctx context.Context) (string, error)
- func (s *FileStore) Remember(ctx context.Context, scope session.MemoryScope, content string) (*session.Memory, error)
- type FileStoreOptions
Constants ¶
This section is empty.
Variables ¶
var ErrSecret = errors.New("memory: content appears to contain a secret")
ErrSecret is returned when memory content looks like it contains a secret.
Functions ¶
func LooksLikeSecret ¶
LooksLikeSecret reports whether content matches common secret patterns.
Types ¶
type FileStore ¶
type FileStore struct {
// contains filtered or unexported fields
}
FileStore persists project and global memories as Markdown files.
func NewFileStore ¶
func NewFileStore(opts FileStoreOptions) *FileStore
NewFileStore constructs a file-backed memory store.
func (*FileStore) Forget ¶
func (s *FileStore) Forget(ctx context.Context, scope session.MemoryScope, memoryID string) (*session.Memory, error)
Forget removes an active project or global memory file by id.
func (*FileStore) ListMemories ¶
ListMemories returns global memories, then project memories, for prompt injection.
func (*FileStore) MemoryDir ¶
func (s *FileStore) MemoryDir(scope session.MemoryScope) (string, error)
MemoryDir returns the directory that backs a project or global memory scope.
func (*FileStore) ProjectMemoryGitignoreWarning ¶
ProjectMemoryGitignoreWarning returns a warning before the first project memory write when .hygge/ is not ignored by git. It never edits .gitignore.