What information is used for Behaviour cloning

I want to train an agent using behavior cloning. I have seen that I have to provide a json as input that has the same format as the one showed in this example. This json file contains several jsons with the keys [‘type’, ‘eps_id’, ‘obs’, ‘actions’, ‘rewards’, ‘prev_actions’, ‘prev_rewards’, ‘dones’, ‘new_obs’, ‘action_prob’, ‘action_logp’, ‘action_dist_inputs’, ‘value_targets’]. I am computing the actions using a LP model with perfect foresight, hence the observation abailable for the RL agent and the LP will be different, so I could create a json containing [‘obs’, ‘actions’, ‘rewards’, ‘prev_actions’, ‘prev_rewards’, ‘dones’, ‘new_obs’]. My question is, are the rest of the keys used for BC? Is BC suitable for systems with deterministic actions?

I think specifically for vanilla BC we only need actions and obs.

If you want to take a deeper dive, we use this MARWIL policy class to implement BC.
BC is the same as MARWIL when the MARWIL beta coefficient == 0.0