Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-agents/src/lexigram/ai/agents/constants.py: 94%

31 statements  

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

1"""Agent constants — error codes, metric names, and span names. 

2 

3Centralised string constants used across the agents package to prevent 

4magic-string drift between modules. 

5""" 

6 

7from __future__ import annotations 

8 

9import importlib.metadata 

10 

11try: 

12 __version__: str = importlib.metadata.version("lexigram-ai-agents") 

13except ImportError: 

14 __version__ = "0.0.0" 

15 

16# --------------------------------------------------------------------------- 

17# Environment configuration 

18# --------------------------------------------------------------------------- 

19 

20ENV_PREFIX: str = "LEX_AI_AGENTS__" 

21ENV_NESTED_DELIMITER: str = "__" 

22 

23# --------------------------------------------------------------------------- 

24# Error codes 

25# --------------------------------------------------------------------------- 

26 

27ERROR_AGENT_CONFIG: str = "AGENT_CONFIG_ERROR" 

28ERROR_AGENT_EXECUTION: str = "AGENT_EXECUTION_ERROR" 

29ERROR_TOOL_NOT_FOUND: str = "TOOL_NOT_FOUND" 

30ERROR_TOOL_EXECUTION: str = "TOOL_EXECUTION_ERROR" 

31ERROR_TOOL_ACCESS_DENIED: str = "TOOL_ACCESS_DENIED" 

32ERROR_MAX_ITERATIONS_EXCEEDED: str = "MAX_ITERATIONS_EXCEEDED" 

33ERROR_BUDGET_EXCEEDED: str = "BUDGET_EXCEEDED" 

34 

35# --------------------------------------------------------------------------- 

36# MetricProtocol names 

37# --------------------------------------------------------------------------- 

38 

39METRIC_AGENT_EXECUTIONS_TOTAL: str = "agent.executions.total" 

40METRIC_AGENT_EXECUTION_DURATION_MS: str = "agent.execution.duration_ms" 

41METRIC_AGENT_EXECUTION_TOKENS: str = "agent.execution.tokens" 

42METRIC_AGENT_EXECUTION_STEPS: str = "agent.execution.steps" 

43METRIC_AGENT_EXECUTION_TOOL_CALLS: str = "agent.execution.tool_calls" 

44METRIC_AGENT_EXECUTIONS_ERRORS: str = "agent.executions.errors" 

45METRIC_AGENT_TOOL_CALLS_TOTAL: str = "agent.tool_calls.total" 

46METRIC_AGENT_TOOL_CALL_DURATION_MS: str = "agent.tool_call.duration_ms" 

47METRIC_AGENT_TOOL_CALLS_SUCCESS: str = "agent.tool_calls.success" 

48METRIC_AGENT_TOOL_CALLS_FAILURE: str = "agent.tool_calls.failure" 

49METRIC_AGENT_TOOL_CALLS_FAILED: str = "agent.tool_calls.failed" 

50METRIC_AGENT_GOVERNANCE_DENIED: str = "agent.governance.denied" 

51 

52# --------------------------------------------------------------------------- 

53# Span names 

54# --------------------------------------------------------------------------- 

55 

56SPAN_AGENT_EXECUTE: str = "agent.execute" 

57SPAN_AGENT_TOOL: str = "agent.tool" 

58SPAN_AGENT_LLM: str = "agent.llm" 

59 

60__all__ = [ 

61 "ENV_NESTED_DELIMITER", 

62 "ENV_PREFIX", 

63 "ERROR_AGENT_CONFIG", 

64 "ERROR_AGENT_EXECUTION", 

65 "ERROR_BUDGET_EXCEEDED", 

66 "ERROR_MAX_ITERATIONS_EXCEEDED", 

67 "ERROR_TOOL_ACCESS_DENIED", 

68 "ERROR_TOOL_EXECUTION", 

69 "ERROR_TOOL_NOT_FOUND", 

70 "METRIC_AGENT_EXECUTIONS_ERRORS", 

71 "METRIC_AGENT_EXECUTIONS_TOTAL", 

72 "METRIC_AGENT_EXECUTION_DURATION_MS", 

73 "METRIC_AGENT_EXECUTION_STEPS", 

74 "METRIC_AGENT_EXECUTION_TOKENS", 

75 "METRIC_AGENT_EXECUTION_TOOL_CALLS", 

76 "METRIC_AGENT_GOVERNANCE_DENIED", 

77 "METRIC_AGENT_TOOL_CALLS_FAILED", 

78 "METRIC_AGENT_TOOL_CALLS_FAILURE", 

79 "METRIC_AGENT_TOOL_CALLS_SUCCESS", 

80 "METRIC_AGENT_TOOL_CALLS_TOTAL", 

81 "METRIC_AGENT_TOOL_CALL_DURATION_MS", 

82 "SPAN_AGENT_EXECUTE", 

83 "SPAN_AGENT_LLM", 

84 "SPAN_AGENT_TOOL", 

85 "__version__", 

86]