Allow Rust callers to omit the automatic post-resume skill reload

Offen
#2,827 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

  • #2828 von @Chuxel — ohne Merge geschlossen

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
devtools

Rechercherichtung

Start from the Rust SDK's shared ordinary/prepared resume path, where session.resume is followed by an awaited session.skills.reload, and from the ResumeSessionConfig type that would gain a with_reload_skills(bool) option. The issue asks for explicit false to omit the automatic request entirely, while the default and true keep the awaited, best-effort behavior. Done means framed in-memory transport tests cover omission, retained settlement and errors, and unchanged wire configuration. Open PR #2828 already targets this, so check it before starting.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

Problem

The Rust SDK's shared ordinary/prepared resume path awaits session.skills.reload after a successful session.resume response. Returned reload errors are logged and tolerated, but an unanswered request keeps resume pending. A caller that already owns skill reconciliation cannot currently omit this additional SDK-issued operation.

This mechanism is reproducible with a framed in-memory transport: acknowledge session.resume, then observe the automatic session.skills.reload request and withhold its response. No live runtime or production incident evidence is needed for this SDK-level reproduction.

Proposed behavior

Add a Rust-local ResumeSessionConfig::with_reload_skills(bool) option. Unset or true must retain existing awaited, best-effort behavior; explicit false must omit the automatic request entirely, without a timeout, detached task, or retry.

Keep mandatory resume validation, MCP-auth interest registration, options readiness, event/callback ownership, and cleanup unchanged. The option must not be serialized to runtime or AHP settings. It must not disable skills, imply catalog or disabled-preference freshness, gate continued/shared work, or cancel an already-issued operation. Explicit caller-managed session.rpc().skills().reload() must remain available.

SDK regression coverage

Use synthetic framed controls for ordinary/prepared omission, retained default/true settlement and returned errors, mandatory readiness, event/hook/provider callbacks, failure/cancellation/connection-loss cleanup, and unchanged wire configuration.

Vorherrschende Sprache
Java
Sterne
10.7k
Forks
1.5k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus github/copilot-sdk

Alle Issues in github/copilot-sdk

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.