機能の継ぎ目とコアサービス
サービスは、コアの基幹サービス、差し替え可能な機能の継ぎ目、またはバンドル/構成ポイントのいずれかです。このグラフは、サービス宣言を所有するパッケージ、既知の実装パッケージ、およびサービスを直接利用するパッケージを示します。
| ctx キー | 役割 | 所有者 | 実装 | 直接コンシューマー | コンパニオンプラグイン | 注記 |
|---|---|---|---|---|---|---|
ctx.attachments | seam | attachment | attachment-local | host-runtime, llm-pi-ai | - | ホストはセッションイベントの前に受理済みイメージをコミットします。プロバイダーアダプターは、認可済みの永続参照をプロバイダー固有のコンテンツへ解決します。 |
ctx.llm | seam | llm | llm-deepseek, llm-pi-ai, llm-replay | agent-loop, compaction-basic | - | アダプターはプロバイダー実装を登録します。ループとコンパクションは、プロバイダー中立のストリームサービスを呼び出します。 |
ctx.tokenMeter | core | token-meter | - | compaction-basic | - | 分離されたセッションごとのリプレイ fold を所有します。負荷コンシューマーは、不変のリビジョン付き測定値を共有します。 |
ctx.toolResultPruner | core | compaction-tool-result-pruner | - | compaction-basic | - | 要約コンパクションの前に、過大な現在のツール結果を、リプレイ可能な単一ノードのサーフェス置換で書き換えます。 |
ctx.sessions | core | session | - | agent-loop, agent, session-persistence, session-query, session-query-sqlite, subagent-inprocess, invariants, message-feedback | - | 追記専用の Session インスタンスを所有し、永続的なセッションイベントフィードを発行します。 |
ctx.invariants | core | invariants | - | session, agent, scope, agent-loop | - | コンパニオンサブパスは所有者ローカルの検査を登録します。サービスは選択、一意性、子 fiber、パッケージに帰属する失敗を所有します。 |
ctx.typert | core | typert-registry | - | typert-loader, api-gateway | - | プラグインは、ライブの zod コントリビューションを直接または dsh-typert-loader 経由で登録します。API ゲートウェイは呼び出し記述子とプロバイダーを消費し、ほかのランタイムコンシューマーは自身の境界でスキーマとリフレクションメタデータを照会します。 |
ctx.typertGateway | core | api-gateway | - | - | - | 生成された Remote 記述子をライブの Cordis サービスに関連付け、登録済み ID を解決し、共有 Connection RPC キャリア経由で unary 呼び出しを公開します。 |
ctx.sessionPersistence | seam | session-persistence | session-persistence-jsonl, session-persistence-sqlite | agent-loop, tool-bash, hooks-claude-code, hooks-codex, session-query, session-query-sqlite, message-feedback | - | バックエンドは同じ SessionEvent 語彙を永続化します。アプリはコンポジション時にバックエンドを選択します。 |
ctx.settings | seam | settings | settings-file | llm-deepseek, llm-pi-ai, apiproxy | - | プラグインは名前空間スキーマを登録し、階層化された値を解決します。プロバイダーは生ドキュメントを保存します。LLM アダプターは、ユーザーセクションの下でエントリー設定をコンポジション基盤として登録します。Web ゲートウェイは機密情報を除いた階層化記述子を提供し、ユーザーレイヤーを書き込みます。 |
ctx.credentials | seam | credentials | credentials-local | llm-deepseek, llm-pi-ai, apiproxy | - | 設定はシークレットへの参照を保持し、プロバイダーが値を所有します。コンシューマーは操作ごとに解決するため、ローテーション済みの認証情報は次のリクエストに反映されます。Web ゲートウェイは値を含まないビューと書き込み専用ストレージを公開します。 |
ctx.sessionTelemetry | seam | session-telemetry | session-telemetry-otel | - | - | この抽象境界はセッションレコードを取得、機密情報除去して単一のバックエンドに渡します。このサービスを消費するものはほかになく、出力はプロセス外へ出ます。 |
ctx.storage | seam | storage | storage-json, storage-sqlite | storage-domain | - | バックエンドは名前の下に並列登録されます。データフォーム(ドメイン優先)はハブにマウントされ、型付き操作を不透明な KV ユニットプリミティブへ変換します。 |
ctx.storageDomain | core | storage-domain | - | workspace, message-feedback | - | 設定済みのすべてのバックエンドを待機してから、型付き永続状態のためのライフサイクル結合サービスとしてドメインフォームを公開します。 |
ctx.messageFeedback | core | message-feedback | - | - | - | Session 履歴やテレメトリーに入らず、アシスタントメッセージごとのローカルフィードバック、ライフサイクルおよびターゲット検証、項目ごとの compare-and-set、Host unary Remote 契約を所有します。 |
ctx.workspaceRegistry | core | workspace | - | apiproxy | - | ドメイン機能上の WorkspaceId ブランド付きレコードを所有します。安定した sessionIds アカウントが Host RPC と GUI プロジェクションを駆動します。 |
ctx.sessionQuery | seam | session-query | session-query-sqlite | session-reference, tool-session-query | - | インターフェースは正確な読み取り、フィルター、トレースを提供します。具体的なバックエンドは全文照合、ランキング、スニペット、カーソル世代を追加し、モデルコンシューマーはワークスペース権限とカーソルなしのレンダリングを所有します。 |
ctx.sessionReferenceResolver | core | session-reference | - | - | - | 境界付きの現在サーフェス会話スナップショットを、永続的で信頼されないメッセージコンテキストへ投影します。ホストアダプターがメンション構文を所有します。 |
ctx.sessionTitle | seam | session-title | session-title-first-prompt-llm, session-title-all-prompts-llm | - | - | 決定論的フォールバック、最新タイトル fold、唯一の任意の非同期プロバイダー登録を所有します。 |
ctx.systemPrompt | core | system-prompt | - | agent-loop, tools, tool-fs, tool-terminal, tool-web | - | 各ステップのプロンプトセクションとモデル向けツールスキーマを収集します。 |
ctx.tools | core | tools | - | agent-loop, tool-ask-user, tool-bash, tool-cordis, tool-fs, tool-terminal, tool-skill, tool-subagent, tool-todo, tool-web | - | ケイパビリティを登録し、Code Mode トランスポートを所有して、呼び出しを事前ポリシー、単調ガード、ディスパッチ周辺、事後ポリシー、最終結果観測へルーティングします。 |
ctx.userQuestions | seam | user-questions | - | tool-ask-user | - | UI フロントエンドはアクティブな人間の回答プロバイダーを提供します。tool-ask-user は、プロバイダー中立の ask() Promise 上でツール呼び出しを一時停止します。 |
ctx.planMode | core | plan-mode | - | - | - | 記録済みのプラン/モード状態を fold し、ターン境界でユーザー選択をフラッシュし、デプロイメント所有のガイダンスをレンダリングし、/plan を登録し、遷移中もプラン終了スキーマを安定させます。 |
ctx.agentPresets | core | agent-presets | - | - | - | 信頼済みおよびユーザー作成のルート上でプリセットディレクトリを検出し、作成中にエージェントスコープの下へ 1 つのプリセット cordis.yml をマウントします。決して有効化されない行やルートサービス領域へ公開する行は拒否します。 |
ctx.commands | core | commands | - | - | - | プラグインは、呼び出しをモデルへ送らずに直接の人間向けコマンドを登録します。 |
ctx.sessionProjections | core | session-projection | - | tool-todo, session-title, host-apiproxy | - | ドメインは状態駆動 fold ユニットを登録します。eager drive はセッションごとのウォーターマーク状態を保持し、api-proxy はベースラインを提供して変更済みの値をプッシュします。 |
ctx.sessionProjectionCache | core | session-projection-cache | - | host-apiproxy | - | セッションごとにプロジェクションユニット状態を永続的にチェックポイントします(スロットリングと turn/end/detach の必須ポイント)。さらに、コールドリードの階段、すなわちキャッシュ行と永続化末尾リプレイを提供するため、一覧で完全なログを読み込みません。 |
ctx.skills | seam | skill | skill-badge, skill-filesystem | tool-skill | - | プロバイダーのスキルカタログをマージします。tool-skill はセッション接頭辞付きカタログをレンダリングし、完全なスキル本文を読み込みます。 |
ctx.agents | core | agent | - | agent-loop, acp, subagent-inprocess | - | ライブの Agent ハンドル、create/resume ファクトリー境界、プロセスローカルの起動者伝播を所有します。 |
ctx.agentDefaultModel | core | agent-default-model | - | headless, host-apiproxy | - | デフォルトの ModelSelection を設定経由で階層化し、直接の Agent エントリーポイントと Host をバックエンドとする Agent エントリーポイントが 1 つの状態所有者を共有できるようにします。 |
ctx.agentLoop | bundle | agent-loop | - | agent-spine-demo | - | 唯一の具体的なループプラグインです。拡張パッケージはこのパッケージではなく、dsh-agent イベントとサービスに依存します。 |
ctx.goals | core | goal | - | - | - | セッションログからリビジョン付き目標状態を fold し、ライブ継続の有効化をプロセスローカルに保持します。 |
ctx.e2b | core | e2b | - | fs-e2b, subprocess-e2b | - | 共有する 1 つの E2B SDK ハンドル、リモート作業ディレクトリ、最終サンドボックス処理を所有し、2 つの基本 E2B プロバイダーが同じ Linux ランタイムに存在できるようにします。 |
ctx.subprocess | seam | subprocess | subprocess-local, subprocess-e2b | bash-local, bash-sandbox, terminal-bash, lsp-stdio, subagent-acp, subagent-codex, subagent-claude-code | - | bash 実行器、PTY シェルバックエンド、LSP ホスト、プロセス外の ACP、Codex、Claude Code サブエージェントバックエンドは ctx.subprocess 経由で起動します。このサービスは、プロセス座標、ツリー/セッションの存続期間、stdio 処理、端末メカニクス、kill エスカレーションを所有します。 |
ctx.shell | seam | shell | bash-local, bash-sandbox, pwsh-local | tool-bash, tool-pwsh, hooks-claude-code, hooks-codex | - | モデル向けシェルツールとフックブリッジはこの抽象境界を消費します。サンドボックス、リモート、PowerShell の実行器は、それらに触れずに bash-local を置き換えます。 |
ctx.shellEnv | core | shell-env | - | tool-bash, tool-pwsh | - | プラグインはエフェクトスコープの DSH_* ファクトを宣言します。各シェルツールは実行ごとに信頼済みスナップショットを 1 つ収集し、その実行器が名前空間を再構築します。 |
ctx.terminals | seam | terminal | terminal-bash | tool-terminal | - | レジストリは厳密な Agent セッション ID とクリーンアップを所有します。バックエンドは端末メカニクスを所有し、tool-terminal は所有者スコープのモデルツールを公開します。 |
ctx.sandbox | seam | sandbox | sandbox-local | bash-sandbox, terminal-bash | - | コンシューマーは起動直前の厳密な argv を渡します。同一ワールドのバックエンドはこれを呼び出し単位のポリシーでラップし、強制結果を報告します。 |
ctx.sandboxPolicy | core | sandbox-policy | - | bash-sandbox, fs-sandbox, terminal-bash | - | デプロイメントのデフォルトモードとワークスペースルートを置く唯一の場所です。サンドボックス実行器とプロバイダーのみがサービスを読み取ります(ツールレイヤーは、ここで公開される純粋な sandbox/mode fold を使います)。両方の強制ファミリーがこれを読むため、bash と fs が異なるルートへ閉じ込められることはありません。 |
ctx.approval | seam | approval | acp | tools, tool-bash | - | approval/request ウォーターフォールでディスパッチされる一回限りの権限決定です。回答者はリスナーであり(自身のエージェント用の ACP ブリッジ)、不在の場合は unavailable にフェイルクローズします。 |
ctx.permissionPresets | core | permission-presets | - | - | - | サンドボックスモードと承認ポリシーのノブを束ねる、ユーザー向けプリセット表(workspace-write/danger-full-access)です。切り替えると、permission/preset イベントを 1 つ書き込み、両方のノブイベントへ伝播します。 |
ctx.codeRuntime | seam | code-runtime | code-runtime-worker | tools | - | ホスト提供の非同期バインディングに対し、モデルが記述したプログラムを 1 つ実行します。バックエンドは基盤と言語によって異なります(ツールレジストリは Code Mode のためにこれを消費します)。 |
ctx.fs | seam | fs | fs-local, fs-sandbox, fs-e2b | tool-fs | fs-observation-policy | tool-fs は ctx.fs 経由で read/write/edit を実行します。fs-sandbox は共有サンドボックスモードで変更を制限し、fs-observation-policy は fs/* イベントゲート経由で観測済み状態の検査を提供します。 |
ctx.compaction | seam | compaction | compaction-basic | compaction-basic | - | 基本バックエンドはステップ後の負荷およびリクエストエラー回復イベントを消費します。モデル向け compact ツールはありません。 |
ctx.subagents | seam | subagent | subagent-spawn-in-process, subagent-fork-in-process, subagent-acp, subagent-codex, subagent-claude-code, subagent-dsh-sdk | tool-subagent, tool-subagent-control, tool-ralph | - | プロバイダーはトランスポートを実装します。このサービスは任意の Activation ベース継続オーケストレーションも所有します。tool-subagent はワンショットまたは継続可能な委任を選択し、tool-subagent-control はフォローアップを配信し、tool-ralph は新しい構造化出力ルートを 1 つ必要とします。 |
ctx.jobs | seam | jobs | jobs-local | tool-bash, tool-terminal, tool-subagent, tool-jobs | - | プロデューサー(バックグラウンド bash、PTY 送信、サブエージェント委任)は実行中の作業を登録します。tool-jobs は読み取り、一覧、停止を行うモデル向けコントローラーであり、jobs-local はプロセスローカルレジストリです。 |
ctx.web | seam | web | web-search-exa, web-search-perplexity, web-search-deepseek, web-fetch-http | tool-web | - | 検索および取得プロバイダーは、1 つの ctx.web 抽象境界に登録されます。tool-web は安定したモデル向けの名前を所有します。 |
ctx.spillStore | seam | spill | spill-local | spill-policy | - | バックエンドは過大なツールテキストを保存し、モデル向けロケーターと取得ヒントを返します。spill-policy は、いつ退避するかを決定する tools/post-execute コンシューマーです。 |
ctx.directoryPicker | seam | directory-picker | directory-picker-native, directory-picker-browse | apiproxy | - | 判別可能なインタラクション機能です。ネイティブバックエンドはホストディスプレイで OS チューザーを 1 つ開き、ブラウズバックエンドはアプリ内ブラウザー向けに一覧/作成プリミティブを提供します。二面性バックエンドは、ブラウザー側から ui-workspace ディレクトリフローのスロットを満たします(ワイヤー広告はありません)。 |
ctx.webServer | core | webserver | - | connection, modules, hmr | - | プレーンな node:http キャリアです。名前付きルートレジストリ、インデックス変換タップ、静的 dist フォールバックを備え、web-transport プラグインが独自のルートを登録します。 |
ctx.clientModules | core | modules | - | hmr | - | 増分 dsh.client スキャンから DSH_BOOT エントリーグラフを構成し、プラグインバンドルを提供し、再構築済み/グラフ変更済みのサブスクライバーへ通知します。 |
ctx.workflowEngine | seam | workflow | workflow-worker-thread | tool-workflow, tool-ralph | - | bash と同様にコンテキストごとに 1 つのエンジンであり、名前付きプロバイダーレジストリはありません。一般ワークフローと固定 Ralph コンシューマーは、agent() 呼び出しが ctx.subagents 経由で分岐する実行を開始します。 |
ctx.lsp | seam | lsp | lsp-local | tool-lsp | - | 正確に 4 つの操作にわたるプロバイダー登録と選択、および正規化されたクエリ実行を提供します。この抽象境界にはプロトコルのエスケープハッチがないため、バックエンドは正規化リクエストと結果へ変換します。 |
ctx.apiProxy | core | apiproxy | - | connection | - | トランスポート非依存のホストゲートウェイ面です。ブラウザー API 呼び出しをディスパッチし、開いている各ホストストリームはブロードキャスト動詞によるプッシュではなく、転送するイベントをサブスクライブします。 |
ctx.dynamicCordisRunner | core | cordis-host-runner | - | tool-cordis | - | インメモリ定義レジストリ、ホスト側の vm サンドボックス、リクエスト実行ラウンドトリップを所有します。ブラウザーページはリモート名前空間を介してワイヤー越しに同じサービスへ到達します。 |
ctx.cordisInspect | core | cordis-host-runner | - | tool-cordis | - | ホスト inspect プロバイダーを登録し、クライアントプロバイダーマニフェストをミラーリングし、クライアントクエリを動的 Cordis トランスポート経由でルーティングします。 |
メンテナンス モード: ハイブリッド: サービスは Cordis 宣言から検出されます。interface/implementation/consumer のロールは scripts/gen-doc-graphs.ts で完全性ガードとともに分類されます。