Skip to content

Offer asyncTasks to clients that are not JetBrains AIR #645

Open

Description

@IKatsuba

Could async tasks be negotiated independently of AIR rendering? In v2.2.2, receiving async_task_spawned and async_task_state_update requires clientCapabilities._meta.jetbrains.air = {version: 1, capabilities: ['asyncTasks']}; the extension also provides _session/async_task/stop. See capability validation and async-task contract.

The presence of the AIR object also selects AIR rendering independently of the capability list (client detection). That changes tool fields and output placement; for example, read/search/list command output moves to rawOutput, and guardian-review input and results use a different shape (tool contracts). An ACP v1 client that builds permission previews from rawInput and relies on the existing tool contract cannot opt into async tasks alone.

Would you consider a standalone async-task capability, or a capability under _meta that enables task updates and stop requests without selecting AIR rendering? Related: #492 asks for a per-task stop. Thank you.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions