Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-prompt/src/lexigram/ai/prompt/hooks.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 07:19 +0800

1"""Root hook payload surface for lexigram-ai-prompt.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import dataclass 

6 

7from lexigram.ai.prompt.rendering.engine import RenderFormat 

8 

9__all__ = [ 

10 "PromptInputSanitizedHook", 

11 "PromptRenderedHook", 

12 "PromptTemplateResolvedHook", 

13] 

14 

15 

16@dataclass(frozen=True, kw_only=True) 

17class PromptTemplateResolvedHook: 

18 """Payload fired when a named prompt template is resolved from the registry.""" 

19 

20 template_name: str 

21 

22 

23@dataclass(frozen=True, kw_only=True) 

24class PromptRenderedHook: 

25 """Payload fired after prompt rendering produces a formatted payload.""" 

26 

27 render_format: RenderFormat 

28 

29 

30@dataclass(frozen=True, kw_only=True) 

31class PromptInputSanitizedHook: 

32 """Payload fired after prompt input sanitization completes."""