aeonic-agentguard-sdk-python 0.1.2__tar.gz → 0.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/PKG-INFO +1 -3
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/__init__.py +1 -1
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/agentguard/registration.py +1 -1
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/agentguard/sse_client.py +1 -1
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/assessment/executor.py +1 -1
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/introspection.py +9 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/sender.py +8 -13
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic_agentguard_sdk_python.egg-info/PKG-INFO +1 -3
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/pyproject.toml +1 -5
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/LICENSE +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/README.md +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/adapters/__init__.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/adapters/django.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/adapters/fastapi.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/__init__.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/agent_registry.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/agent_status_cache.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/agentguard/__init__.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/assessment/__init__.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/buffer.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/init.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/types.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/utils/__init__.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/utils/safe_serialize.py +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic_agentguard_sdk_python.egg-info/SOURCES.txt +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic_agentguard_sdk_python.egg-info/dependency_links.txt +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic_agentguard_sdk_python.egg-info/requires.txt +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic_agentguard_sdk_python.egg-info/top_level.txt +0 -0
- {aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/setup.cfg +0 -0
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aeonic-agentguard-sdk-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: Official Python SDK for Aeonic — runtime monitoring and governance for AI agents
|
|
5
5
|
Author-email: Aeonic <support@aeonic.ai>
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, http://45.79.111.106:3290/doc/sdk/python
|
|
8
8
|
Project-URL: Documentation, http://45.79.111.106:3290/doc/sdk/python
|
|
9
|
-
Project-URL: Repository, https://github.com/aeonic/aeonic-sdk-python
|
|
10
|
-
Project-URL: Issues, https://github.com/aeonic/aeonic-sdk-python/issues
|
|
11
9
|
Keywords: ai,agent,agentic-ai,sdk,monitoring,governance,llm,fastapi,django,middleware
|
|
12
10
|
Classifier: Development Status :: 3 - Alpha
|
|
13
11
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -17,7 +17,7 @@ _CREDENTIALS_LOCK = threading.Lock()
|
|
|
17
17
|
|
|
18
18
|
def _get_endpoint() -> str:
|
|
19
19
|
"""Get the Aeonic endpoint from environment variable."""
|
|
20
|
-
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291")
|
|
20
|
+
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291").rstrip("/")
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def register_agent_guard() -> Dict[str, Any]:
|
|
@@ -21,7 +21,7 @@ _INITIAL_RECONNECT_DELAY = 1.0 # 1 second
|
|
|
21
21
|
|
|
22
22
|
def _get_endpoint() -> str:
|
|
23
23
|
"""Get the Aeonic endpoint from environment variable."""
|
|
24
|
-
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291")
|
|
24
|
+
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291").rstrip("/")
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def start_sse_connection() -> None:
|
|
@@ -12,7 +12,7 @@ logger = logging.getLogger("aeonic")
|
|
|
12
12
|
|
|
13
13
|
def _get_endpoint() -> str:
|
|
14
14
|
"""Get the Aeonic endpoint from environment variable."""
|
|
15
|
-
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291")
|
|
15
|
+
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291").rstrip("/")
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def execute_assessment(job: Dict[str, Any]) -> List[Dict[str, Any]]:
|
|
@@ -259,6 +259,10 @@ def _introspect_fastapi_routes(app: Any) -> None:
|
|
|
259
259
|
|
|
260
260
|
if agent_count == 0:
|
|
261
261
|
logger.warning("[Aeonic] No agent routes found during introspection")
|
|
262
|
+
else:
|
|
263
|
+
logger.info(
|
|
264
|
+
"[Aeonic] Detected %s agent endpoint(s) via FastAPI introspection", agent_count
|
|
265
|
+
)
|
|
262
266
|
|
|
263
267
|
except Exception as e:
|
|
264
268
|
logger.warning(f"[Aeonic] FastAPI introspection failed: {e}")
|
|
@@ -346,6 +350,11 @@ def _introspect_django_routes(app: Any) -> None:
|
|
|
346
350
|
|
|
347
351
|
if agent_count[0] == 0:
|
|
348
352
|
logger.warning("[Aeonic] No agent routes found during introspection")
|
|
353
|
+
else:
|
|
354
|
+
logger.info(
|
|
355
|
+
"[Aeonic] Detected %s agent endpoint(s) via Django introspection",
|
|
356
|
+
agent_count[0],
|
|
357
|
+
)
|
|
349
358
|
|
|
350
359
|
except ImportError:
|
|
351
360
|
logger.error("[Aeonic] Django not installed - cannot introspect Django routes")
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/sender.py
RENAMED
|
@@ -30,7 +30,7 @@ def _get_endpoint() -> str:
|
|
|
30
30
|
Reads AEONIC_ENDPOINT, with fallback to production endpoint.
|
|
31
31
|
This is called lazily to ensure environment variables are loaded.
|
|
32
32
|
"""
|
|
33
|
-
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291")
|
|
33
|
+
return os.environ.get("AEONIC_ENDPOINT", "http://45.79.111.106:3291").rstrip("/")
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
def detect_origin() -> Optional[str]:
|
|
@@ -217,28 +217,23 @@ def emit_agent_inventory(payload: Dict[str, Any]) -> bool:
|
|
|
217
217
|
url = f"{_get_endpoint()}/sdk/agent-inventory"
|
|
218
218
|
data = json.dumps(payload).encode("utf-8")
|
|
219
219
|
|
|
220
|
-
|
|
221
|
-
logger.debug("[Aeonic] Emitting agent inventory")
|
|
220
|
+
logger.info("[Aeonic] Emitting agent inventory")
|
|
222
221
|
req = urllib.request.Request(url, data=data, headers=headers, method="POST")
|
|
223
222
|
|
|
224
223
|
with urllib.request.urlopen(req, timeout=100) as response:
|
|
225
224
|
response_data = json.loads(response.read())
|
|
226
225
|
if response_data.get("success"):
|
|
227
|
-
|
|
228
|
-
logger.debug("[Aeonic] Agent inventory emitted successfully")
|
|
226
|
+
logger.info("[Aeonic] Agent inventory emitted successfully")
|
|
229
227
|
return True
|
|
230
228
|
else:
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
)
|
|
229
|
+
logger.warning(
|
|
230
|
+
"[Aeonic] Agent inventory emission failed: %s",
|
|
231
|
+
response_data.get("message"),
|
|
232
|
+
)
|
|
236
233
|
return False
|
|
237
234
|
|
|
238
235
|
except Exception as err:
|
|
239
236
|
# Silently fail - do NOT break startup
|
|
240
|
-
|
|
241
|
-
if os.environ.get("AEONIC_DEBUG"):
|
|
242
|
-
logger.debug("[Aeonic] Failed to emit agent inventory: %s", err)
|
|
237
|
+
logger.warning("[Aeonic] Agent inventory emission failed: %s", err)
|
|
243
238
|
|
|
244
239
|
raise err
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aeonic-agentguard-sdk-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: Official Python SDK for Aeonic — runtime monitoring and governance for AI agents
|
|
5
5
|
Author-email: Aeonic <support@aeonic.ai>
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, http://45.79.111.106:3290/doc/sdk/python
|
|
8
8
|
Project-URL: Documentation, http://45.79.111.106:3290/doc/sdk/python
|
|
9
|
-
Project-URL: Repository, https://github.com/aeonic/aeonic-sdk-python
|
|
10
|
-
Project-URL: Issues, https://github.com/aeonic/aeonic-sdk-python/issues
|
|
11
9
|
Keywords: ai,agent,agentic-ai,sdk,monitoring,governance,llm,fastapi,django,middleware
|
|
12
10
|
Classifier: Development Status :: 3 - Alpha
|
|
13
11
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "aeonic-agentguard-sdk-python"
|
|
8
|
-
version = "0.1.
|
|
8
|
+
version = "0.1.5"
|
|
9
9
|
description = "Official Python SDK for Aeonic — runtime monitoring and governance for AI agents"
|
|
10
10
|
readme = "README.md"
|
|
11
11
|
license = { text = "MIT" }
|
|
@@ -58,10 +58,6 @@ dev = [
|
|
|
58
58
|
[project.urls]
|
|
59
59
|
Homepage = "http://45.79.111.106:3290/doc/sdk/python"
|
|
60
60
|
Documentation = "http://45.79.111.106:3290/doc/sdk/python"
|
|
61
|
-
Repository = "https://github.com/aeonic/aeonic-sdk-python"
|
|
62
|
-
Issues = "https://github.com/aeonic/aeonic-sdk-python/issues"
|
|
63
|
-
|
|
64
|
-
|
|
65
61
|
|
|
66
62
|
# =========================
|
|
67
63
|
# TOOLING (QUALITY CHECKS)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/adapters/django.py
RENAMED
|
File without changes
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/adapters/fastapi.py
RENAMED
|
File without changes
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/buffer.py
RENAMED
|
File without changes
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/init.py
RENAMED
|
File without changes
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/core/types.py
RENAMED
|
File without changes
|
{aeonic_agentguard_sdk_python-0.1.2 → aeonic_agentguard_sdk_python-0.1.5}/aeonic/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|