pty_send
Send text or commands to a persistent PTY session. For agent sessions, dispatches input asynchronously and returns an event cursor to track completion.
Instructions
セッションへテキストを送る。通常PTYへは送信のみ(出力は pty_read で取得)。agent session(launcher起動)への send は自動で dispatch になる: TUI の ready gate と submit 分離を通して即返り、receipt の event_cursor を返す。dispatch した子は投げっぱなしでよい=親はここで待たない。完了通知は aiterm-wait --session <id> --cursor <event_cursor> を親のターンを塞がない別プロセスとして起動して受け、exit を完了通知として扱う(exit 0=done / 3=timeout(既定600秒・未完了) / 4=closed。receiptのoutcomeが正で、done以外は未完了。ポーリング不要)。この待ちコマンドを foreground で実行して親のターンを塞ぐことはしない(receipt が実際の起動形を示す)。結果回収は pty_read(agent_transcript:true)、Claude の durable turn は claude_turn を使う。force:true は非Claude agent sessionへの手動介入用の素送信。aiterm相関付きClaudeの承認UIはclaude_approvalを使う。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | 送信前サニタイズを無効化 | |
| rtk | No | 既知コマンドを rtk 形へ委譲して送る(rtk 不在なら素通し) | |
| mark | No | 完了 sentinel(終了コード付き)で包む。pty_read(wait:true) が until 無しでも自動検出して完了確定する(ネスト中や非シェル前面でも効く確実な完了検出。手で until を組む必要なし)。 enter:false と併用すると sentinel が実行されず完了検出が発火しない(送信後に pty_key("Enter") で実行される)。 | |
| text | Yes | 送る文字列(コマンド/prompt)。UTF-8で最大64KiB | |
| enter | No | 末尾で Enter を送る(agent dispatch では常に submit) | |
| force | No | 破壊的コマンドゲートを越える。非Claude agent sessionではdispatchせず素送信する。aiterm相関付きClaudeのactive turnには使えない | |
| session_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| schema | Yes | ||
| vendor | Yes | ||
| launch_id | Yes | ||
| session_id | Yes | ||
| event_cursor | Yes | ||
| submit_residue | Yes |