AgentDb.Core.Transport behaviour (agent_db v0.1.0)

Copy Markdown View Source

An outer surface that exposes the store's public facade to a protocol.

A transport is replaceable because it is the edge: it owns request parsing, authentication, rendering, and its own lifecycle, and it reaches the store only through the public AgentDb facade. It never touches storage or inference directly, so a store behaviour change does not ripple into wire formats and a transport change cannot alter what the store guarantees.

A transport is optional. enabled?/0 decides whether its children are composed at all, and child_specs/1 supplies the rest.

Summary

Callbacks

The supervised children this transport needs, in the order they must start.

Whether this transport is part of the current deployment.

Callbacks

child_specs(keyword)

@callback child_specs(keyword()) :: [
  Supervisor.child_spec() | module() | {module(), term()}
]

The supervised children this transport needs, in the order they must start.

enabled?()

@callback enabled?() :: boolean()

Whether this transport is part of the current deployment.