1.6 KiB
1.6 KiB
: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 + натив).