// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "peridot/bin/sessionmgr/agent_runner/agent_runner_storage.h"

namespace modular {

AgentRunnerStorage::AgentRunnerStorage() = default;
AgentRunnerStorage::~AgentRunnerStorage() = default;

}  // namespace modular
