Members
(constant) AddPayload
MCP サーバーを追加するためのペイロードスキーマ。名前と設定を含む。
(constant) ApplyPatchTool
「apply_patch」ツールの定義。パッチを hunk へ解析し、各 add/update/move/delete の新しい内容を導出し(ファイルごとの diff および追加/削除行数を計算)、影響を受ける全パスをまとめてカバーする 1 つの「edit」権限を要求し、書き込み/削除/移動を適用し、設定されたフォーマッターを実行し、file/edit イベントを発行し、LSP を更新して診断結果を出力に追記する。
(constant) AuthCallbackPayload
MCP OAuth コールバックのペイロードスキーマ。プロバイダーから返された認可コードを含む。
(constant) AuthMiddleware
HTTP Basic 認証ミドルウェア。CLOSEDCODE_SERVER_PASSWORD が設定されている場合にのみ有効になる。Authorization ヘッダーまたは auth_token クエリパラメータ経由で資格情報を受け付け、設定済みのユーザー名/パスワードと一致しない場合は 401 を返す。
(constant) AuthRemoveResponse
MCP OAuth 資格情報の削除時の成功スキーマ。常に true の success フラグを含む。
(constant) AuthStartResponse
MCP OAuth 開始時の成功スキーマ。認可 URL と不透明な OAuth ステートトークンを含む。
(constant) BlockAnchorReplacer
3行以上のブロック向けのリプレーサ。トリムした最初の行と最後の行をアンカーとし、中間行の類似度(Levenshtein ベース)で候補ブロックをスコアリングして、最良かつ唯一許容できるマッチの生の部分文字列を yield する。内部行の差異を許容する。
(constant) ClosedCodeHttpApi
root、イベントストリーム、instance、PTY-connect の各 API を結合した最上位の HttpApi。共有の Event/SyncEvent スキーマが注釈付与される。
(constant) CommandInput
command の入力スキーマ。スラッシュコマンド名と引数に加え、任意のエージェント/モデル/バリアント、および任意のファイルパートを持つ。
(constant) CommandPayload
TUIコマンド実行用のリクエストボディスキーマ。コマンド文字列を含む。
(constant) CommandPayload
TUIコマンド実行用のリクエストボディスキーマ。コマンド文字列を含む。
(constant) CompressionMiddleware
クライアントが gzip を受け入れる場合にレスポンスを gzip 圧縮し、res.write/res.end を gzip ストリーム経由で透過的にラップする。SSE/ストリーミングエンドポイント(/event、/global/event、およびセッションの message/prompt_async POST)は逐次フラッシュできるようスキップする。
(constant) ConfigApi
GET /config、PATCH /config、GET /config/providers を公開する Effect HttpApi グループ。
(constant) ConsoleSwitchPayload
Console の組織を切り替える際にアクティブにするアカウント/組織を選択するペイロード。
(constant) ContextAwareReplacer
3行以上のブロック向けのリプレーサ。トリムした最初の行と最後の行をアンカーとし、同じ長さのブロックを、その内部の非空行(トリム後)の少なくとも半数が一致する場合にのみ受け入れて、マッチした生の部分文字列を yield する。
(constant) ControlApi
PUT/DELETE /auth/:providerID と POST /log を公開する Effect HttpApi グループ。
(constant) ControlPaths
control API グループが公開するルートパス。
(constant) CreatePayload
ワークスペースを作成するためのリクエストボディスキーマ。Workspace.CreateInput から projectID を除いて派生し、extra を任意項目にしたもの。
(constant) Cursor :Object
デコード済みのページネーションカーソルペイロード(メッセージ id、time、order、direction)を記述するスキーマ。
- Object
(constant) CursorQuery
任意のページネーション/ストリーム用カーソルを保持するクエリスキーマ。
(constant) DefaultMessagesLimit :number
limit が指定されない場合に 1 ページあたりに返されるメッセージのデフォルト件数。
- number
(constant) DefaultSessionsLimit :number
limit が指定されなかった場合に 1 ページあたり返すセッション数のデフォルト値。
- number
(constant) DiffInput
差分リクエストのスキーマ。必須の sessionID と任意の messageID。
(constant) DiffQuery
diff エンドポイント用のクエリ文字列スキーマ。SessionSummary.DiffInput から、パスで与えられる sessionID を除いて導出される。
(constant) Disabled
明示的に無効化された LSP サーバーエントリ ({ disabled: true }) のスキーマ。派生した .zod 互換スキーマを公開する。
(constant) EditTool
「edit」ツールの定義。引数を検証してパスを解決し、ファイルごとのロックのもとで、ファイルを新規作成する(oldString が空の場合)か、検索置換を適用する(ファイル既存の改行コードと BOM を保持する)。「edit」権限を要求し、ファイルを書き込んで必要に応じてフォーマットし、edit/update イベントを発行し、整形された diff と追加/削除行数を計算し、LSP 診断結果を出力に追記する。
(constant) Entry
単一の LSP サーバーエントリのスキーマで、Disabled か、または command、任意の extensions、disabled、env、initialization オプションを持つオブジェクトのいずれか。派生した .zod 互換スキーマを公開する。
(constant) Entry
単一の LSP サーバーエントリのスキーマで、Disabled か、または command、任意の extensions、disabled、env、initialization オプションを持つオブジェクトのいずれか。派生した .zod 互換スキーマを公開する。
(constant) ErrorMiddleware
Express のエラーハンドラ。既知のエラー型を HTTP ステータスコードにマッピングし(NotFound -> 404、model/auth/worktree のバリデーション -> 400、それ以外 -> 500)、それらを JSON としてシリアライズする。
(constant) EscapeNormalizedReplacer
検索テキスト中のバックスラッシュエスケープシーケンス(\n、\t、\r、クォート、\、$)を解釈するリプレーサ。アンエスケープした文字列がそのまま見つかればそれを、見つからなければ自身をアンエスケープするとアンエスケープ済みの検索テキストに一致する任意のコンテンツブロックを yield する。
(constant) Event :Object
todo リスト用のバスイベント定義。
- Object
(constant) Event
todo リスト用のバスイベント定義。
| Name | Type | Description |
|---|---|---|
Status | Object | Published whenever a session's status changes; carries sessionID and the new status. |
Idle | Object | Deprecated; published when a session becomes idle; carries only sessionID. |
(constant) Event
todo リスト用のバスイベント定義。
| Name | Type | Description |
|---|---|---|
Updated | Object | セッションの todo リストが変化したときに発行される。sessionID と todos 配列全体を伴う。 |
(constant) EventApi
GET /event の SSE サブスクライブエンドポイントを公開する Effect HttpApi グループ。
(constant) EventPaths
イベント API グループが公開するルートパス。
(constant) EventTuiCommandExecute
command-execute TUI イベントの判別共用体メンバースキーマ。
(constant) EventTuiPromptAppend
prompt-append TUI イベントの判別共用体メンバースキーマ。
(constant) EventTuiSessionSelect
session-select TUI イベントの判別共用体メンバースキーマ。
(constant) EventTuiToastShow
toast-show TUI イベントの判別共用体メンバースキーマ。
(constant) ExperimentalApi
実験的なエンドポイント(Console、tools、worktrees、sessions、resources)を公開する Effect HttpApi グループ。
(constant) ExperimentalPaths
実験的(experimental)API グループが公開するルートパス。
(constant) FenceMiddleware
Hono スタイルのミドルウェア。変更を伴うリクエストに対して、ハンドラ実行の 前後でイベントシーケンスをスナップショットし、いずれかのアグリゲートが進んだ場合は その差分を x-closedcode-sync ヘッダ経由でレスポンスに付与し、プロキシが読み取りをフェンスできるようにする。
(constant) FileApi
実験的なファイルルートグループの HttpApi 定義。 find/list/read/status の各エンドポイントを、インスタンスコンテキスト・ワークスペースルーティング・認可ミドルウェアのもとにまとめる。
(constant) FilePaths
各ファイルルートの URL パス定数。エンドポイント名をキーとする。
(constant) FileQuery
パスで単一のファイルを対象とするエンドポイント向けのクエリスキーマ。
(constant) FindFileQuery
find-file エンドポイント向けのクエリスキーマ。検索クエリに加え、任意の dir/type フィルタと結果件数の上限を指定する。
(constant) FindSymbolQuery
find-symbol エンドポイント向けのクエリスキーマ。ワークスペースのシンボル検索クエリ。
(constant) FindTextQuery
find-text エンドポイント向けのクエリスキーマ。ripgrep の検索パターン。
(constant) ForkPayload
セッションをフォークするためのリクエストボディスキーマ。Session.ForkInput からパスで指定される sessionID を除いて導出される。
(constant) GlobTool
"glob" ツールの定義。検索ディレクトリを解決し(デフォルトはインスタンスディレクトリ)、glob/外部ディレクトリの権限を求め、ripgrep のファイルマッチャを実行し、結果を新しい順にソートし、100件に切り詰めて、それ以上ある場合は通知を付与する。
(constant) GlobalApi
グローバルルートグループの HttpApi 定義。 health、イベントストリーム、config の get/update、dispose、upgrade の各エンドポイントをまとめる(インスタンスミドルウェアは持たない)。
(constant) GlobalBus
インスタンス間でイベントを中継するために使われる、プロセス全体で共有されるバスエミッタ。
(constant) GlobalEventSchema
単一のグローバルイベントのスキーマ。ディレクトリ/プロジェクト/ワークスペースのスコープと、バスまたは同期イベントのペイロードを含む。
(constant) GlobalHealth
health エンドポイントの成功スキーマ。常に healthy のフラグとサーバーバージョンを含む。
(constant) GlobalPaths
各グローバルルートの URL パス定数。エンドポイント名をキーとする。
(constant) GlobalUpgradeInput
upgrade エンドポイントのペイロードスキーマ。任意のターゲットバージョン(省略時は最新)を指定する。
(constant) GlobalUpgradeResult
upgrade エンドポイントの成功スキーマ。新バージョンを伴う成功、またはエラーメッセージを伴う失敗のいずれか。
(constant) GrepDefinition
共有の grep/検索ツール定義 Effect。検索対象(ファイルまたはディレクトリ)を解決し、grep/外部ディレクトリの権限を求め、ripgrep 検索を実行し、ファイルの更新時刻を並行に収集し、マッチを新しい順にソートし、100件に切り詰めて、ファイルごとにグループ化してマッチを整形する(長い行は MAX_LINE_LENGTH に制限される)。
(constant) GrepTool
共有の GrepDefinition から構築される "grep" ツール(tool/search.js でも "search" として再公開される)。
(constant) HistoryEvent
history エンドポイントが返す単一の同期イベントのスキーマ(ワイヤー上では snake_case の aggregate_id を使用する)。
(constant) HistoryPayload
history エンドポイント用のリクエストボディスキーマ。アグリゲートIDから最後に判明しているシーケンス番号へのマップ。
(constant) IndentationFlexibleReplacer
共通の先頭インデントを除去した上でブロックをマッチするリプレーサ。これにより、元ブロックがどれだけ深くインデントされていても検索テキストをマッチでき、マッチした生の部分文字列を yield する。
(constant) Info
設定の skills セクションのスキーマ。追加のスキルフォルダパス(任意)とリモートスキル URL(任意)を保持し、zod ベースの検証用に派生させた zod static を備える。
(constant) Info
設定の skills セクションのスキーマ。追加のスキルフォルダパス(任意)とリモートスキル URL(任意)を保持し、zod ベースの検証用に派生させた zod static を備える。
(constant) Info
設定の skills セクションのスキーマ。追加のスキルフォルダパス(任意)とリモートスキル URL(任意)を保持し、zod ベースの検証用に派生させた zod static を備える。
(constant) Info
設定の skills セクションのスキーマ。追加のスキルフォルダパス(任意)とリモートスキル URL(任意)を保持し、zod ベースの検証用に派生させた zod static を備える。
(constant) Info :Schema.Struct
設定の skills セクションのスキーマ。追加のスキルフォルダパス(任意)とリモートスキル URL(任意)を保持し、zod ベースの検証用に派生させた zod static を備える。
- Schema.
Struct
(constant) InitPayload
セッション初期化用のリクエストボディスキーマ。使用するプロバイダ/モデルとシードメッセージIDを含む。
(constant) InstanceApi
実験的なインスタンス読み取りルートグループの HttpApi 定義。 dispose/path/vcs/command/agent/skill/lsp/formatter の各エンドポイントを、インスタンスコンテキスト・ワークスペースルーティング・認可ミドルウェアのもとにまとめる。
(constant) InstanceHttpApi
インスタンス単位の HttpApi。インスタンスごとの全ルートグループ(config、file、session、sync など)を含む。
(constant) InstancePaths
各インスタンス読み取りルートの URL パス定数。エンドポイント名をキーとする。
(constant) InvalidError
パースされた設定がスキーマ検証に失敗した場合に発生するエラー。ペイロードはファイルの path、オプションの検証 issues、およびオプションの message を保持する。
(constant) InvalidTool
"invalid" ツール。意図的に呼び出されることは決して想定されていない("Do not use")。直前のツール呼び出しの引数が拒否された理由を説明するバリデーションエラーをそのまま返すだけである。
(constant) JsonError
設定ファイルを JSON/JSONC としてパースできない場合に発生するエラー。ペイロードはファイルの path とオプションのパーサー message を保持する。
(constant) Keybinds
KeybindsSchema から派生した、キーバインド設定用の Zod 互換オブジェクトスキーマ。個々のフィールドをパースできるよう .shape を公開する。
(constant) KeybindsSchema
設定可能な各キーバインドフィールドとそのデフォルトを記述する Effect スキーマ。
(constant) Layout
レイアウト設定値のスキーマで、"auto" または "stretch" のいずれか。派生した .zod 互換スキーマを公開する。(非推奨: レイアウトは常に stretch。)
(constant) LineTrimmedReplacer
各行の先頭/末尾の空白を無視して行のブロックをマッチさせ、元の内容の対応する生の部分文字列を返す置換器。
(constant) ListQuery
セッションを一覧するためのクエリ文字列スキーマ。任意の directory・scope・path・roots-only・ページネーション・検索の各フィルタを持つ。
(constant) LogInput
/log エンドポイントに POST されるログエントリペイロードのスキーマ。
(constant) LspTool
"lsp" ツールの定義。ファイルパスを解決し、lsp/外部ディレクトリの権限を求め、1始まりの行/文字位置を0始まりの LSP 位置に変換し、ファイルの存在と LSP クライアントの利用可能性を確認した上で、要求された操作をディスパッチし、結果を JSON としてシリアライズする。
(constant) MULTIPLE_CANDIDATES_SIMILARITY_THRESHOLD
ブロックアンカーの候補が複数あるとき、最良候補を受理するために必要な中間行の最小類似度。
(constant) McpApi
実験的な MCP ルートグループの HttpApi 定義。 status/add/auth/connect/disconnect の各エンドポイントを、インスタンスコンテキスト・ワークスペースルーティング・認可ミドルウェアのもとにまとめる。
(constant) McpPaths
各 MCP ルートの URL パス定数。エンドポイント名をキーとする。
(constant) McpResult
MCP の tools/call 結果のうち関連する部分のスキーマ。type と text を持つ result.content[] の各要素を表す。
(constant) MessageGroup
実験的な v2 メッセージルートグループ。順序ベースまたはカーソルベースのページネーションで、セッションの投影済み v2 メッセージを取得する単一のエンドポイントを公開する。 認可ミドルウェアで保護されている。
(constant) MessageID
メッセージ識別子のためのブランド付きスキーマ。静的ヘルパーを公開する: 時間昇順のメッセージ ID を生成する ascending(id) と、zod コーデックの zod。
(constant) MessagesQuery
メッセージを一覧するためのクエリ文字列スキーマ。任意の非負整数 limit と before カーソルをサポートする。
(constant) MultiOccurrenceReplacer
内容中に出現するたびに、厳密な検索文字列を1回ずつ yield するリプレーサ。複数マッチの扱い(例: replaceAll による)を呼び出し側に委ねる。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters :Object
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
- Object
(constant) Parameters :Object
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
- Object
(constant) Parameters :Object
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
- Object
(constant) Parameters :Object
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
- Object
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Parameters
write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。
(constant) Params
PTY セッションを id で識別するパスパラメータスキーマ。
(constant) PartID
メッセージパート識別子のためのブランド付きスキーマ。静的ヘルパーを公開する: 時間昇順のパート ID を生成する ascending(id) と、zod コーデックの zod。
(constant) PathInfo
path エンドポイントの成功スキーマ。インスタンスの home、state、config、worktree、directory の各パスを含む。
(constant) PermissionApi
実験的な権限ルートグループの HttpApi 定義。 list と reply のエンドポイントを、instance-context・workspace-routing・authorization の各ミドルウェア配下にまとめる。
(constant) PermissionResponsePayload
権限リクエストへの応答用のリクエストボディスキーマ。ユーザーの承認/拒否の返答を保持する。
(constant) PlanExitTool :Object
「plan_exit」ツール。完成したプランの承認をユーザーに求める。「No」の場合は RejectedError を発生させて plan エージェントに留まり、承認された場合はセッションを build エージェントに切り替える合成ユーザーメッセージ(直近のユーザーモデル、なければプロバイダのデフォルトを再利用)を追加し、プランを実行するよう指示する。
- Object
(constant) ProjectApi
実験的なプロジェクトルートグループの HttpApi 定義。 list/current/initGit/update のエンドポイントを、instance-context・workspace-routing・authorization の各ミドルウェア配下にまとめる。
(constant) PromptInput
prompt の入力スキーマ。セッション、任意のモデル/エージェント/バリアント、出力フォーマット、およびプロンプトのパート(text/file/agent/subtask)を持つ。
(constant) PromptPayload
プロンプト送信用のリクエストボディスキーマ。SessionPrompt.PromptInput からパスで指定される sessionID を除いて導出される。
(constant) ProviderApi
実験的なプロバイダルートグループの HttpApi 定義。 list/auth/authorize/callback のエンドポイントを、instance-context・workspace-routing・authorization の各ミドルウェア配下にまとめる。
(constant) PtyApi
実験的な PTY ルートグループの HttpApi 定義。 shells/list/create/get/update/remove のエンドポイントを、instance-context・workspace-routing・authorization の各ミドルウェア配下にまとめる。
(constant) PtyConnectApi
PTY の websocket 接続ルートグループの HttpApi 定義。 PTY セッションへリアルタイムに接続するための単一の connect エンドポイントを公開する(instance ミドルウェアなし)。
(constant) PtyPaths
各 PTY ルートの URL パス定数。エンドポイント名をキーとする。
(constant) PublicApi
OpenAPI メタデータとレガシー互換のスペック変換でアノテーションされた、公開の closedcode HttpApi。
(constant) QueryBoolean
クエリ文字列の boolean スキーマ。文字列 "true"/"false" を boolean へ、またその逆へデコードする。
(constant) QuestionApi
質問グループの HttpApi サーフェス。保留中の質問リクエストを一覧するエンドポイントと、特定のリクエストへ応答または拒否するエンドポイントを公開する。 このグループは instance-context・workspace-routing・authorization の各ミドルウェアで保護される。
(constant) QuestionTool :Object
「question」ツール。指定された質問を Question サービス経由でユーザーに提示し、回答の人間可読なサマリ(未回答の質問は「Unanswered」とマーク)と、メタデータ内の生の回答を返す。
- Object
(constant) ReadTool :Object
「read」ツール。要求されたパスを解決し、権限と外部ディレクトリへのアクセスを確認したうえで、ディレクトリ一覧、画像/PDF の添付、またはページ単位かつバイト/行数を制限したテキストビューを描画する。バイナリファイルは拒否される。また LSP をウォームし、解決された指示ファイルがあればシステムリマインダーとして追加する。
- Object
(constant) ReplayEvent
リプレイ対象となる単一の同期イベントのスキーマ。イベントID、アグリゲートID、シーケンス番号、種別、および自由形式のデータで識別される。
(constant) ReplayPayload
replay エンドポイント用のリクエストボディスキーマ。対象ディレクトリと、リプレイするイベントの非空配列を含む。
(constant) ReplayResponse
replay エンドポイント用のレスポンススキーマ。リプレイによって生成されたセッションIDを返す。
(constant) ReplyPayload
質問へ応答するためのリクエストボディスキーマ。質問ごとに 1 つ、順序どおりに並んだユーザー回答の配列。
(constant) ReplyPayload
質問へ応答するためのリクエストボディスキーマ。質問ごとに 1 つ、順序どおりに並んだユーザー回答の配列。
(constant) RequestPlan
リクエストの処理方法(Local、Remote、または MissingWorkspace)を表すタグ付き enum。
(constant) RevertInput
リバート要求の入力スキーマ。セッションに加え、リバート先のメッセージ(および任意のパート)を持つ。
(constant) RevertPayload
メッセージを取り消すためのリクエストボディスキーマ。SessionRevert.RevertInput からパスで指定される sessionID を除いて導出される。
(constant) RootHttpApi
ルート(コントロールプレーン)の HttpApi。control とグローバルなルートグループを束ねる。
(constant) SINGLE_CANDIDATE_SIMILARITY_THRESHOLD
候補がちょうど 1 つのとき、ブロックアンカーのマッチを受理するために必要な中間行の最小類似度(アンカーだけで十分とみなす)。
(constant) SYNTHETIC_ATTACHMENT_PROMPT
gzip/br の展開がストリーム途中で失敗したときに fetch() がスローするエラーの形状。
(constant) SearchArgs
Exa 検索ツールに渡す引数のスキーマ。クエリ、検索種別、結果件数、livecrawl モード、および任意のコンテキストサイズ上限を含む。
(constant) SearchTool :Object
「search」ツール: grep 実装を id「search」で公開する単純なエイリアス。search ツールの呼び出しに固執するモデルでも成功するようにする。
- Object
(constant) SessionApi
セッショングループ向けの実験的な HttpApi サーフェス。セッションエンドポイントの全集合(list、status、get、children、todo、diff、messages、create、delete、update、fork、abort、init、share、summarize、prompt、command、shell、revert、permission response、メッセージ/パートの変更)を公開する。 このグループは instance-context、workspace-routing、authorization の各ミドルウェアで保護されている。
(constant) SessionCursor :Object
デコード済みのセッションページネーションカーソルを記述するスキーマ。ページング間でフィルタを保持できるよう、有効なリストフィルタを含む。
- Object
(constant) SessionGroup
実験的な v2 セッションルートグループ。セッションの一覧取得(順序ベースまたはカーソルベースのページネーション)、プロンプトの送信、会話のコンパクト化、エージェントループがアイドルになるまでの待機、アクティブなコンテキストメッセージの取得を行うエンドポイントを公開する。 認可ミドルウェアで保護されている。
(constant) SessionID
セッション識別子のためのブランド付きスキーマ。静的ヘルパーを公開する: 時間降順のセッション ID を生成する descending(id) と、zod コーデックの zod。
(constant) SessionListQuery
プロジェクト横断のセッション一覧をフィルタリングするクエリパラメータ(ディレクトリ、ルート、時刻、検索、ページネーション、アーカイブ済み)。
(constant) SessionPaths
各セッションルートについて、エンドポイント名をURLパステンプレートにマッピングするマップ。
(constant) SessionRestorePayload
セッションをワークスペースに復元するためのリクエストボディスキーマ。Workspace.SessionRestoreInput からパス指定の workspaceID を除いて派生したもの。
(constant) SessionRestoreResponse
session-restore エンドポイントのレスポンススキーマ。リプレイ予約されたイベントの総数を返す。
(constant) ShellInput
shell の入力スキーマ。セッション、エージェント/モデル、および実行するコマンド文字列を持つ。
(constant) ShellItem
検出されたシェルのスキーマ。そのパス、表示名、利用可能かどうかを含む。
(constant) ShellPayload
シェルコマンド実行用のリクエストボディスキーマ。SessionPrompt.ShellInput からパスで指定される sessionID を除いて導出される。
(constant) ShellTool :Object
シェルツール。設定されたシェルを選択し、各コマンドをパースして、それが触れるファイル/パス引数とディレクトリを特定し(読み取り/外部アクセスのパーミッションを要求し)、ストリーム出力、スピルファイルへのバイト/行の切り詰め、設定可能なタイムアウト、アボート処理を伴ってコマンドを実行する。
- Object
(constant) SimpleReplacer
検索文字列をそのまま返す置換器(完全一致の候補)。
(constant) SkillTool
"skill" ツール。名前でスキルを解決し、読み込みの許可を求めたうえで、スキルの markdown コンテンツと、(SKILL.md を除く)そのファイルのサンプリングされた一覧を返し、モデルが絶対パスでそれらを参照できるようにする。指定したスキルが見つからない場合は、利用可能なスキルを列挙して失敗する。
(constant) Status
フォーマッタが報告するステータス(名前、サポートする拡張子、有効かどうか)を記述する Effect Schema。
(constant) StatusMap
各セッションIDを現在のステータス情報にマッピングするレスポンススキーマ。
(constant) StatusMap
各セッションIDを現在のステータス情報にマッピングするレスポンススキーマ。
(constant) SummarizePayload
セッション要約用のリクエストボディスキーマ。使用するプロバイダ/モデルと任意の auto フラグを含む。
(constant) SyncApi
同期グループ向けの実験的な HttpApi サーフェス。ワークスペースの同期ループの開始、完全なイベント履歴のリプレイ、同期イベントの一覧取得を行うエンドポイントを公開する。 このグループは instance-context、workspace-routing、authorization の各ミドルウェアで保護されている。
(constant) SyncPaths
各同期ルートについて、エンドポイント名をURLパステンプレートにマッピングするマップ。
(constant) TRUNCATION_DIR
永続化されたツール出力の完全版を保持するディレクトリの絶対パス(グローバルデータパス配下の "tool-output")。
(constant) TaskTool
"task" ツール。要求されたサブエージェントの種別と権限を検証し、新しい子セッションを作成(または task_id で指定されたものを再開)し、エージェントまたは親のアシスタントメッセージからモデルを導出し、サブエージェントのプロンプトを完了まで実行して、その最後のテキストパートを結果として返す。abort シグナルを配線してサブエージェントの実行をキャンセルできるようにする。
(constant) TodoItem
単一の todo 項目のスキーマ: content(説明)、status、priority。
(constant) TodoWriteTool
"todowrite" ツール。許可を求めたうえで、現在のセッションの todo リストを与えられた配列で置き換え、残り(未完了)件数の要約とシリアライズされたリストを返す。
(constant) ToolID :Object
shell ツールの安定した外部公開ツール ID および権限キー。プラグインや保存済み権限との後方互換性のため「bash」のまま保持される。
- Object
(constant) ToolID :string
shell ツールの安定した外部公開ツール ID および権限キー。プラグインや保存済み権限との後方互換性のため「bash」のまま保持される。
- string
(constant) ToolListQuery
ツールを一覧表示する対象のプロバイダ/モデルを選択するクエリパラメータ。
(constant) TrimmedBoundaryReplacer
検索テキストの先頭/末尾の空白をトリムしてからマッチを再試行するリプレーサ。トリムした文字列がそのまま見つかればそれを、見つからなければトリム後の形が一致する任意のコンテンツブロックを yield する。検索テキストが既にトリム済みの場合は何もしない。
(constant) TuiApi
TUI グループ向けの実験的な HttpApi サーフェス。プロンプトの追記・送信、ダイアログの表示、トーストの表示、イベントの実行・配信、セッションの選択、制御リクエスト/レスポンスキューのポンプを行うエンドポイントを公開する。 このグループは instance-context、workspace-routing、認可ミドルウェアで保護されている。
(constant) TuiPaths
すべての TUI ルートについて、エンドポイント名から URL パステンプレートへのマップ。
(constant) TuiPublishPayload
publish エンドポイントのリクエストボディスキーマ。サポートされる TUI イベントのいずれか一つ。
(constant) TuiRequestPayload
キュー登録される TUI 制御リクエストのスキーマ。対象パスと不透明なボディを記述する。
(constant) URL
Exa MCP エンドポイントの URL。EXA_API_KEY 環境変数が設定されている場合は、そのクエリパラメータを付与する。
(constant) UpdatePayload
セッション更新用のリクエストボディスキーマ。任意のタイトル、権限ルールセット、アーカイブのタイムスタンプを含む。
(constant) UpdatePayload
セッション更新用のリクエストボディスキーマ。任意のタイトル、権限ルールセット、アーカイブのタイムスタンプを含む。
(constant) V2Api
実験的な v2 HttpApi サーフェス。v2 セッショングループと v2 メッセージグループで構成される。
(constant) VcsDiffQuery
VCS diff エンドポイントのクエリスキーマ。算出する diff モード(例: ワーキングツリー対デフォルトブランチ)を指定する。
(constant) WebFetchTool
"webfetch" ツール。URL のスキームを検証し、権限を要求し、フォーマットに応じた Accept ヘッダーで URL を取得し(Cloudflare にブロックされた場合は正直な UA で再試行する)、5MB のレスポンス上限とタイムアウトを適用して、要求されたフォーマットで本文を返す。画像は base64 の data-URL 添付として返す。
(constant) WebSearchTool
"websearch" ツール。権限を要求したのち、クエリとオプションを指定して Exa の web_search_exa MCP エンドポイントを呼び出し、得られたコンテキスト文字列(または見つからなかった旨のメッセージ)を返す。説明は {{year}} を現在の年に置換して動的にレンダリングされる。
(constant) WhitespaceNormalizedReplacer
連続する空白をすべて単一スペースに畳み込んでマッチするリプレーサ。単一行(行全体または部分文字列)と複数行の両方のマッチを扱い、内容中のマッチした生の部分文字列を yield する。
(constant) WorkspaceApi
ワークスペースグループ向けの実験的な HttpApi サーフェス。利用可能なワークスペースアダプタの一覧、ワークスペースの一覧取得/作成、接続状態の照会、ワークスペースの削除、セッションのイベントのワークスペースへの復元を行うエンドポイントを公開する。 このグループは instance-context、workspace-routing、認可ミドルウェアで保護されている。
(constant) WorkspacePaths
すべてのワークスペースルートについて、エンドポイント名から URL パステンプレートへのマップ。
(constant) WriteTool
"write" ツール。対象パスを(必要に応じてインスタンスディレクトリからの相対で)解決し、外部ディレクトリへのアクセスをガードし、権限プロンプト用に diff を計算し、バイトオーダーマークを保持しつつコンテンツを書き込み、設定されたフォーマッターを実行し、ファイルの編集/更新イベントを発行し、(書き込んだファイルおよびその他いくつかの影響を受けたファイルについての)LSP 診断を出力に追記する。
(constant) adapter :Object
Express ランタイムアダプターの実装。
- Object
(constant) ask
スキャン結果が示唆するパーミッションプロンプトを発行する。ツリー外のファイルディレクトリには外部ディレクトリプロンプトを、コマンドパターンにはシェルコマンドプロンプトを出す。
(constant) assertExternalDirectoryEffect
対象パスが現在のインスタンスディレクトリ内にあることをアサートする Effect。そうでない場合は、対象を含むディレクトリに対して "external_directory" の権限プロンプトを発生させる。何も返さない(副作用は権限チェック)。パスは変更しない。
(constant) authorizationLayer
Authorization HttpApi ミドルウェアサービスを実装する Layer。basic および authToken セキュリティスキームを ServerAuthConfig に対する資格情報検証へ結び付ける。
(constant) authorizationRouterMiddleware
raw(非 HttpApi)ルートに対して認証を強制するルーターミドルウェア。認証が必要な場合、Authorization: Basic ヘッダーまたは auth_token クエリパラメータ(最終手段として空の資格情報)から資格情報を読み取り、ラップされた effect に委譲する前に検証する。
(constant) biome :Object
Web/JS/TS および設定/マークアップファイル用の Biome フォーマッター。 enabled(context) はツリーを上方向にたどって biome.json/biome.jsonc を探し、npm 経由で @biomejs/biome を解決する。
- Object
(constant) call
名前付きの Exa MCP ツールを HTTP 経由で呼び出し、その最初のテキストコンテンツブロックを返す。
(constant) clang :Object
C/C++ ファイル向けの clang-format フォーマッタ。 enabled(context) は、ツリー上位に .clang-format 設定があり、かつ clang-format が PATH 上に存在することを要求する。
- Object
(constant) client
クライアント初期化時に createClientConfig() 関数が呼び出され、返されたオブジェクトがクライアントの初期設定となる。
setConfig() を呼び出す代わりに、この方法でクライアントを初期化したい場合がある。例えば Next.js を使用していて、クライアントが常に正しい値を持つことを保証したいときに有用である。
(constant) cljfmt :Object
Clojure ファイル向けの cljfmt フォーマッタ。cljfmt が PATH 上にある場合に有効になる。
- Object
(constant) commandAliases :Object
レガシー TUI コマンド名を、現在の正規コマンド id にマッピングする。
- Object
(constant) configHandlers
"config" HttpApi グループのリクエストハンドラを構築する。get、update、providers の各エンドポイントを Config および Provider サービスに結線する。
(constant) context
サーバーのリクエストランタイムの基底コンテキストとして使用される、共有の空の Effect コンテキスト。
(constant) controlHandlers :Object
ルート API に "control" HTTP API グループのハンドラを登録する。
- Object
(constant) create
セッションに対する新しい圧縮を開始する、検証付きのエントリーポイント。入力をスキーマに対して検証したうえで、サービスの create メソッドを実行する。
(constant) cursor :Object
不透明なページネーションカーソルのコーデック。{ id, time } のキーセットカーソルを base64url 文字列としてエンコード/デコードし、メッセージのページネーションで使用する。
- Object
(constant) cursor
不透明なページネーションカーソルのコーデック。{ id, time } のキーセットカーソルを base64url 文字列としてエンコード/デコードし、メッセージのページネーションで使用する。
(constant) dart :Object
Dart ファイル向けの dart フォーマッタ。dart が PATH 上にある場合に有効になる。
- Object
(constant) decode
JSON 文字列を解析して McpResult を生成するデコーダ。
(constant) decodePtyID :function
未知の値を同期的にデコードして PtyID として検証し、不正な入力の場合は例外を投げる。
- function
(constant) defaultLayer
デフォルトの Config と cross-spawn spawner の依存関係を提供済みの Format サービス Layer。
(constant) defaultLayer
デフォルトの Config と cross-spawn spawner の依存関係を提供済みの Format サービス Layer。
(constant) defaultLayer
デフォルトの Config と cross-spawn spawner の依存関係を提供済みの Format サービス Layer。
(constant) defaultLayer
デフォルトの Config と cross-spawn spawner の依存関係を提供済みの Format サービス Layer。
(constant) defaultLayer :Object
デフォルトの Config と cross-spawn spawner の依存関係を提供済みの Format サービス Layer。
- Object
(constant) defaultLayer
デフォルトの Config と cross-spawn spawner の依存関係を提供済みの Format サービス Layer。
(constant) defaultWebHandler
routes 上に遅延構築されるデフォルトの Web ハンドラー。外側のミドルウェアとして遅延インスタンス破棄を備える。
description
{{year}} プレースホルダーを現在の年に置換したツールの説明。
(constant) dfmt :Object
D ファイル向けの dfmt フォーマッタ。dfmt が PATH 上にある場合に有効になる。
- Object
(constant) disposeAllInstancesAndEmitGlobalDisposed
InstanceStore からすべてのアクティブなインスタンスを破棄し、その後グローバルな "disposed" イベントを発行する。 破棄と通知が分断されないよう、一連の処理全体を中断不可能な状態で実行する。
(constant) disposeMiddleware
ハンドラがレスポンスを生成した後に、遅延されたインスタンス破棄を実行する外側のサーバミドルウェア。markInstanceForDisposal で事前にマークされたインスタンス(リクエストソースをキー)を検索し、マークを除去したうえで、レスポンスを返す前に store の破棄を割り込み不可で実行する。
(constant) emitGlobalDisposed :Effect
"global" ディレクトリに対して、グローバルバス上にグローバルな "disposed" イベントを発行する Effect。
- Effect
(constant) emptyConsoleState
デフォルトの空の ConsoleState(マネージドプロバイダなし、アクティブな組織なし)。
environment
モデル id、作業/ワークツリーディレクトリ、VCS、プラットフォーム、日付を記述する <env> システムプロンプトブロックを構築する。
(constant) eventApiRoutes
インスタンスルーターミドルウェアの背後で提供される、イベント(SSE)API ルートを構築するレイヤー。
(constant) eventHandlers
subscribe エンドポイントを SSE イベントレスポンスに結線する Effect HttpApi ハンドラグループ。
(constant) experimentalHandlers :Object
インスタンスAPI上の「experimental」HTTP APIグループのハンドラーを登録する。
- Object
(constant) fileHandlers :Object
インスタンスAPI上の「file」HTTP APIグループのハンドラーを登録する。
- Object
(constant) filterCompactedEffect
filterCompactedのEffect版。セッションのメッセージをデータベースからストリーミングして収集し、コンパクションでフィルタしたリストを返す。
(constant) getParseAs
指定された Content-Type ヘッダーから parseAs 値を推論する。
(constant) gleam :Object
Gleam ファイル向けの gleam フォーマッタ。gleam が PATH 上にある場合に有効になる。
- Object
(constant) globalHandlers :Object
ルート API 上の "global" HTTP API グループのハンドラーを登録する。
- Object
(constant) gofmt :Object
Go ファイル用の gofmt フォーマッター。gofmt が PATH 上にある場合に有効になる。 enabled() はコマンド配列または false を返す。
- Object
(constant) hop :Set.<string>
上流ターゲットに転送してはならない hop-by-hop ヘッダ名の集合。
- Set.<string>
(constant) htmlbeautifier :Object
ERB/HTML-ERB ファイル向けの htmlbeautifier フォーマッタ。htmlbeautifier が PATH 上にある場合に有効になる。
- Object
(constant) inputUndoDefault
input_undo のデフォルトバインド。Windows では ctrl+z が先頭に追加される。
(constant) instanceApiRoutes
すべてのインスタンススコープのハンドラーグループから、完全なインスタンス HttpApi を構築するレイヤー。
(constant) instanceContextLayer
InstanceContextMiddleware HttpApi サービスを実装する Layer。InstanceStore を介してインスタンスコンテキストを提供する。
(constant) instanceHandlers :Object
インスタンス API 上の "instance" HTTP API グループのハンドラーを登録する。
- Object
(constant) instanceRouterLayer
生のインスタンスルート向けに、ルーターミドルウェア(認可 + インスタンスコンテキスト + ワークスペースルーティング)を結合したもの。
(constant) instanceRouterMiddleware
raw(非 HttpApi)ルートに対し、InstanceStore を介してインスタンスコンテキストを提供するルーターレベルのミドルウェア。
(constant) instanceRoutes
認可、ワークスペースルーティング、インスタンスコンテキストの各ミドルウェアを提供した、結合済みのインスタンスルート(生 + HttpApi)。
(constant) ktlint :Object
Kotlin ファイル向けの ktlint フォーマッタ。ktlint が PATH 上にある場合に有効になる。
- Object
(constant) latexindent :Object
LaTeX ファイル向けの latexindent フォーマッタ。latexindent が PATH 上にある場合に有効になる。
- Object
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer :Object
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
- Object
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) layer
Format サービスを構築する Effect Layer。config と子プロセス spawner をフォーマッタの探索および実行に接続する。
(constant) locks
解決済みパスをキーとするファイルごとのセマフォ。同一ファイルへの並行編集を直列化するために使う。
(constant) markInstanceForDisposal
現在のリクエストのインスタンスを、レスポンス送信後に破棄するようマークする。キャプチャしたサービスをソースの Request をキーとして退避させる pre-response ハンドラを登録し、後に disposeMiddleware がそれを読み取ってティアダウンを実行する。
(constant) markInstanceForReload
現在のリクエストのインスタンスを、レスポンス送信後にリロードするようマークする。レスポンスの準備が整い次第、キャプチャした bridge を用いて store のリロードを割り込み不可で実行し、元のレスポンスをそのまま返す pre-response ハンドラを登録する。
(constant) mcpHandlers :Object
インスタンス API 上の "mcp" HTTP API グループのハンドラーを登録する。
- Object
(constant) messageHandlers :Object
"v2.message" HTTP API ハンドラグループを構築する。1 件の "messages" エンドポイントを持ち、メッセージの 1 ページ分と、先頭/末尾の項目から導出した previous/next カーソルを返す。
- Object
(constant) mix :Object
Elixir ファイル用の mix フォーマッター。mix が PATH 上にある場合に有効になる。
- Object
mode
- Deprecated
- Yes
(constant) nixfmt :Object
Nix ファイル向けの nixfmt フォーマッタ。nixfmt が PATH 上にある場合に有効になる。
- Object
(constant) ocamlformat :Object
OCaml ファイル向けの ocamlformat フォーマッタ。 enabled(context) は、ocamlformat が PATH 上にあること、およびツリー上位に .ocamlformat 設定があることを要求する。
- Object
(constant) operations
ツールの operation パラメータが受け付ける、サポート対象の LSP 操作名。
(constant) ormolu :Object
Haskell ファイル向けの ormolu フォーマッタ。ormolu が PATH 上にある場合に有効になる。
- Object
(constant) oxfmt :Object
JS/TS ファイル用の oxfmt フォーマッター(実験的フラグの背後でゲートされる)。 enabled(context) はフラグと、近傍の package.json における oxfmt の(dev)依存を必要とする。
- Object
(constant) parse
bash または PowerShell の文法を用いて、コマンド文字列を tree-sitter の構文ツリーにパースする。
(constant) parseSse
Server-Sent Events のレスポンスボディを解析し、各 data: 行を MCP の結果としてデコードして、最初に見つかった空でないテキストコンテンツを返す。
(constant) parser
tree-sitter を遅延初期化し、bash と PowerShell の文法を一度だけロードして、設定済みの2つのパーサーを返す。
(constant) permissionHandlers :Object
インスタンス API 上の "permission" HTTP API グループのハンドラーを登録する。
- Object
(constant) pint :Object
PHP ファイル向けの Laravel Pint フォーマッタ。 enabled(context) は、ツリー上位の composer.json に laravel/pint が記載されていることを要求する。
- Object
(constant) prettier :Object
Web/JS/TS および多くの設定/マークアップファイル用の Prettier フォーマッター。 enabled(context) は context.directory から context.worktree まで上方向にたどり、prettier を(dev)依存として列挙する package.json を探し、npm 経由でバイナリを解決する。
- Object
(constant) projectHandlers :Object
インスタンス API 上の "project" HTTP API グループのハンドラーを登録する。
- Object
(constant) providerHandlers :Object
インスタンス API 上の "provider" HTTP API グループのハンドラーを登録する。
- Object
(constant) ptyConnectRoute :Object
クライアントを PTY に接続する GET WebSocket ルートを登録する。リクエストをソケットへアップグレードし、Pty サービスが出力をストリーミングできるよう最小限の WebSocket 風オブジェクトへソケットを適合させ、任意のカーソル位置から再生し、ソケットがクローズするまで受信したソケットメッセージを PTY 入力として転送する。
- Object
(constant) ptyHandlers :Object
"pty" HTTP API ハンドラ群を構築する。Pty サービスを基盤とする shells/list/create/get/update/remove の各エンドポイントを提供する。
- Object
(constant) queryKeyJsonReplacer
JSON でない値(bigint、Date など)を安全な代替値へ変換する replacer。
(constant) questionHandlers :Object
"question" HTTP API ハンドラ群を構築し、list/reply/reject の各エンドポイントを Question サービスへ接続する。
- Object
(constant) rawInstanceRoutes
PTY 接続のアップグレードなど、生(非 HttpApi)のインスタンスルート向けのレイヤー。インスタンスルーターミドルウェアの背後で提供される。
(constant) requiresExtensionsForCustomServers
カスタム (非ビルトイン) の LSP サーバーエントリでは、クライアントがどのファイルにサーバーをアタッチすべきか判断できるよう extensions が必須となる。ビルトインのサーバー ID と明示的に無効化されたエントリは対象外。
(constant) rlang :Object
R ファイル向けの air フォーマッタ。 enabled() は、--help の出力から air バイナリが R 言語サーバ/フォーマッタであることを確認する。
- Object
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) root
すべての実験的なワークスペースエンドポイントのベース URL パスプレフィックス。
(constant) rootApiRoutes
コントロールプレーンおよびグローバルハンドラーから、ルート(非インスタンス)の API ルートを構築するレイヤー。
(constant) routes
カスタムの CORS オプションなしで構築された、デフォルトのルートレイヤー。
(constant) rubocop :Object
Ruby ファイル向けの rubocop フォーマッタ。rubocop が PATH 上にある場合に有効になる。
- Object
(constant) ruff :Object
Python ファイル向けの ruff フォーマッタ。 enabled(context) は、ruff が PATH 上にあること、加えて ruff 設定(pyproject.toml 内の場合は [tool.ruff] を含むもの)または ruff を記載した依存マニフェストのいずれかが存在することを要求する。
- Object
(constant) runtime
サーバーバックエンドを選択し、各ハンドラの実行前に現在のスパンへバックエンド属性をアノテーションするルーターミドルウェア。
(constant) rustfmt :Object
Rust ファイル向けの rustfmt フォーマッタ。rustfmt が PATH 上にある場合に有効になる。
- Object
(constant) serializeQueryKeyValue
受け付けた任意の値を、クエリキー向けに JSON 互換の形へ正規化する。
(constant) sessionCursor :Object
セッションのページネーションカーソル用コーデック。base64url エンコードされた JSON blob で、セッション id、その作成時刻、ソート順、ページング方向、および有効なリストフィルタ(後続ページで保持するため)を保持する。
- Object
(constant) sessionHandlers :Object
"v2.session" HTTP API ハンドラグループを構築する。sessions(ページネーション付きリスト)、prompt、compact、wait、context の各エンドポイントを持つ。
- Object
(constant) sessionHandlers :Object
"v2.session" HTTP API ハンドラグループを構築する。sessions(ページネーション付きリスト)、prompt、compact、wait、context の各エンドポイントを持つ。
- Object
(constant) shfmt :Object
シェルスクリプト向けの shfmt フォーマッタ。shfmt が PATH 上にある場合に有効になる。
- Object
skills
指定されたエージェント向けにシステムプロンプトの available-skills セクションを構築する。skill 権限が無効な場合は何も返さない。
(constant) standardrb :Object
Ruby ファイル向けの standardrb フォーマッタ。standardrb が PATH 上にある場合に有効になる。
- Object
(constant) stringifyToJsonValue
値を安全に文字列化し、JsonValue としてパースし直す。
(constant) syncHandlers :Object
「sync」HTTP API ハンドラーグループを構築する。インスタンス間イベント同期のための start/replay/history エンドポイントを提供する。
- Object
(constant) terraform :Object
Terraform ファイル向けの terraform フォーマッタ。terraform が PATH 上にある場合に有効になる。
- Object
(constant) toModelMessagesEffect
保存されたセッションメッセージをプロバイダーのモデルメッセージに変換する。各パート種別をそのモデル表現にマッピングする。ユーザーの text/file/compaction/subtask パート、アシスタントの text/reasoning/step-start パート、ツールパート(完了・エラー、および中断された pending/running の呼び出し。後者はすべての tool_use に対応する tool_result が存在するよう強制的にエラーにする。これは Anthropic/Claude API が要求するため)。ツール結果中のメディアは、プロバイダーがツール結果でメディアを運べない場合、合成のフォローアップユーザーメッセージに分離する。必要に応じて、コンパクション向けにメディアを除去しツール出力を切り詰める。
(constant) tuiHandlers :Object
「tui」HTTP API ハンドラーグループを構築する。TUI 制御イベントをバスに発行するエンドポイント群。
- Object
(constant) uiRoute
認可ミドルウェアの背後で Web UI を提供する(および開発用アセットをプロキシする)、キャッチオール UI ルートレイヤー。
(constant) uvformat :Object
Python ファイル向けの uv フォーマッタ。ruff が未だ有効でない場合にのみ使用される。 enabled(context) は、uv が PATH 上にあり、--help の出力から format をサポートしていることを確認する。
- Object
(constant) v2Handlers :Object
結合された v2 ハンドラレイヤー。v2 のセッションおよびメッセージハンドラグループをマージし、SessionV2 のデフォルトレイヤーを提供する。
- Object
(constant) workspaceHandlers :Object
"workspace" HTTP API ハンドラグループを構築する。adapters/list/create/status/remove/sessionRestore の各エンドポイントを持つ。
- Object
(constant) workspaceRouterMiddleware
raw(非HttpApi)ルート向けのルーターレベルのワークスペースルーティングミドルウェア。セッション検索なしで各リクエストをプランニングしてルーティングする。
(constant) workspaceRoutingLayer
WorkspaceRoutingMiddleware HttpApiサービスを実装するLayer。WebSocketコンストラクタ、Workspaceサービス、HTTPクライアントをルーティングに接続する。
(constant) zig :Object
Zig ファイル用の zig フォーマッター。zig が PATH 上にある場合に有効になる。
- Object
Methods
ConfigRoutes(registry) → {express.Router}
"/config" ルートグループ用の Express ルーターを構築する(GET/PATCH "/" および GET "/providers")。
| Name | Type | Description |
|---|---|---|
registry | Object | 操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。 |
構成済みの Express ルーター。
- Type:
- express.
Router
ControlPlaneRoutes(registry) → {express.Router}
コントロールプレーンのルートグループ用の Express ルーターを構築する (PUT/DELETE "/auth/:providerID", GET "/doc", POST "/log")。
| Name | Type | Description |
|---|---|---|
registry | Object | 操作メタデータを記録するための任意の OpenAPI レジストリ。/doc の仕様生成にも使用される。 |
構成済みの Express ルーター。
- Type:
- express.
Router
CorsMiddleware(opts) → {function}
origin コールバックが isAllowedCorsOrigin(opts) に委譲する CORS ミドルウェアを構築する。
| Name | Type | Description |
|---|---|---|
opts | Object | origin チェックへ転送されるオプション(opts.cors の許可リスト)。 |
設定済みの cors() Express ミドルウェア。
- Type:
- function
EventRoutes(registry) → {express.Router}
バスイベントの Server-Sent Events ストリームである GET "/event" を公開する Express ルーターを構築する。 各接続は最初に "server.connected" イベントを送出し、定期的に "server.heartbeat" イベントを送出する。 そして、クライアントが切断するかインスタンスが破棄されるまで、購読中のすべてのバスイベントを転送する。
| Name | Type | Description |
|---|---|---|
registry | Object | 操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。 |
構成済みの Express ルーター。
- Type:
- express.
Router
ExperimentalRoutes(registry) → {express.Router}
"/experimental" ルートグループ用の Express ルーターを構築する(Console の組織メタデータ/一覧/切り替え、 ツール ID/一覧、worktree の作成/一覧/削除/リセット、グローバルセッション一覧、MCP リソース)。
| Name | Type | Description |
|---|---|---|
registry | Object | 操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。 |
構成済みの Express ルーター。
- Type:
- express.
Router
FileRoutes(registry) → {Object}
file/find ルートグループ用の Express ルーターを構築する(テキスト/ファイル/シンボルの検索、一覧、読み取り、git status)。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートメタデータの登録に使用する OpenAPI レジストリ(falsy の場合はスキップする)。 |
このグループ用の構成済み Express Router。
- Type:
- Object
GlobalRoutes(registry) → {Object}
/global ルートグループ用の Express ルーターを構築する(ヘルス、SSE イベントストリーム、グローバル設定、dispose、upgrade)。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートメタデータの登録に使用する OpenAPI レジストリ(falsy の場合はスキップする)。 |
このグループ用の構成済み Express Router。
- Type:
- Object
InstanceMiddleware(envWorkspaceID) → {function}
リクエストに対してワークスペースとインスタンスのコンテキストを確立するミドルウェアを構築する。対象ディレクトリを directory クエリパラメータ、または x-closedcode-directory/x-opencode-directory ヘッダーから解決し(解決できない場合はプロセスの cwd にフォールバック)、そのワークスペースおよびインスタンスのスコープ内で次のハンドラーを実行する。
| Name | Type | Description |
|---|---|---|
envWorkspaceID | string | Optional workspace ID from the environment/flag to bias resolution. |
ワークスペースとインスタンスのコンテキストを提供する非同期ミドルウェア (c, next)。
- Type:
- function
InstanceMiddleware(workspaceID) → {function}
リクエストに対してワークスペースとインスタンスのコンテキストを確立するミドルウェアを構築する。対象ディレクトリを directory クエリパラメータ、または x-closedcode-directory/x-opencode-directory ヘッダーから解決し(解決できない場合はプロセスの cwd にフォールバック)、そのワークスペースおよびインスタンスのスコープ内で次のハンドラーを実行する。
| Name | Type | Description |
|---|---|---|
workspaceID | string | リクエストにバインドするワークスペース識別子。 |
ワークスペースとインスタンスのコンテキストを提供する非同期ミドルウェア (c, next)。
- Type:
- function
InstanceRoutes(registry, upgradeWebSocket) → {Object}
インスタンス用の集約 Express ルーターを構築する。すべてのインスタンスルートグループと、インラインのインスタンスルート直下のルート(/instance/dispose, /path, /vcs, /command, /agent, /skill, /lsp, /formatter)をマウントする。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。 |
upgradeWebSocket | function | WebSocket アップグレード用ミドルウェアを生成するアダプタファクトリ(PtyRoutes に転送される)。 |
設定済みのインスタンス用 Express Router。
- Type:
- Object
LoggerMiddleware(backendAttributes) → {function}
各リクエストをログ出力する(/log はスキップ)リクエストロギングミドルウェアを構築し、レスポンスが完了またはクローズするまでの時間を計測する。
| Name | Type | Description |
|---|---|---|
backendAttributes | Object | すべてのログエントリにマージされるバックエンド属性。 |
Express ミドルウェア(req, res, next)。
- Type:
- function
McpRequest(args) → {Object}
指定された引数スキーマに対する JSON-RPC tools/call リクエストスキーマを構築する。
| Name | Type | Description |
|---|---|---|
args | Object | ツールの |
JSON-RPC リクエスト全体のエンベロープを表す Schema.Struct。
- Type:
- Object
McpRoutes(registry) → {Object}
/mcp ルートグループ(MCP サーバーの status/add/connect/disconnect および OAuth フロー)用の Express ルーターを構築する。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。 |
このグループ用に設定済みの Express Router。
- Type:
- Object
PermissionRoutes(registry) → {Object}
/permission ルートグループ(パーミッションリクエストへの応答、保留中リクエストの一覧取得)用の Express ルーターを構築する。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。 |
このグループ用に設定済みの Express Router。
- Type:
- Object
ProjectRoutes(registry) → {Object}
/project ルートグループ(プロジェクト一覧、現在のプロジェクト、git init、更新)用の Express ルーターを構築する。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。 |
このグループ用に設定済みの Express Router。
- Type:
- Object
ProviderRoutes(registry) → {Object}
/provider ルートグループ(プロバイダ一覧、認証方式、OAuth authorize/callback)用の Express ルーターを構築する。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。 |
このグループ用に設定済みの Express Router。
- Type:
- Object
PtyRoutes(registry, upgradeWebSocket) → {Object}
/pty ルートグループ向けの Express ルーターを構築する(シェル一覧、PTY セッションの一覧・作成・取得・更新・削除、およびリアルタイムな PTY 操作のための WebSocket ルート)。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートのメタデータを登録するために用いる OpenAPI レジストリ(falsy の場合はスキップしてよい)。 |
upgradeWebSocket | function | connect ルート向けに WebSocket アップグレード用ミドルウェアを生成するアダプタファクトリ。 |
このグループ用に構成された Express Router。
- Type:
- Object
QuestionRoutes(registry) → {Object}
/question ルートグループ向けの Express ルーターを構築する(保留中の質問の一覧、回答による返信、拒否)。
| Name | Type | Description |
|---|---|---|
registry | Object | ルートのメタデータを登録するために用いる OpenAPI レジストリ(falsy の場合はスキップしてよい)。 |
このグループ用に構成された Express Router。
- Type:
- Object
SessionRoutes(registry) → {Object}
インスタンスの /session エンドポイント向けの Express ルーターを構築する(一覧、取得、作成、更新、フォーク、中断、共有、メッセージ、パーツ、プロンプト、コマンド、リバート、権限など)。
| Name | Type | Description |
|---|---|---|
registry | Object | OpenAPI オペレーションレジストリ。存在する場合はそれに対してルートのメタデータが登録される。 |
構成された Express Router。
- Type:
- Object
SyncRoutes(registry) → {Object}
インスタンスの /sync エンドポイント向けの Express ルーターを構築する。ワークスペースの同期開始、完全な同期イベント履歴の再生、既知のシーケンス ID 以降の同期イベントの一覧を提供する。
| Name | Type | Description |
|---|---|---|
registry | Object | OpenAPI オペレーションレジストリ。存在する場合はそれに対してルートのメタデータが登録される。 |
構成された Express Router。
- Type:
- Object
TuiRoutes(registry) → {Object}
インスタンスの /tui エンドポイント向けの Express ルーターを構築する。TUI イベントの発行(プロンプトの追記・送信・クリア、ダイアログのオープン、トースト、コマンド実行、セッション選択)と、/control のリクエスト/レスポンスキューブリッジを提供する。
| Name | Type | Description |
|---|---|---|
registry | Object | OpenAPI オペレーションレジストリ。存在する場合はそれに対してルートのメタデータが登録される。 |
構成された Express Router。
- Type:
- Object
UIRoutes(registry) → {Object}
キャッチオールルート経由で組み込み Web UI を配信する Express ルーターを構築する。
| Name | Type | Description |
|---|---|---|
registry | Object | OpenAPI オペレーションレジストリ(ここでは未使用。このルートはメタデータを登録しない)。 |
構成された Express Router。
- Type:
- Object
WorkspaceRoutes(registry) → {express.Router}
"/experimental/workspace" ルートグループ用の Express ルーターを構築する (アダプター一覧、ワークスペースの作成/一覧/状態/削除、セッション復元)。
| Name | Type | Description |
|---|---|---|
registry | Object | 操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。 |
構成済みの Express ルーター。
- Type:
- express.
Router
addLegacyErrorSchemas(spec) → {void}
旧SDKが期待するレガシーのBadRequestErrorおよびNotFoundErrorコンポーネントスキーマを追加する。
| Name | Type | Description |
|---|---|---|
spec | Object | OpenAPIスペックオブジェクト(インプレースで変更される)。 |
- Type:
- void
applyLegacySchemaOverrides(spec) → {void}
手動調整したスキーマオーバーライドを適用し、特定のコンポーネントスキーマをレガシーSDKに一致させる(例: オープンなadditionalProperties、文字列のCommand.template、nullable可能なWorkspace/session/providerフィールド)。
| Name | Type | Description |
|---|---|---|
spec | Object | OpenAPIスペックオブジェクト(インプレースで変更される)。 |
- Type:
- void
assertExternalDirectory(ctx, target, options) → {Promise.<void>}
Effect ランタイム外の呼び出し側向けの、assertExternalDirectoryEffect を Promise 返却でラップしたもの。ロガーレイヤを与えてガードを実行する。
| Name | Type | Description |
|---|---|---|
ctx | Object |
|
target | string | ツールがアクセスしようとする絶対パス。 |
options | Object | 基盤の Effect にそのまま渡される任意の挙動フラグ( |
パスが許可されるか権限が付与された時点で解決する。
- Type:
- Promise.<void>
attributes(selection) → {Object}
選択されたバックエンドおよびインストールを記述するテレメトリ/ログ属性を構築する。
| Name | Type | Description |
|---|---|---|
selection | Object | 記述対象のバックエンド選択。 |
ドット区切りの属性キーから文字列値へのフラットなマップ。
- Type:
- Object
auto(key, cwd, shell) → {string}
自動シェル変数(HOME、PWD、PSHOME)の値を解決する。
| Name | Type | Description |
|---|---|---|
key | string | 変数名(大文字小文字を区別しない)。 |
cwd | string | カレントワーキングディレクトリ(PWD の値)。 |
shell | string | シェル実行ファイルのパス(PSHOME はそのディレクトリ)。 |
変数の値。自動変数でない場合は undefined。
- Type:
- string
bashCommandSection(chain, limits) → {string}
ツール説明の bash 固有の「コマンドセクション」を構築する。ディレクトリの検証、クォート、出力制限、コマンド連結を扱う。
| Name | Type | Description |
|---|---|---|
chain | string | 埋め込む連結ガイダンス文。 |
limits | Object |
|
レンダリング済みの bash コマンドセクションテキスト。
- Type:
- string
bridgeRemote(inbound, wsURL, protocols, headers) → {void}
既にアップグレード済みのインバウンド WebSocket を、新たにダイヤルしたアウトバウンドのものへブリッジする。インバウンドのメッセージはアウトバウンドソケットがオープンするまでキューに溜め、その後は双方向で生のまま転送する。close/error コードは双方向に伝播し(エラー時は 1011)、無効な close コードはガードして close() が例外を投げないようにする。
| Name | Type | Description |
|---|---|---|
inbound | Object | アップグレード済みのインバウンド |
wsURL | string | リモート WebSocket のターゲット URL。 |
protocols | Array.<string> | 要求する WebSocket のサブプロトコル(空 = なし)。 |
headers | Object | アウトバウンドのハンドシェイクヘッダー(サニタイズ済み + ターゲットの認証情報)。 |
- Type:
- void
buildPrompt(input) → {string}
コンパクションプロンプトを構成する。アンカー指示(新規作成 vs 既存更新)、固定のサマリーテンプレート、プラグインから供給される任意のコンテキストから成る。
| Name | Type | Description |
|---|---|---|
input | Object |
|
コンパクションモデルに送信されるプロンプト全文。
- Type:
- string
buildSpec(registry, documentation) → {Object}
レジストリから最終的な OpenAPI ドキュメントを構築する。プレーンなベースドキュメントの上に、Effect httpapi コントラクトの paths と components をマージする。
| Name | Type | Description |
|---|---|---|
registry | Object | 収集されたオペレーションとスキーマのレジストリ。 |
documentation | Object | トップレベルのオーバーライド(openapi バージョン、info)。 |
完全な OpenAPI ドキュメント。
- Type:
- Object
callTui(ctx) → {Promise.<*>}
リクエストを TUI に転送し、対応するレスポンスを待つ。コンテキストから JSON ボディを読み取り、TUI リクエストをキューに入れてから、次のレスポンスを待機する。
| Name | Type | Description |
|---|---|---|
ctx | Object |
|
TUI のレスポンスペイロードに解決される Promise。
- Type:
- Promise.<*>
canonicalRef(ref, schemas) → {string}
$ref を正規形式に解決する。数字サフィックス付きの名前は、基底名が存在する場合にその基底名へマッピングする。
| Name | Type | Description |
|---|---|---|
ref | string | 元の |
schemas | Object | 基底名を検出するために使用するコンポーネントスキーマのマップ。 |
正規化された $ref 文字列。
- Type:
- string
canonicalizeSchema(input, schemas) → {*}
構造比較のためにスキーマを再帰的に正規化する。オブジェクトのキーをソートし、description を除去し、$ref を正規(基底)形式に書き換える。
| Name | Type | Description |
|---|---|---|
input | * | 正規化するスキーマ(または断片)。 |
schemas | Object |
|
正規化されたスキーマの値。
- Type:
- *
cap(ms) → {number}
遅延が setTimeout の安全な最大値を超えないようクランプする。
| Name | Type | Description |
|---|---|---|
ms | number | 提案された遅延(ミリ秒)。 |
RETRY_MAX_DELAY で上限を設けた遅延。
- Type:
- number
chainGuidance(name) → {string}
指定したシェルにおける、依存し合うコマンドを連結する方法のガイダンスを返す(PowerShell 5.1 は && を持たないが、他のシェルには &&/& のアドバイスを提供する)。
| Name | Type | Description |
|---|---|---|
name | string | シェル名。 |
そのシェル向けの連結ガイダンス文。
- Type:
- string
cmd(shell, command, cwd, env) → {Object}
コマンドを実行する ChildProcess 仕様を構築する。Windows PowerShell では -Command でシェルを呼び出し、それ以外ではシェルの -c/シェルオプション経由でコマンドを実行し、非 Windows プラットフォームではデタッチする。
| Name | Type | Description |
|---|---|---|
shell | string | シェル実行ファイルのパス。 |
command | string | 実行するコマンド文字列。 |
cwd | string | 作業ディレクトリ。 |
env | Object | 環境変数。 |
ChildProcess 仕様。
- Type:
- Object
cmdCommandSection(chain, limits) → {string}
ツール説明の cmd.exe 固有の「コマンドセクション」を構築する。注意事項、ディレクトリの検証、クォート、出力制限、連結を扱う。
| Name | Type | Description |
|---|---|---|
chain | string | 埋め込む連結ガイダンス文。 |
limits | Object |
|
レンダリング済みの cmd.exe コマンドセクションテキスト。
- Type:
- string
collapseDuplicateComponents(spec) → {void}
数字サフィックス付きの重複コンポーネントスキーマ(例: Foo2)を、構造的に等しい場合にベース名(Foo)へ統合し、すべての$refを書き換えて重複を削除する。
| Name | Type | Description |
|---|---|---|
spec | Object | OpenAPIスペックオブジェクト(インプレースで変更される)。 |
- Type:
- void
commands(node) → {Array}
パースツリーノード内のすべての command 子孫ノードを収集する。
| Name | Type | Description |
|---|---|---|
node | Object | tree-sitter の構文ノード(通常はルート)。 |
コマンド構文ノードの配列。
- Type:
- Array
completedCompactions(messages) → {Array}
メッセージリスト中の、過去に完了したコンパクションを検出する。各コンパクションは、エラーなく完了したアシスタントのサマリーメッセージと、それを起動したユーザー(コンパクション)メッセージのインデックスのペアである。
| Name | Type | Description |
|---|---|---|
messages | Array | 順序付けされたセッションメッセージ。各要素は |
完了した各コンパクションに対する { userIndex, assistantIndex, summary } 項目。
- Type:
- Array
componentTypeName(name) → {string}
ドット区切りのコンポーネント名をPascalCaseの型名に変換し、純粋に数値のパスセグメントを除去する。
| Name | Type | Description |
|---|---|---|
name | string | コンポーネント名(ドット区切りの可能性あり、例: |
PascalCaseの型名(名前にドットを含まない場合は変更なし)。
- Type:
- string
configEntryNameFromPath(filePath, searchRoots) → {string}
ファイルの設定エントリ名を算出する。一致する検索ルート以降のパス(一致しない場合はベース名)から拡張子を取り除いたもの。
| Name | Type | Description |
|---|---|---|
filePath | string | 設定ファイルのパス。 |
searchRoots | Array.<string> | 名前を相対化するために使用するルート部分文字列。 |
拡張子を除いたエントリ名。
- Type:
- string
configuredWorkspaceID() → {*}
CLOSEDCODE_WORKSPACE_IDフラグで固定されたワークスペースIDがあれば読み取る。
設定されたWorkspaceID。フラグが未設定の場合はundefined。
- Type:
- *
convertHTMLToMarkdown(html) → {string}
Turndown を使って HTML ドキュメントを Markdown に変換する。script、style、meta、link 要素は除去する。
| Name | Type | Description |
|---|---|---|
html | string | 生の HTML ソース。 |
HTML の Markdown レンダリング結果。
- Type:
- string
convertToLineEnding(text, ending) → {string}
テキストの LF 改行を指定された改行コードに変換する。
| Name | Type | Description |
|---|---|---|
text | string | LF に正規化済みのテキスト。 |
ending | string | 変換先の改行コード("\n" ならテキストは変更されず、そうでなければ CRLF が使われる)。 |
改行を ending に変換したテキスト。
- Type:
- string
cors(corsOptions) → {*}
設定された CORS オプションに従ってオリジンを許可する、グローバルな CORS ルーターミドルウェアを構築する。
| Name | Type | Description |
|---|---|---|
corsOptions | * | 許可オリジンの判定で参照されるサーバーの CORS 設定。 |
1日の max-age で CORS を適用するグローバルなルーターミドルウェアレイヤー。
- Type:
- *
createExpress(opts, selection) → {Object}
Express アプリケーションを構築する。ルートのミドルウェアチェーンを接続し、共有 OpenAPI レジストリに対して全ルートグループをマウントし、OpenAPI 仕様を構築し、ドキュメントを配信し、エラーハンドラを登録する。
| Name | Type | Description |
|---|---|---|
opts | Object | CorsMiddleware に渡されるサーバオプション(例: opts.cors の許可リスト)。 |
selection | Object | バックエンドの選択。デフォルトは ServerBackend.select()。 |
fetch でラップされた Express アプリ、アダプタランタイム、および構築済みの OpenAPI 仕様を返すゲッター。
- Type:
- Object
createInProcessFetch(expressApp) → {Object}
Express アプリを fetch/request メソッドでラップし、プロセス内のループバック HTTP サーバー経由で駆動する。遅延起動されるサーバーはリクエスト単位のタイムアウトが無効化されており、(単一リクエスト内で実行される)長時間のエージェントループが 5 分で打ち切られないようにする。expressApp.request は変更しない。
| Name | Type | Description |
|---|---|---|
expressApp | Object | ラップ対象の Express アプリケーション。 |
fetch(input, init) と request(input, init) を公開するオブジェクト。
- Type:
- Object
createRegistry() → {Object}
OpenAPI のオペレーションと名前付きスキーマを収集するための、空のアプリ単位レジストリを生成する。
新しいレジストリ。
- Type:
- Object
createRoutes(corsOptions) → {*}
ルート、イベント、インスタンス、UI の各ルートをマージし、必要なすべてのサービスレイヤー(CORS、ランタイム、全機能サービスレイヤー)を提供して、サーバー用の完全なルートレイヤーを構築する。
| Name | Type | Description |
|---|---|---|
corsOptions | * | グローバルな CORS ミドルウェアに適用されるサーバーの CORS 設定。 |
HTTP ルーター向けに完全に配線された Effect の Layer。
- Type:
- *
createStructuredOutputTool(input) → {*}
プロンプトが JSON スキーマ出力を要求した際に使用する特別な StructuredOutput AI SDK ツールを構築する。このツールはモデルの引数をスキーマ($schema を除去したもの)に対して検証し、キャプチャした出力を伴って onSuccess を呼び出す。
| Name | Type | Description |
|---|---|---|
input | Object |
|
AI SDK のツール定義。
- Type:
- *
createWebSocket() → {Object}
Express アダプター向けの WebSocket アップグレード機構を構築する。パスごとの WS ハンドラを登録する upgradeWebSocket ルートハンドラファクトリと、HTTP の upgrade イベントを処理してローカルルートへのディスパッチまたはリモートワークスペースのプロキシを行う injectWebSocket(server) インジェクターを返す。
upgradeWebSocket と injectWebSocket を持つオブジェクト。
- Type:
- Object
decode(input) → {string}
JSON 文字列を解析して McpResult を生成するデコーダ。
| Name | Type | Description |
|---|---|---|
input | string | The possibly URI-encoded string. |
The decoded string, or input when decoding fails.
- Type:
- string
decodeCredential(input) → {Effect}
Base64 エンコードされた username:password 文字列を資格情報にデコードする。失敗した場合は空の値にフォールバックする。
| Name | Type | Description |
|---|---|---|
input | string | Base64 エンコードされた |
Redacted なパスワードを含む {username, password} に解決される effect。
- Type:
- Effect
defaultDirectory(req) → {string}
ローカルで処理されるリクエストのディレクトリを、directoryクエリパラメータ、x-closedcode-directory/x-opencode-directoryヘッダー、またはプロセスのcwdから解決する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request (uses query.directory and directory headers). |
解決された作業ディレクトリ。
- Type:
- string
defaultDirectory(request, url) → {string}
ローカルで処理されるリクエストのディレクトリを、directoryクエリパラメータ、x-closedcode-directory/x-opencode-directoryヘッダー、またはプロセスのcwdから解決する。
| Name | Type | Description |
|---|---|---|
request | Object | HTTPサーバーリクエスト。 |
url | URL | パース済みのリクエストURL。 |
解決された作業ディレクトリ。
- Type:
- string
define(id, init) → {Effect}
イベント型をそのプロパティスキーマとともに登録し、レジストリに記録する。
| Name | Type | Description |
|---|---|---|
id | string | The tool identifier. |
init | Effect | An Effect that resolves the tool's base info (description, parameters, execute). |
登録されたイベント定義。
- Type:
- Effect
define(type, properties) → {Object}
イベント型をそのプロパティスキーマとともに登録し、レジストリに記録する。
| Name | Type | Description |
|---|---|---|
type | string | 一意のイベント型識別子(例: "server.instance.disposed")。 |
properties | * | イベントの |
登録されたイベント定義。
- Type:
- Object
delay(attempt, error) → {number}
次のリトライ試行までの待機時間を計算する。プロバイダの retry-after-ms / retry-after レスポンスヘッダ(秒数または HTTP 日付)を優先し、なければヘッダなし時の上限でキャップした指数バックオフにフォールバックする。
| Name | Type | Description |
|---|---|---|
attempt | number | 1 始まりの試行番号。 |
error | * |
|
リトライまでの遅延(ミリ秒)。
- Type:
- number
described(schema, description) → {Object}
OpenAPI ドキュメント用に、スキーマへ人間可読の説明を注釈として付与する。
| Name | Type | Description |
|---|---|---|
schema | Object | 注釈を付与する対象の Effect スキーマ。 |
description | string | スキーマに付与する説明。 |
説明の注釈を持つ新しいスキーマ。
- Type:
- Object
detectLineEnding(text) → {string}
テキストの主たる改行コードを検出する。
| Name | Type | Description |
|---|---|---|
text | string | 調べるテキスト。 |
CRLF が 1 つでも含まれていれば "\r\n"、そうでなければ "\n"。
- Type:
- string
diff(prev, next) → {Object}
2 つのシーケンスマップ間でシーケンス番号が変化したアグリゲートを算出する。
| Name | Type | Description |
|---|---|---|
prev | Object | 変更前に取得したシーケンスマップ(aggregate_id から seq)。 |
next | Object | 変更後に取得したシーケンスマップ(aggregate_id から seq)。 |
aggregate_id から新しい seq へのマップ(next に存在しない場合は -1)。変化したエントリのみを含む。
- Type:
- Object
dir(input) → {string}
相対的な {file:...} 参照の解決に使う基準ディレクトリを解決する。
| Name | Type | Description |
|---|---|---|
input | Object |
|
type が "path" の場合は設定ファイルのディレクトリ、それ以外の場合は与えられた dir。
- Type:
- string
dynamic(text, ps) → {boolean}
トークンが動的/計算済みのコンテンツ(部分式、コマンド置換、未解決の変数)を含み、パーミッションスキャンのための静的パスとして扱えないかどうかを検出する。
| Name | Type | Description |
|---|---|---|
text | string | 検査するトークン。 |
ps | boolean | アクティブなシェルが PowerShell かどうか。 |
トークンが動的でリテラルなパスでない場合は true。
- Type:
- boolean
effectPayloads() → {Array.<Object>}
登録済みの各イベントについて Effect の Schema.Struct スキーマを構築し、それぞれに Event.<type> の識別子を注釈する。
登録済みイベント型ごとに 1 つずつの Effect Schema struct の配列。
- Type:
- Array.<Object>
embeddedUI() → {Promise.<Object>}
遅延インポートされる組み込み Web UI バンドル(アセットパスからディスク上のファイルパスへのマップ)を解決する。組み込み UI が無効または利用不可の場合は null を返す。
組み込み UI のマニフェストオブジェクト、または null。
- Type:
- Promise.<Object>
embeddedUI() → {Promise.<Object>}
遅延インポートされる組み込み Web UI バンドル(アセットパスからディスク上のファイルパスへのマップ)を解決する。組み込み UI が無効または利用不可の場合は null を返す。
組み込み UI のマニフェストオブジェクト、または null。
- Type:
- Promise.<Object>
encodeDateTimes(value) → {*}
構造内のあらゆるEffect DateTime値を再帰的にエポックミリ秒へ変換し、データをsqliteのカラムへJSONシリアライズできるようにする。
| Name | Type | Description |
|---|---|---|
value | * | エンコードする任意の値、配列、またはオブジェクト。 |
すべてのDateTimeがエポックミリ秒の数値に置き換えられた値。
- Type:
- *
encodeMessageData(value) → {*}
メッセージのデータペイロードを保存用にエンコードする(現状はDateTimeのエンコードのみ)。
| Name | Type | Description |
|---|---|---|
value | * | エンコードするメッセージデータ。 |
保存可能な状態にエンコードされた値。
- Type:
- *
envValue(key) → {string}
環境変数を検索する。Windows では大文字小文字を区別せずに一致させる。
| Name | Type | Description |
|---|---|---|
key | string | 環境変数名。 |
変数の値。未設定の場合は undefined。
- Type:
- string
errors(…codes) → {Object}
指定された HTTP エラーステータスコードに対する responses フラグメントを構築する。ルートの describeRoute responses へ展開して使う(例: ...errors(400, 404))。
| Name | Type | Attributes | Description |
|---|---|---|---|
codes | number | <repeatable> | ERRORS に存在する 1 つ以上のステータスコード(400, 404)。 |
ステータスコードと、それに対応する共有エラーレスポンス定義とのマップ。
- Type:
- Object
eventData(data) → {Object}
ペイロードを、JSONシリアライズした data フィールドを持つ SSE "message" イベントのエンベロープにラップする。
| Name | Type | Description |
|---|---|---|
data | Object | イベントの data フィールドにシリアライズするペイロード。 |
SSE イベントオブジェクト {_tag, event, id, data}。
- Type:
- Object
eventData(data) → {Object}
ペイロードを、JSONシリアライズした data フィールドを持つ SSE "message" イベントのエンベロープにラップする。
| Name | Type | Description |
|---|---|---|
data | * | イベントの data フィールドにシリアライズするペイロード。 |
SSE イベントオブジェクト {_tag, event, id, data}。
- Type:
- Object
eventResponse(bus) → {Object}
グローバルバスのイベントと定期的なハートビートをストリームする Server-Sent Events の HTTP レスポンスを構築する。最初に server.connected イベントを送出し、クライアント切断時にはバスのリスナーを破棄する。
| Name | Type | Description |
|---|---|---|
bus | Object | Bus service used to subscribe to all events. |
SSE エンコードされたイベントフィードをストリームする HttpServerResponse。
- Type:
- Object
eventResponse() → {Object}
グローバルバスのイベントと定期的なハートビートをストリームする Server-Sent Events の HTTP レスポンスを構築する。最初に server.connected イベントを送出し、クライアント切断時にはバスのリスナーを破棄する。
SSE エンコードされたイベントフィードをストリームする HttpServerResponse。
- Type:
- Object
expand(text, cwd, shell) → {string}
トークン内の環境変数参照および自動変数参照(${env:X}、$env:X、$HOME/$PWD/$PSHOME)を展開し、続いて ~ を展開する。
| Name | Type | Description |
|---|---|---|
text | string | 展開するトークン。 |
cwd | string | PWD/相対展開用のカレントワーキングディレクトリ。 |
shell | string | PSHOME 用のシェル実行ファイルのパス。 |
展開されたトークン。
- Type:
- string
extract(messages) → {Set}
完了済みかつ非圧縮の read ツール呼び出しを通じて既にコンテキストに読み込まれたファイルパスの集合を収集する(各ツール結果の metadata.loaded から取得)。
| Name | Type | Description |
|---|---|---|
messages | Array | セッションメッセージ。各メッセージは |
既に読み込み済みのファイルパス文字列の集合。
- Type:
- Set
(async) extractTextFromHTML(html) → {Promise.<string>}
HTML ドキュメントから可視テキストを抽出する。script、style、noscript、iframe、object、embed 要素内のコンテンツは除去する。
| Name | Type | Description |
|---|---|---|
html | string | 生の HTML ソース。 |
トリムされ連結されたテキストコンテンツ。
- Type:
- Promise.<string>
filterCompacted(msgs) → {Array}
(新しい順の)メッセージリストを、コンパクション後のアクティブなコンテキストに絞り込む。直近の完了済みコンパクションを走査し、保持された末尾より前の置き換え済み履歴を削除して、サマリと保持された末尾を残す。結果は時系列順(古い順)で返す。
| Name | Type | Description |
|---|---|---|
msgs | Array | 新しい順のセッションメッセージ。 |
コンパクションでフィルタされたメッセージ(古い順)。
- Type:
- Array
fixSelfReferencingComponents(spec) → {void}
自己参照する $ref となっているコンポーネントスキーマを修正する。これは、他のエンドポイントと AST ノードを共有するアノテーション付きユニオンの分岐が、X の定義として {"$ref":"#components/schemas/X"} を生成してしまう Effect の OpenAPI 生成バグである。
壊れたコンポーネントを参照している親ユニオンの anyOf/oneOf から実際のスキーマを見つけ出し、それをインライン化することで解決する。
| Name | Type | Description |
|---|---|---|
spec | Object | OpenAPI のスペックオブジェクト(その場で変更される)。 |
- Type:
- void
flattenOptions(options) → {Array|undefined}
ネストした anyOf/oneOf のユニオンを、リーフのオプションスキーマからなる単一のフラットなリストに平坦化する。
| Name | Type | Description |
|---|---|---|
options | Array | | 平坦化するユニオンのオプション。 |
平坦化したオプションのリスト。options が存在しない場合は undefined。
- Type:
- Array |
undefined
force(selection, backend) → {Object}
選択を上書きして特定のバックエンドを強制する。強制したバックエンドが現在の選択と既に一致している場合を除き、理由を "explicit" としてマークする。
| Name | Type | Description |
|---|---|---|
selection | Object | 現在のバックエンド選択。 |
backend | string | 強制するバックエンド。 |
強制したバックエンドを使用する新しい選択。
- Type:
- Object
foreign(err) → {boolean}
エラーが SQLite の外部キー制約違反かどうかを判定する。必要に応じて original を介して sequelize がラップしたドライバエラーをアンラップする。
| Name | Type | Description |
|---|---|---|
err | * | 検査対象のエラー。 |
エラーが外部キー制約失敗である(またはそれをラップしている)場合は true。
- Type:
- boolean
fromError(e, ctx) → {Object}
任意のスローされたエラーを、名前付きメッセージエラーオブジェクト(Aborted/Auth/API/ContextOverflow/OutputLength/Unknown)のいずれかに正規化する。中断例外、ソケットリセット、解凍失敗、プロバイダのAPI呼び出し/ストリームエラー(コンテキスト超過の検出を含む)を分類する。
| Name | Type | Description |
|---|---|---|
e | * | キャッチされたエラー値。 |
ctx | Object | 分類時に用いるコンテキスト |
シリアライズされたプレーンな名前付きエラーオブジェクト。
- Type:
- Object
get(input) → {Promise.<Object>}
セッション内の単一メッセージ(およびそのパート)をidで取得する。一致するメッセージが存在しない場合はNotFoundErrorをスローする。
| Name | Type | Description |
|---|---|---|
input | Object | メッセージを識別する |
{ info, parts }へ解決する。
- Type:
- Promise.<Object>
(async) getLastModel(sessionID) → {Promise.<*>}
セッション内でユーザーメッセージが直近に使用したモデルを見つける。メッセージストリームを走査し、モデルを持つ最初のユーザーメッセージを返す。
| Name | Type | Description |
|---|---|---|
sessionID | string | メッセージを走査する対象のセッション。 |
最新のユーザーメッセージのモデル、存在しない場合は undefined。
- Type:
- Promise.<*>
getMimeType(filePath) → {string}
拡張子からファイルパスの MIME タイプを検索する。
| Name | Type | Description |
|---|---|---|
filePath | string | 拡張子を検査する対象のファイルパスまたはファイル名。 |
マッチした MIME タイプ。不明な場合は undefined。
- Type:
- string
getMimeType(filePath) → {string|undefined}
拡張子からファイルパスの MIME タイプを検索する。
| Name | Type | Description |
|---|---|---|
filePath | string | 拡張子を検査する対象のファイルパスまたはファイル名。 |
マッチした MIME タイプ。不明な場合は undefined。
- Type:
- string |
undefined
getWorkspaceRouteSessionID(url) → {SessionID}
/session/{id} ルート URL に埋め込まれたセッション ID を抽出する。 /session/status ルートおよびセッションセグメントを持たない URL に対しては null を返す。
| Name | Type | Description |
|---|---|---|
url | URL | 絶対リクエスト URL。 |
解析された SessionID。存在しない場合は null。
- Type:
- SessionID
grab(obj, field1, cb) → {*}
部分更新オブジェクトからフィールドを読み取り、必要に応じて cb を介してネストしたオブジェクトへ降りる。フィールドが存在しない場合は undefined を返すが、フィールドが存在しつつ明示的に undefined である場合は例外を投げる(呼び出し側は値をクリアするために null を渡す必要がある)。
| Name | Type | Description |
|---|---|---|
obj | Object | ソースオブジェクト(undefined の場合あり)。 |
field1 | string | 読み取るフィールド名。 |
cb | function | 値がオブジェクトのときに適用される任意のコールバック。 |
フィールド値(またはコールバックの結果)。存在しない場合は undefined。
- Type:
- *
hasTaskTool(agent) → {boolean}
指定したエージェントが task ツールを使用できるかどうかを判定する。どの切り詰めヒントを表示するか(explore エージェントへ委譲するか、直接読むか)を決めるために使われる。
| Name | Type | Description |
|---|---|---|
agent | Object | 権限ルールを評価する対象のエージェント。undefined の場合がある。 |
エージェントが deny 以外の task 権限を持つ場合は true、そうでなければ false。
- Type:
- boolean
hasToolCalls(messages) → {boolean}
いずれかのメッセージにツール呼び出しまたはツール結果のコンテンツが含まれるかどうかを報告する。LiteLLM 形式のプロキシ互換性のためにスタブツールを注入すべきかを判断するのに用いる。
| Name | Type | Description |
|---|---|---|
messages | Array |
|
いずれかのパートがツール呼び出しまたはツール結果であれば true。
- Type:
- boolean
headers(input, extra) → {Headers}
上流ターゲットへの転送に適したサニタイズ済みの Headers オブジェクトを構築する。 Request(そのヘッダを使用)または Headers/プレーンオブジェクトのヘッダソースのいずれかを受け取り、 hop-by-hop/内部ヘッダを除去したうえで、extra による上書きを適用する。
| Name | Type | Description |
|---|---|---|
input | Request | | Request、Headers インスタンス、またはプレーンなキー/値のヘッダオブジェクト。 |
extra | Request | | サニタイズ後に設定する任意の追加ヘッダ。 |
サニタイズ済み(および必要に応じて拡張済み)の Headers オブジェクト。
- Type:
- Headers
home(text) → {string}
パス的なトークンの先頭の ~(ホームディレクトリ)を展開する。
| Name | Type | Description |
|---|---|---|
text | string |
|
~ がホームディレクトリに展開されたトークン。
- Type:
- string
http(client, url, extra, request) → {Effect}
HTTP リクエストをターゲット URL へプロキシし、上流のレスポンスをクライアントへストリームで返す。メソッド、マージされたヘッダー、および(GET/HEAD 以外の場合は)リクエストボディストリームを転送し、hop 固有の content-encoding/content-length ヘッダーを除去する。クライアントリクエストが中断されると上流の呼び出しも中断し、エラーはプレーンテキストの 500 レスポンスへ変換する。
| Name | Type | Description |
|---|---|---|
client | Object | 上流リクエストの実行に使用する HTTP クライアント。 |
url | string | プロキシ先のターゲット URL。 |
extra | * | プロキシされるリクエストにマージする追加ヘッダー。 |
request | Object | 転送する、受信した HTTP サーバーリクエスト。 |
ストリーミングされる HTTP サーバーレスポンスに解決される effect。
- Type:
- Effect
(async) hydrate(rows) → {Promise.<Array>}
メッセージ行にパートを付加する。指定したメッセージのすべての Part 行を(順序付きで)バッチ読み込みし、メッセージごとにグループ化して { info, parts } オブジェクトを返す。
| Name | Type | Description |
|---|---|---|
rows | Array | ハイドレートするプレーンなメッセージ行。 |
{ info, parts } メッセージの配列に解決される。
- Type:
- Promise.<Array>
info(row) → {Object}
保存されたメッセージ行からメッセージ Info オブジェクトを再構築する。id とセッション id を JSON の data カラムから引き上げる。
| Name | Type | Description |
|---|---|---|
row | Object |
|
メッセージ Info オブジェクト。
- Type:
- Object
init(info) → {Effect}
定義済みのツールを初期化し、その遅延 init を呼び出して、得られた info レコードにツール id をマージする。
| Name | Type | Description |
|---|---|---|
info | Object | define() が生成した定義済みツールレコード。 |
id を含む完全に初期化されたツール info を生成する Effect。
- Type:
- Effect
initProjectors() → {void}
SyncEvent システムにセッションプロジェクタを登録し、convertEvent フックを提供する。 このフックは "session.updated" イベントに対してセッション行を非同期に読み込み、ハイドレートされた 情報を発行する。その他のイベントタイプはデータをそのまま通過させる。
- Type:
- void
isAllowedCorsOrigin(input, opts) → {boolean}
リクエストの Origin が CORS によって許可されるかどうかを判定する。Origin が欠落している場合、http://localhost:* および http://127.0.0.1:* の各ポート、ならびに vcc://renderer スキームは常に許可する。それ以外は opts.cors に列挙されている場合のみ許可する。
| Name | Type | Description |
|---|---|---|
input | string | リクエストの Origin ヘッダー値(空/未定義の場合あり)。 |
opts | Object | オプションオブジェクト。opts.cors は明示的に許可する Origin の配列。 |
Origin が許可される場合は true、そうでない場合は false。
- Type:
- boolean
isAuthRequired(config) → {boolean}
認証が有効かどうか、すなわち空でないパスワードが設定されているかどうかを判定する。
| Name | Type | Description |
|---|---|---|
config | Object | サーバー認証設定。 |
空でないパスワードが設定されている場合に true。
- Type:
- boolean
isBareArraySchema(schema) → {boolean}
スキーマが裸の配列型(items や prefixItems を持たない)かどうかを判定する。
| Name | Type | Description |
|---|---|---|
schema | Object | 判定するスキーマ。 |
裸の配列スキーマの場合に true。
- Type:
- boolean
isBareObjectSchema(schema) → {boolean}
スキーマが裸のオブジェクト型(properties や additionalProperties を持たない)かどうかを判定する。
| Name | Type | Description |
|---|---|---|
schema | Object | 判定するスキーマ。 |
裸のオブジェクトスキーマの場合に true。
- Type:
- boolean
isBuiltInErrorResponse(response, name) → {boolean}
レスポンスが、指定したエラー名に対する Effect の組み込みエラーレスポンスのいずれかかどうかを判定する。
| Name | Type | Description |
|---|---|---|
response | Object | OpenAPI のレスポンスオブジェクト。 |
name | string | 組み込みエラー名(例: |
レスポンスが(description または $ref によって)組み込みエラーである場合に true。
- Type:
- boolean
isCredentialAuthorized(credential, config) → {boolean}
資格情報が設定済みのユーザー名およびパスワードと一致するかどうかを確認する。
| Name | Type | Description |
|---|---|---|
credential | Object | デコード済みの資格情報(パスワードは Redacted 値)。 |
config | Object | サーバー認証設定。 |
ユーザー名と(復元された)パスワードの両方が設定と一致する場合に true。
- Type:
- boolean
isEmptyObjectUnion(schema) → {boolean}
制約のないレコード/配列の値に対して Effect が出力する、退化した「裸のオブジェクト OR 裸の配列」のユニオンを検出する。
| Name | Type | Description |
|---|---|---|
schema | Object | 判定するスキーマ。 |
スキーマが裸のオブジェクトと裸の配列の 2 分岐ユニオンである場合に true。
- Type:
- boolean
isKind(value) → {boolean}
指定した値が認識済みのシェル種別のいずれかであるかどうか。
| Name | Type | Description |
|---|---|---|
value | string | 候補となるシェル種別名。 |
値が既知のシェル種別なら true。
- Type:
- boolean
isLocalWorkspaceRoute(method, path) → {boolean}
リクエストのパス/メソッドをプロキシせずにローカルで処理すべきかどうかを、 静的な RULES テーブルと照合して判定する。ルールはメソッドを固定でき、 パスを完全一致または前方一致で照合する。最初に一致したルールが優先される。
| Name | Type | Description |
|---|---|---|
method | string | リクエストの HTTP メソッド(例: "GET")。 |
path | string | リクエスト URL のパス名。 |
一致したルールのアクションが "local" の場合に true、それ以外(一致なしを含む)は false。
- Type:
- boolean
isOverflow(input) → {Promise.<boolean>}
現在のトークン使用量がモデルの利用可能予算を超え、コンパクションをトリガーすべきかどうかを判定する。自動コンパクションが無効、またはモデルにコンテキスト上限がない場合は常にfalse。
| Name | Type | Description |
|---|---|---|
input | Object |
|
使用トークンが利用可能予算以上のときtrue。
- Type:
- Promise.<boolean>
isOverflow(input) → {boolean}
現在のトークン使用量がモデルの利用可能予算を超え、コンパクションをトリガーすべきかどうかを判定する。自動コンパクションが無効、またはモデルにコンテキスト上限がない場合は常にfalse。
| Name | Type | Description |
|---|---|---|
input | Object |
|
使用トークンが利用可能予算以上のときtrue。
- Type:
- boolean
isPlainObject()
プレーンオブジェクト(null プロトタイプを持つオブジェクトを含む)を判定する。
isRefResponse(response, name) → {boolean}
レスポンスの JSON スキーマが、指定したコンポーネントへの $ref かどうかを判定する。
| Name | Type | Description |
|---|---|---|
response | Object | OpenAPI のレスポンスオブジェクト。 |
name | string | 照合するコンポーネント名。 |
レスポンスが #/components/schemas/<name> を参照している場合に true。
- Type:
- boolean
jsonBody(schema) → {Object}
application/json エンドポイント向けの OpenAPI requestBody オブジェクトを構築する。
| Name | Type | Description |
|---|---|---|
schema | * | JSON ボディを記述する Zod または JSON Schema。 |
application/json コンテンツエントリを持つ requestBody オブジェクト。
- Type:
- Object
(async) jsonRequest(name, req, res, effect) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
res | Object | The Express response object. |
effect | function | コンテキスト |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
(async) jsonRequest(name, req, res, gen) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
res | Object | The Express response object. |
gen | function | The generator function passed to Effect.gen. |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
(async) jsonRequest(name, req, res, fn) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
res | Object | The Express response object. |
fn | function | A function returning an Effect generator to run. |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
(async) jsonRequest(name, req, res, gen) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
res | Object | The Express response object. |
gen | function | The generator function passed to Effect.gen. |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
(async) jsonRequest(name, req, res, effect) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
res | Object | The Express response object. |
effect | function | コンテキスト |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
(async) jsonRequest(name, req, res, effect) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
res | Object | The Express response object. |
effect | function | コンテキスト |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
(async) jsonRequest(name, req, res, gen) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
res | Object | The Express response object. |
gen | function | The generator function passed to Effect.gen. |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
(async) jsonRequest(name, req, res, gen) → {Promise.<void>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | Express request object. |
res | Object | Express response object. |
gen | function | Generator function producing the Effect to run. |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<void>
jsonRequest(name, c, effect) → {Promise.<*>}
リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
c | Object | リクエストコンテキスト。JSON レスポンスの構築にも使用される。 |
effect | function | コンテキスト |
JSON レスポンスに解決される Promise。
- Type:
- Promise.<*>
(async) jsonRequestExpress(name, req, res, genFn) → {Promise.<void>}
トレースされたスパン内で Effect ジェネレーターを実行し、その結果を JSON レスポンスボディとして書き込む。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | Express リクエストオブジェクト。 |
res | Object | Express レスポンスオブジェクト。 |
genFn | function | Effect.gen が消費する、レスポンス値を生成するジェネレーター関数。 |
JSON レスポンスの送信完了時に解決される。
- Type:
- Promise.<void>
keybind(value, description) → {Schema}
1 つのキーバインドフィールドのスキーマを構築する。省略時にデフォルトのバインディングにデコードされるオプションの文字列で、人間が読める説明が注釈される。
| Name | Type | Description |
|---|---|---|
value | string | デフォルトのキーバインディング(例: "ctrl+x")。 |
description | string | アクションの人間が読める説明。 |
そのフィールドの Effect Schema。
- Type:
- Schema
legacyErrorResponse(description, name) → {Object}
名前付きのエラースキーマを参照するレガシーエラーレスポンスオブジェクトを生成する。
| Name | Type | Description |
|---|---|---|
description | string | レスポンスの説明。 |
name | string | 参照するコンポーネントスキーマ名。 |
JSON $ref スキーマを持つ OpenAPI レスポンスオブジェクト。
- Type:
- Object
levenshtein(a, b) → {number}
レーベンシュタイン距離アルゴリズムの実装。a を b に変換するのに必要な 1 文字単位の編集(挿入、削除、置換)の最小回数。
| Name | Type | Description |
|---|---|---|
a | string | 1 つ目の文字列。 |
b | string | 2 つ目の文字列。 |
a と b の編集距離。
- Type:
- number
(async) lines(filepath, opts) → {Promise.<Object>}
テキストファイルを 1 行ずつストリーミングし、opts.offset(1 始まり)から始まり最大 opts.limit 行までの行のウィンドウを返す。MAX_LINE_LENGTH を超える個々の行は切り詰められ、ウィンドウは MAX_BYTES で上限が設けられる。また総行数と、さらにコンテンツがあるか/バイト単位の打ち切りが発生したかも報告する。
| Name | Type | Description |
|---|---|---|
filepath | string | 読み取るファイルの絶対パス。 |
opts | Object | ページングオプション: {offset: number, limit: number}。 |
{raw, count, cut, more, offset} に解決する。raw は選択された行の Array、count は走査した総行数、cut はバイト予算による打ち切りを示し、more は未読の追加行があることを示す。
- Type:
- Promise.<Object>
(async) listen(app, opts, inject) → {Promise.<Object>}
指定した Express アプリ向けに HTTP サーバーを起動し、制御ハンドルを返す。明示的なループバックバインドの場合のみリクエスト単位/ヘッダーのタイムアウトを無効化し(長時間のエージェントループが中断されないようにする)、opts.port が 0 のときはポート 4096 を試した後にランダムなポートを試行する。また、サーバーが listen する前にオプションのインジェクターがサーバーにフックできるようにする(WebSocket のアップグレード処理を取り付けるために使用)。
| Name | Type | Description |
|---|---|---|
app | Object | Express のアプリケーション/リクエストハンドラ。 |
opts | Object | listen オプション。 |
inject | function | http.Server が listen する前に、それを引数として呼び出される任意のコールバック。 |
port と stop(close) メソッドを持つハンドルに解決される。
- Type:
- Promise.<Object>
load(ids) → {Promise.<Object>}
各アグリゲートの現在のイベントシーケンス番号を読み込む。
| Name | Type | Description |
|---|---|---|
ids | Array.<string> | クエリを限定する任意のアグリゲート ID。省略または空の場合はすべてを読み込む。 |
aggregate_id から現在のシーケンス番号へのマップ。
- Type:
- Promise.<Object>
loaded(messages) → {Set}
既にコンテキストへ読み込まれたファイルパスの集合を返す公開ヘルパー。
| Name | Type | Description |
|---|---|---|
messages | Array | 検査対象のセッションメッセージ。 |
read ツール呼び出しを通じて既に読み込み済みのファイルパス文字列の集合。
- Type:
- Set
lock(filePath) → {Object}
指定ファイルの編集を保護する単一許可のセマフォを返す(必要に応じて生成する)。
| Name | Type | Description |
|---|---|---|
filePath | string | ロックするファイルパス。正規化されたキーに解決される。 |
そのファイル用の許可数 1 の Effect Semaphore。
- Type:
- Object
makePropertiesNullable(properties) → {void}
各プロパティのスキーマを再帰的に nullable なユニオンでラップする。share.url(url のみ nullable 化)と time(再帰的に処理)は特別扱いする。
| Name | Type | Description |
|---|---|---|
properties | Object | nullable 化する OpenAPI の |
- Type:
- void
managedConfigDir() → {string}
管理対象設定ディレクトリを取得する。システムディレクトリにフォールバックする前に、テスト用オーバーライド CLOSEDCODE_TEST_MANAGED_CONFIG_DIR を尊重する。
管理対象設定ディレクトリのパス。
- Type:
- string
mapNotFound(self) → {Effect}
ストレージの NotFoundError(型付きの失敗または defect として送出される)を HttpApiError.NotFound へ変換し、それ以外の defect は再 die する。
| Name | Type | Description |
|---|---|---|
self | Effect | NotFoundError を変換すべき Effect。 |
NotFound のエラー/defect を HttpApiError.NotFound にマッピングした Effect。
- Type:
- Effect
mark(ctx) → {Effect}
後でインスタンスを破棄またはリロードするために必要なサービスをキャプチャする。
| Name | Type | Description |
|---|---|---|
ctx | * | レスポンス後に処理対象とするインスタンスコンテキスト。 |
{ ctx, store, bridge } に解決される effect。
- Type:
- Effect
matchLegacyOpenApi(input) → {Object}
新規生成されたOpenAPIスペックをレガシーSDKの表面に合わせてインプレースで変換する。自己参照コンポーネントの修正、optional-nullのユニオン分岐の除去、コンポーネント名・説明の正規化と重複排除、レガシースキーマのオーバーライド適用、組み込みのエラー/セキュリティスキーマの除去、instanceクエリパラメータの注入、SSEイベントストリームのドキュメント化、パラメータ/エラーレスポンスの正規化を行う。
| Name | Type | Description |
|---|---|---|
input | Object | 生成されたOpenAPIスペックオブジェクト(インプレースで変更される)。 |
変換された同一のスペックオブジェクト。
- Type:
- Object
maybeResolve(registry, schema) → {Object}
Zod スキーマまたは既に構築済みの JSON Schema のいずれかであり得るスキーマを解決する。Zod スキーマ(_def/_zod で検出)は変換され、プレーンオブジェクトはそのまま通過する。
| Name | Type | Description |
|---|---|---|
registry | Object | Zod スキーマの変換時に使用するレジストリ。 |
schema | * | Zod スキーマまたはプレーンな JSON Schema オブジェクト。 |
解決された JSON Schema フラグメント。
- Type:
- Object
mergeEffectContractShape(paths) → {void}
パスとメソッドのペアが一致する場合に、Effect httpapi コントラクトからレジストリオペレーションの欠落した parameters/requestBody を補完し、paths をインプレースで変更する。
| Name | Type | Description |
|---|---|---|
paths | Object | 拡張する OpenAPI paths オブジェクト。 |
- Type:
- void
mergeOptions(target, source) → {Object}
ソースのオプションオブジェクトをターゲットへディープマージする。null 相当のソースは空オブジェクトとして扱う。
| Name | Type | Description |
|---|---|---|
target | Object | ベースとなるオプションオブジェクト。 |
source | Object | マージするオプション(null/undefined の場合がある)。 |
ディープマージされたオプションオブジェクト。
- Type:
- Object
missingWorkspaceResponse(id) → {Object}
要求されたワークスペースが見つからなかったことを示す、500番のプレーンテキストレスポンスを構築する。
| Name | Type | Description |
|---|---|---|
id | * | 解決できなかったワークスペースID。 |
ステータス500のHTTPサーバーレスポンス。
- Type:
- Object
nextTuiRequest() → {Promise.<Object>}
リクエストキューから次の保留中の TUI リクエストを取り出す。
次にキューイングされた TUI リクエストに解決される Promise。
- Type:
- Promise.<Object>
normalizeComponentDescriptions(spec) → {void}
コンポーネントの説明を厳選されたレガシーの説明に置き換え、それ以外のすべての説明を削除する。
| Name | Type | Description |
|---|---|---|
spec | Object | OpenAPIスペックオブジェクト(インプレースで変更される)。 |
- Type:
- void
normalizeComponentNames(spec) → {void}
ドット区切りのコンポーネント名をPascalCaseの型名にリネームする。構造的に等しい場合は既存のターゲットへマージし、そうでなければリネームし、それに応じてすべての$refを書き換える。
| Name | Type | Description |
|---|---|---|
spec | Object | OpenAPIスペックオブジェクト(インプレースで変更される)。 |
- Type:
- void
normalizeLegacyErrorResponses(operation) → {void}
オペレーションの組み込み 400/404 エラーレスポンスを、レガシーなエラーレスポンスの形式に置き換える。
| Name | Type | Description |
|---|---|---|
operation | Object | OpenAPI のオペレーションオブジェクト(その場で変更される)。 |
- Type:
- void
normalizeLegacyOperation(operation, path, method) → {void}
ルートごとにレガシーオペレーションの調整を適用する。特定のエンドポイントから不要なエラーレスポンスを除去し、message/command の POST エンドポイントに明示的な {info, parts} という 200 レスポンス形式を与える。
| Name | Type | Description |
|---|---|---|
operation | Object | OpenAPI のオペレーションオブジェクト(その場で変更される)。 |
path | string | ルートパス(例: |
method | string | 小文字の HTTP メソッド(例: |
- Type:
- void
normalizeLineEndings(text) → {string}
テキスト中のすべての CRLF 改行を LF に変換する。
| Name | Type | Description |
|---|---|---|
text | string | 正規化するテキスト。 |
\r\n を \n に置換したテキスト。
- Type:
- string
normalizeParameter(param, route) → {void}
レガシー SDK 向けにオペレーションパラメータのスキーマを正規化する。path/query スキーマのオーバーライドを適用し、既知の number/boolean のクエリパラメータを型変換し、それ以外では optional-null の分岐を除去する。
| Name | Type | Description |
|---|---|---|
param | Object | OpenAPI のパラメータオブジェクト(その場で変更される)。 |
route | string | オーバーライドの参照に使用するルートキー(例: |
- Type:
- void
normalizePath(path) → {string}
Express のルートパスを OpenAPI 形式に正規化する。":param" は "{param}" になり、末尾のスラッシュはルートパスを除いて削除される。
| Name | Type | Description |
|---|---|---|
path | string | Express 形式のルートパス。 |
正規化された OpenAPI パス。
- Type:
- string
nullable(schema) → {Object}
スキーマを anyOf: [schema, {type:"null"}] のユニオンでラップする。ただし、すでに nullable の場合はそのまま返す。
| Name | Type | Description |
|---|---|---|
schema | Object | nullable 化するスキーマ。 |
nullable 化された(すでに nullable だった可能性もある)スキーマ。
- Type:
- Object
older(row) → {Object}
カーソルより厳密に古い行を選択する Sequelize の WHERE 句を組み立てる。作成時刻、次いで id(キーセットページネーションのタイブレーカー)の順で並べる。
| Name | Type | Description |
|---|---|---|
row | Object | これより前をページングするためのカーソル |
Sequelize の Op.or 条件。
- Type:
- Object
openapi() → {Object}
新しい Express アプリを構築し、リッスンせずにその OpenAPI 仕様を返す。
構築された OpenAPI ドキュメント。
- Type:
- Object
page(input) → {Promise.<Object>}
セッションのメッセージを 1 ページ分取得する(内部的には新しい順、返却は古い順)。キーセットページネーションを使い、各メッセージをそのパートでハイドレートする。セッションが存在せず行も返らない場合は NotFoundError をスローする。
| Name | Type | Description |
|---|---|---|
input | Object |
|
{ items, more, cursor } に解決される(cursor は後続ページが存在する場合にのみ含まれる)。
- Type:
- Promise.<Object>
paramToAttributeKey(key) → {string}
ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。
| Name | Type | Description |
|---|---|---|
key | string | ルートパラメータ名。 |
対応する OTel 属性キー。
- Type:
- string
paramToAttributeKey(key) → {string}
ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。
| Name | Type | Description |
|---|---|---|
key | string | ルートパラメータ名。 |
対応する OTel 属性キー。
- Type:
- string
paramToAttributeKey(key) → {string}
ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。
| Name | Type | Description |
|---|---|---|
key | string | ルートパラメータ名。 |
対応する OTel 属性キー。
- Type:
- string
paramToAttributeKey(key) → {string}
ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。
| Name | Type | Description |
|---|---|---|
key | string | ルートパラメータ名。 |
対応する OTel 属性キー。
- Type:
- string
paramToAttributeKey(key) → {string}
ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。
| Name | Type | Description |
|---|---|---|
key | string | ルートパラメータ名。 |
対応する OTel 属性キー。
- Type:
- string
paramToAttributeKey(key) → {string}
ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。
| Name | Type | Description |
|---|---|---|
key | string | ルートパラメータ名。 |
対応する OTel 属性キー。
- Type:
- string
parameterSchema(description) → {Object}
shell ツールのパラメータスキーマ(command、省略可能な timeout、省略可能な workdir、必須の description)を構築し、description フィールドには指定された説明テキストを使用する。
| Name | Type | Description |
|---|---|---|
description | string |
|
shell ツールパラメータ用の Effect Schema.Struct。
- Type:
- Object
parse(headers) → {Object|undefined}
bash または PowerShell の文法を用いて、コマンド文字列を tree-sitter の構文ツリーにパースする。
| Name | Type | Description |
|---|---|---|
headers | Object | A Headers-like object exposing get(name). |
パース済みの tree-sitter ツリーを生成する effect。
- Type:
- Object |
undefined
parseBody(body) → {*}
JSON のリクエストボディをパースする。空のボディは {} として扱う。
| Name | Type | Description |
|---|---|---|
body | string | 生のリクエストボディテキスト。 |
パースした値。パースに失敗した場合は undefined。
- Type:
- *
parseManagedPlist(json) → {string}
JSON エンコードされた管理対象 plist から MDM/plist のメタデータキーを取り除き、残りの closedcode 設定を JSON 文字列として返す。
| Name | Type | Description |
|---|---|---|
json | string | JSON 文字列としての plist の内容。 |
ペイロードのメタデータを除去した設定の JSON 文字列。
- Type:
- string
part(row) → {Object}
保存されたパート行からメッセージ Part オブジェクトを再構築する。id、セッション id、メッセージ id を JSON の data カラムから引き上げる。
| Name | Type | Description |
|---|---|---|
row | Object |
|
メッセージ Part オブジェクト。
- Type:
- Object
parts(message_id) → {Promise.<Array>}
tree-sitter のコマンドノードから意味のあるトークン(コマンド名と引数的な要素)を抽出し、区切り文字とリダイレクトをスキップする。
| Name | Type | Description |
|---|---|---|
message_id | string | The message whose parts to load. |
{type, text} トークンオブジェクトの配列。
- Type:
- Promise.<Array>
parts(node) → {Array}
tree-sitter のコマンドノードから意味のあるトークン(コマンド名と引数的な要素)を抽出し、区切り文字とリダイレクトをスキップする。
| Name | Type | Description |
|---|---|---|
node | Object | tree-sitter のコマンド構文ノード。 |
{type, text} トークンオブジェクトの配列。
- Type:
- Array
pathArgs(list, ps, cmd) → {Array}
コマンドのトークンリストからパス的な引数を抽出する。コマンド名、フラグ/スイッチ、特殊な先頭文字をスキップする。PowerShell の場合は値を取るパラメータ(例: -Path)もたどってその値を取得する。
| Name | Type | Default | Description |
|---|---|---|---|
list | Array | コマンドのトークン(最初の要素はコマンド名)。 | |
ps | boolean | アクティブなシェルが PowerShell かどうか。 | |
cmd | boolean | false | アクティブなシェルが cmd.exe かどうか( |
パス引数文字列の配列。
- Type:
- Array
pathParameterSchema(route, name) → {Object|undefined}
path パラメータのオーバーライドスキーマを名前で解決する。workspace、permission、question の各ルートにおける id/requestID にはルート固有のパターンを用いる。
| Name | Type | Description |
|---|---|---|
route | string | ルートキー(例: |
name | string | path パラメータ名。 |
オーバーライドのスキーマ。オーバーライドがない場合は undefined。
- Type:
- Object |
undefined
payloads() → {Array.<Object>}
登録済みの各イベントについて Zod のオブジェクトスキーマを構築し、それぞれに Event.<type> の ref を注釈する。
登録済みイベント型ごとに 1 つずつの Zod オブジェクトスキーマの配列。
- Type:
- Array.<Object>
plain(row) → {Object}
Sequelize のモデルインスタンスをプレーンオブジェクトに変換する。null の場合は undefined を返す。
| Name | Type | Description |
|---|---|---|
row | Object | Sequelize のモデルインスタンス、または null/undefined。 |
プレーンな行オブジェクト、または undefined。
- Type:
- Object
plain(row) → {Object}
Sequelize のモデルインスタンスをプレーンオブジェクトに変換する。null の場合は undefined を返す。
| Name | Type | Description |
|---|---|---|
row | Object | Sequelize のモデルインスタンス、または null/undefined。 |
プレーンな行オブジェクト、または undefined。
- Type:
- Object
planRequest(request, sessionWorkspaceID) → {Effect}
環境変数で固定されたワークスペース、選択されたワークスペース(セッションまたはクエリパラメータ)、存在しないワークスペース、コントロールプレーン専用ルートを考慮して、リクエストのルーティングプランを算出する。
| Name | Type | Description |
|---|---|---|
request | Object | 受信したHTTPサーバーリクエスト。 |
sessionWorkspaceID | * | リクエストのセッションから取得したワークスペースID(存在する場合)。 |
RequestPlan(Local、Remote、またはMissingWorkspace)に解決されるeffect。
- Type:
- Effect
planWorkspaceRequest(request, url, workspace) → {Effect}
解決されたワークスペースに対するリクエストプランを構築する。ターゲットがリモートの場合はRemote(プロキシ)、それ以外はLocal。
| Name | Type | Description |
|---|---|---|
request | Object | 受信したHTTPサーバーリクエスト。 |
url | URL | パース済みのリクエストURL。 |
workspace | Object | 解決されたワークスペース。 |
RequestPlan値に解決されるeffect。
- Type:
- Effect
policy(opts) → {*}
retryable が理由を返す間リトライを行う Effect Schedule を構築する。試行間で計算された delay だけ待機し、進捗を報告する。
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
opts | Object | ポリシーのフック。 Properties
|
Effect.retry で使用可能な Effect Schedule。
- Type:
- *
powershellCommandSection(name, chain, pathSep, limits) → {string}
ツール説明の PowerShell 固有の「コマンドセクション」を構築する。注意事項、ディレクトリの検証、クォート、出力制限、連結を扱う。
| Name | Type | Description |
|---|---|---|
name | string | PowerShell の種別名(「pwsh」または「powershell」)。 |
chain | string | 埋め込む連結ガイダンス文。 |
pathSep | string | 例で使用するパス区切り文字(「\」または「/」)。 |
limits | Object |
|
レンダリング済みの PowerShell コマンドセクションテキスト。
- Type:
- string
powershellNotes(name) → {string}
指定した PowerShell の種別(pwsh 7+ または Windows PowerShell 5.1)に対する PowerShell 固有の利用上の注意ブロックを返す。その他のシェルでは空を返す。
| Name | Type | Description |
|---|---|---|
name | string | シェル名(「pwsh」または「powershell」)。 |
注意の markdown ブロック、または空文字列。
- Type:
- string
prefix(text) → {string}
最初のグロブメタ文字(?、*、[)までのトークンのリテラル(非グロブ)プレフィックスを返す。トークンがグロブ文字で始まる場合は undefined を返す。
| Name | Type | Description |
|---|---|---|
text | string | 検査するトークン。 |
リテラルプレフィックス。グロブ文字で始まる場合は undefined。
- Type:
- string
preserveRecentBudget(input) → {number}
直近のターンを保持するために確保するトークンバジェットを算出する。設定値があればその値、なければ使用可能コンテキストの 25% を min/max の範囲にクランプした値。
| Name | Type | Description |
|---|---|---|
input | Object |
|
直近ターン保持用のトークンバジェット。
- Type:
- number
preview(text) → {string}
出力のメタデータサイズのプレビューを生成する。末尾を保持し、テキストが MAX_METADATA_LENGTH を超える場合は "..." を前置する。
| Name | Type | Description |
|---|---|---|
text | string | プレビューする出力テキスト。 |
元のテキスト、または切り詰められた末尾のプレビュー。
- Type:
- string
profile(name, platform, limits) → {Object}
指定したシェルとプラットフォーム向けに、プロンプト断片一式(イントロ、作業ディレクトリ節、コマンド節、git/PR ガイダンス、パラメータ説明)を組み立てる。
| Name | Type | Description |
|---|---|---|
name | string | シェル名("bash"、"pwsh"、"powershell"、または "cmd")。 |
platform | string | Node のプラットフォーム文字列(例: "win32")。 |
limits | Object |
|
プロンプト断片文字列からなるプロファイルオブジェクト。
- Type:
- Object
provideInstanceContext(effect, store) → {Effect}
現在のワークスペースルートに基づいて effect にインスタンスコンテキストを提供する。ルートのディレクトリ(URI デコード済み)とワークスペース ID を読み取り、ワークスペース ref を提供した状態で、ストア内の対応するインスタンス内で effect を実行する。
| Name | Type | Description |
|---|---|---|
effect | Effect | インスタンスコンテキスト内で実行するハンドラー effect。 |
store | Object | インスタンスの提供に使用する |
解決済みのインスタンスおよびワークスペースコンテキスト内で実行される effect。
- Type:
- Effect
provideLocal(req, res, next, workspaceID, directory) → {Promise.<*>}
Effect サービスが指定されたワークスペースとディレクトリに対して解決されるよう、下流のハンドラを WorkspaceContext.provide -> WithInstance.provide の内側で実行する。ラップされた promise はレスポンスが完了またはエラーになると確定する。
| Name | Type | Description |
|---|---|---|
req | Object | Express のリクエスト。 |
res | Object | Express のレスポンス。 |
next | function | 下流のハンドラチェーンを呼び出す。 |
workspaceID | string | コンテキストとして提供するワークスペース。 |
directory | string | 解決されたプロジェクトディレクトリ。 |
提供された Effect/promise の結果。
- Type:
- Promise.<*>
provider(model) → {Array.<string>}
パスから PowerShell のプロバイダ修飾子を取り除き、ファイルシステムプロバイダの場合のみ素のパスを返す。ファイルシステム以外のプロバイダ(例: Env:)には undefined を返し、ドライブレターのパス(C:)はそのまま残す。
| Name | Type | Description |
|---|---|---|
model | Object | Model descriptor with an |
ファイルシステムパス。ファイルシステムパスでない場合は undefined。
- Type:
- Array.<string>
provider(text) → {string}
パスから PowerShell のプロバイダ修飾子を取り除き、ファイルシステムプロバイダの場合のみ素のパスを返す。ファイルシステム以外のプロバイダ(例: Env:)には undefined を返し、ドライブレターのパス(C:)はそのまま残す。
| Name | Type | Description |
|---|---|---|
text | string | プロバイダ修飾されている可能性のあるパストークン。 |
ファイルシステムパス。ファイルシステムパスでない場合は undefined。
- Type:
- string
providerMeta(metadata) → {Object}
パートのメタデータから内部用の providerExecuted フラグを除去し、残ったプロバイダーメタデータを返す。何も残らない場合は undefined を返す。
| Name | Type | Description |
|---|---|---|
metadata | Object | providerExecuted を含む可能性のあるパートのメタデータ。 |
整理されたメタデータオブジェクト、または undefined。
- Type:
- Object
(async) proxyRemote(req, res, workspace, target, url) → {Promise.<void>}
リクエストをリモートのワークスペースターゲットへプロキシする。ワークスペースの同期接続が切断されている場合は503を返す。WebSocketアップグレードはWebSocketプロキシ経由でルーティングし、それ以外はHTTPでプロキシする。その後、レスポンス中の同期フェンスヘッダーがあればワークスペースが追いつくまで待機して尊重する(同期失敗時は503を返す)。
| Name | Type | Description |
|---|---|---|
req | Object | The incoming Express request. |
res | Object | The Express response to write the proxied result to. |
workspace | Object | プロキシ先のリモートワークスペース。 |
target | Object | 解決されたリモートターゲット( |
url | URL | パース済みのリクエストURL。 |
プロキシ(またはエラー)のHTTPレスポンスに解決されるeffect。
- Type:
- Promise.<void>
proxyRemote(client, request, workspace, target, url) → {Effect}
リクエストをリモートのワークスペースターゲットへプロキシする。ワークスペースの同期接続が切断されている場合は503を返す。WebSocketアップグレードはWebSocketプロキシ経由でルーティングし、それ以外はHTTPでプロキシする。その後、レスポンス中の同期フェンスヘッダーがあればワークスペースが追いつくまで待機して尊重する(同期失敗時は503を返す)。
| Name | Type | Description |
|---|---|---|
client | Object | プロキシに使用するHTTPクライアント。 |
request | Object | 受信したHTTPサーバーリクエスト。 |
workspace | Object | プロキシ先のリモートワークスペース。 |
target | Object | 解決されたリモートターゲット( |
url | URL | パース済みのリクエストURL。 |
プロキシ(またはエラー)のHTTPレスポンスに解決されるeffect。
- Type:
- Effect
prune(input) → {Promise.<void>}
圧縮サービスの prune 操作を Promise でラップしたもの。
| Name | Type | Description |
|---|---|---|
input | Object |
|
刈り込みが完了したときに解決する。
- Type:
- Promise.<void>
publish(port, domain) → {void}
ローカルネットワーク上でサーバを広告する mDNS/Bonjour の "http" サービスを公開する。 同じポートがすでに公開されている場合は何もしない。先に既存の広告を破棄する。
| Name | Type | Description |
|---|---|---|
port | number | サーバがリッスンしている TCP ポート。 |
domain | string | 広告する任意の mDNS ホスト名(デフォルトは "closedcode.local")。 |
- Type:
- void
queryBoolean(value) → {boolean}
クエリ文字列のブール値を実際のブール値に変換する。
| Name | Type | Description |
|---|---|---|
value | * | 生のクエリ値( |
値が true または文字列 "true" のとき true、値が undefined のとき undefined。
- Type:
- boolean
queryBoolean(value) → {boolean}
クエリ文字列のブール値を実際のブール値に変換する。
| Name | Type | Description |
|---|---|---|
value | * | 生のクエリ値( |
値が true または文字列 "true" のとき true、値が undefined のとき undefined。
- Type:
- boolean
raceAbort(effect, signal) → {Effect}
effect を abort シグナルと競合させ、シグナルが発火したときに effect を中断する。
| Name | Type | Description |
|---|---|---|
effect | Effect | 実行する effect。 |
signal | AbortSignal | | abort シグナル。存在しない場合は |
元の effect。任意で abort と競合させたもの。
- Type:
- Effect
readManagedPreferences() → {Promise.<(Object|undefined)>}
macOS では、管理対象 .plist を特定し、plutil で JSON に変換し、ペイロードのメタデータを取り除くことで、closedcode ドメインの MDM 配布された管理対象設定を読み取る。macOS 以外のプラットフォームでは何もしない。
管理対象 plist が見つかった場合は {source, text} オブジェクト、それ以外の場合は undefined。
- Type:
- Promise.<(Object|undefined)>
registerOperation(registry, method, path, describe) → {void}
レジストリ内の method path に対する単一の OpenAPI オペレーションを登録し、responses/requestBody 内の Zod スキーマを JSON Schema へ解決する。
| Name | Type | Description |
|---|---|---|
registry | Object | オペレーションをプッシュするレジストリ。 |
method | string | HTTP メソッド(大文字小文字を区別しない)。 |
path | string | Express 形式のルートパス(OpenAPI 形式に正規化される)。 |
describe | Object | オペレーションのメタデータ(summary, description, operationId, responses, requestBody, parameters)。 |
- Type:
- void
render(name, platform, limits) → {Object}
指定したシェルとプラットフォーム向けに、完全なシェルツール定義をレンダリングする。プロファイル断片を説明テンプレートに差し込み、対応するパラメータスキーマを構築する。
| Name | Type | Description |
|---|---|---|
name | string | シェル名("bash"、"pwsh"、"powershell"、または "cmd")。 |
platform | string | Node のプラットフォーム文字列(例: "win32")。 |
limits | Object |
|
description(文字列)と parameters(Schema)を持つオブジェクト。
- Type:
- Object
renderPrompt(template, values) → {string}
テンプレート内の ${key} プレースホルダを対応する値で置換し、参照されたキーが見つからない場合は例外をスローする。
| Name | Type | Description |
|---|---|---|
template | string |
|
values | Object | プレースホルダのキーから置換文字列へのマップ。 |
すべてのプレースホルダが置換されたレンダリング済み文字列。
- Type:
- string
replace(content, oldString, newString, replaceAll) → {string}
content 中の oldString の出現箇所を newString に置換する。各リプレーサ戦略を順に試し、いずれかがマッチを見つけるまで続ける。oldString が newString と等しい場合、いずれのリプレーサもテキストを見つけられない場合、または(全置換でないとき)見つかったテキストが曖昧な場合(複数出現)には例外を投げる。
| Name | Type | Description |
|---|---|---|
content | string | 元のファイル内容。 |
oldString | string | 検索するテキスト(リプレーサのカスケードでマッチする)。 |
newString | string | 置換後のテキスト。 |
replaceAll | boolean | true の場合はすべての出現を置換する。それ以外の場合は一意なマッチを要求する。 |
置換を適用した後の内容。
- Type:
- string
reportValidation(req, res, next) → {*}
express-validator のフィールドチェーンの失敗を、Zod バリデータと同じ 400 エンベロープで報告するミドルウェア。エラーがない場合はそのまま通過する。
| Name | Type | Description |
|---|---|---|
req | Object | Express リクエスト。 |
res | Object | Express レスポンス。 |
next | function | 検証に成功した場合に制御を引き渡す。 |
失敗時は 400 の JSON 応答、それ以外は next() の結果。
- Type:
- *
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(req) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
req | Object | Express request object. |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestAttributes(c) → {Object}
HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。
| Name | Type | Description |
|---|---|---|
c | Object | リクエストコンテキスト( |
OTel 属性キーから文字列値へのマップ。
- Type:
- Object
requestURL(req) → {URL}
リクエストURLをURLへパースする。相対リクエストURLにはlocalhostをベースとして用いる。
| Name | Type | Description |
|---|---|---|
req | Object | The Express request (uses originalUrl/url). |
パース済みのリクエストURL。
- Type:
- URL
requestURL(request) → {URL}
リクエストURLをURLへパースする。相対リクエストURLにはlocalhostをベースとして用いる。
| Name | Type | Description |
|---|---|---|
request | Object | HTTPサーバーリクエスト。 |
パース済みのリクエストURL。
- Type:
- URL
resolve(registry, zodSchema) → {Object}
Zod スキーマを OpenAPI 向けの JSON Schema フラグメントへ変換する。スキーマが .meta({ref}) 経由で ref を持つ場合、components/schemas 配下に登録され、インラインスキーマの代わりに $ref が返される。
| Name | Type | Description |
|---|---|---|
registry | Object | 名前付きスキーマを記録するレジストリ。 |
zodSchema | * | 変換対象の Zod スキーマ。 |
JSON Schema フラグメント、または登録済みコンポーネントを指す {$ref}。
- Type:
- Object
resolveRequestBody(registry, requestBody) → {Object}
OpenAPI requestBody 内のすべての content スキーマを解決し、Zod スキーマを JSON Schema へ変換する。
| Name | Type | Description |
|---|---|---|
registry | Object | スキーマ変換に使用するレジストリ。 |
requestBody | Object | content スキーマが解決される requestBody オブジェクト。 |
content スキーマが解決された新しい requestBody。
- Type:
- Object
resolveTarget(workspace) → {Effect}
ワークスペースのプロジェクト/型アダプタ(例: ローカルディレクトリやリモートURL)を介して、ルーティングターゲットを解決する。
| Name | Type | Description |
|---|---|---|
workspace | Object | ターゲットを解決する対象のワークスペース。 |
アダプタのターゲット記述子に解決されるeffect。
- Type:
- Effect
resolveTools(input) → {Object}
利用可能なツールを、このリクエストで許可されたものに絞り込む。マージされたエージェント/リクエストの権限によって無効化されたツールと、ユーザーメッセージが明示的にオフにしたツールを除外する。
| Name | Type | Description |
|---|---|---|
input | Object |
|
絞り込み後のツールマップ。
- Type:
- Object
resolveWasm(asset) → {string}
tree-sitter の wasm アセット参照を素のファイルシステムパスに解決する。file:// URL、絶対パス、モジュール相対参照を受け付ける。
| Name | Type | Description |
|---|---|---|
asset | string | アセット参照(URL、絶対パス、または相対パス)。 |
解決されたファイルシステムパス。
- Type:
- string
resolveWorkspace(id, envWorkspaceID) → {Effect}
環境変数のワークスペースIDによってルーティングが固定されていない限り、IDからワークスペースを検索する。
| Name | Type | Description |
|---|---|---|
id | * | 解決対象のワークスペースID(存在する場合)。 |
envWorkspaceID | * | 環境変数で固定されたワークスペースID。設定されている場合は解決をスキップする。 |
ワークスペースに解決されるeffect。検索が不要な場合はvoid。
- Type:
- Effect
resolveWorkspaceRoute(url, method, envWorkspaceID) → {Promise.<Object>}
受信リクエスト URL に対して有効なワークスペースとアダプターターゲットを解決する。 InstanceMiddleware / planRequest をミラーする。純粋な解決のみを行い、プロキシやレスポンスの書き込みは行わない。 選択ロジックを一箇所にまとめるため、HTTP ミドルウェアと WebSocket アップグレードハンドラーの両方から使用される。
| Name | Type | Description |
|---|---|---|
url | URL | 絶対リクエスト URL(呼び出し側が構築する) |
method | string | HTTP メソッド(isLocalWorkspaceRoute 用) |
envWorkspaceID | WorkspaceID | | Flag.CLOSEDCODE_WORKSPACE_ID(既に WorkspaceID.make 済み)または undefined |
ワークスペースルートの解決結果。kind で判別される 3 つの形のいずれか:
{ kind: "local", workspaceID, directory? }— ローカルで処理する{ kind: "missing", workspaceID }— 既知のワークスペースだが、ここでは解決できない{ kind: "remote", workspace, target, workspaceID }—targetへプロキシする
- Type:
- Promise.<Object>
responseDescription(description) → {Object}
エンドポイントの 200 レスポンスの説明を上書きする OpenAPI 注釈を構築する。
| Name | Type | Description |
|---|---|---|
description | string | 操作の "200" レスポンスに設定する説明。 |
200 レスポンスの説明を書き換えるトランスフォームを持つ OpenApi 注釈オブジェクト。
- Type:
- Object
retryable(error) → {string|undefined}
エラーをリトライすべきかどうか、そうであればその人間可読な理由を判定する。5xx およびレートリミット系のエラー(ステータスコード、メッセージのヒューリスティック、またはパース済み JSON のエラーコードによる)をリトライ可能とみなす。コンテキストオーバーフローはリトライ不可。
| Name | Type | Description |
|---|---|---|
error | * | 分類対象のパース済みエラー。 |
リトライ可能な場合はリトライ理由のメッセージ、そうでなければ undefined。
- Type:
- string |
undefined
rewriteRefs(input, from, to) → {void}
from コンポーネントを指すすべての $ref を、to コンポーネントを指すように再帰的に書き換える。
| Name | Type | Description |
|---|---|---|
input | * | 走査するスペックの値(オブジェクト/配列、その場で変更される)。 |
from | string | 変換元のコンポーネント名。 |
to | string | 変換先のコンポーネント名。 |
- Type:
- void
routeHttpApiWorkspace(client, effect) → {Effect}
HttpApiリクエストをルーティングする。セッションが参照されている場合はそのワークスペースを解決し、リクエストをプランニングしてプランを実行する。
| Name | Type | Description |
|---|---|---|
client | Object | リモートプロキシに使用するHTTPクライアント。 |
effect | Effect |
|
結果のHTTPレスポンスに解決されるeffect。
- Type:
- Effect
routeWorkspace(client, effect, plan) → {Effect}
リクエストプランを実行する。not-foundエラーを返す、リモートターゲットへプロキシする、またはWorkspaceRouteContextを提供してローカルハンドラのeffectを実行する。
| Name | Type | Description |
|---|---|---|
client | Object | リモートプロキシに使用するHTTPクライアント。 |
effect | Effect |
|
plan | * |
|
結果のHTTPレスポンスに解決されるeffect。
- Type:
- Effect
runEffect(name, req, effect) → {Promise}
リクエストの属性を持つ名前付きトレーシングスパン内で Effect を実行する。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | Express リクエストオブジェクト(スパン属性の導出に使用)。 |
effect | Effect | スパン内で実行する Effect。 |
Effect の成功値に解決する Promise。
- Type:
- Promise
runRequest(name, req, effect) → {Promise.<*>}
Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
effect | Effect | スパン内で実行する Effect。 |
Effect の結果に解決される Promise。
- Type:
- Promise.<*>
runRequest(name, req, effect) → {Promise.<*>}
Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
effect | Effect | スパン内で実行する Effect。 |
Effect の結果に解決される Promise。
- Type:
- Promise.<*>
runRequest(name, req, effect) → {Promise.<*>}
Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
effect | Effect | スパン内で実行する Effect。 |
Effect の結果に解決される Promise。
- Type:
- Promise.<*>
runRequest(name, req, effect) → {Promise.<*>}
Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | The Express request object. |
effect | Effect | スパン内で実行する Effect。 |
Effect の結果に解決される Promise。
- Type:
- Promise.<*>
runRequest(name, req, effect) → {Promise.<*>}
Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | Express request object (source of span attributes). |
effect | Effect | スパン内で実行する Effect。 |
Effect の結果に解決される Promise。
- Type:
- Promise.<*>
runRequest(name, c, effect) → {Promise.<*>}
Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
c | Object | スパン属性の導出に使用するリクエストコンテキスト。 |
effect | Effect | スパン内で実行する Effect。 |
Effect の結果に解決される Promise。
- Type:
- Promise.<*>
runRequestExpress(name, req, effect) → {Promise}
リクエストの属性を持つ名前付きトレーシングスパン内で Effect を実行する。
| Name | Type | Description |
|---|---|---|
name | string | スパン名。 |
req | Object | Express リクエストオブジェクト(スパン属性の導出に使用する)。 |
effect | Effect | スパン内で実行する Effect。 |
Effect の成功値に解決される Promise。
- Type:
- Promise
sanitize(out) → {void}
Headers オブジェクトから hop-by-hop および内部ルーティングヘッダをインプレースで除去する。 hop-by-hop 集合に加え、accept-encoding および x-closedcode/x-opencode の directory/workspace ヘッダを取り除く。
| Name | Type | Description |
|---|---|---|
out | Headers | 変更する Headers オブジェクト。 |
- Type:
- void
select() → {Object}
使用するサーバーバックエンドを選択する。
選択されたバックエンドと、それが選択された理由。
- Type:
- Object
selectedWorkspaceID(url, sessionWorkspaceID) → {*}
リクエストに対して選択されるワークスペースIDを決定する。workspaceクエリパラメータよりもセッションのワークスペースを優先する。
| Name | Type | Description |
|---|---|---|
url | URL | パース済みのリクエストURL。 |
sessionWorkspaceID | * | リクエストのセッションに関連付けられたワークスペースID(存在する場合)。 |
選択されたWorkspaceID。指定がない場合はundefined。
- Type:
- *
serializeSearchParams()
URLSearchParams を、決定的なキーを得るためにソート済みの JSON オブジェクトへ変換する。
serveDocs(app, mountPath, spec) → {void}
ビルド済みの仕様を提供しつつ、swagger-ui のドキュメント UI を指定パスで Express アプリにマウントする。
| Name | Type | Description |
|---|---|---|
app | Object | Express アプリケーション。 |
mountPath | string | ドキュメント UI をマウントするパス(例: "/docs")。 |
spec | Object | 提供するビルド済みの OpenAPI ドキュメント。 |
- Type:
- void
(async) serveUI(req, res) → {Promise.<Object>}
リクエストパスに一致する組み込み Web UI アセットを配信する(一致しない場合は index.html にフォールバック)。コンテンツタイプを設定し、HTML の場合はデフォルトの CSP ヘッダーも設定する。
| Name | Type | Description |
|---|---|---|
req | Object | Express のリクエストオブジェクト( |
res | Object | Express のレスポンスオブジェクト。 |
Express レスポンスに解決される Promise(アセットありで 200、見つからない場合は 404、バンドルがない場合は 503)。
- Type:
- Promise.<Object>
serveUIEffect(request, services) → {Effect}
指定されたリクエストに対し、組み込み Web UI バンドルから静的ファイルを提供する。リクエストパスを組み込みマニフェストに照合し(マッチしない場合は index.html にフォールバック)、マッチしたファイルを読み込み、適切な content-type および CSP ヘッダーを付与して返す。アセットが見つからない場合は 404 を、ビルドに組み込み Web UI がない場合は 503 を返す。
| Name | Type | Description |
|---|---|---|
request | Object | その url がバンドルに照合される HTTP リクエスト。 |
services | Object | fs.existsSafe および fs.readFile を提供するサービスバッグ。 |
送信する HttpServerResponse を生成する Effect。
- Type:
- Effect
shellDisplayName(name) → {string}
内部シェル名を人間が読める表示名にマッピングする。
| Name | Type | Description |
|---|---|---|
name | string | 内部シェル名(例: 「pwsh」、「powershell」、「cmd」)。 |
表示名。認識されない場合は入力をそのまま返す。
- Type:
- string
shouldStayOnControlPlane(request, url) → {boolean}
ワークスペース選択に関わらず、リクエストをコントロールプレーンで処理すべきか(ローカルワークスペースのルートおよび/consoleパス)を判定する。
| Name | Type | Description |
|---|---|---|
request | Object | HTTPサーバーリクエスト。 |
url | URL | パース済みのリクエストURL。 |
リクエストをコントロールプレーンに留めるべき場合はtrue。
- Type:
- boolean
sliceAfterMatch(filePath, searchRoots) → {string|undefined}
(スラッシュ区切りに正規化された)パスのうち、最初に一致する検索ルートに続く部分を返す。一致するルートがない場合は undefined を返す。
| Name | Type | Description |
|---|---|---|
filePath | string | 調査するファイルパス(Windows または POSIX の区切り文字)。 |
searchRoots | Array.<string> | 優先順位順に一致を試みるルート部分文字列。 |
一致したルート以降のパスのスライス、または undefined。
- Type:
- string |
undefined
source(node) → {string}
置換入力のソース識別子(エラー報告に使用)を解決する。
| Name | Type | Description |
|---|---|---|
node | Object | A tree-sitter command syntax node. |
type が "path" の場合は設定ファイルのパス、それ以外の場合は与えられた source 文字列。
- Type:
- string
source(input) → {string}
置換入力のソース識別子(エラー報告に使用)を解決する。
| Name | Type | Description |
|---|---|---|
input | Object |
|
type が "path" の場合は設定ファイルのパス、それ以外の場合は与えられた source 文字列。
- Type:
- string
splitTurn(input) → {Effect}
単一ターン内で、接尾部 [start, turn.end) が残りのトークンバジェットに収まる最も早い分割点を見つける。これにより、サイズ超過のターンの一部だけでも末尾に保持できる。
| Name | Type | Description |
|---|---|---|
input | Object |
|
選択された分割点の { start, id } を生成する Effect、どれも収まらない場合は undefined。
- Type:
- Effect
(async) sqlite(h, sessionID) → {Promise.<Object>}
sequelizeを基盤とする同期版SessionMessageUpdaterアダプタを構築する。セッションのアシスタント/コンパクション/シェルメッセージを事前読み込みし、updaterが同期的に呼び出せるゲッター/セッターを公開し、すべての書き込みをキューに入れて、updaterの終了後に(順序を保って)フラッシュできるようにする。
| Name | Type | Description |
|---|---|---|
h | Object | Sequelizeハンドル |
sessionID | string | メッセージを投影する対象のセッション。 |
{ adapter, flush }のPromise。adapterは同期版updaterインターフェース、flushはキューに入った書き込みを実行する。
- Type:
- Promise.<Object>
stableSchema(input, schemas) → {string}
スキーマを正規化(キーをソート、説明を除去、ref を正規化)し、比較可能な安定した文字列を生成する。
| Name | Type | Description |
|---|---|---|
input | * | シリアライズするスキーマ(またはスキーマの断片)。 |
schemas | Object |
|
構造比較用の決定論的な JSON 文字列。
- Type:
- string
stop(close) → {Promise.<void>}
サーバーを停止し、完全にクローズされたら解決する。冪等。
| Name | Type | Description |
|---|---|---|
close | boolean | true の場合、すべての(アイドルおよびアクティブな)接続も強制的にクローズする。 |
サーバーがクローズされたときに解決される。
- Type:
- Promise.<void>
stream(sessionID) → {AsyncGenerator}
セッションの全メッセージを時系列(古い順)に非同期イテレートする。固定サイズのバッチでデータベースをページングする。
| Name | Type | Description |
|---|---|---|
sessionID | string | メッセージをストリームする対象のセッション。 |
各 { info, parts } メッセージを順に yield する。
- Type:
- AsyncGenerator
streamEvents(res, req, subscribe) → {void}
Server-Sent Events をクライアントへストリーミングする。SSE ヘッダーを設定し、最初に connected イベントと定期的な ハートビートを送出し、AsyncQueue をレスポンスへポンプし、リクエストがクローズされたらすべてを解体する。
| Name | Type | Description |
|---|---|---|
res | Object | Express レスポンスオブジェクト。 |
req | Object | Express リクエストオブジェクト。 |
subscribe | function | AsyncQueue を引数として呼び出される。イベントをキューにプッシュし、unsubscribe 関数を返すこと。 |
- Type:
- void
stripOptionalNull(schema) → {Object}
Effect の Schema.optional が OpenAPI のユニオンに追加する {type:"null"} の分岐を除去する。allOf/anyOf/oneOf、items、properties、additionalProperties に再帰的に処理し、単一分岐のユニオンは折りたたむ。
| Name | Type | Description |
|---|---|---|
schema | Object | 正規化するスキーマ(変更されて返される)。 |
optional-null の分岐を除去したスキーマ。
- Type:
- Object
submitTuiRequest(body) → {void}
接続済みの TUI が取り出すための TUI リクエストをキューに入れる。
| Name | Type | Description |
|---|---|---|
body | Object | キューに入れる TUI リクエスト( |
- Type:
- void
submitTuiResponse(body) → {void}
callTui で待機している発信元の呼び出し元向けに TUI レスポンスをキューに入れる。
| Name | Type | Description |
|---|---|---|
body | * | キューに入れるレスポンスペイロード。 |
- Type:
- void
substitute(input) → {Promise.<string>}
設定テキストに {env:VAR} および {file:path} の置換を適用する。{env:VAR} は環境変数の値に置換される(未設定の場合は空文字列)。{file:path} は参照先ファイルの内容を trim し JSON エスケープしたもので置換される。相対パスは設定ディレクトリを基準に解決され、~/ はホームディレクトリに展開され、// で始まる行のトークンはそのまま残される。存在しないファイルは input.missing に応じて InvalidError をスローするか空に展開される。
| Name | Type | Description | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
input | Object | 置換入力。 Properties
|
すべての env トークンと file トークンを展開したテキスト。
- Type:
- Promise.<string>
summaryText(message) → {string}
メッセージのトリム済みテキストパートを連結し、1 つのサマリー文字列にする。
| Name | Type | Description |
|---|---|---|
message | Object |
|
連結された空でないテキスト、存在しない場合は undefined。
- Type:
- string
systemManagedConfigDir() → {string}
管理対象 (MDM 配布) の closedcode 設定について、OS 固有のシステムディレクトリを解決する。
現在のプラットフォームにおける管理対象設定ディレクトリのパス。
- Type:
- string
tail(text, maxLines, maxBytes) → {Object}
指定された行数とバイト数の予算内で出力の末尾のみを保持し、最後の長すぎる行を UTF-8 境界で文字途中で切り詰める。
| Name | Type | Description |
|---|---|---|
text | string | 出力テキスト全体。 |
maxLines | number | 保持する末尾行の最大数。 |
maxBytes | number | 保持テキストの最大バイト予算。 |
{text, cut} オブジェクト。cut は切り詰めが発生したことを示す。
- Type:
- Object
toKind(value) → {string}
任意のシェル名を既知の種別へ正規化し、該当がなければ「bash」にフォールバックする。
| Name | Type | Description |
|---|---|---|
value | string | 分類するシェル名。 |
認識済みのシェル種別(「bash」、「pwsh」、「powershell」、または「cmd」)。
- Type:
- string
toModelMessages(input, model, options) → {Promise.<Array>}
toModelMessagesEffect を logger レイヤーとともに実行する Promise ラッパー。
| Name | Type | Description |
|---|---|---|
input | Array | 保存されたメッセージ。各要素は |
model | Object | 対象モデル |
options | Object | 任意の制御 |
プロバイダーのモデルメッセージ配列に解決される。
- Type:
- Promise.<Array>
toPartialRow(info) → {Object}
部分的なセッション更新情報オブジェクトを部分的な sqlite 行へマッピングする。ネストした share/summary/time フィールドをそのカラム名へ平坦化し、値が undefined に解決されたキーをすべて除去する(存在しないフィールドが上書きされないようにする)。
| Name | Type | Description |
|---|---|---|
info | Object | 部分的なセッション更新情報。 |
更新対象のカラムのみを含む部分的な行オブジェクト。
- Type:
- Object
traceContext(req) → {Object}
Express リクエストを trace.js が期待する最小限のコンテキスト形状に適合させる。
| Name | Type | Description |
|---|---|---|
req | Object | Express のリクエストオブジェクト。 |
req.method、req.url、および req.param() アクセサを持つコンテキスト。
- Type:
- Object
trimDiff(diff) → {string}
unified diff のすべての内容行(+/-/スペース)が共有する共通の先頭インデントを除去する。+/-/スペースのプレフィックスと ---/+++ のヘッダ行はそのまま残すため、diff が大きな一律のインデントなしでレンダリングされる。
| Name | Type | Description |
|---|---|---|
diff | string | unified diff 文字列。 |
内容行の共有インデントを除去した diff(共有インデントがない場合は変更なし)。
- Type:
- string
truncateToolOutput(text, maxChars) → {string}
コンパクション向けに、ツール出力を最大文字数まで切り詰め、省略した文字数を示すマーカーを付加する。maxChars が falsy であるか、テキストが既に収まっている場合は、テキストをそのまま返す。
| Name | Type | Description |
|---|---|---|
text | string | ツール出力のテキスト。 |
maxChars | number | 許容される最大長。制限なしの場合は 0/undefined。 |
(必要に応じて切り詰められた)テキスト。
- Type:
- string
turns(messages) → {Array}
メッセージリストを会話のターンに分割する。各ターンは非コンパクションのユーザーメッセージで始まり、次のターンの開始位置(またはリスト末尾)で終わる。
| Name | Type | Description |
|---|---|---|
messages | Array | 順序付けされたセッションメッセージ。各要素は |
ターン記述子 { start, end, id }(半開区間 [start, end) のインデックス)。
- Type:
- Array
unpublish() → {void}
アクティブな mDNS/Bonjour 広告(存在する場合)を破棄し、内部状態をリセットする。
- Type:
- void
unquote(text) → {string}
周囲を囲むシングルクォートまたはダブルクォートが一致する1組を取り除く。
| Name | Type | Description |
|---|---|---|
text | string | クォートされている可能性のあるトークンテキスト。 |
クォートを除いたテキスト。クォートされていなければ入力をそのまま返す。
- Type:
- string
unquoteGitPath(input) → {string}
git の "C-quoted" パス(git がダブルクォートで囲み、バックスラッシュ/8進エスケープを施したパス)を、本来の UTF-8 形式にデコードして返す。クォートされたパスでない場合は入力をそのまま返す。
| Name | Type | Description |
|---|---|---|
input | string | git が出力したパス。エスケープシーケンスを含むダブルクォート付きの場合がある。 |
デコードされたパス。クォートされていなかった場合は元の入力。
- Type:
- string
(async) update(h, event) → {Promise.<void>}
単一のセッションメッセージイベントをストアに適用する。アダプタを構築し、それに対して同期版updaterを実行し、キューに入った書き込みをフラッシュする。
| Name | Type | Description |
|---|---|---|
h | Object | Sequelizeハンドル |
event | Object | 投影するセッションメッセージイベント |
投影が永続化されたら解決する。
- Type:
- Promise.<void>
usable(input) → {number}
モデルの利用可能な入力トークン予算を計算し、レスポンス用のヘッドルームを確保する。利用可能な場合はモデルの明示的な入力上限から予約バッファを差し引いた値を用い、それ以外はコンテキストウィンドウから最大出力トークンを差し引いた値を用いる。
| Name | Type | Description |
|---|---|---|
input | Object | モデルの上限と設定(compaction.reserved)を含む |
利用可能な入力トークン予算(コンテキストが0の場合は0)。
- Type:
- number
validateCredential(effect, credential, config) → {Effect}
認証が不要であるか、または資格情報が許可されている場合にのみ effect を実行する。そうでない場合は Unauthorized HttpApi エラーで失敗する。
| Name | Type | Description |
|---|---|---|
effect | Effect | 成功時に実行する、保護されたハンドラー effect。 |
credential | Object | デコード済みの資格情報(パスワードは Redacted 値)。 |
config | Object | サーバー認証設定( |
effect を実行するか、HttpApiError.Unauthorized で失敗する effect。
- Type:
- Effect
validateRawCredential(effect, credential, config) → {Effect}
ルーターレベルの資格情報チェック。認証が不要であるか資格情報が許可されている場合は effect をそのまま通過させ、そうでない場合は空の 401 レスポンスで短絡する。
| Name | Type | Description |
|---|---|---|
effect | Effect | 成功時に実行する、保護されたハンドラー effect。 |
credential | Object | デコード済みの資格情報(パスワードは Redacted 値)。 |
config | Object | サーバー認証設定。 |
effect、または空の 401 レスポンスで成功する effect のいずれか。
- Type:
- Effect
validator(target, zodSchema) → {function}
選択したリクエストセグメントを Zod スキーマで検証するミドルウェアを構築する。 成功時はパース済みの値を req.valid[target] に格納し、失敗時は { data, errors, success: false } とともに 400 で応答する。
| Name | Type | Description |
|---|---|---|
target | string | 検証対象のセグメント: "json"、"param"、または "query"。 |
zodSchema | * | safeParse によって検証を行う Zod スキーマ。 |
Express ミドルウェア (req, res, next)。
- Type:
- function
wait(workspaceID, state, signal) → {Promise.<void>}
アプリランタイム上で waitEffect を実行し、ワークスペースがターゲット状態に達するまでブロックする。
| Name | Type | Description |
|---|---|---|
workspaceID | string | 待機対象のワークスペース。 |
state | Object | 待機するターゲットのシーケンスマップ(aggregate_id から seq)。 |
signal | * | 待機をキャンセルする任意の AbortSignal。 |
ワークスペースが完全に同期された時点で解決する。
- Type:
- Promise.<void>
waitEffect(workspaceID, state, signal) → {Effect}
指定したワークスペースがターゲット状態に同期するまでブロックする Effect を構築する。
| Name | Type | Description |
|---|---|---|
workspaceID | string | 待機対象のワークスペース。 |
state | Object | 待機するターゲットのシーケンスマップ(aggregate_id から seq)。 |
signal | * | 待機をキャンセルする任意の AbortSignal。 |
ワークスペースが完全に同期された時点で解決する Effect。
- Type:
- Effect
waitForAbort(signal) → {Effect}
指定された abort シグナルが発火したときに中断する effect を構築する。
| Name | Type | Description |
|---|---|---|
signal | AbortSignal | | 監視する abort シグナル。存在しない場合、effect は決して完了しない。 |
abort 時に中断する effect(既に中断済みの場合は即座に、シグナルがない場合は決して完了しない)。
- Type:
- Effect
webHandler(corsOptions) → {function}
サーバー用の Web(Fetch スタイル)リクエストハンドラーを取得する。CORS オプションが指定されない場合はメモ化されたデフォルトハンドラーを返す。それ以外の場合は、指定された CORS オプションで新しいハンドラーを構築する(デフォルトルートのメモ化が再利用されないよう、非共有のメモマップを使用する)。
| Name | Type | Description |
|---|---|---|
corsOptions | * | 任意指定のサーバー CORS 設定。 |
Web リクエストハンドラー関数。
- Type:
- function
webSource(request) → {Request|undefined}
サーバーリクエストから、存在すれば基盤となる web Request を抽出する。
| Name | Type | Description |
|---|---|---|
request | Object | HTTP サーバーリクエスト。 |
ネイティブの Request ソース、web Request でない場合は undefined。
- Type:
- Request |
undefined
websocket(request, target) → {Effect}
WebSocket アップグレードリクエストをターゲット URL へプロキシし、クライアントとターゲット間でメッセージを双方向にパイプする。close イベントを両方向に転送し、ソケットエラーを close フレームへ変換する。
| Name | Type | Description |
|---|---|---|
request | Object | 受信した HTTP サーバーリクエスト(アップグレードをサポートしている必要がある)。 |
target | string | 上流の WebSocket を開く対象のターゲット URL。 |
アップグレードが確立された時点で空の HTTP レスポンスに解決される effect。
- Type:
- Effect
websocketProtocols(input) → {Array}
sec-websocket-protocol ヘッダから要求された WebSocket サブプロトコルをパースする。
| Name | Type | Description |
|---|---|---|
input | Request | | Request、または "sec-websocket-protocol" ヘッダを公開するプレーンオブジェクト。 |
トリムされた空でないプロトコル名の配列(ヘッダが存在しない場合は空)。
- Type:
- Array
websocketTargetURL(url) → {string}
プロキシ用に http(s) URL を対応する WebSocket(ws/wss)形式に変換する。
| Name | Type | Description |
|---|---|---|
url | string | 変換元の URL(通常は http: または https:)。 |
プロトコルを適切に ws: または wss: にマッピングした URL 文字列。
- Type:
- string
workspaceProxyURL(target, requestURL) → {URL}
リモートワークスペースのターゲットへリクエストをプロキシする際に使用するアップストリーム URL を構築する。 ターゲットのベースパスとリクエストのパス名を結合し、リクエストの search/hash を引き継ぎ、 内部用の workspace クエリパラメータを除去する。
| Name | Type | Description |
|---|---|---|
target | string | リモートワークスペースアダプターのベース URL。 |
requestURL | URL | プロキシ対象となる受信リクエストの URL。 |
完全修飾されたプロキシ先 URL。
- Type:
- URL
wrap(id, init, truncate, agents) → {function}
ツールの解決済み info をラップし、その execute() が引数をツールのパラメータスキーマに対してデコード/検証し、(結果がすでに切り詰め状態を報告していない限り)出力の切り詰めを適用し、トレースのスパンを記録するようにする。
| Name | Type | Description |
|---|---|---|
id | string | ツール識別子(エラーメッセージやスパン属性で使用される)。 |
init | Object | | 解決済みのツール info、またはそれを返す関数。いずれの形式でも parameters、execute、および任意の formatValidationError を提供する。 |
truncate | Object | 過大なツール出力を上限で抑え、全コンテンツをディスクへ永続化する Truncate サービス。 |
agents | Object | 現在のエージェントを参照する(切り詰めヒントを調整するため)に使用する Agent サービス。 |
execute() がラップされたツール info を遅延的に生成する引数なしの関数。
- Type:
- function