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
« 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.
3Centralised string constants used across the agents package to prevent
4magic-string drift between modules.
5"""
7from __future__ import annotations
9import importlib.metadata
11try:
12 __version__: str = importlib.metadata.version("lexigram-ai-agents")
13except ImportError:
14 __version__ = "0.0.0"
16# ---------------------------------------------------------------------------
17# Environment configuration
18# ---------------------------------------------------------------------------
20ENV_PREFIX: str = "LEX_AI_AGENTS__"
21ENV_NESTED_DELIMITER: str = "__"
23# ---------------------------------------------------------------------------
24# Error codes
25# ---------------------------------------------------------------------------
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"
35# ---------------------------------------------------------------------------
36# MetricProtocol names
37# ---------------------------------------------------------------------------
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"
52# ---------------------------------------------------------------------------
53# Span names
54# ---------------------------------------------------------------------------
56SPAN_AGENT_EXECUTE: str = "agent.execute"
57SPAN_AGENT_TOOL: str = "agent.tool"
58SPAN_AGENT_LLM: str = "agent.llm"
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]