Skip to content

Commit f4f1ab0

Browse files
committed
merge: resolve conflicts from main, keeping main's changes
2 parents 3910266 + 46c3b7c commit f4f1ab0

22 files changed

Lines changed: 125 additions & 86 deletions

File tree

.github/workflows/dependencies.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
steps:
1313
- name: Collect metadata
1414
id: metadata
15-
uses: dependabot/fetch-metadata@21025c705c08248db411dc16f3619e6b5f9ea21a # v2.5.0
15+
uses: dependabot/fetch-metadata@ffa630c65fa7e0ecfa0625b5ceda64399aea1b36 # v3.0.0
1616
with:
1717
github-token: "${{ secrets.GITHUB_TOKEN }}"
1818
- name: Approve

claude-agent-sdk/listeners/actions/feedback.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
11
from logging import Logger
22

33
from slack_bolt import Ack
4+
from slack_bolt.context.async_context import AsyncBoltContext
45
from slack_sdk.web.async_client import AsyncWebClient
56

67

7-
async def handle_feedback(ack: Ack, body: dict, client: AsyncWebClient, logger: Logger):
8+
async def handle_feedback(
9+
ack: Ack,
10+
body: dict,
11+
client: AsyncWebClient,
12+
context: AsyncBoltContext,
13+
logger: Logger,
14+
):
815
"""Handle thumbs up/down feedback on Casey's responses."""
916
await ack()
1017

1118
try:
12-
channel_id = body["channel"]["id"]
13-
user_id = body["user"]["id"]
19+
channel_id = context.channel_id
20+
user_id = context.user_id
1421
message_ts = body["message"]["ts"]
1522
feedback_value = body["actions"][0]["value"]
1623

claude-agent-sdk/listeners/events/app_home_opened.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
from logging import Logger
22

3+
from slack_bolt.context.async_context import AsyncBoltContext
34
from slack_sdk.web.async_client import AsyncWebClient
45

56
from listeners.views.app_home_builder import build_app_home_view
67

78

8-
async def handle_app_home_opened(client: AsyncWebClient, event: dict, logger: Logger):
9+
async def handle_app_home_opened(
10+
client: AsyncWebClient, context: AsyncBoltContext, logger: Logger
11+
):
912
"""Publish the App Home view when a user opens the app's Home tab."""
1013
try:
11-
user_id = event["user"]
14+
user_id = context.user_id
1215
view = build_app_home_view()
1316
await client.views_publish(user_id=user_id, view=view)
1417
except Exception as e:

claude-agent-sdk/listeners/events/app_mentioned.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import re
33
from logging import Logger
44

5-
from slack_bolt.agent.async_agent import AsyncBoltAgent
5+
from slack_bolt.context.async_context import AsyncBoltContext
66
from slack_bolt.context.say.async_say import AsyncSay
77
from slack_sdk.web.async_client import AsyncWebClient
88

@@ -24,18 +24,18 @@
2424

2525
async def handle_app_mentioned(
2626
client: AsyncWebClient,
27+
context: AsyncBoltContext,
2728
event: dict,
28-
agent: AsyncBoltAgent,
2929
logger: Logger,
3030
say: AsyncSay,
3131
):
3232
"""Handle @Casey mentions in channels."""
3333
try:
34-
channel_id = event["channel"]
35-
team_id = event.get("team")
34+
channel_id = context.channel_id
35+
team_id = context.team_id
3636
text = event.get("text", "")
3737
thread_ts = event.get("thread_ts") or event["ts"]
38-
user_id = event.get("user")
38+
user_id = context.user_id
3939

4040
# Strip the bot mention from the text
4141
cleaned_text = re.sub(r"<@[A-Z0-9]+>", "", text).strip()
@@ -78,9 +78,9 @@ async def handle_app_mentioned(
7878
)
7979

8080
# Stream response in thread with feedback buttons
81-
streamer = await agent.chat_stream(
81+
streamer = await client.chat_stream(
8282
channel=channel_id,
83-
recipient_team_id=team_id, # chat_stream helper cannot infer event["team"] from client
83+
recipient_team_id=team_id,
8484
recipient_user_id=user_id,
8585
thread_ts=thread_ts,
8686
)

claude-agent-sdk/listeners/events/message.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import random
22
from logging import Logger
33

4-
from slack_bolt.agent.async_agent import AsyncBoltAgent
4+
from slack_bolt.context.async_context import AsyncBoltContext
55
from slack_bolt.context.say.async_say import AsyncSay
66
from slack_sdk.web.async_client import AsyncWebClient
77

@@ -23,8 +23,8 @@
2323

2424
async def handle_message(
2525
client: AsyncWebClient,
26+
context: AsyncBoltContext,
2627
event: dict,
27-
agent: AsyncBoltAgent,
2828
logger: Logger,
2929
say: AsyncSay,
3030
):
@@ -38,9 +38,11 @@ async def handle_message(
3838
return
3939

4040
try:
41-
channel_id = event["channel"]
41+
channel_id = context.channel_id
42+
team_id = context.team_id
4243
text = event.get("text", "")
4344
thread_ts = event.get("thread_ts") or event["ts"]
45+
user_id = context.user_id
4446

4547
# Get session ID for conversation context
4648
existing_session_id = session_store.get_session(channel_id, thread_ts)
@@ -73,7 +75,12 @@ async def handle_message(
7375
)
7476

7577
# Stream response in thread with feedback buttons
76-
streamer = await agent.chat_stream()
78+
streamer = await client.chat_stream(
79+
channel=channel_id,
80+
recipient_team_id=team_id,
81+
recipient_user_id=user_id,
82+
thread_ts=thread_ts,
83+
)
7784
await streamer.append(markdown_text=response_text)
7885
feedback_blocks = create_feedback_block()
7986
await streamer.stop(blocks=feedback_blocks)

claude-agent-sdk/listeners/views/issue_modal.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from logging import Logger
22

33
from slack_bolt import Ack
4-
from slack_bolt.agent.async_agent import AsyncBoltAgent
4+
from slack_bolt.context.async_context import AsyncBoltContext
55
from slack_sdk.web.async_client import AsyncWebClient
66

77
from agent import run_casey_agent
@@ -10,14 +10,18 @@
1010

1111

1212
async def handle_issue_submission(
13-
ack: Ack, body: dict, client: AsyncWebClient, agent: AsyncBoltAgent, logger: Logger
13+
ack: Ack,
14+
body: dict,
15+
client: AsyncWebClient,
16+
context: AsyncBoltContext,
17+
logger: Logger,
1418
):
1519
"""Handle modal submission: open DM, post issue, and run Casey agent."""
1620
await ack()
1721

1822
try:
19-
team_id = body["user"]["team_id"]
20-
user_id = body["user"]["id"]
23+
team_id = context.team_id
24+
user_id = context.user_id
2125
values = body["view"]["state"]["values"]
2226
category = values["category_block"]["category_select"]["selected_option"][
2327
"value"
@@ -61,7 +65,7 @@ async def handle_issue_submission(
6165
response_text, new_session_id = await run_casey_agent(user_message)
6266

6367
# Stream the response in thread with feedback buttons
64-
streamer = await agent.chat_stream(
68+
streamer = await client.chat_stream(
6569
channel=channel_id,
6670
recipient_team_id=team_id,
6771
recipient_user_id=user_id,

claude-agent-sdk/pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ name = "bolt-python-support-agent-claude"
33
version = "0.1.0"
44
requires-python = ">=3.12"
55
dependencies = [
6-
"slack-sdk==3.40.1",
6+
"slack-sdk==3.41.0",
77
# slack-bolt is installed from a vendored whl — see ../vendor/
88
"slack-cli-hooks<1.0.0",
99
"claude-agent-sdk>=0.1.36",
1010
"aiohttp>=3.13.3",
11-
"python-dotenv==1.2.1",
11+
"python-dotenv==1.2.2",
1212
]
1313

1414
[project.optional-dependencies]
1515
dev = [
1616
"pytest",
17-
"ruff==0.15.2",
17+
"ruff==0.15.8",
1818
]
1919

2020
[tool.setuptools.packages.find]

claude-agent-sdk/requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
slack-sdk==3.40.1
1+
slack-sdk==3.41.0
22
../vendor/slack_bolt-1.27.0+837e120-py2.py3-none-any.whl
33
slack-cli-hooks<1.0.0
44
claude-agent-sdk>=0.1.36
55
aiohttp>=3.13.3
6-
python-dotenv==1.2.1
6+
python-dotenv==1.2.2
77

88
pytest
9-
ruff==0.15.2
9+
ruff==0.15.8

openai-agents-sdk/listeners/actions/feedback.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
from logging import Logger
22

3-
from slack_bolt import Ack
3+
from slack_bolt import Ack, BoltContext
44
from slack_sdk import WebClient
55

66

7-
def handle_feedback(ack: Ack, body: dict, client: WebClient, logger: Logger):
7+
def handle_feedback(
8+
ack: Ack, body: dict, client: WebClient, context: BoltContext, logger: Logger
9+
):
810
"""Handle thumbs up/down feedback on Casey's responses."""
911
ack()
1012

1113
try:
12-
channel_id = body["channel"]["id"]
13-
user_id = body["user"]["id"]
14+
channel_id = context.channel_id
15+
user_id = context.user_id
1416
message_ts = body["message"]["ts"]
1517
feedback_value = body["actions"][0]["value"]
1618

openai-agents-sdk/listeners/events/app_home_opened.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
from logging import Logger
22

3+
from slack_bolt import BoltContext
34
from slack_sdk import WebClient
45

56
from listeners.views.app_home_builder import build_app_home_view
67

78

8-
def handle_app_home_opened(client: WebClient, event: dict, logger: Logger):
9+
def handle_app_home_opened(client: WebClient, context: BoltContext, logger: Logger):
910
"""Publish the App Home view when a user opens the app's Home tab."""
1011
try:
11-
user_id = event["user"]
12+
user_id = context.user_id
1213
view = build_app_home_view()
1314
client.views_publish(user_id=user_id, view=view)
1415
except Exception as e:

0 commit comments

Comments
 (0)