Mirrored from upstream 1jehuang/jcode — Pull Request #209 by @Zephyr709
Original state: open
Created: 2026-05-14T00:15:05Z · Updated: 2026-05-15T03:48:44Z
Diff: https://github.com/1jehuang/jcode/pull/209.diff
This issue is an auto-mirrored copy. Comments and edits here are local to quangdang46/jcode — do not expect them to propagate upstream.
Summary
This branch collects the current agent/tooling UX work:
- adds
askUserQuestion tool support and an interactive TUI modal
- adds ToolSearch deferred-tool registry plumbing
- improves provider/model allowlist handling and local startup recovery
- adds configurable swarm spawn behavior via
spawn_mode = visible | headless | auto
- documents background/non-focus-stealing agent orchestration guidance
- activates the macOS desktop window on launch
- includes rustfmt cleanup for touched provider/TUI files
Notable new swarm behavior
swarm spawn and spawn-backed assignment actions can now request:
visible: launch a terminal window
headless: create an in-process/headless worker, avoiding Ghostty focus stealing
auto: preserve historical visible-then-headless fallback behavior
Validation
cargo fmt --check
git diff --check
cargo check -p jcode-protocol
cargo check -p jcode
cargo check -p jcode-desktop
cargo test -p jcode-protocol test_comm_spawn_roundtrip_with_optional_nonce -- --nocapture
cargo test -p jcode-protocol test_comm_assign_next_roundtrip -- --nocapture
cargo test -p jcode --lib assign_next_prefers_worker_with_dependency_context -- --nocapture
cargo test -p jcode --lib assign_next_prefers_worker_with_matching_subsystem_metadata -- --nocapture
Follow-ups
- Add a config-level default for swarm spawn mode so users can prefer
headless globally.
- Add a Jcode ingestion bridge for the local agent telemetry warehouse.
Summary
This branch collects the current agent/tooling UX work:
askUserQuestiontool support and an interactive TUI modalspawn_mode = visible | headless | autoNotable new swarm behavior
swarm spawnand spawn-backed assignment actions can now request:visible: launch a terminal windowheadless: create an in-process/headless worker, avoiding Ghostty focus stealingauto: preserve historical visible-then-headless fallback behaviorValidation
cargo fmt --checkgit diff --checkcargo check -p jcode-protocolcargo check -p jcodecargo check -p jcode-desktopcargo test -p jcode-protocol test_comm_spawn_roundtrip_with_optional_nonce -- --nocapturecargo test -p jcode-protocol test_comm_assign_next_roundtrip -- --nocapturecargo test -p jcode --lib assign_next_prefers_worker_with_dependency_context -- --nocapturecargo test -p jcode --lib assign_next_prefers_worker_with_matching_subsystem_metadata -- --nocaptureFollow-ups
headlessglobally.