- protocol: InvokeKind enum、Event::InvokeStart / LlmCallStart / LlmCallEnd 追加
- llm-worker: Worker.llm_call_count と on_llm_call_start/end callback、turn_count を AgentTurn 数として doc 更新
- session-store: LogEntry::Invoke { ts, trigger } 追加 (replay は marker のみで state 不変)
- pod: run/run_for_notification 開始時に Invoke marker commit、PendingRun::RunForNotification(InvokeKind) で kind を伝搬
- pod ipc: sink + server で Invoke エントリーを Event::InvokeStart として broadcast
- tui: 新 Event 3種を no-op で受理 (UI 設計はチケット範囲外)
|
||
|---|---|---|
| .. | ||
| examples | ||
| src | ||
| tests | ||
| build.rs | ||
| Cargo.toml | ||
| README.md | ||
pod
独立したエージェント実行単位「Pod」を実装するクレート。LLM ワーカーセッションをマニフェスト設定・ファイルスコープ制約と組み合わせ、Unix ソケット経由の双方向通信で操作可能にする。
公開型
コア
Pod<C, St>— LLM ワーカーセッション + マニフェスト + スコープのラッパー(run(),resume(),from_manifest())PodRunResult— 実行結果(Finished,Paused)PodError— エラー型
制御
PodController— Pod ライフサイクルを管理するアクター(spawn()でタスク起動)PodHandle— Pod への操作ハンドル(send(),subscribe())PodSharedState/PodStatus— 共有状態(Idle,Running,Paused)
ランタイム
RuntimeDir—$XDG_RUNTIME_DIR/insomnia/{pod_name}/配下のランタイムディレクトリ管理(ステータス・履歴のアトミック書き込み)SocketServer— Pod Protocol 用 Unix ソケットサーバー