atbash-hermes-plugin 0.1.6__tar.gz → 0.1.7.dev0__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.
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/PKG-INFO +20 -4
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/README.md +15 -2
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/atbash_hermes_plugin/__init__.py +22 -1
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/atbash_hermes_plugin.egg-info/PKG-INFO +20 -4
- atbash_hermes_plugin-0.1.7.dev0/atbash_hermes_plugin.egg-info/requires.txt +4 -0
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/pyproject.toml +5 -2
- atbash_hermes_plugin-0.1.6/atbash_hermes_plugin.egg-info/requires.txt +0 -1
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/LICENSE +0 -0
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/atbash_hermes_plugin.egg-info/SOURCES.txt +0 -0
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/atbash_hermes_plugin.egg-info/dependency_links.txt +0 -0
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/atbash_hermes_plugin.egg-info/entry_points.txt +0 -0
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/atbash_hermes_plugin.egg-info/top_level.txt +0 -0
- {atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atbash-hermes-plugin
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7.dev0
|
|
4
4
|
Summary: Atbash safety plugin for Hermes Agent
|
|
5
5
|
Author: atbash
|
|
6
6
|
License-Expression: LicenseRef-Atbash-Proprietary
|
|
@@ -10,7 +10,10 @@ Keywords: atbash,hermes,hermes-agent,agent-safety,ai-safety,tool-guard,judge,pol
|
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
|
-
Requires-Dist: atbash-sdk==0.1.
|
|
13
|
+
Requires-Dist: atbash-sdk==0.1.7.dev0
|
|
14
|
+
Requires-Dist: httpx<1,>=0.27
|
|
15
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.29
|
|
16
|
+
Requires-Dist: opentelemetry-sdk<2,>=1.29
|
|
14
17
|
Dynamic: license-file
|
|
15
18
|
|
|
16
19
|
# Atbash Hermes Plugin
|
|
@@ -35,13 +38,13 @@ stopped before execution.
|
|
|
35
38
|
Install the plugin into the same Python environment that runs Hermes:
|
|
36
39
|
|
|
37
40
|
```bash
|
|
38
|
-
pip install atbash-hermes-plugin==0.1.
|
|
41
|
+
pip install --pre atbash-hermes-plugin==0.1.7.dev0
|
|
39
42
|
```
|
|
40
43
|
|
|
41
44
|
If Hermes is installed in a virtual environment, use that environment's Python:
|
|
42
45
|
|
|
43
46
|
```bash
|
|
44
|
-
/path/to/hermes/venv/bin/python -m pip install atbash-hermes-plugin==0.1.
|
|
47
|
+
/path/to/hermes/venv/bin/python -m pip install --pre atbash-hermes-plugin==0.1.7.dev0
|
|
45
48
|
```
|
|
46
49
|
|
|
47
50
|
## Configure Atbash
|
|
@@ -117,6 +120,19 @@ ATBASH_ORG_NAME=your-org-name
|
|
|
117
120
|
ATBASH_TOOL_MAP_PATH=$HOME/.config/atbash/hermes-tool-map.json
|
|
118
121
|
```
|
|
119
122
|
|
|
123
|
+
## Telemetry
|
|
124
|
+
|
|
125
|
+
The plugin initializes the Atbash Python SDK OpenTelemetry metrics with
|
|
126
|
+
`source="plugin:hermes"`, matching the pattern used by the OpenClaw plugin.
|
|
127
|
+
Telemetry is best-effort and never blocks guard registration or tool execution.
|
|
128
|
+
|
|
129
|
+
The Python SDK telemetry opt-out is file-based. To disable telemetry, create:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
mkdir -p ~/.config/atbash
|
|
133
|
+
printf '{"enabled": false}\n' > ~/.config/atbash/telemetry.json
|
|
134
|
+
```
|
|
135
|
+
|
|
120
136
|
## Enable Or Check The Plugin
|
|
121
137
|
|
|
122
138
|
Hermes should discover installed Python packages that expose the
|
|
@@ -20,13 +20,13 @@ stopped before execution.
|
|
|
20
20
|
Install the plugin into the same Python environment that runs Hermes:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
pip install atbash-hermes-plugin==0.1.
|
|
23
|
+
pip install --pre atbash-hermes-plugin==0.1.7.dev0
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
If Hermes is installed in a virtual environment, use that environment's Python:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
/path/to/hermes/venv/bin/python -m pip install atbash-hermes-plugin==0.1.
|
|
29
|
+
/path/to/hermes/venv/bin/python -m pip install --pre atbash-hermes-plugin==0.1.7.dev0
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Configure Atbash
|
|
@@ -102,6 +102,19 @@ ATBASH_ORG_NAME=your-org-name
|
|
|
102
102
|
ATBASH_TOOL_MAP_PATH=$HOME/.config/atbash/hermes-tool-map.json
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
+
## Telemetry
|
|
106
|
+
|
|
107
|
+
The plugin initializes the Atbash Python SDK OpenTelemetry metrics with
|
|
108
|
+
`source="plugin:hermes"`, matching the pattern used by the OpenClaw plugin.
|
|
109
|
+
Telemetry is best-effort and never blocks guard registration or tool execution.
|
|
110
|
+
|
|
111
|
+
The Python SDK telemetry opt-out is file-based. To disable telemetry, create:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
mkdir -p ~/.config/atbash
|
|
115
|
+
printf '{"enabled": false}\n' > ~/.config/atbash/telemetry.json
|
|
116
|
+
```
|
|
117
|
+
|
|
105
118
|
## Enable Or Check The Plugin
|
|
106
119
|
|
|
107
120
|
Hermes should discover installed Python packages that expose the
|
{atbash_hermes_plugin-0.1.6 → atbash_hermes_plugin-0.1.7.dev0}/atbash_hermes_plugin/__init__.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import atexit
|
|
3
4
|
import json
|
|
4
5
|
import logging
|
|
5
6
|
import os
|
|
@@ -7,6 +8,7 @@ from pathlib import Path
|
|
|
7
8
|
from typing import Any, Dict, Optional
|
|
8
9
|
|
|
9
10
|
logger = logging.getLogger("atbash-hermes-plugin")
|
|
11
|
+
_TELEMETRY_SHUTDOWN_REGISTERED = False
|
|
10
12
|
|
|
11
13
|
HOLD_MESSAGE = (
|
|
12
14
|
"Action held for operator review. The agent will not be jailed — please approve "
|
|
@@ -177,6 +179,24 @@ def _safe_json_value(value: Any) -> Any:
|
|
|
177
179
|
return str(value)
|
|
178
180
|
|
|
179
181
|
|
|
182
|
+
def _setup_telemetry() -> None:
|
|
183
|
+
"""Initialize SDK telemetry with a Hermes-specific source label.
|
|
184
|
+
|
|
185
|
+
Telemetry is best-effort: missing optional OpenTelemetry packages or runtime
|
|
186
|
+
exporter issues must never prevent the guard from registering.
|
|
187
|
+
"""
|
|
188
|
+
global _TELEMETRY_SHUTDOWN_REGISTERED
|
|
189
|
+
try:
|
|
190
|
+
from atbash.opentel import setup_telemetry, shutdown_telemetry # type: ignore
|
|
191
|
+
|
|
192
|
+
setup_telemetry(enabled=True, source="plugin:hermes")
|
|
193
|
+
if not _TELEMETRY_SHUTDOWN_REGISTERED:
|
|
194
|
+
atexit.register(shutdown_telemetry)
|
|
195
|
+
_TELEMETRY_SHUTDOWN_REGISTERED = True
|
|
196
|
+
except Exception as e:
|
|
197
|
+
logger.debug("Atbash telemetry setup skipped err=%s", e)
|
|
198
|
+
|
|
199
|
+
|
|
180
200
|
class AtbashHermesGuard:
|
|
181
201
|
def __init__(self) -> None:
|
|
182
202
|
self.debug = _as_bool(os.getenv("ATBASH_DEBUG"), False)
|
|
@@ -220,7 +240,7 @@ class AtbashHermesGuard:
|
|
|
220
240
|
from atbash import Atbash # type: ignore
|
|
221
241
|
from atbash.types import ToolCallInput # type: ignore
|
|
222
242
|
except Exception:
|
|
223
|
-
raise RuntimeError("atbash-sdk is required. Install with: pip install atbash-sdk==0.1.
|
|
243
|
+
raise RuntimeError("atbash-sdk is required. Install with: pip install atbash-sdk==0.1.7.dev0") from e
|
|
224
244
|
|
|
225
245
|
self.ToolCallInput = ToolCallInput
|
|
226
246
|
judge_cfg = self._judge_config()
|
|
@@ -391,6 +411,7 @@ class AtbashHermesGuard:
|
|
|
391
411
|
|
|
392
412
|
|
|
393
413
|
def register(ctx):
|
|
414
|
+
_setup_telemetry()
|
|
394
415
|
guard = AtbashHermesGuard()
|
|
395
416
|
ctx.register_hook("pre_tool_call", guard.pre_tool_call)
|
|
396
417
|
logger.info("[atbash-hermes-plugin] registered pre_tool_call hook")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atbash-hermes-plugin
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7.dev0
|
|
4
4
|
Summary: Atbash safety plugin for Hermes Agent
|
|
5
5
|
Author: atbash
|
|
6
6
|
License-Expression: LicenseRef-Atbash-Proprietary
|
|
@@ -10,7 +10,10 @@ Keywords: atbash,hermes,hermes-agent,agent-safety,ai-safety,tool-guard,judge,pol
|
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
|
-
Requires-Dist: atbash-sdk==0.1.
|
|
13
|
+
Requires-Dist: atbash-sdk==0.1.7.dev0
|
|
14
|
+
Requires-Dist: httpx<1,>=0.27
|
|
15
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.29
|
|
16
|
+
Requires-Dist: opentelemetry-sdk<2,>=1.29
|
|
14
17
|
Dynamic: license-file
|
|
15
18
|
|
|
16
19
|
# Atbash Hermes Plugin
|
|
@@ -35,13 +38,13 @@ stopped before execution.
|
|
|
35
38
|
Install the plugin into the same Python environment that runs Hermes:
|
|
36
39
|
|
|
37
40
|
```bash
|
|
38
|
-
pip install atbash-hermes-plugin==0.1.
|
|
41
|
+
pip install --pre atbash-hermes-plugin==0.1.7.dev0
|
|
39
42
|
```
|
|
40
43
|
|
|
41
44
|
If Hermes is installed in a virtual environment, use that environment's Python:
|
|
42
45
|
|
|
43
46
|
```bash
|
|
44
|
-
/path/to/hermes/venv/bin/python -m pip install atbash-hermes-plugin==0.1.
|
|
47
|
+
/path/to/hermes/venv/bin/python -m pip install --pre atbash-hermes-plugin==0.1.7.dev0
|
|
45
48
|
```
|
|
46
49
|
|
|
47
50
|
## Configure Atbash
|
|
@@ -117,6 +120,19 @@ ATBASH_ORG_NAME=your-org-name
|
|
|
117
120
|
ATBASH_TOOL_MAP_PATH=$HOME/.config/atbash/hermes-tool-map.json
|
|
118
121
|
```
|
|
119
122
|
|
|
123
|
+
## Telemetry
|
|
124
|
+
|
|
125
|
+
The plugin initializes the Atbash Python SDK OpenTelemetry metrics with
|
|
126
|
+
`source="plugin:hermes"`, matching the pattern used by the OpenClaw plugin.
|
|
127
|
+
Telemetry is best-effort and never blocks guard registration or tool execution.
|
|
128
|
+
|
|
129
|
+
The Python SDK telemetry opt-out is file-based. To disable telemetry, create:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
mkdir -p ~/.config/atbash
|
|
133
|
+
printf '{"enabled": false}\n' > ~/.config/atbash/telemetry.json
|
|
134
|
+
```
|
|
135
|
+
|
|
120
136
|
## Enable Or Check The Plugin
|
|
121
137
|
|
|
122
138
|
Hermes should discover installed Python packages that expose the
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "atbash-hermes-plugin"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.7.dev0"
|
|
8
8
|
description = "Atbash safety plugin for Hermes Agent"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -24,7 +24,10 @@ keywords = [
|
|
|
24
24
|
"policy"
|
|
25
25
|
]
|
|
26
26
|
dependencies = [
|
|
27
|
-
"atbash-sdk==0.1.
|
|
27
|
+
"atbash-sdk==0.1.7.dev0",
|
|
28
|
+
"httpx>=0.27,<1",
|
|
29
|
+
"opentelemetry-exporter-otlp-proto-http>=1.29,<2",
|
|
30
|
+
"opentelemetry-sdk>=1.29,<2",
|
|
28
31
|
]
|
|
29
32
|
|
|
30
33
|
[project.urls]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
atbash-sdk==0.1.6
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|