computer-agent-py 0.2.2__tar.gz → 0.2.3__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.
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/PKG-INFO +4 -4
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/README.md +3 -3
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/pyproject.toml +1 -1
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/__init__.py +1 -1
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/_proxy/query.py +2 -2
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/policy/cedar.py +2 -2
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/_proxy/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/_proxy/client.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/agentos.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/engines/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/engines/claude_agent.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/engines/git_agent.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/agent_resolve_client.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/cas_client.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/coordinator.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/errors.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/git_credential_client.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/protocol.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/remote.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/usage.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/identity/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/identity/gap.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/identity/passthrough.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/policy/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/policy/authorizer.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/policy/opa.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/policy/srs.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/policy/types.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/protocol_types/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/py.typed +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/session_stores/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/session_stores/memory.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/substrates/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/substrates/local.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/config.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/event.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/middleware/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/middleware/guardrails.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/middleware/pii.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/pipeline.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/sinks/__init__.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/sinks/agentos_http.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/sinks/content.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/sinks/otel.py +0 -0
- {computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: computer-agent-py
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Drop-in replacement for claude-agent-sdk that adds a proxied telemetry pipeline (PII redaction + guardrails) with OpenTelemetry and AgentOS sinks.
|
|
5
5
|
Keywords: computeragent,claude-agent-sdk,claude,agent,telemetry,otel,opentelemetry,agentos,pii
|
|
6
6
|
Author: Abhi Bhat
|
|
@@ -509,7 +509,7 @@ configure(
|
|
|
509
509
|
PiiRedactor(strategy="hash", extra_patterns=[r"BADGE-\d{6}"]),
|
|
510
510
|
GuardrailFilter(
|
|
511
511
|
max_attribute_length=4096,
|
|
512
|
-
tool_name_allowlist={"Read", "Glob", "Grep", "
|
|
512
|
+
tool_name_allowlist={"Read", "Glob", "Grep", "mcp__acme-assist-tools__*"},
|
|
513
513
|
cost_ceiling_usd=1.50,
|
|
514
514
|
),
|
|
515
515
|
],
|
|
@@ -551,7 +551,7 @@ opa = OpaPolicyEngine(
|
|
|
551
551
|
authorizer = PolicyToolAuthorizer(
|
|
552
552
|
engine=opa,
|
|
553
553
|
principal_resolver=lambda ctx: PolicyPrincipal(id="alice", groups=["engineer"]),
|
|
554
|
-
resource_resolver=lambda ctx: PolicyResource(agent_name="
|
|
554
|
+
resource_resolver=lambda ctx: PolicyResource(agent_name="acme-assist", model="claude-sonnet-4-5"),
|
|
555
555
|
context_resolver=lambda ctx: {"env": "prod"},
|
|
556
556
|
)
|
|
557
557
|
|
|
@@ -650,7 +650,7 @@ The proxy is a pure tap — messages are never modified or reordered. Sinks run
|
|
|
650
650
|
|
|
651
651
|
| File | Demonstrates |
|
|
652
652
|
|---|---|
|
|
653
|
-
| [`examples/
|
|
653
|
+
| [`examples/drop_in.py`](examples/drop_in.py) | The minimum drop-in change |
|
|
654
654
|
| [`examples/with_otel.py`](examples/with_otel.py) | OTel pointed at a local collector |
|
|
655
655
|
| [`examples/with_new_relic.py`](examples/with_new_relic.py) | OTel pointed at New Relic (just env vars) |
|
|
656
656
|
| [`examples/with_datadog.py`](examples/with_datadog.py) | OTel pointed at Datadog |
|
|
@@ -452,7 +452,7 @@ configure(
|
|
|
452
452
|
PiiRedactor(strategy="hash", extra_patterns=[r"BADGE-\d{6}"]),
|
|
453
453
|
GuardrailFilter(
|
|
454
454
|
max_attribute_length=4096,
|
|
455
|
-
tool_name_allowlist={"Read", "Glob", "Grep", "
|
|
455
|
+
tool_name_allowlist={"Read", "Glob", "Grep", "mcp__acme-assist-tools__*"},
|
|
456
456
|
cost_ceiling_usd=1.50,
|
|
457
457
|
),
|
|
458
458
|
],
|
|
@@ -494,7 +494,7 @@ opa = OpaPolicyEngine(
|
|
|
494
494
|
authorizer = PolicyToolAuthorizer(
|
|
495
495
|
engine=opa,
|
|
496
496
|
principal_resolver=lambda ctx: PolicyPrincipal(id="alice", groups=["engineer"]),
|
|
497
|
-
resource_resolver=lambda ctx: PolicyResource(agent_name="
|
|
497
|
+
resource_resolver=lambda ctx: PolicyResource(agent_name="acme-assist", model="claude-sonnet-4-5"),
|
|
498
498
|
context_resolver=lambda ctx: {"env": "prod"},
|
|
499
499
|
)
|
|
500
500
|
|
|
@@ -593,7 +593,7 @@ The proxy is a pure tap — messages are never modified or reordered. Sinks run
|
|
|
593
593
|
|
|
594
594
|
| File | Demonstrates |
|
|
595
595
|
|---|---|
|
|
596
|
-
| [`examples/
|
|
596
|
+
| [`examples/drop_in.py`](examples/drop_in.py) | The minimum drop-in change |
|
|
597
597
|
| [`examples/with_otel.py`](examples/with_otel.py) | OTel pointed at a local collector |
|
|
598
598
|
| [`examples/with_new_relic.py`](examples/with_new_relic.py) | OTel pointed at New Relic (just env vars) |
|
|
599
599
|
| [`examples/with_datadog.py`](examples/with_datadog.py) | OTel pointed at Datadog |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "computer-agent-py"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.3"
|
|
4
4
|
description = "Drop-in replacement for claude-agent-sdk that adds a proxied telemetry pipeline (PII redaction + guardrails) with OpenTelemetry and AgentOS sinks."
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Abhi Bhat", email = "abhishek.bhat@lyzr.ai" },
|
|
@@ -42,7 +42,7 @@ _upstream_all = [n for n in getattr(_cas, "__all__", []) if n != "__version__"]
|
|
|
42
42
|
for _name in _upstream_all:
|
|
43
43
|
globals()[_name] = getattr(_cas, _name)
|
|
44
44
|
|
|
45
|
-
__version__ = "0.2.
|
|
45
|
+
__version__ = "0.2.3"
|
|
46
46
|
upstream_version = getattr(_cas, "__version__", "unknown")
|
|
47
47
|
|
|
48
48
|
# Override the two entry points with the proxied versions. Same signatures,
|
|
@@ -169,8 +169,8 @@ def _derive_agent_name(options: Any) -> str | None:
|
|
|
169
169
|
Strategy:
|
|
170
170
|
1. Explicit ``agent_name`` attribute (not in upstream today but cheap to
|
|
171
171
|
honour if a fork adds it).
|
|
172
|
-
2. First non-empty line of ``system_prompt`` (
|
|
173
|
-
|
|
172
|
+
2. First non-empty line of ``system_prompt`` (prod prompts typically
|
|
173
|
+
start with "You are <Name>..." — that line is the natural label).
|
|
174
174
|
3. ``None`` — the sinks fall back to an anonymous hash.
|
|
175
175
|
"""
|
|
176
176
|
if options is None:
|
|
@@ -10,8 +10,8 @@ Translation rules:
|
|
|
10
10
|
→ ``User::"alice"`` with parents ``[Group::"engineer", ...]``.
|
|
11
11
|
* ``PolicyAction(name="tool_use", tool_name="Read")``
|
|
12
12
|
→ ``Action::"toolUse"`` with attribute ``tool: "Read"``.
|
|
13
|
-
* ``PolicyResource(type="agent", agent_name="
|
|
14
|
-
→ ``Agent::"
|
|
13
|
+
* ``PolicyResource(type="agent", agent_name="acme-assist")``
|
|
14
|
+
→ ``Agent::"acme-assist"``.
|
|
15
15
|
|
|
16
16
|
Optional extra: ``pip install 'computer-agent-py[cedar]'``.
|
|
17
17
|
"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/engines/claude_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/harness/coordinator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/identity/passthrough.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/protocol_types/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/session_stores/__init__.py
RENAMED
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/session_stores/memory.py
RENAMED
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/substrates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/middleware/pii.py
RENAMED
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/sinks/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/sinks/content.py
RENAMED
|
File without changes
|
{computer_agent_py-0.2.2 → computer_agent_py-0.2.3}/src/computeragent/telemetry/sinks/otel.py
RENAMED
|
File without changes
|
|
File without changes
|