Repository navigation
Conversation
| @@ -0,0 +1,80 @@ | |||
| # Agent Chat | |||
|
|
|||
| A multi-turn chat with Claude that lives in one Workflow. Each message is a `send_message` Update that returns Claude's reply, and `end_conversation` ends the chat. Start here. | |||
There was a problem hiding this comment.
Is end_conversation also an update or is it a signal?
| Scripted model, no credentials. The same Worker, plugin, Workflow, and Claude Code subprocess run, and each reply counts the earlier replies Claude Code sent in its request: | ||
|
|
||
| ```bash | ||
| CLAUDE_OFFLINE=1 uv run --group claude-agent-sdk claude_agent_sdk_plugin/agent_chat/run_worker.py |
There was a problem hiding this comment.
Can we make offline the default, and run it live if ANTHROPIC_API_KEY is passed?
| "command": "echo 'Hello from Claude Code' > hello.txt" | ||
| }, | ||
| "tool_name": "Bash", | ||
| "tool_use_id": "toolu_hello" |
There was a problem hiding this comment.
This is the format of the tool response from Anthropic.
| }, | ||
| strict_mcp_config=True, | ||
| tools=[], | ||
| allowed_tools=["mcp__echo__echo"], |
There was a problem hiding this comment.
Why all the underscores? Is this a built-in tool?
There was a problem hiding this comment.
mcp__<mcp_name>__<tool_name> is the naming format Claude Code uses.
| @@ -0,0 +1,67 @@ | |||
| # Plugins | |||
|
|
|||
| Give Claude Code your own skill by passing it a Claude Code plugin, and see Claude use it. | |||
There was a problem hiding this comment.
I assume you could also provide MCP servers with a plugin?
There was a problem hiding this comment.
Updated to include a sample for this.
| * [batch_sliding_window](batch_sliding_window) - Batch processing with a sliding window of child workflows. | ||
| * [bedrock](bedrock) - Orchestrate a chatbot with Amazon Bedrock. | ||
| * [bedrock_agentcore/strands_agent](bedrock_agentcore/strands_agent) - Run a AWS Strands Agent with Temporal Plugin on AgentCore Worker. | ||
| * [claude_agent_sdk_plugin](claude_agent_sdk_plugin) - Run Claude Code agents as durable Temporal workflows with the Claude Agent SDK (chat, tools, MCP, streaming, approvals, subagents, sandboxes, plugins). |
There was a problem hiding this comment.
Would any other samples be useful? Maybe one for a custom transport?
2cce724 to
b0c0239
Compare
b0c0239 to
b5492bf
Compare
b5492bf to
7a09333
Compare
Adds
claude_agent_sdk_plugin/, samples for the Claude Agent SDK integration. Each Workflow is plain Claude Agent SDK code with aTemporalTransport, and every sample runs offline against a scripted API, so no key is needed.agent_chattools@toolcomputed in the Workflow and one that runs an Activity.streaminghuman_in_the_loopcan_use_toolwaits durably on an Update: approve, deny or cancel.structured_outputfork_sessionmulti_agentplugin_with_custom_transportConnector.open_telemetryTesting
ruff,mypyand the 24 offline tests pass. Every sample's Worker was also stopped mid-turn and restarted, and each resumed with the correct result.