Skip to content

[Upstream PR #209] Add interactive askUserQuestion and configurable swarm spawn mode #154

@quangdang46

Description

@quangdang46

Mirrored from upstream 1jehuang/jcodePull 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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions