context.py 1.1 KB

123456789101112131415161718192021222324252627282930
  1. from cyber_agent.application import ContextMaterial, ContextResourceDescriptor
  2. from cyber_agent.application.models import stable_hash
  3. class ReferenceContextProvider:
  4. def __init__(self) -> None:
  5. self.content = {
  6. "source": "reference-fixture",
  7. "topic": "agent framework responsibilities",
  8. }
  9. async def list_context(self, request):
  10. return [ContextResourceDescriptor(
  11. application_ref=request.application_ref,
  12. root_trace_id=request.root_trace_id,
  13. trace_id=request.trace_id,
  14. uid=request.uid,
  15. role_id=request.role_id,
  16. source_id="reference-brief",
  17. source_version="1",
  18. content_hash=stable_hash(self.content),
  19. kind="creative_brief",
  20. summary="Reference creative brief",
  21. inheritance="inheritable",
  22. estimated_chars=len(str(self.content)),
  23. )]
  24. async def resolve_context(self, request, descriptor):
  25. del request
  26. return ContextMaterial(descriptor=descriptor, content=self.content)