GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||
GeezerVison is showing github.com — refactor(coderd): share chat updates with in-process callers by ethanndickson · Pull Request #30731 · coder/coder Conversation
|
|
@codex review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@codex security review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
bde53ec to
88d55e2
Compare
Sorry, something went wrong.
There was an error while loading. Please reload this page.
0291dc8 to
affbb23
Compare
Split patchChat like the send handler: checkUpdateChat runs the checks that come before the body is read, and updateChat validates and applies the request for a given caller. Both return response errors, so an in-process caller can share them. The HTTP responses and audit entries do not change.
UpdateChatAsUser updates a chat as a given user with the checks, errors,
and audit entry of PATCH /api/v2/chats/{chat}. An in-process caller can
then unarchive a chat before it sends a message, as the send endpoint
refuses an archived chat.
UnarchiveChatNotArchived replays TestUnarchiveChat/NotArchived through the shared update body, and UpdateAuditOnFailure already makes the same call. UnarchiveReadOnlyMember proves more than UnarchiveOtherUsersChat: it fails when checkUpdateChat is skipped and when the call runs as the system.
affbb23 to
5fd333a
Compare
There was an error while loading. Please reload this page.
This lets coderd give a chat MCP tools that it serves itself, in process. The first user will be an in-process integration, say a Slack bot. Nothing uses it yet. coderd now takes a list of internal MCP servers when it's built, each with a slug and a `ServerForChat` function. At every step, chatd asks each one for a server for the chat and connects to it over an in-memory transport, so the server knows which chat it's serving without any headers. Nothing is stored on the chat, so the public API doesn't change, and the chat owner can't remove an internal server. As only coderd can add one, internal servers ignore the `chat-inline-mcp-servers` experiment and the `--disable-chat-caller-supplied-tools` kill switch. Their tools come straight after the built-in tools, so they win any name clash with admin, workspace or caller tools. Admin and workspace tools now follow the same first-wins rule, so the model never sees two tools with the same name. If `ServerForChat` returns an error, we fail the turn, as we do when any other read during turn setup fails. I've put this on top of #30730 and #30731 in the stack. It doesn't need anything from them, but the Slack bot needs all three.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.