code: func New(dir string) *Agent {
  	a := &Agent{
  		socket: filepath.Join(dir, ".gopass-agent.sock"),
  		cache: &cache{
  			ttl:    time.Hour,
  			maxTTL: 24 * time.Hour,
  		},
  		pinentry: func() (piner, error) {
  			return pinentry.New()
  		},
  	}
  	mux := http.NewServeMux()
  	mux.HandleFunc("/ping", a.servePing)
  	mux.HandleFunc("/passphrase", a.servePassphrase)
  	mux.HandleFunc("/cache/remove", a.serveRemove)
  	mux.HandleFunc("/cache/purge", a.servePurge)
  	a.server = &http.Server{
  		Handler: mux,
  	}
  	return a
  }
docs: // New creates a new agent