Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/users/features/channels/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,7 @@ Channels support slash commands. These are handled locally (no agent round-trip)
- `/help` — List available commands
- `/clear` — Clear your session and start fresh (aliases: `/reset`, `/new`)
- `/status` — Show session info and access policy
- `/btw <question>` — Ask a side question without interrupting the current task; text-only questions up to 4096 characters, requires an agent connection with side-question support
- `/sessions [all]` — List open named tasks, or include closed tasks; available only with `multiSession: true`
- `/session current` — Show the selected named task
- `/session new <name>` — Create and select a shared-workspace task
Expand Down
10 changes: 10 additions & 0 deletions packages/channels/base/src/ChannelAgentBridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,16 @@ export interface ChannelAgentBridge {
command: string,
signal?: AbortSignal,
): Promise<{ exitCode: number | null; output: string; aborted: boolean }>;
/**
* Answer a side question without interrupting the session's active turn.
* The result must echo the request's sessionId. Bridges whose agent
* connection cannot answer side questions omit it and channels fail closed.
*/
btw?(
sessionId: string,
question: string,
signal?: AbortSignal,
): Promise<{ sessionId: string; answer: string | null }>;
listSessions?(): BridgeSessionInfo[];
registerChannelLoopToolHandler?(handler: ChannelLoopToolHandler): void;
}
Loading
Loading