Skip to content
Merged
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
7 changes: 1 addition & 6 deletions claude-agent-sdk/agent/tools/read_runbook.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,7 @@ async def read_runbook_tool(args):
"""Read a runbook's content as markdown."""
deps = agent_deps_var.get()
try:
response = await deps.client.api_call(
"canvases.getContent",
params={
"canvas_id": args["canvas_id"],
},
)
response = await deps.client.canvases_getContent(canvas_id=args["canvas_id"])
text = response.get("content", "")
except SlackApiError as e:
text = f"Could not read the runbook: {e.response['error']}"
Expand Down
2 changes: 1 addition & 1 deletion claude-agent-sdk/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "bolt-python-team-agent-claude-agent-sdk"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"slack-sdk==3.45.0",
"slack-sdk==3.46.0",
"slack-bolt==1.30.0",
"slack-cli-hooks==0.3.0",
"claude-agent-sdk==0.2.174",
Expand Down
15 changes: 6 additions & 9 deletions claude-agent-sdk/tests/test_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ async def invoke(tool: SdkMcpTool, deps: AgentDeps, **args) -> str:
class TestTools:
def setup_method(self):
self.client = Mock(AsyncWebClient)
self.client.api_call = AsyncMock()
self.client.canvases_create = AsyncMock()
self.client.canvases_getContent = AsyncMock()
self.client.files_info = AsyncMock(
return_value={
"file": {
Expand Down Expand Up @@ -76,21 +76,18 @@ async def test_list_runbooks_without_any(self):

@pytest.mark.asyncio
async def test_read_runbook_returns_its_markdown(self):
self.client.api_call.return_value = {"content": "# Steps\n1. Rotate the secret"}
self.client.canvases_getContent.return_value = {
"content": "# Steps\n1. Rotate the secret"
}

result = await invoke(read_runbook_tool, self.deps, canvas_id="F123")

self.client.api_call.assert_called_once_with(
"canvases.getContent",
params={
"canvas_id": "F123",
},
)
self.client.canvases_getContent.assert_called_once_with(canvas_id="F123")
assert result == "# Steps\n1. Rotate the secret"

@pytest.mark.asyncio
async def test_read_runbook_reports_errors(self):
self.client.api_call.side_effect = slack_error("canvas_not_found")
self.client.canvases_getContent.side_effect = slack_error("canvas_not_found")

result = await invoke(read_runbook_tool, self.deps, canvas_id="F404")

Expand Down
4 changes: 1 addition & 3 deletions openai-agents-sdk/agent/tools/read_runbook.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ async def read_runbook(wrapper: RunContextWrapper[AgentDeps], canvas_id: str) ->
"""
deps = wrapper.context
try:
response = deps.client.api_call(
"canvases.getContent", params={"canvas_id": canvas_id}
)
response = deps.client.canvases_getContent(canvas_id=canvas_id)
except SlackApiError as e:
return f"Could not read the runbook: {e.response['error']}"
return response.get("content", "")
2 changes: 1 addition & 1 deletion openai-agents-sdk/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "bolt-python-team-agent-openai-agents-sdk"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
"slack-sdk==3.45.0",
"slack-sdk==3.46.0",
"slack-bolt==1.30.0",
"slack-cli-hooks==0.3.0",
"openai-agents==0.24.0",
Expand Down
10 changes: 5 additions & 5 deletions openai-agents-sdk/tests/test_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,17 +72,17 @@ def test_list_runbooks_without_any(self):
assert invoke(list_runbooks, self.deps) == "No runbooks yet."

def test_read_runbook_returns_its_markdown(self):
self.client.api_call.return_value = {"content": "# Steps\n1. Rotate the secret"}
self.client.canvases_getContent.return_value = {
"content": "# Steps\n1. Rotate the secret"
}

result = invoke(read_runbook, self.deps, canvas_id="F123")

self.client.api_call.assert_called_once_with(
"canvases.getContent", params={"canvas_id": "F123"}
)
self.client.canvases_getContent.assert_called_once_with(canvas_id="F123")
assert result == "# Steps\n1. Rotate the secret"

def test_read_runbook_reports_errors(self):
self.client.api_call.side_effect = slack_error("canvas_not_found")
self.client.canvases_getContent.side_effect = slack_error("canvas_not_found")

result = invoke(read_runbook, self.deps, canvas_id="F404")

Expand Down
7 changes: 1 addition & 6 deletions pydantic-ai/agent/tools/read_runbook.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@ async def read_runbook(ctx: RunContext[AgentDeps], canvas_id: str) -> str:
"""
deps = ctx.deps
try:
response = deps.client.api_call(
"canvases.getContent",
params={
"canvas_id": canvas_id,
},
)
response = deps.client.canvases_getContent(canvas_id=canvas_id)
except SlackApiError as e:
return f"Could not read the runbook: {e.response['error']}"
return response.get("content", "")
2 changes: 1 addition & 1 deletion pydantic-ai/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "bolt-python-team-agent-pydantic-ai"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
"slack-sdk==3.45.0",
"slack-sdk==3.46.0",
"slack-bolt==1.30.0",
"slack-cli-hooks==0.3.0",
"pydantic-ai[openai,anthropic]==2.63.0",
Expand Down
10 changes: 5 additions & 5 deletions pydantic-ai/tests/test_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,17 @@ def test_list_runbooks_without_any(self):
assert invoke(list_runbooks, self.deps) == "No runbooks yet."

def test_read_runbook_returns_its_markdown(self):
self.client.api_call.return_value = {"content": "# Steps\n1. Rotate the secret"}
self.client.canvases_getContent.return_value = {
"content": "# Steps\n1. Rotate the secret"
}

result = invoke(read_runbook, self.deps, canvas_id="F123")

self.client.api_call.assert_called_once_with(
"canvases.getContent", params={"canvas_id": "F123"}
)
self.client.canvases_getContent.assert_called_once_with(canvas_id="F123")
assert result == "# Steps\n1. Rotate the secret"

def test_read_runbook_reports_errors(self):
self.client.api_call.side_effect = slack_error("canvas_not_found")
self.client.canvases_getContent.side_effect = slack_error("canvas_not_found")

result = invoke(read_runbook, self.deps, canvas_id="F404")

Expand Down
Loading