package repository import ( "context" "github.com/user/obsidian-mcp-server/internal/domain" ) type NoteRepository interface { Get(ctx context.Context, path string) (*domain.Note, error) Create(ctx context.Context, note *domain.Note) error Update(ctx context.Context, note *domain.Note) error Delete(ctx context.Context, path string) error List(ctx context.Context, pattern string, recursive bool) ([]*domain.Note, error) Exists(ctx context.Context, path string) bool FindByTag(ctx context.Context, tag string) ([]*domain.Note, error) FindByContent(ctx context.Context, query string) ([]*domain.Note, error) }