Skip to content

client.agents

client.agents — the agents operations.

On AsyncKindgi every method is the same, awaited.

list(
*,
limit: int | None = None,
cursor: str | None = None,
name: str | None = None,
scope_kind: Literal['tenant', 'org', 'project'] | None = None,
scope_id: str | None = None,
inherit: bool | None = None,
timeout: float | None = None,
) -> AgentCollectionPage

List agents. GET /v1/agents

Cursor-paginated list of the latest version per agent id. Optional ?name= filters by prefix on agent id.

publish(
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> PublishAgentResult

Publish an agent definition. POST /v1/agents

Body is a full defineAgent spec. Server validates via @kindgi/agents.defineAgent before persisting.

get(*, timeout: float | None = None) -> Agent

Fetch the latest version of an agent. GET /v1/agents/{agentId}

list_versions(
*,
limit: int | None = None,
cursor: str | None = None,
timeout: float | None = None,
) -> AgentCollectionPage

List versions of an agent. GET /v1/agents/{agentId}/versions

Cursor-paginated. Sort order is binding-defined (built-in registry: semver asc).

get_version(*, timeout: float | None = None) -> Agent

Fetch a specific agent version. GET /v1/agents/{agentId}/versions/{version}

unregister(
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> UnregisterAgentResult

Unregister a specific agent version. POST /v1/agents/{agentId}/versions/{version}/unregister

reinstate_version(
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> ReinstateAgentVersionResult

Reinstate a specific tombstoned agent version. POST /v1/agents/{agentId}/versions/{version}/reinstate

Un-tombstones a previously-unregistered version: clears the tombstone on that version and recomputes the latest active version. Restores the manifest bytes verbatim (semver hygiene: reinstate never mutates). Idempotent — reinstating an active version is a no-op (returns wasTombstoned: false). Reinstating any version of a fully-retired agent reactivates the identity: subsequent GETs return 200, invocations succeed. Publish is always allowed regardless of retirement state — this verb is for restoring previously-unregistered bytes, not for reactivating a retired identity (a fresh publish does that).