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')
This commit is contained in:
2026-09-09 23:40:52 +03:00
parent fed7f7ab71
commit 4ca54a9b05
24 changed files with 203 additions and 171 deletions
@@ -1,10 +1,10 @@
package com.agui.server
package pw.binom.agui.server
import com.agui.api.agent.Agent
import com.agui.api.event.BaseEvent
import com.agui.api.event.RunErrorEvent
import com.agui.api.run.RunAgentInput
import com.agui.api.serialization.AguiJson
import pw.binom.agui.api.agent.Agent
import pw.binom.agui.api.event.BaseEvent
import pw.binom.agui.api.event.RunErrorEvent
import pw.binom.agui.api.run.RunAgentInput
import pw.binom.agui.api.serialization.AguiJson
import io.ktor.server.application.Application
import io.ktor.server.application.ApplicationCall
import io.ktor.server.application.call
@@ -1,13 +1,13 @@
package com.agui.server.demo
package pw.binom.agui.server.demo
import com.agui.api.agent.Agent
import com.agui.api.event.RunFinishedEvent
import com.agui.api.event.RunStartedEvent
import com.agui.api.event.StateSnapshotEvent
import com.agui.api.event.TextMessageContentEvent
import com.agui.api.event.TextMessageEndEvent
import com.agui.api.event.TextMessageStartEvent
import com.agui.server.agui
import pw.binom.agui.api.agent.Agent
import pw.binom.agui.api.event.RunFinishedEvent
import pw.binom.agui.api.event.RunStartedEvent
import pw.binom.agui.api.event.StateSnapshotEvent
import pw.binom.agui.api.event.TextMessageContentEvent
import pw.binom.agui.api.event.TextMessageEndEvent
import pw.binom.agui.api.event.TextMessageStartEvent
import pw.binom.agui.server.agui
import io.ktor.server.engine.embeddedServer
import io.ktor.server.netty.Netty
import kotlinx.coroutines.flow.flow
@@ -1,18 +1,18 @@
package com.agui.server
package pw.binom.agui.server
import com.agui.api.agent.Agent
import com.agui.api.event.RunErrorEvent
import com.agui.api.event.RunFinishedEvent
import com.agui.api.event.RunStartedEvent
import com.agui.api.event.StateSnapshotEvent
import com.agui.api.event.TextMessageContentEvent
import com.agui.api.event.TextMessageEndEvent
import com.agui.api.event.TextMessageStartEvent
import com.agui.api.message.Message
import com.agui.api.message.MessageRole
import com.agui.api.run.RunAgentInput
import com.agui.api.state.mutableState
import com.agui.client.HttpAgent
import pw.binom.agui.api.agent.Agent
import pw.binom.agui.api.event.RunErrorEvent
import pw.binom.agui.api.event.RunFinishedEvent
import pw.binom.agui.api.event.RunStartedEvent
import pw.binom.agui.api.event.StateSnapshotEvent
import pw.binom.agui.api.event.TextMessageContentEvent
import pw.binom.agui.api.event.TextMessageEndEvent
import pw.binom.agui.api.event.TextMessageStartEvent
import pw.binom.agui.api.message.Message
import pw.binom.agui.api.message.MessageRole
import pw.binom.agui.api.run.RunAgentInput
import pw.binom.agui.api.state.mutableState
import pw.binom.agui.client.HttpAgent
import io.ktor.client.plugins.sse.SSE
import io.ktor.server.application.application
import io.ktor.server.testing.testApplication