Files

1.6 KiB
Raw Permalink Blame History

:content-api — общие типы содержимого сообщения

Низкоуровневый KMP-модуль с типами, которые используются во всех слоях agentik и раньше дублировались:

  • Content — часть содержимого сообщения: Content.Text(body), Content.Image(data, mime).
  • MessageContext — контекст инициации хода (origin, description, sourceId, metadata).
  • MessageOrigin — USER / SYSTEM / EVENT.
  • TurnTokens — token usage одного assistant turn'а (input, output).

Зачем отдельный модуль

:proto (wire-контракт), :journal-api (слой хранения) и :outbox-api (события) должны ссылаться на один и тот же Content/MessageContext, а не держать по собственной копии. Общий модуль убирает дубли и циклы:

:content-api  ◄── :proto
              ◄── :journal-api
              ◄── :outbox-api

:proto/:journal-api/:outbox-api объявляют api(project(":content-api")), поэтому потребители (:client, :server, :standalone, ...) видят типы транзитивно, но должны импортировать их напрямую из pw.binom.agentik.content.

Публикация

Каталог gradle/libs.versions.toml → agentik-content-api. ./gradlew :content-api:publish -Pversion=... публикует все KMP-таргеты (jvm + натив).