Ananke.Platforms
0.7.2
dotnet add package Ananke.Platforms --version 0.7.2
NuGet\Install-Package Ananke.Platforms -Version 0.7.2
<PackageReference Include="Ananke.Platforms" Version="0.7.2" />
<PackageVersion Include="Ananke.Platforms" Version="0.7.2" />
<PackageReference Include="Ananke.Platforms" />
paket add Ananke.Platforms --version 0.7.2
#r "nuget: Ananke.Platforms, 0.7.2"
#:package Ananke.Platforms@0.7.2
#addin nuget:?package=Ananke.Platforms&version=0.7.2
#tool nuget:?package=Ananke.Platforms&version=0.7.2
Ananke.Platforms
Conversational platform adapter contracts for Ananke - defines the interfaces and base classes for bridging messaging platforms (Slack, Discord, etc.) to Ananke agent workflows.
Install
dotnet add package Ananke.Platforms
Most users will install a platform-specific package instead, which includes this package transitively:
Core types
| Type | Purpose |
|---|---|
IMessagePlatformAdapter |
Platform connection lifecycle - StartAsync, StopAsync, IsConnected |
IPlatformResponseSink |
Send responses: SendMessageAsync, UpdateMessageAsync, SendTypingAsync, AddReactionAsync |
IPlatformMessageHandler |
Business logic hook: route incoming messages to workflows |
PlatformMessage |
Normalized incoming message: ChannelId, ThreadId, UserId, Message |
StreamingMessageBridge |
Bridges StreamingChatWorkflow.OnTextDelta to the post-then-edit pattern |
ConversationalMessageHandler |
Abstract base class - session-aware, memory-integrated handler |
SessionKeyBuilder |
Derives collision-free session keys from platform message properties |
ConversationalMessageHandler
The recommended way to handle platform messages. Eliminates boilerplate by wiring up StreamingChatWorkflow with conversation memory, streaming bridge, and session management.
What it does automatically
- Sends a typing indicator to the platform
- Derives a session key from the message's channel/thread identifiers
- Loads conversation history from
IConversationMemory - Runs
StreamingChatWorkflowwith streaming bridged via post-then-edit - Persists new messages back to memory after completion
Customization points
| Virtual member | Default | Override to |
|---|---|---|
SystemPrompt |
null | Set the LLM system prompt |
WorkflowName |
platform-chat | Customize trace/log identity |
StreamingOptions |
null (300ms debounce) | Adjust debounce interval or placeholder text |
ContextStrategy |
null | Apply sliding window or summarization |
SendTypingIndicator |
true | Disable the initial typing indicator |
GetSessionId(message) |
channelId:threadId | Add platform prefix, use per-user scoping |
ConfigureWorkflow(builder, message) |
pass-through | Add custom callbacks, metadata |
Documentation
Full docs, demos, and architecture: github.com/sevensamurai/Ananke
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Ananke.Orchestration (>= 0.7.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Ananke.Platforms:
| Package | Downloads |
|---|---|
|
Ananke.Platforms.Slack
Slack adapter for Ananke — bridges Slack Bot events (Socket Mode and Events API) to Ananke agent workflows via IMessagePlatformAdapter. Provides services.AddAnankeSlack() for DI registration. |
|
|
Ananke.Platforms.Discord
Discord adapter for Ananke — bridges Discord Gateway events to Ananke agent workflows via IMessagePlatformAdapter. Provides services.AddAnankeDiscord() for DI registration. |
GitHub repositories
This package is not used by any popular GitHub repositories.