- Go 97.1%
- Lua 1.5%
- Python 1.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| cmd/agent-network | ||
| docs | ||
| internal | ||
| scripts | ||
| test | ||
| tool-skills | ||
| workflow | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| PRD.md | ||
| README.md | ||
| workflow.events.jsonl | ||
| workflow.toml | ||
agent-network
agent-network is the agent system's network communication provider. It replaces the narrower agent-grpc concept.
Purpose
This repository owns provider-side network communication capabilities for agents and plugins. It should support multiple protocols through explicit adapters instead of baking one transport into the project identity.
Scope
Initial protocol families may include:
- gRPC
- HTTP/HTTPS
- WebSocket
- raw TCP/TLS where explicitly justified
- SSH-mediated network operations through
agent-keyringsigning/connect leases - future protocol adapters behind the same provider boundary
Authority boundaries
agent-network is not the credential authority and not the action authority.
agent-core-systemowns action admission, approval, policy, audit, and execution envelopes.rpc-plugin-systemowns substrate runtime, transport, lifecycle, and plugin supervision.agent-keyringowns credential storage, scoped leases, OAuth, SSH keys/certs/signing, browser/session credentials, refresh, rotation, and revocation.agent-networkowns network protocol adapters and network-facing provider behavior.
Credential possession is not action authorization. Network access must be requested through admitted capabilities and scoped credential leases.
Design direction
Protocol support should be adapter-based:
agent-core-system admitted capability
-> rpc-plugin-system substrate execution
-> agent-network plugin/provider
-> protocol adapter
-> remote service / peer agent
Each protocol adapter must declare:
- protocol name
- supported operations
- input/output schema
- side-effect class
- credential requirements
- timeout/cancellation behavior
- retry/idempotency behavior
- audit fields
- redaction rules
Provider bundle and diagnostic behavior is inherited from the generic provider-bundle contracts, not invented here. agent-network may add network-specific audit facts, but diagnostics must stay structured, redacted, and routed through the substrate SDK/helper path. Safe diagnostic fields are limited to capability, operation, non-secret correlation ids, status, duration, coarse error or reason, counts, and digests. Raw URLs containing secrets, request or response bodies, headers, cookies, tokens, credentials, authority references, sockets, sessions, connection handles, private paths, payloads, upstream bodies, and reusable refs are forbidden diagnostic material.
Final provider diagnostics status: accepted with constraints in the cross-repo judge sweep. The network runtime emits only structured, redacted diagnostic facts and must not turn URL/header/body/socket/session/credential material into logs or authority evidence.
Non-goals
- Do not store credentials here.
- Do not bypass
agent-core-systemadmission. - Do not turn protocol availability into workflow authority.
- Do not hard-code provider-specific business semantics into generic network adapters.
- Do not expose raw credential material unless
agent-keyringexplicitly grants a scoped lease.
First useful implementation slice
- Add a protocol-adapter contract.
- Keep gRPC as one adapter, not the project identity.
- Add tests proving unsupported protocols are rejected and credentials are requested through scoped declarations, not embedded config.
- Add a smoke path through
rpc-plugin-systemonly after the adapter contract exists.