Skip to content

Test 1 - #3

Open
jadestrong wants to merge 6 commits into
mainfrom
test-1
Open

Test 1#3
jadestrong wants to merge 6 commits into
mainfrom
test-1

Conversation

@jadestrong

Copy link
Copy Markdown
Owner

Thank you for contributing to agent-shell!

Checklist

  • I agree to communicate (PR description and comments) with the author myself (not AI-generated).
  • I've reviewed all code in PR myself and will vouch for its quality.
  • I've read and followed the Contributing guidelines.
  • I've filed a feature request/discussion for a new feature.
  • I'm making visual changes, so I'm including screenshots so you can view and discuss.
  • I've added tests where applicable.
  • I've updated documentation where necessary.
  • I've run M-x checkdoc and M-x byte-compile-file.

zhangyuqiang and others added 6 commits June 28, 2026 10:20
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant