Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,15 +152,15 @@ For FaaS environments (`process_before_response=True`), long-running handlers ex

### Kwargs Injection

Listeners receive arguments by parameter name. The framework inspects function signatures and injects matching args: `body`, `event`, `action`, `command`, `payload`, `context`, `client`, `ack`, `say`, `respond`, `logger`, `complete`, `fail`, `agent`, etc. Defined in `slack_bolt/kwargs_injection/args.py`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 praise: Nice call to update this!

Listeners receive arguments by parameter name. The framework inspects function signatures and injects matching args: `body`, `event`, `action`, `command`, `payload`, `context`, `client`, `ack`, `say`, `respond`, `logger`, `complete`, `fail`, etc. Defined in `slack_bolt/kwargs_injection/args.py`.

### Adapter System

Each adapter in `slack_bolt/adapter/` converts between a web framework's request/response types and `BoltRequest`/`BoltResponse`. Adapters exist for: Flask, FastAPI, Django, Starlette, Sanic, Bottle, Tornado, CherryPy, Falcon, Pyramid, AWS Lambda, Google Cloud Functions, Socket Mode, WSGI, ASGI, and more.

### AI Agents & Assistants

`BoltAgent` (`slack_bolt/agent/`) provides `chat_stream()`, `set_status()`, and `set_suggested_prompts()` for AI-powered agents. `Assistant` middleware (`slack_bolt/middleware/assistant/`) handles assistant thread events.
`Assistant` middleware (`slack_bolt/middleware/assistant/`) handles assistant thread events.

## Key Development Patterns

Expand Down
2 changes: 0 additions & 2 deletions slack_bolt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
from .response import BoltResponse

# AI Agents & Assistants
from .agent import BoltAgent
from .middleware.assistant.assistant import (
Assistant,
)
Expand All @@ -49,7 +48,6 @@
"CustomListenerMatcher",
"BoltRequest",
"BoltResponse",
"BoltAgent",
"Assistant",
"AssistantThreadContext",
"AssistantThreadContextStore",
Expand Down
5 changes: 0 additions & 5 deletions slack_bolt/agent/__init__.py

This file was deleted.

139 changes: 0 additions & 139 deletions slack_bolt/agent/agent.py

This file was deleted.

138 changes: 0 additions & 138 deletions slack_bolt/agent/async_agent.py

This file was deleted.

5 changes: 0 additions & 5 deletions slack_bolt/kwargs_injection/args.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
from slack_bolt.context.fail import Fail
from slack_bolt.context.get_thread_context.get_thread_context import GetThreadContext
from slack_bolt.context.respond import Respond
from slack_bolt.agent.agent import BoltAgent
from slack_bolt.context.save_thread_context import SaveThreadContext
from slack_bolt.context.say import Say
from slack_bolt.context.say_stream import SayStream
Expand Down Expand Up @@ -104,8 +103,6 @@ def handle_buttons(args):
"""`get_thread_context()` utility function for AI Agents & Assistants"""
save_thread_context: Optional[SaveThreadContext]
"""`save_thread_context()` utility function for AI Agents & Assistants"""
agent: Optional[BoltAgent]
"""`agent` listener argument for AI Agents & Assistants"""
say_stream: Optional[SayStream]
"""`say_stream()` utility function for AI Agents & Assistants"""
# middleware
Expand Down Expand Up @@ -141,7 +138,6 @@ def __init__(
set_suggested_prompts: Optional[SetSuggestedPrompts] = None,
get_thread_context: Optional[GetThreadContext] = None,
save_thread_context: Optional[SaveThreadContext] = None,
agent: Optional[BoltAgent] = None,
say_stream: Optional[SayStream] = None,
# As this method is not supposed to be invoked by bolt-python users,
# the naming conflict with the built-in one affects
Expand Down Expand Up @@ -176,7 +172,6 @@ def __init__(
self.set_suggested_prompts = set_suggested_prompts
self.get_thread_context = get_thread_context
self.save_thread_context = save_thread_context
self.agent = agent
self.say_stream = say_stream

self.next: Callable[[], None] = next
Expand Down
5 changes: 0 additions & 5 deletions slack_bolt/kwargs_injection/async_args.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from logging import Logger
from typing import Callable, Awaitable, Dict, Any, Optional

from slack_bolt.agent.async_agent import AsyncBoltAgent
from slack_bolt.context.ack.async_ack import AsyncAck
from slack_bolt.context.async_context import AsyncBoltContext
from slack_bolt.context.complete.async_complete import AsyncComplete
Expand Down Expand Up @@ -103,8 +102,6 @@ async def handle_buttons(args):
"""`get_thread_context()` utility function for AI Agents & Assistants"""
save_thread_context: Optional[AsyncSaveThreadContext]
"""`save_thread_context()` utility function for AI Agents & Assistants"""
agent: Optional[AsyncBoltAgent]
"""`agent` listener argument for AI Agents & Assistants"""
say_stream: Optional[AsyncSayStream]
"""`say_stream()` utility function for AI Agents & Assistants"""
# middleware
Expand Down Expand Up @@ -140,7 +137,6 @@ def __init__(
set_suggested_prompts: Optional[AsyncSetSuggestedPrompts] = None,
get_thread_context: Optional[AsyncGetThreadContext] = None,
save_thread_context: Optional[AsyncSaveThreadContext] = None,
agent: Optional[AsyncBoltAgent] = None,
say_stream: Optional[AsyncSayStream] = None,
next: Callable[[], Awaitable[None]],
**kwargs, # noqa
Expand Down Expand Up @@ -172,7 +168,6 @@ def __init__(
self.set_suggested_prompts = set_suggested_prompts
self.get_thread_context = get_thread_context
self.save_thread_context = save_thread_context
self.agent = agent
self.say_stream = say_stream

self.next: Callable[[], Awaitable[None]] = next
Expand Down
Loading
Loading