Conversation
Enable experimental agent teams for all ACP sessions and surface team lifecycle events to clients. - Set CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 in session env - Forward task_started/task_progress/task_notification as agent_message_chunk - After result with team activity, continue reading generator with timeout to catch follow-up messages from team monitoring (30s initial, 5s for subsequent cleanup turns) - Display TeamCreate/TeamDelete/SendMessage in tool info - Carry over pending generator promise across prompt() calls via session.pendingNext Partially addresses zed-industries#336 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: hexarrior.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4856710b85
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
We require contributors to sign our Contributor License Agreement, and we don't have @shadowpigy on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
- Remove default CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS env var; let callers opt-in via user-provided options (per maintainer feedback) - Respect session cancellation during team idle timeout (P2) - Preserve promptResult in replay-handoff path (P1) - Fix test _meta structure to match NewSessionMeta type Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
We require contributors to sign our Contributor License Agreement, and we don't have @shadowpigy on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
|
@cla-bot check |
1 similar comment
|
@cla-bot check |
|
The cla-bot has been summoned, and re-checked this pull request! |
Apply the same filtering logic from the live streaming path to replaySessionHistory: skip user messages where content is a string or a single text block, as these are CLI-injected synthetic messages (teammate-message, system-reminder, etc.) not meant for display. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Addressed all review feedback:
|
|
Bug found: The filter added in if (
role === "user" &&
(typeof content === "string" ||
(Array.isArray(content) && content.length === 1 && content[0].type === "text"))
) {
continue;
}The problem is that synthetic and real user text messages are structurally identical — there's no metadata to distinguish them. This causes Possible fixes:
@josevalim What's your take on the right approach here? |
Summary
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)task_started/task_progress/task_notificationasagent_message_chunknotificationsTeamCreate/TeamDelete/SendMessagein tool infoprompt()calls viasession.pendingNextPartially addresses #336
Test plan
npm run lintpassesnpm run format:checkpassesnpm run test:run— 126 tests pass🤖 Generated with Claude Code