Skip to main content

agentops-rpc

Shared Pydantic wire types for the AgentOps SDK and controlplane.

Both the SDK (komodor-agentops) and the controlplane import models from this package, giving build-time (mypy) and runtime (Pydantic v2) type safety across the wire boundary.

Install

pip install agentops-rpc

Quick Start

from agentops_rpc import RunEventIn, IngestRunEventsRequest, HOOK_EVENT_TYPE_MAP

event = RunEventIn(
    event_type="span.started",
    span_id="span_abc",
    kind="tool",
    name="Bash",
    hook_event_type="tool.start",
)
event.model_dump()  # JSON-safe dict

request = IngestRunEventsRequest(worker_id="wrk_1", events=[event])

Exported Models

types.py -- Literal type aliases

Type Values
EventType run.started, run.completed, run.failed, span.started, span.ended, message.created, log.created, token.created, custom.created, output.updated
RunStatus queued, claimed, running, succeeded, failed
SpanKind agent, llm, tool, chain, generation
HookEventName SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PostToolUseFailure, SubagentStart, SubagentStop, Notification, Stop, SessionEnd, PermissionRequest, PreCompact, PostCompact
HookEventType session.start, prompt.submit, tool.start, tool.end, tool.error, subagent.start, subagent.end, notification, session.stop, compaction.start, compaction.end
AgentStatus online, offline
RunTransport polling, api_sync, api_sse, a2a

events.py -- Event ingest models

  • RunEventIn -- unified event sent SDK -> controlplane
  • TraceEventIn, LogEventIn -- structured events for DB tables
  • IngestRunEventsRequest / IngestRunEventsResponse
  • BatchEventsRequest
  • TraceEventResponse, LogEventResponse, RunMessageResponse

runs.py -- Run lifecycle models

  • CreateRunRequest, RunSummary, RunDetail, RunJob
  • PollNextRunRequest, ClaimRunResponse
  • StartRunRequest, StartRunDirectRequest
  • CompleteRunRequest, FailRunRequest, UpdateRunOutputRequest
  • AddRunMessageRequest
  • InvokeAgentRequest / InvokeAgentResponse
  • WorkerInvokeRequest / WorkerInvokeResponse

agents.py -- Agent registration models

  • AgentManifest, HeartbeatRequest, HeartbeatResponse
  • AgentInstanceResponse

hook_types.py -- Hook event mapping

  • HOOK_EVENT_TYPE_MAP -- maps Claude Code HookEventName to HookEventType

a2a.py -- A2A protocol wire types

  • A2AMessage, A2AMessagePart
  • A2AMessageRequest, A2ATaskResponse

Type Safety Guarantees

Layer Protection
Build-time (mypy) SDK and controlplane import the same Pydantic models -- field mismatches caught at type-check
Runtime (Pydantic) Every event validated at construction and at API boundary
Wire (JSON) model_dump() / model_validate() guarantee JSON matches schema
Hook events HookEventType literal -- typos fail both type-check and runtime

Dependencies

Only pydantic>=2.0. Zero internal dependencies.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentops_rpc-0.1.1.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentops_rpc-0.1.1-py3-none-any.whl (39.5 kB view details)

Uploaded Python 3

File details

Details for the file agentops_rpc-0.1.1.tar.gz.

File metadata

  • Download URL: agentops_rpc-0.1.1.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentops_rpc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 85f3922388810f0b221818be0d6e9ce3358c08e11d2565550d1192609922be17
MD5 c673a4f6058436f241a531073cc1429e
BLAKE2b-256 e6c8146d1fdfaac4f73193fb228079297db83d1f91df6297a4a2d09c2d54c23b

See more details on using hashes here.

File details

Details for the file agentops_rpc-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: agentops_rpc-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentops_rpc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e985a882df76383f93a4c3c5073966e8975cea5e0772c01c3fcae23e94e8f8c
MD5 dbbd07b6480bf2ea5c5355eef389de24
BLAKE2b-256 86aad5092e5b8a514d45fde449cc74b4594f737e03b0df8b8390ec4c4f43d261

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page