Metadata-Version: 2.4
Name: agentforge-chat-slack
Version: 0.2.3
Summary: Slack reference channel adapter for AgentForge
Project-URL: Homepage, https://github.com/Scaffoldic/agentforge-py
Project-URL: Repository, https://github.com/Scaffoldic/agentforge-py
Project-URL: Changelog, https://github.com/Scaffoldic/agentforge-py/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/Scaffoldic/agentforge-py/issues
Author: The AgentForge Authors
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agent,ai,channel-adapter,chat,slack
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.13
Requires-Dist: agentforge-chat~=0.2.3
Requires-Dist: agentforge-core~=0.2.3
Requires-Dist: slack-bolt>=1.20
Requires-Dist: slack-sdk>=3.30
Description-Content-Type: text/markdown

# agentforge-chat-slack

Reference Slack channel adapter for AgentForge (feat-020 v0.2).

Maps `message` + `app_mention` events to `ChatSession.send`,
posts a placeholder message, and batches `chat.update` calls as
text chunks stream back from the agent. Slack rate-limits per
channel, so true per-token updates aren't practical — the
adapter batches every `batch_window_s` seconds (default 0.5 s).

Exemplar of how to wire any messaging channel to AgentForge
(Telegram / Discord / Teams would follow the same shape with
their SDKs).

```python
from agentforge_chat_slack import SlackChatAdapter

adapter = SlackChatAdapter(
    bot_token=os.environ["SLACK_BOT_TOKEN"],
    signing_secret=os.environ["SLACK_SIGNING_SECRET"],
    session_factory=lambda channel_id: ChatSession(
        agent=build_agent(),
        session_id=channel_id,
    ),
)
await adapter.start()
```

Live integration test gated on `SLACK_BOT_TOKEN` +
`SLACK_TEST_CHANNEL` env vars. Developer-machine only — no
free CI Slack workspace.
