Skip to content

feat: expose background terminals as async tasks - #460

Open
nikita-ashihmin wants to merge 6 commits into
agentclientprotocol:mainfrom
nikita-ashihmin:nikita.ashikhmin/background-terminal-tasks
Open

feat: expose background terminals as async tasks#460
nikita-ashihmin wants to merge 6 commits into
agentclientprotocol:mainfrom
nikita-ashihmin:nikita.ashikhmin/background-terminal-tasks

Conversation

@nikita-ashihmin

Copy link
Copy Markdown
Collaborator

Summary

  • negotiate the AIR asyncTasks capability
  • publish Codex background terminals as async tasks linked to their command cards
  • stop one background terminal through _session/async_task/stop
  • restore active tasks from the app-server terminal list
  • keep the app-server process ID internal to the adapter

Validation

  • npm run typecheck
  • npm run build
  • npm test (494 passed, 26 skipped)

Publish Codex-owned background terminals through the AIR async task lifecycle.
Use the app-server process handle only for targeted stop requests.
Reconcile lost terminal events and retain retryable task state.
Route child tasks to their native sessions and cover lifecycle races.
Keep task control valid after app-server replacement. Restore child tasks after history replay and publish task updates before child completion. Retry failed reconciliation and close unfinished tasks after process exit.
Publish each task spawn before its terminal state. Fence old app-server queries during provider replacement, fail tasks on process exit, and reconcile every child terminal path.
The task name already contains the command text. Omit the matching description so clients do not render the command twice.
Use the mapped command title as the async task name. Keep the raw command only in the tool input and terminal API.
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