deferred_init.py 771 B

12345678910111213141516171819202122232425262728293031
  1. from __future__ import annotations
  2. from dataclasses import dataclass
  3. @dataclass(frozen=True)
  4. class DeferredInitResult:
  5. trusted: bool
  6. plugin_init: bool
  7. skill_init: bool
  8. mcp_prefetch: bool
  9. session_hooks: bool
  10. def as_lines(self) -> tuple[str, ...]:
  11. return (
  12. f'- plugin_init={self.plugin_init}',
  13. f'- skill_init={self.skill_init}',
  14. f'- mcp_prefetch={self.mcp_prefetch}',
  15. f'- session_hooks={self.session_hooks}',
  16. )
  17. def run_deferred_init(trusted: bool) -> DeferredInitResult:
  18. enabled = bool(trusted)
  19. return DeferredInitResult(
  20. trusted=trusted,
  21. plugin_init=enabled,
  22. skill_init=enabled,
  23. mcp_prefetch=enabled,
  24. session_hooks=enabled,
  25. )