MCPcopy
hub / github.com/apache/caldera / _get_all_possible_abilities_by_agent

Method _get_all_possible_abilities_by_agent

app/objects/c_operation.py:465–473  ·  view source on GitHub ↗
(self, data_svc)

Source from the content-addressed store, hash-verified

463 return [link for link in self.chain if link.paw == paw and not link.finish and not link.can_ignore()]
464
465 async def _get_all_possible_abilities_by_agent(self, data_svc):
466 abilities = {'all_abilities': [ab for ab_id in self.adversary.atomic_ordering
467 for ab in await data_svc.locate('abilities', match=dict(ability_id=ab_id))]}
468 abilities_by_agent = {a.paw: abilities for a in self.agents}
469 for link in self.chain:
470 if link.ability.ability_id not in self.adversary.atomic_ordering:
471 matching_abilities = await data_svc.locate('abilities', match=dict(ability_id=link.ability.ability_id))
472 abilities_by_agent[link.paw]['all_abilities'].extend(matching_abilities)
473 return abilities_by_agent
474
475 def _check_reason_skipped(self, agent, ability, op_facts, state, agent_executors, agent_ran):
476 if ability.ability_id in agent_ran:

Callers 1

Calls 1

locateMethod · 0.45

Tested by

no test coverage detected