Test 1 - #3
Open
jadestrong wants to merge 6 commits into
Open
Conversation
Route all proxy notifications and requests by sessionId when present, so buffers sharing one connection never receive each other's output. Key changes: - `acp--shared-target-clients` now filters by sessionId for all methods, not just a hard-coded allowlist - Session-scoped notifications are dropped when no client owns the id; connection-level notifications still fan out to all - Add `acp-set-session-id` to stamp a client's `:session-id` once a session is established - Pre-declare `:session-id nil` in the client alist so `map-put!` can update it in place - Add `agent-shell--foreign-session-notification-p` guard that silently drops any notification whose sessionId does not match the buffer's own session
Defer body-range lookup until after label edits so that a growing status label (e.g. "pending" → "completed") does not leave a stale offset that causes `--replace-body' to eat the label-body boundary and leak body text under a collapsed indicator. Also read tool-call output from persisted state rather than the notification payload so content streamed in earlier updates is not lost when the final "completed" update omits the content field.
- Pass API key via `_meta` field in OpenAI authenticate request - Update auth method IDs to `"api-key"` and `"chat-gpt"` - Change `CODEX_API_KEY` to `OPENAI_API_KEY` env variable - Forward `_meta` from client params to agent in Rust handler
Implement two new ACP session operations: - `session/set_config_option` forwards config changes to the agent - `session/fork` creates a new session sharing the source session's conversation history, inheriting the same agent Includes Emacs-side request constructors and proxy-side handlers with unit tests for missing/invalid params.
Replace the file-based agent configuration system with dynamic per-request agent parameters. Agents are now registered at connect time via `command`/`args`/`env` params rather than pre-configured in a TOML file. - Delete `src/config.rs` and all `Config`/`AgentConfig` types - Remove `--config` CLI flag from the proxy binary - Remove `acp-proxy-config-file` and `acp-temp-dir` cusoms - `Application::new()` no longer takes a `Config` argument - `list_agents` now returns connected agents, not configured ones - Update tests to pass agent params inline on connect
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thank you for contributing to agent-shell!
Checklist
M-x checkdocandM-x byte-compile-file.