5 Commits

Author SHA1 Message Date
subochev a5198e471f ci: publish-on-release workflow + maven-publish (caffeine)
Publish AG-UI Protocol / Deploy to dev (release) Successful in 2m37s
- .gitea/workflows/build.yml: on release -> subochev/devops/publish -> caffeine
- maven-publish wired into api/client/server (KMP per-target publications)
- root: caffeine repo (nexus.xx) + pom; version via gradle.properties, overridable by -Pversion
0.1.0
2026-09-10 00:37:41 +03:00
subochev 8eeee54093 Merge pull request 'AG-UI as in-process KMP API with Ktor client/server transports' (#1) from feat/agui-kmp into main
Reviewed-on: #1
2026-09-09 20:44:11 +00:00
subochev 4ca54a9b05 Address PR review: rename package to pw.binom.agui, add native KMP targets, fix native event serialization
- Rename module package com.agui -> pw.binom.agui (dirs + code + root group)
- Expand KMP targets on all modules: jvm + macOS/ios/Linux/mingw (no Android)
- Server native via ktor-server-cio; client native via ktor-client-cio
- Annotate sealed interface BaseEvent with @Serializable so the sealed
  serializer resolves without reflection on Kotlin/Native (was reflection-only
  on JVM, so native tests failed with 'Serializer for class BaseEvent not found')
2026-09-09 23:40:52 +03:00
subochev fed7f7ab71 feat: AG-UI as in-process KMP API with Ktor client/server transports
Model the AG-UI protocol as an in-process API of Java-style interfaces and
classes, mirroring the official AG-UI Java SDK, and build it as a Kotlin
Multiplatform library with two Ktor transport modules.

Modules:
- api: BaseEvent sealed hierarchy (all AG-UI event types), messages, state,
  tool, context, RunAgentInput/Parameters, Agent/AgentSubscriber/
  EventDispatcher, AguiJson (kotlinx.serialization, "type" discriminator),
  plus a SerializersModule registering every event subtype polymorphically.
- client: HttpAgent over Ktor SSE (POST RunAgentInput -> stream BaseEvent),
  implementing the Agent interface.
- server: Application.agui()/Route.aguiAgent() exposing an Agent behind a
  POST + SSE endpoint via SSEServerContent, plus a runnable sample.

Tests: api serialization round-trips, client SSE decode against a real
test-host server, server endpoint integration.
2026-09-09 22:11:08 +03:00
subochev a5d6c38573 Initial commit 2026-09-09 17:30:27 +00:00