AgentsKit Chat Alpha
Architecture/Adrs

ADR-0028 — Public package consolidation

View canonical Markdown

ADR-0028 — Public package consolidation

  • Status: Accepted
  • Date: 2026-07-14

Context

AgentsKit Chat was implemented as twelve workspace packages and published every workspace boundary to npm. Protocol, server, and devtools are implementation modules of the Chat application layer, not independently versioned products. Publishing them separately adds release, provenance, documentation, and consumer dependency-graph overhead without providing an independent compatibility policy.

Framework renderers remain separate because each has distinct runtime and peer dependencies. The CLI remains separate because it owns an executable binary.

Decision

@agentskit/chat is the single public package for shared Chat behavior. It publishes these subpaths from one versioned tarball:

  • @agentskit/chat/protocol
  • @agentskit/chat/protocol/fixtures
  • @agentskit/chat/server
  • @agentskit/chat/devtools

The protocol, server, and devtools workspace packages remain internal modules with private: true. Renderer packages depend only on @agentskit/chat. Release automation must pack and verify the aggregated artifact and must not publish private workspace packages.

Previously published package names receive deprecation releases directing users to the corresponding subpath. Existing versions are not unpublished.

Consequences

  • The Chat npm surface drops from twelve packages to nine immediately.
  • Internal ownership and focused tests remain intact.
  • Shared Chat modules use one semver line and one provenance artifact.
  • Consumers migrate imports but do not need behavioral changes.
  • Renderer packages remain public until their framework-specific peer dependency and release requirements can be evaluated independently.