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)を記述するスキーマ。

Type:
  • Object

(constant) CursorQuery

任意のページネーション/ストリーム用カーソルを保持するクエリスキーマ。

(constant) DefaultMessagesLimit :number

limit が指定されない場合に 1 ページあたりに返されるメッセージのデフォルト件数。

Type:
  • number

(constant) DefaultSessionsLimit :number

limit が指定されなかった場合に 1 ページあたり返すセッション数のデフォルト値。

Type:
  • 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、任意の extensionsdisabledenvinitialization オプションを持つオブジェクトのいずれか。派生した .zod 互換スキーマを公開する。

(constant) Entry

単一の LSP サーバーエントリのスキーマで、Disabled か、または command、任意の extensionsdisabledenvinitialization オプションを持つオブジェクトのいずれか。派生した .zod 互換スキーマを公開する。

(constant) ErrorMiddleware

Express のエラーハンドラ。既知のエラー型を HTTP ステータスコードにマッピングし(NotFound -> 404、model/auth/worktree のバリデーション -> 400、それ以外 -> 500)、それらを JSON としてシリアライズする。

(constant) EscapeNormalizedReplacer

検索テキスト中のバックスラッシュエスケープシーケンス(\n、\t、\r、クォート、\、$)を解釈するリプレーサ。アンエスケープした文字列がそのまま見つかればそれを、見つからなければ自身をアンエスケープするとアンエスケープ済みの検索テキストに一致する任意のコンテンツブロックを yield する。

(constant) Event :Object

todo リスト用のバスイベント定義。

Type:
  • Object

(constant) Event

todo リスト用のバスイベント定義。

Properties
NameTypeDescription
StatusObject

Published whenever a session's status changes; carries sessionID and the new status.

IdleObject

Deprecated; published when a session becomes idle; carries only sessionID.

(constant) Event

todo リスト用のバスイベント定義。

Properties
NameTypeDescription
UpdatedObject

セッションの 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 を備える。

Type:
  • 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 結果のうち関連する部分のスキーマ。typetext を持つ 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。

Type:
  • Object

(constant) Parameters :Object

write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。

Type:
  • Object

(constant) Parameters :Object

write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。

Type:
  • Object

(constant) Parameters :Object

write ツールのパラメータのスキーマ: 書き込む content と、書き込み先の絶対パス filePath。

Type:
  • 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 エージェントに切り替える合成ユーザーメッセージ(直近のユーザーモデル、なければプロバイダのデフォルトを再利用)を追加し、プランを実行するよう指示する。

Type:
  • 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」とマーク)と、メタデータ内の生の回答を返す。

Type:
  • Object

(constant) ReadTool :Object

「read」ツール。要求されたパスを解決し、権限と外部ディレクトリへのアクセスを確認したうえで、ディレクトリ一覧、画像/PDF の添付、またはページ単位かつバイト/行数を制限したテキストビューを描画する。バイナリファイルは拒否される。また LSP をウォームし、解決された指示ファイルがあればシステムリマインダーとして追加する。

Type:
  • Object

(constant) ReplayEvent

リプレイ対象となる単一の同期イベントのスキーマ。イベントID、アグリゲートID、シーケンス番号、種別、および自由形式のデータで識別される。

(constant) ReplayPayload

replay エンドポイント用のリクエストボディスキーマ。対象ディレクトリと、リプレイするイベントの非空配列を含む。

(constant) ReplayResponse

replay エンドポイント用のレスポンススキーマ。リプレイによって生成されたセッションIDを返す。

(constant) ReplyPayload

質問へ応答するためのリクエストボディスキーマ。質問ごとに 1 つ、順序どおりに並んだユーザー回答の配列。

(constant) ReplyPayload

質問へ応答するためのリクエストボディスキーマ。質問ごとに 1 つ、順序どおりに並んだユーザー回答の配列。

(constant) RequestPlan

リクエストの処理方法(LocalRemote、または 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 ツールの呼び出しに固執するモデルでも成功するようにする。

Type:
  • 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

デコード済みのセッションページネーションカーソルを記述するスキーマ。ページング間でフィルタを保持できるよう、有効なリストフィルタを含む。

Type:
  • 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

シェルツール。設定されたシェルを選択し、各コマンドをパースして、それが触れるファイル/パス引数とディレクトリを特定し(読み取り/外部アクセスのパーミッションを要求し)、ストリーム出力、スピルファイルへのバイト/行の切り詰め、設定可能なタイムアウト、アボート処理を伴ってコマンドを実行する。

Type:
  • 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」のまま保持される。

Type:
  • Object

(constant) ToolID :string

shell ツールの安定した外部公開ツール ID および権限キー。プラグインや保存済み権限との後方互換性のため「bash」のまま保持される。

Type:
  • 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 ランタイムアダプターの実装。

Type:
  • 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 を解決する。

Type:
  • Object

(constant) call

名前付きの Exa MCP ツールを HTTP 経由で呼び出し、その最初のテキストコンテンツブロックを返す。

(constant) clang :Object

C/C++ ファイル向けの clang-format フォーマッタ。 enabled(context) は、ツリー上位に .clang-format 設定があり、かつ clang-format が PATH 上に存在することを要求する。

Type:
  • Object

(constant) client

クライアント初期化時に createClientConfig() 関数が呼び出され、返されたオブジェクトがクライアントの初期設定となる。

setConfig() を呼び出す代わりに、この方法でクライアントを初期化したい場合がある。例えば Next.js を使用していて、クライアントが常に正しい値を持つことを保証したいときに有用である。

(constant) cljfmt :Object

Clojure ファイル向けの cljfmt フォーマッタ。cljfmt が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) commandAliases :Object

レガシー TUI コマンド名を、現在の正規コマンド id にマッピングする。

Type:
  • Object

(constant) configHandlers

"config" HttpApi グループのリクエストハンドラを構築する。get、update、providers の各エンドポイントを Config および Provider サービスに結線する。

(constant) context

サーバーのリクエストランタイムの基底コンテキストとして使用される、共有の空の Effect コンテキスト。

(constant) controlHandlers :Object

ルート API に "control" HTTP API グループのハンドラを登録する。

Type:
  • Object

(constant) create

セッションに対する新しい圧縮を開始する、検証付きのエントリーポイント。入力をスキーマに対して検証したうえで、サービスの create メソッドを実行する。

(constant) cursor :Object

不透明なページネーションカーソルのコーデック。{ id, time } のキーセットカーソルを base64url 文字列としてエンコード/デコードし、メッセージのページネーションで使用する。

Type:
  • Object

(constant) cursor

不透明なページネーションカーソルのコーデック。{ id, time } のキーセットカーソルを base64url 文字列としてエンコード/デコードし、メッセージのページネーションで使用する。

(constant) dart :Object

Dart ファイル向けの dart フォーマッタ。dart が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) decode

JSON 文字列を解析して McpResult を生成するデコーダ。

(constant) decodePtyID :function

未知の値を同期的にデコードして PtyID として検証し、不正な入力の場合は例外を投げる。

Type:
  • 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。

Type:
  • Object

(constant) defaultLayer

デフォルトの Config と cross-spawn spawner の依存関係を提供済みの Format サービス Layer。

(constant) defaultWebHandler

routes 上に遅延構築されるデフォルトの Web ハンドラー。外側のミドルウェアとして遅延インスタンス破棄を備える。

description

{{year}} プレースホルダーを現在の年に置換したツールの説明。

(constant) dfmt :Object

D ファイル向けの dfmt フォーマッタ。dfmt が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) disposeAllInstancesAndEmitGlobalDisposed

InstanceStore からすべてのアクティブなインスタンスを破棄し、その後グローバルな "disposed" イベントを発行する。 破棄と通知が分断されないよう、一連の処理全体を中断不可能な状態で実行する。

(constant) disposeMiddleware

ハンドラがレスポンスを生成した後に、遅延されたインスタンス破棄を実行する外側のサーバミドルウェア。markInstanceForDisposal で事前にマークされたインスタンス(リクエストソースをキー)を検索し、マークを除去したうえで、レスポンスを返す前に store の破棄を割り込み不可で実行する。

(constant) emitGlobalDisposed :Effect

"global" ディレクトリに対して、グローバルバス上にグローバルな "disposed" イベントを発行する Effect。

Type:
  • 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グループのハンドラーを登録する。

Type:
  • Object

(constant) fileHandlers :Object

インスタンスAPI上の「file」HTTP APIグループのハンドラーを登録する。

Type:
  • Object

(constant) filterCompactedEffect

filterCompactedのEffect版。セッションのメッセージをデータベースからストリーミングして収集し、コンパクションでフィルタしたリストを返す。

(constant) getParseAs

指定された Content-Type ヘッダーから parseAs 値を推論する。

(constant) gleam :Object

Gleam ファイル向けの gleam フォーマッタ。gleam が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) globalHandlers :Object

ルート API 上の "global" HTTP API グループのハンドラーを登録する。

Type:
  • Object

(constant) gofmt :Object

Go ファイル用の gofmt フォーマッター。gofmt が PATH 上にある場合に有効になる。 enabled() はコマンド配列または false を返す。

Type:
  • Object

(constant) hop :Set.<string>

上流ターゲットに転送してはならない hop-by-hop ヘッダ名の集合。

Type:
  • Set.<string>

(constant) htmlbeautifier :Object

ERB/HTML-ERB ファイル向けの htmlbeautifier フォーマッタ。htmlbeautifier が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) inputUndoDefault

input_undo のデフォルトバインド。Windows では ctrl+z が先頭に追加される。

(constant) instanceApiRoutes

すべてのインスタンススコープのハンドラーグループから、完全なインスタンス HttpApi を構築するレイヤー。

(constant) instanceContextLayer

InstanceContextMiddleware HttpApi サービスを実装する Layer。InstanceStore を介してインスタンスコンテキストを提供する。

(constant) instanceHandlers :Object

インスタンス API 上の "instance" HTTP API グループのハンドラーを登録する。

Type:
  • Object

(constant) instanceRouterLayer

生のインスタンスルート向けに、ルーターミドルウェア(認可 + インスタンスコンテキスト + ワークスペースルーティング)を結合したもの。

(constant) instanceRouterMiddleware

raw(非 HttpApi)ルートに対し、InstanceStore を介してインスタンスコンテキストを提供するルーターレベルのミドルウェア。

(constant) instanceRoutes

認可、ワークスペースルーティング、インスタンスコンテキストの各ミドルウェアを提供した、結合済みのインスタンスルート(生 + HttpApi)。

(constant) ktlint :Object

Kotlin ファイル向けの ktlint フォーマッタ。ktlint が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) latexindent :Object

LaTeX ファイル向けの latexindent フォーマッタ。latexindent が PATH 上にある場合に有効になる。

Type:
  • 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 をフォーマッタの探索および実行に接続する。

Type:
  • 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 グループのハンドラーを登録する。

Type:
  • Object

(constant) messageHandlers :Object

"v2.message" HTTP API ハンドラグループを構築する。1 件の "messages" エンドポイントを持ち、メッセージの 1 ページ分と、先頭/末尾の項目から導出した previous/next カーソルを返す。

Type:
  • Object

(constant) mix :Object

Elixir ファイル用の mix フォーマッター。mix が PATH 上にある場合に有効になる。

Type:
  • Object

mode

Deprecated
  • Yes

(constant) nixfmt :Object

Nix ファイル向けの nixfmt フォーマッタ。nixfmt が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) ocamlformat :Object

OCaml ファイル向けの ocamlformat フォーマッタ。 enabled(context) は、ocamlformat が PATH 上にあること、およびツリー上位に .ocamlformat 設定があることを要求する。

Type:
  • Object

(constant) operations

ツールの operation パラメータが受け付ける、サポート対象の LSP 操作名。

(constant) ormolu :Object

Haskell ファイル向けの ormolu フォーマッタ。ormolu が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) oxfmt :Object

JS/TS ファイル用の oxfmt フォーマッター(実験的フラグの背後でゲートされる)。 enabled(context) はフラグと、近傍の package.json における oxfmt の(dev)依存を必要とする。

Type:
  • 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 グループのハンドラーを登録する。

Type:
  • Object

(constant) pint :Object

PHP ファイル向けの Laravel Pint フォーマッタ。 enabled(context) は、ツリー上位の composer.json に laravel/pint が記載されていることを要求する。

Type:
  • Object

(constant) prettier :Object

Web/JS/TS および多くの設定/マークアップファイル用の Prettier フォーマッター。 enabled(context) は context.directory から context.worktree まで上方向にたどり、prettier を(dev)依存として列挙する package.json を探し、npm 経由でバイナリを解決する。

Type:
  • Object

(constant) projectHandlers :Object

インスタンス API 上の "project" HTTP API グループのハンドラーを登録する。

Type:
  • Object

(constant) providerHandlers :Object

インスタンス API 上の "provider" HTTP API グループのハンドラーを登録する。

Type:
  • Object

(constant) ptyConnectRoute :Object

クライアントを PTY に接続する GET WebSocket ルートを登録する。リクエストをソケットへアップグレードし、Pty サービスが出力をストリーミングできるよう最小限の WebSocket 風オブジェクトへソケットを適合させ、任意のカーソル位置から再生し、ソケットがクローズするまで受信したソケットメッセージを PTY 入力として転送する。

Type:
  • Object

(constant) ptyHandlers :Object

"pty" HTTP API ハンドラ群を構築する。Pty サービスを基盤とする shells/list/create/get/update/remove の各エンドポイントを提供する。

Type:
  • Object

(constant) queryKeyJsonReplacer

JSON でない値(bigint、Date など)を安全な代替値へ変換する replacer。

(constant) questionHandlers :Object

"question" HTTP API ハンドラ群を構築し、list/reply/reject の各エンドポイントを Question サービスへ接続する。

Type:
  • Object

(constant) rawInstanceRoutes

PTY 接続のアップグレードなど、生(非 HttpApi)のインスタンスルート向けのレイヤー。インスタンスルーターミドルウェアの背後で提供される。

(constant) requiresExtensionsForCustomServers

カスタム (非ビルトイン) の LSP サーバーエントリでは、クライアントがどのファイルにサーバーをアタッチすべきか判断できるよう extensions が必須となる。ビルトインのサーバー ID と明示的に無効化されたエントリは対象外。

(constant) rlang :Object

R ファイル向けの air フォーマッタ。 enabled() は、--help の出力から air バイナリが R 言語サーバ/フォーマッタであることを確認する。

Type:
  • 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 上にある場合に有効になる。

Type:
  • Object

(constant) ruff :Object

Python ファイル向けの ruff フォーマッタ。 enabled(context) は、ruff が PATH 上にあること、加えて ruff 設定(pyproject.toml 内の場合は [tool.ruff] を含むもの)または ruff を記載した依存マニフェストのいずれかが存在することを要求する。

Type:
  • Object

(constant) runtime

サーバーバックエンドを選択し、各ハンドラの実行前に現在のスパンへバックエンド属性をアノテーションするルーターミドルウェア。

(constant) rustfmt :Object

Rust ファイル向けの rustfmt フォーマッタ。rustfmt が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) serializeQueryKeyValue

受け付けた任意の値を、クエリキー向けに JSON 互換の形へ正規化する。

(constant) sessionCursor :Object

セッションのページネーションカーソル用コーデック。base64url エンコードされた JSON blob で、セッション id、その作成時刻、ソート順、ページング方向、および有効なリストフィルタ(後続ページで保持するため)を保持する。

Type:
  • Object

(constant) sessionHandlers :Object

"v2.session" HTTP API ハンドラグループを構築する。sessions(ページネーション付きリスト)、prompt、compact、wait、context の各エンドポイントを持つ。

Type:
  • Object

(constant) sessionHandlers :Object

"v2.session" HTTP API ハンドラグループを構築する。sessions(ページネーション付きリスト)、prompt、compact、wait、context の各エンドポイントを持つ。

Type:
  • Object

(constant) shfmt :Object

シェルスクリプト向けの shfmt フォーマッタ。shfmt が PATH 上にある場合に有効になる。

Type:
  • Object

skills

指定されたエージェント向けにシステムプロンプトの available-skills セクションを構築する。skill 権限が無効な場合は何も返さない。

(constant) standardrb :Object

Ruby ファイル向けの standardrb フォーマッタ。standardrb が PATH 上にある場合に有効になる。

Type:
  • Object

(constant) stringifyToJsonValue

値を安全に文字列化し、JsonValue としてパースし直す。

(constant) syncHandlers :Object

「sync」HTTP API ハンドラーグループを構築する。インスタンス間イベント同期のための start/replay/history エンドポイントを提供する。

Type:
  • Object

(constant) terraform :Object

Terraform ファイル向けの terraform フォーマッタ。terraform が PATH 上にある場合に有効になる。

Type:
  • 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 制御イベントをバスに発行するエンドポイント群。

Type:
  • Object

(constant) uiRoute

認可ミドルウェアの背後で Web UI を提供する(および開発用アセットをプロキシする)、キャッチオール UI ルートレイヤー。

(constant) uvformat :Object

Python ファイル向けの uv フォーマッタ。ruff が未だ有効でない場合にのみ使用される。 enabled(context) は、uv が PATH 上にあり、--help の出力から format をサポートしていることを確認する。

Type:
  • Object

(constant) v2Handlers :Object

結合された v2 ハンドラレイヤー。v2 のセッションおよびメッセージハンドラグループをマージし、SessionV2 のデフォルトレイヤーを提供する。

Type:
  • Object

(constant) workspaceHandlers :Object

"workspace" HTTP API ハンドラグループを構築する。adapters/list/create/status/remove/sessionRestore の各エンドポイントを持つ。

Type:
  • Object

(constant) workspaceRouterMiddleware

raw(非HttpApi)ルート向けのルーターレベルのワークスペースルーティングミドルウェア。セッション検索なしで各リクエストをプランニングしてルーティングする。

(constant) workspaceRoutingLayer

WorkspaceRoutingMiddleware HttpApiサービスを実装するLayer。WebSocketコンストラクタ、Workspaceサービス、HTTPクライアントをルーティングに接続する。

(constant) zig :Object

Zig ファイル用の zig フォーマッター。zig が PATH 上にある場合に有効になる。

Type:
  • Object

Methods

ConfigRoutes(registry) → {express.Router}

"/config" ルートグループ用の Express ルーターを構築する(GET/PATCH "/" および GET "/providers")。

Parameters:
NameTypeDescription
registryObject

操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。

Returns:

構成済みの Express ルーター。

Type: 
express.Router

ControlPlaneRoutes(registry) → {express.Router}

コントロールプレーンのルートグループ用の Express ルーターを構築する (PUT/DELETE "/auth/:providerID", GET "/doc", POST "/log")。

Parameters:
NameTypeDescription
registryObject

操作メタデータを記録するための任意の OpenAPI レジストリ。/doc の仕様生成にも使用される。

Returns:

構成済みの Express ルーター。

Type: 
express.Router

CorsMiddleware(opts) → {function}

origin コールバックが isAllowedCorsOrigin(opts) に委譲する CORS ミドルウェアを構築する。

Parameters:
NameTypeDescription
optsObject

origin チェックへ転送されるオプション(opts.cors の許可リスト)。

Returns:

設定済みの cors() Express ミドルウェア。

Type: 
function

EventRoutes(registry) → {express.Router}

バスイベントの Server-Sent Events ストリームである GET "/event" を公開する Express ルーターを構築する。 各接続は最初に "server.connected" イベントを送出し、定期的に "server.heartbeat" イベントを送出する。 そして、クライアントが切断するかインスタンスが破棄されるまで、購読中のすべてのバスイベントを転送する。

Parameters:
NameTypeDescription
registryObject

操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。

Returns:

構成済みの Express ルーター。

Type: 
express.Router

ExperimentalRoutes(registry) → {express.Router}

"/experimental" ルートグループ用の Express ルーターを構築する(Console の組織メタデータ/一覧/切り替え、 ツール ID/一覧、worktree の作成/一覧/削除/リセット、グローバルセッション一覧、MCP リソース)。

Parameters:
NameTypeDescription
registryObject

操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。

Returns:

構成済みの Express ルーター。

Type: 
express.Router

FileRoutes(registry) → {Object}

file/find ルートグループ用の Express ルーターを構築する(テキスト/ファイル/シンボルの検索、一覧、読み取り、git status)。

Parameters:
NameTypeDescription
registryObject

ルートメタデータの登録に使用する OpenAPI レジストリ(falsy の場合はスキップする)。

Returns:

このグループ用の構成済み Express Router。

Type: 
Object

GlobalRoutes(registry) → {Object}

/global ルートグループ用の Express ルーターを構築する(ヘルス、SSE イベントストリーム、グローバル設定、dispose、upgrade)。

Parameters:
NameTypeDescription
registryObject

ルートメタデータの登録に使用する OpenAPI レジストリ(falsy の場合はスキップする)。

Returns:

このグループ用の構成済み Express Router。

Type: 
Object

InstanceMiddleware(envWorkspaceID) → {function}

リクエストに対してワークスペースとインスタンスのコンテキストを確立するミドルウェアを構築する。対象ディレクトリを directory クエリパラメータ、または x-closedcode-directory/x-opencode-directory ヘッダーから解決し(解決できない場合はプロセスの cwd にフォールバック)、そのワークスペースおよびインスタンスのスコープ内で次のハンドラーを実行する。

Parameters:
NameTypeDescription
envWorkspaceIDstring

Optional workspace ID from the environment/flag to bias resolution.

Returns:

ワークスペースとインスタンスのコンテキストを提供する非同期ミドルウェア (c, next)

Type: 
function

InstanceMiddleware(workspaceID) → {function}

リクエストに対してワークスペースとインスタンスのコンテキストを確立するミドルウェアを構築する。対象ディレクトリを directory クエリパラメータ、または x-closedcode-directory/x-opencode-directory ヘッダーから解決し(解決できない場合はプロセスの cwd にフォールバック)、そのワークスペースおよびインスタンスのスコープ内で次のハンドラーを実行する。

Parameters:
NameTypeDescription
workspaceIDstring

リクエストにバインドするワークスペース識別子。

Returns:

ワークスペースとインスタンスのコンテキストを提供する非同期ミドルウェア (c, next)

Type: 
function

InstanceRoutes(registry, upgradeWebSocket) → {Object}

インスタンス用の集約 Express ルーターを構築する。すべてのインスタンスルートグループと、インラインのインスタンスルート直下のルート(/instance/dispose, /path, /vcs, /command, /agent, /skill, /lsp, /formatter)をマウントする。

Parameters:
NameTypeDescription
registryObject

ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。

upgradeWebSocketfunction

WebSocket アップグレード用ミドルウェアを生成するアダプタファクトリ(PtyRoutes に転送される)。

Returns:

設定済みのインスタンス用 Express Router。

Type: 
Object

LoggerMiddleware(backendAttributes) → {function}

各リクエストをログ出力する(/log はスキップ)リクエストロギングミドルウェアを構築し、レスポンスが完了またはクローズするまでの時間を計測する。

Parameters:
NameTypeDescription
backendAttributesObject

すべてのログエントリにマージされるバックエンド属性。

Returns:

Express ミドルウェア(req, res, next)。

Type: 
function

McpRequest(args) → {Object}

指定された引数スキーマに対する JSON-RPC tools/call リクエストスキーマを構築する。

Parameters:
NameTypeDescription
argsObject

ツールの arguments ペイロードを表す Effect Schema。

Returns:

JSON-RPC リクエスト全体のエンベロープを表す Schema.Struct。

Type: 
Object

McpRoutes(registry) → {Object}

/mcp ルートグループ(MCP サーバーの status/add/connect/disconnect および OAuth フロー)用の Express ルーターを構築する。

Parameters:
NameTypeDescription
registryObject

ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。

Returns:

このグループ用に設定済みの Express Router。

Type: 
Object

PermissionRoutes(registry) → {Object}

/permission ルートグループ(パーミッションリクエストへの応答、保留中リクエストの一覧取得)用の Express ルーターを構築する。

Parameters:
NameTypeDescription
registryObject

ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。

Returns:

このグループ用に設定済みの Express Router。

Type: 
Object

ProjectRoutes(registry) → {Object}

/project ルートグループ(プロジェクト一覧、現在のプロジェクト、git init、更新)用の Express ルーターを構築する。

Parameters:
NameTypeDescription
registryObject

ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。

Returns:

このグループ用に設定済みの Express Router。

Type: 
Object

ProviderRoutes(registry) → {Object}

/provider ルートグループ(プロバイダ一覧、認証方式、OAuth authorize/callback)用の Express ルーターを構築する。

Parameters:
NameTypeDescription
registryObject

ルートのメタデータを登録するための OpenAPI レジストリ(falsy の場合はスキップ可)。

Returns:

このグループ用に設定済みの Express Router。

Type: 
Object

PtyRoutes(registry, upgradeWebSocket) → {Object}

/pty ルートグループ向けの Express ルーターを構築する(シェル一覧、PTY セッションの一覧・作成・取得・更新・削除、およびリアルタイムな PTY 操作のための WebSocket ルート)。

Parameters:
NameTypeDescription
registryObject

ルートのメタデータを登録するために用いる OpenAPI レジストリ(falsy の場合はスキップしてよい)。

upgradeWebSocketfunction

connect ルート向けに WebSocket アップグレード用ミドルウェアを生成するアダプタファクトリ。

Returns:

このグループ用に構成された Express Router。

Type: 
Object

QuestionRoutes(registry) → {Object}

/question ルートグループ向けの Express ルーターを構築する(保留中の質問の一覧、回答による返信、拒否)。

Parameters:
NameTypeDescription
registryObject

ルートのメタデータを登録するために用いる OpenAPI レジストリ(falsy の場合はスキップしてよい)。

Returns:

このグループ用に構成された Express Router。

Type: 
Object

SessionRoutes(registry) → {Object}

インスタンスの /session エンドポイント向けの Express ルーターを構築する(一覧、取得、作成、更新、フォーク、中断、共有、メッセージ、パーツ、プロンプト、コマンド、リバート、権限など)。

Parameters:
NameTypeDescription
registryObject

OpenAPI オペレーションレジストリ。存在する場合はそれに対してルートのメタデータが登録される。

Returns:

構成された Express Router。

Type: 
Object

SyncRoutes(registry) → {Object}

インスタンスの /sync エンドポイント向けの Express ルーターを構築する。ワークスペースの同期開始、完全な同期イベント履歴の再生、既知のシーケンス ID 以降の同期イベントの一覧を提供する。

Parameters:
NameTypeDescription
registryObject

OpenAPI オペレーションレジストリ。存在する場合はそれに対してルートのメタデータが登録される。

Returns:

構成された Express Router。

Type: 
Object

TuiRoutes(registry) → {Object}

インスタンスの /tui エンドポイント向けの Express ルーターを構築する。TUI イベントの発行(プロンプトの追記・送信・クリア、ダイアログのオープン、トースト、コマンド実行、セッション選択)と、/control のリクエスト/レスポンスキューブリッジを提供する。

Parameters:
NameTypeDescription
registryObject

OpenAPI オペレーションレジストリ。存在する場合はそれに対してルートのメタデータが登録される。

Returns:

構成された Express Router。

Type: 
Object

UIRoutes(registry) → {Object}

キャッチオールルート経由で組み込み Web UI を配信する Express ルーターを構築する。

Parameters:
NameTypeDescription
registryObject

OpenAPI オペレーションレジストリ(ここでは未使用。このルートはメタデータを登録しない)。

Returns:

構成された Express Router。

Type: 
Object

WorkspaceRoutes(registry) → {express.Router}

"/experimental/workspace" ルートグループ用の Express ルーターを構築する (アダプター一覧、ワークスペースの作成/一覧/状態/削除、セッション復元)。

Parameters:
NameTypeDescription
registryObject

操作メタデータを記録するための任意の OpenAPI レジストリ。falsy の場合は登録を無効化する。

Returns:

構成済みの Express ルーター。

Type: 
express.Router

addLegacyErrorSchemas(spec) → {void}

旧SDKが期待するレガシーのBadRequestErrorおよびNotFoundErrorコンポーネントスキーマを追加する。

Parameters:
NameTypeDescription
specObject

OpenAPIスペックオブジェクト(インプレースで変更される)。

Returns:
Type: 
void

applyLegacySchemaOverrides(spec) → {void}

手動調整したスキーマオーバーライドを適用し、特定のコンポーネントスキーマをレガシーSDKに一致させる(例: オープンなadditionalProperties、文字列のCommand.template、nullable可能なWorkspace/session/providerフィールド)。

Parameters:
NameTypeDescription
specObject

OpenAPIスペックオブジェクト(インプレースで変更される)。

Returns:
Type: 
void

assertExternalDirectory(ctx, target, options) → {Promise.<void>}

Effect ランタイム外の呼び出し側向けの、assertExternalDirectoryEffect を Promise 返却でラップしたもの。ロガーレイヤを与えてガードを実行する。

Parameters:
NameTypeDescription
ctxObject

ask 権限ヘルパを公開するツール実行コンテキスト。

targetstring

ツールがアクセスしようとする絶対パス。

optionsObject

基盤の Effect にそのまま渡される任意の挙動フラグ(bypasskind)。

Returns:

パスが許可されるか権限が付与された時点で解決する。

Type: 
Promise.<void>

attributes(selection) → {Object}

選択されたバックエンドおよびインストールを記述するテレメトリ/ログ属性を構築する。

Parameters:
NameTypeDescription
selectionObject

記述対象のバックエンド選択。

Returns:

ドット区切りの属性キーから文字列値へのフラットなマップ。

Type: 
Object

auto(key, cwd, shell) → {string}

自動シェル変数(HOME、PWD、PSHOME)の値を解決する。

Parameters:
NameTypeDescription
keystring

変数名(大文字小文字を区別しない)。

cwdstring

カレントワーキングディレクトリ(PWD の値)。

shellstring

シェル実行ファイルのパス(PSHOME はそのディレクトリ)。

Returns:

変数の値。自動変数でない場合は undefined。

Type: 
string

bashCommandSection(chain, limits) → {string}

ツール説明の bash 固有の「コマンドセクション」を構築する。ディレクトリの検証、クォート、出力制限、コマンド連結を扱う。

Parameters:
NameTypeDescription
chainstring

埋め込む連結ガイダンス文。

limitsObject

maxLinesmaxBytes を持つ出力制限。

Returns:

レンダリング済みの bash コマンドセクションテキスト。

Type: 
string

bridgeRemote(inbound, wsURL, protocols, headers) → {void}

既にアップグレード済みのインバウンド WebSocket を、新たにダイヤルしたアウトバウンドのものへブリッジする。インバウンドのメッセージはアウトバウンドソケットがオープンするまでキューに溜め、その後は双方向で生のまま転送する。close/error コードは双方向に伝播し(エラー時は 1011)、無効な close コードはガードして close() が例外を投げないようにする。

Parameters:
NameTypeDescription
inboundObject

アップグレード済みのインバウンド ws 接続。

wsURLstring

リモート WebSocket のターゲット URL。

protocolsArray.<string>

要求する WebSocket のサブプロトコル(空 = なし)。

headersObject

アウトバウンドのハンドシェイクヘッダー(サニタイズ済み + ターゲットの認証情報)。

Returns:
Type: 
void

buildPrompt(input) → {string}

コンパクションプロンプトを構成する。アンカー指示(新規作成 vs 既存更新)、固定のサマリーテンプレート、プラグインから供給される任意のコンテキストから成る。

Parameters:
NameTypeDescription
inputObject

{ previousSummary, context }。previousSummary は undefined の場合があり、context は追加文字列の配列。

Returns:

コンパクションモデルに送信されるプロンプト全文。

Type: 
string

buildSpec(registry, documentation) → {Object}

レジストリから最終的な OpenAPI ドキュメントを構築する。プレーンなベースドキュメントの上に、Effect httpapi コントラクトの paths と components をマージする。

Parameters:
NameTypeDescription
registryObject

収集されたオペレーションとスキーマのレジストリ。

documentationObject

トップレベルのオーバーライド(openapi バージョン、info)。

Returns:

完全な OpenAPI ドキュメント。

Type: 
Object

callTui(ctx) → {Promise.<*>}

リクエストを TUI に転送し、対応するレスポンスを待つ。コンテキストから JSON ボディを読み取り、TUI リクエストをキューに入れてから、次のレスポンスを待機する。

Parameters:
NameTypeDescription
ctxObject

req.json()req.path を公開するリクエストコンテキスト。

Returns:

TUI のレスポンスペイロードに解決される Promise。

Type: 
Promise.<*>

canonicalRef(ref, schemas) → {string}

$ref を正規形式に解決する。数字サフィックス付きの名前は、基底名が存在する場合にその基底名へマッピングする。

Parameters:
NameTypeDescription
refstring

元の $ref 文字列。

schemasObject

基底名を検出するために使用するコンポーネントスキーマのマップ。

Returns:

正規化された $ref 文字列。

Type: 
string

canonicalizeSchema(input, schemas) → {*}

構造比較のためにスキーマを再帰的に正規化する。オブジェクトのキーをソートし、description を除去し、$ref を正規(基底)形式に書き換える。

Parameters:
NameTypeDescription
input*

正規化するスキーマ(または断片)。

schemasObject

$ref を正規化するために使用するコンポーネントスキーマのマップ。

Returns:

正規化されたスキーマの値。

Type: 
*

cap(ms) → {number}

遅延が setTimeout の安全な最大値を超えないようクランプする。

Parameters:
NameTypeDescription
msnumber

提案された遅延(ミリ秒)。

Returns:

RETRY_MAX_DELAY で上限を設けた遅延。

Type: 
number

chainGuidance(name) → {string}

指定したシェルにおける、依存し合うコマンドを連結する方法のガイダンスを返す(PowerShell 5.1 は && を持たないが、他のシェルには &&/& のアドバイスを提供する)。

Parameters:
NameTypeDescription
namestring

シェル名。

Returns:

そのシェル向けの連結ガイダンス文。

Type: 
string

cmd(shell, command, cwd, env) → {Object}

コマンドを実行する ChildProcess 仕様を構築する。Windows PowerShell では -Command でシェルを呼び出し、それ以外ではシェルの -c/シェルオプション経由でコマンドを実行し、非 Windows プラットフォームではデタッチする。

Parameters:
NameTypeDescription
shellstring

シェル実行ファイルのパス。

commandstring

実行するコマンド文字列。

cwdstring

作業ディレクトリ。

envObject

環境変数。

Returns:

ChildProcess 仕様。

Type: 
Object

cmdCommandSection(chain, limits) → {string}

ツール説明の cmd.exe 固有の「コマンドセクション」を構築する。注意事項、ディレクトリの検証、クォート、出力制限、連結を扱う。

Parameters:
NameTypeDescription
chainstring

埋め込む連結ガイダンス文。

limitsObject

maxLinesmaxBytes を持つ出力制限。

Returns:

レンダリング済みの cmd.exe コマンドセクションテキスト。

Type: 
string

collapseDuplicateComponents(spec) → {void}

数字サフィックス付きの重複コンポーネントスキーマ(例: Foo2)を、構造的に等しい場合にベース名(Foo)へ統合し、すべての$refを書き換えて重複を削除する。

Parameters:
NameTypeDescription
specObject

OpenAPIスペックオブジェクト(インプレースで変更される)。

Returns:
Type: 
void

commands(node) → {Array}

パースツリーノード内のすべての command 子孫ノードを収集する。

Parameters:
NameTypeDescription
nodeObject

tree-sitter の構文ノード(通常はルート)。

Returns:

コマンド構文ノードの配列。

Type: 
Array

completedCompactions(messages) → {Array}

メッセージリスト中の、過去に完了したコンパクションを検出する。各コンパクションは、エラーなく完了したアシスタントのサマリーメッセージと、それを起動したユーザー(コンパクション)メッセージのインデックスのペアである。

Parameters:
NameTypeDescription
messagesArray

順序付けされたセッションメッセージ。各要素は { info, parts }

Returns:

完了した各コンパクションに対する { userIndex, assistantIndex, summary } 項目。

Type: 
Array

componentTypeName(name) → {string}

ドット区切りのコンポーネント名をPascalCaseの型名に変換し、純粋に数値のパスセグメントを除去する。

Parameters:
NameTypeDescription
namestring

コンポーネント名(ドット区切りの可能性あり、例: foo.bar.2)。

Returns:

PascalCaseの型名(名前にドットを含まない場合は変更なし)。

Type: 
string

configEntryNameFromPath(filePath, searchRoots) → {string}

ファイルの設定エントリ名を算出する。一致する検索ルート以降のパス(一致しない場合はベース名)から拡張子を取り除いたもの。

Parameters:
NameTypeDescription
filePathstring

設定ファイルのパス。

searchRootsArray.<string>

名前を相対化するために使用するルート部分文字列。

Returns:

拡張子を除いたエントリ名。

Type: 
string

configuredWorkspaceID() → {*}

CLOSEDCODE_WORKSPACE_IDフラグで固定されたワークスペースIDがあれば読み取る。

Returns:

設定されたWorkspaceID。フラグが未設定の場合はundefined。

Type: 
*

convertHTMLToMarkdown(html) → {string}

Turndown を使って HTML ドキュメントを Markdown に変換する。script、style、meta、link 要素は除去する。

Parameters:
NameTypeDescription
htmlstring

生の HTML ソース。

Returns:

HTML の Markdown レンダリング結果。

Type: 
string

convertToLineEnding(text, ending) → {string}

テキストの LF 改行を指定された改行コードに変換する。

Parameters:
NameTypeDescription
textstring

LF に正規化済みのテキスト。

endingstring

変換先の改行コード("\n" ならテキストは変更されず、そうでなければ CRLF が使われる)。

Returns:

改行を ending に変換したテキスト。

Type: 
string

cors(corsOptions) → {*}

設定された CORS オプションに従ってオリジンを許可する、グローバルな CORS ルーターミドルウェアを構築する。

Parameters:
NameTypeDescription
corsOptions*

許可オリジンの判定で参照されるサーバーの CORS 設定。

Returns:

1日の max-age で CORS を適用するグローバルなルーターミドルウェアレイヤー。

Type: 
*

createExpress(opts, selection) → {Object}

Express アプリケーションを構築する。ルートのミドルウェアチェーンを接続し、共有 OpenAPI レジストリに対して全ルートグループをマウントし、OpenAPI 仕様を構築し、ドキュメントを配信し、エラーハンドラを登録する。

Parameters:
NameTypeDescription
optsObject

CorsMiddleware に渡されるサーバオプション(例: opts.cors の許可リスト)。

selectionObject

バックエンドの選択。デフォルトは ServerBackend.select()。

Returns:

fetch でラップされた Express アプリ、アダプタランタイム、および構築済みの OpenAPI 仕様を返すゲッター。

Type: 
Object

createInProcessFetch(expressApp) → {Object}

Express アプリを fetch/request メソッドでラップし、プロセス内のループバック HTTP サーバー経由で駆動する。遅延起動されるサーバーはリクエスト単位のタイムアウトが無効化されており、(単一リクエスト内で実行される)長時間のエージェントループが 5 分で打ち切られないようにする。expressApp.request は変更しない。

Parameters:
NameTypeDescription
expressAppObject

ラップ対象の Express アプリケーション。

Returns:

fetch(input, init)request(input, init) を公開するオブジェクト。

Type: 
Object

createRegistry() → {Object}

OpenAPI のオペレーションと名前付きスキーマを収集するための、空のアプリ単位レジストリを生成する。

Returns:

新しいレジストリ。

Type: 
Object

createRoutes(corsOptions) → {*}

ルート、イベント、インスタンス、UI の各ルートをマージし、必要なすべてのサービスレイヤー(CORS、ランタイム、全機能サービスレイヤー)を提供して、サーバー用の完全なルートレイヤーを構築する。

Parameters:
NameTypeDescription
corsOptions*

グローバルな CORS ミドルウェアに適用されるサーバーの CORS 設定。

Returns:

HTTP ルーター向けに完全に配線された Effect の Layer

Type: 
*

createStructuredOutputTool(input) → {*}

プロンプトが JSON スキーマ出力を要求した際に使用する特別な StructuredOutput AI SDK ツールを構築する。このツールはモデルの引数をスキーマ($schema を除去したもの)に対して検証し、キャプチャした出力を伴って onSuccess を呼び出す。

Parameters:
NameTypeDescription
inputObject

{ schema, onSuccess }schema は JSON スキーマ、onSuccess は検証済みの出力を受け取る。

Returns:

AI SDK のツール定義。

Type: 
*

createWebSocket() → {Object}

Express アダプター向けの WebSocket アップグレード機構を構築する。パスごとの WS ハンドラを登録する upgradeWebSocket ルートハンドラファクトリと、HTTP の upgrade イベントを処理してローカルルートへのディスパッチまたはリモートワークスペースのプロキシを行う injectWebSocket(server) インジェクターを返す。

Returns:

upgradeWebSocketinjectWebSocket を持つオブジェクト。

Type: 
Object

decode(input) → {string}

JSON 文字列を解析して McpResult を生成するデコーダ。

Parameters:
NameTypeDescription
inputstring

The possibly URI-encoded string.

Returns:

The decoded string, or input when decoding fails.

Type: 
string

decodeCredential(input) → {Effect}

Base64 エンコードされた username:password 文字列を資格情報にデコードする。失敗した場合は空の値にフォールバックする。

Parameters:
NameTypeDescription
inputstring

Base64 エンコードされた username:password 文字列。

Returns:

Redacted なパスワードを含む {username, password} に解決される effect。

Type: 
Effect

defaultDirectory(req) → {string}

ローカルで処理されるリクエストのディレクトリを、directoryクエリパラメータ、x-closedcode-directory/x-opencode-directoryヘッダー、またはプロセスのcwdから解決する。

Parameters:
NameTypeDescription
reqObject

The Express request (uses query.directory and directory headers).

Returns:

解決された作業ディレクトリ。

Type: 
string

defaultDirectory(request, url) → {string}

ローカルで処理されるリクエストのディレクトリを、directoryクエリパラメータ、x-closedcode-directory/x-opencode-directoryヘッダー、またはプロセスのcwdから解決する。

Parameters:
NameTypeDescription
requestObject

HTTPサーバーリクエスト。

urlURL

パース済みのリクエストURL。

Returns:

解決された作業ディレクトリ。

Type: 
string

define(id, init) → {Effect}

イベント型をそのプロパティスキーマとともに登録し、レジストリに記録する。

Parameters:
NameTypeDescription
idstring

The tool identifier.

initEffect

An Effect that resolves the tool's base info (description, parameters, execute).

Returns:

登録されたイベント定義。

Type: 
Effect

define(type, properties) → {Object}

イベント型をそのプロパティスキーマとともに登録し、レジストリに記録する。

Parameters:
NameTypeDescription
typestring

一意のイベント型識別子(例: "server.instance.disposed")。

properties*

イベントの properties の形状を記述する Effect Schema。

Returns:

登録されたイベント定義。

Type: 
Object

delay(attempt, error) → {number}

次のリトライ試行までの待機時間を計算する。プロバイダの retry-after-ms / retry-after レスポンスヘッダ(秒数または HTTP 日付)を優先し、なければヘッダなし時の上限でキャップした指数バックオフにフォールバックする。

Parameters:
NameTypeDescription
attemptnumber

1 始まりの試行番号。

error*

data.responseHeaders を保持する任意の APIError 風の値。

Returns:

リトライまでの遅延(ミリ秒)。

Type: 
number

described(schema, description) → {Object}

OpenAPI ドキュメント用に、スキーマへ人間可読の説明を注釈として付与する。

Parameters:
NameTypeDescription
schemaObject

注釈を付与する対象の Effect スキーマ。

descriptionstring

スキーマに付与する説明。

Returns:

説明の注釈を持つ新しいスキーマ。

Type: 
Object

detectLineEnding(text) → {string}

テキストの主たる改行コードを検出する。

Parameters:
NameTypeDescription
textstring

調べるテキスト。

Returns:

CRLF が 1 つでも含まれていれば "\r\n"、そうでなければ "\n"。

Type: 
string

diff(prev, next) → {Object}

2 つのシーケンスマップ間でシーケンス番号が変化したアグリゲートを算出する。

Parameters:
NameTypeDescription
prevObject

変更前に取得したシーケンスマップ(aggregate_id から seq)。

nextObject

変更後に取得したシーケンスマップ(aggregate_id から seq)。

Returns:

aggregate_id から新しい seq へのマップ(next に存在しない場合は -1)。変化したエントリのみを含む。

Type: 
Object

dir(input) → {string}

相対的な {file:...} 参照の解決に使う基準ディレクトリを解決する。

Parameters:
NameTypeDescription
inputObject

{type: "path", path} の入力、または独自の dir を持つ入力。

Returns:

type が "path" の場合は設定ファイルのディレクトリ、それ以外の場合は与えられた dir。

Type: 
string

dynamic(text, ps) → {boolean}

トークンが動的/計算済みのコンテンツ(部分式、コマンド置換、未解決の変数)を含み、パーミッションスキャンのための静的パスとして扱えないかどうかを検出する。

Parameters:
NameTypeDescription
textstring

検査するトークン。

psboolean

アクティブなシェルが PowerShell かどうか。

Returns:

トークンが動的でリテラルなパスでない場合は true。

Type: 
boolean

effectPayloads() → {Array.<Object>}

登録済みの各イベントについて Effect の Schema.Struct スキーマを構築し、それぞれに Event.<type> の識別子を注釈する。

Returns:

登録済みイベント型ごとに 1 つずつの Effect Schema struct の配列。

Type: 
Array.<Object>

embeddedUI() → {Promise.<Object>}

遅延インポートされる組み込み Web UI バンドル(アセットパスからディスク上のファイルパスへのマップ)を解決する。組み込み UI が無効または利用不可の場合は null を返す。

Returns:

組み込み UI のマニフェストオブジェクト、または null。

Type: 
Promise.<Object>

embeddedUI() → {Promise.<Object>}

遅延インポートされる組み込み Web UI バンドル(アセットパスからディスク上のファイルパスへのマップ)を解決する。組み込み UI が無効または利用不可の場合は null を返す。

Returns:

組み込み UI のマニフェストオブジェクト、または null。

Type: 
Promise.<Object>

encodeDateTimes(value) → {*}

構造内のあらゆるEffect DateTime値を再帰的にエポックミリ秒へ変換し、データをsqliteのカラムへJSONシリアライズできるようにする。

Parameters:
NameTypeDescription
value*

エンコードする任意の値、配列、またはオブジェクト。

Returns:

すべてのDateTimeがエポックミリ秒の数値に置き換えられた値。

Type: 
*

encodeMessageData(value) → {*}

メッセージのデータペイロードを保存用にエンコードする(現状はDateTimeのエンコードのみ)。

Parameters:
NameTypeDescription
value*

エンコードするメッセージデータ。

Returns:

保存可能な状態にエンコードされた値。

Type: 
*

envValue(key) → {string}

環境変数を検索する。Windows では大文字小文字を区別せずに一致させる。

Parameters:
NameTypeDescription
keystring

環境変数名。

Returns:

変数の値。未設定の場合は undefined。

Type: 
string

errors(…codes) → {Object}

指定された HTTP エラーステータスコードに対する responses フラグメントを構築する。ルートの describeRoute responses へ展開して使う(例: ...errors(400, 404))。

Parameters:
NameTypeAttributesDescription
codesnumber<repeatable>

ERRORS に存在する 1 つ以上のステータスコード(400, 404)。

Returns:

ステータスコードと、それに対応する共有エラーレスポンス定義とのマップ。

Type: 
Object

eventData(data) → {Object}

ペイロードを、JSONシリアライズした data フィールドを持つ SSE "message" イベントのエンベロープにラップする。

Parameters:
NameTypeDescription
dataObject

イベントの data フィールドにシリアライズするペイロード。

Returns:

SSE イベントオブジェクト {_tag, event, id, data}

Type: 
Object

eventData(data) → {Object}

ペイロードを、JSONシリアライズした data フィールドを持つ SSE "message" イベントのエンベロープにラップする。

Parameters:
NameTypeDescription
data*

イベントの data フィールドにシリアライズするペイロード。

Returns:

SSE イベントオブジェクト {_tag, event, id, data}

Type: 
Object

eventResponse(bus) → {Object}

グローバルバスのイベントと定期的なハートビートをストリームする Server-Sent Events の HTTP レスポンスを構築する。最初に server.connected イベントを送出し、クライアント切断時にはバスのリスナーを破棄する。

Parameters:
NameTypeDescription
busObject

Bus service used to subscribe to all events.

Returns:

SSE エンコードされたイベントフィードをストリームする HttpServerResponse。

Type: 
Object

eventResponse() → {Object}

グローバルバスのイベントと定期的なハートビートをストリームする Server-Sent Events の HTTP レスポンスを構築する。最初に server.connected イベントを送出し、クライアント切断時にはバスのリスナーを破棄する。

Returns:

SSE エンコードされたイベントフィードをストリームする HttpServerResponse。

Type: 
Object

expand(text, cwd, shell) → {string}

トークン内の環境変数参照および自動変数参照(${env:X}$env:X$HOME/$PWD/$PSHOME)を展開し、続いて ~ を展開する。

Parameters:
NameTypeDescription
textstring

展開するトークン。

cwdstring

PWD/相対展開用のカレントワーキングディレクトリ。

shellstring

PSHOME 用のシェル実行ファイルのパス。

Returns:

展開されたトークン。

Type: 
string

extract(messages) → {Set}

完了済みかつ非圧縮の read ツール呼び出しを通じて既にコンテキストに読み込まれたファイルパスの集合を収集する(各ツール結果の metadata.loaded から取得)。

Parameters:
NameTypeDescription
messagesArray

セッションメッセージ。各メッセージは parts 配列を持つ。

Returns:

既に読み込み済みのファイルパス文字列の集合。

Type: 
Set

(async) extractTextFromHTML(html) → {Promise.<string>}

HTML ドキュメントから可視テキストを抽出する。script、style、noscript、iframe、object、embed 要素内のコンテンツは除去する。

Parameters:
NameTypeDescription
htmlstring

生の HTML ソース。

Returns:

トリムされ連結されたテキストコンテンツ。

Type: 
Promise.<string>

filterCompacted(msgs) → {Array}

(新しい順の)メッセージリストを、コンパクション後のアクティブなコンテキストに絞り込む。直近の完了済みコンパクションを走査し、保持された末尾より前の置き換え済み履歴を削除して、サマリと保持された末尾を残す。結果は時系列順(古い順)で返す。

Parameters:
NameTypeDescription
msgsArray

新しい順のセッションメッセージ。

Returns:

コンパクションでフィルタされたメッセージ(古い順)。

Type: 
Array

fixSelfReferencingComponents(spec) → {void}

自己参照する $ref となっているコンポーネントスキーマを修正する。これは、他のエンドポイントと AST ノードを共有するアノテーション付きユニオンの分岐が、X の定義として {"$ref":"#components/schemas/X"} を生成してしまう Effect の OpenAPI 生成バグである。

壊れたコンポーネントを参照している親ユニオンの anyOf/oneOf から実際のスキーマを見つけ出し、それをインライン化することで解決する。

Parameters:
NameTypeDescription
specObject

OpenAPI のスペックオブジェクト(その場で変更される)。

Returns:
Type: 
void

flattenOptions(options) → {Array|undefined}

ネストした anyOf/oneOf のユニオンを、リーフのオプションスキーマからなる単一のフラットなリストに平坦化する。

Parameters:
NameTypeDescription
optionsArray | undefined

平坦化するユニオンのオプション。

Returns:

平坦化したオプションのリスト。options が存在しない場合は undefined。

Type: 
Array | undefined

force(selection, backend) → {Object}

選択を上書きして特定のバックエンドを強制する。強制したバックエンドが現在の選択と既に一致している場合を除き、理由を "explicit" としてマークする。

Parameters:
NameTypeDescription
selectionObject

現在のバックエンド選択。

backendstring

強制するバックエンド。

Returns:

強制したバックエンドを使用する新しい選択。

Type: 
Object

foreign(err) → {boolean}

エラーが SQLite の外部キー制約違反かどうかを判定する。必要に応じて original を介して sequelize がラップしたドライバエラーをアンラップする。

Parameters:
NameTypeDescription
err*

検査対象のエラー。

Returns:

エラーが外部キー制約失敗である(またはそれをラップしている)場合は true。

Type: 
boolean

fromError(e, ctx) → {Object}

任意のスローされたエラーを、名前付きメッセージエラーオブジェクト(Aborted/Auth/API/ContextOverflow/OutputLength/Unknown)のいずれかに正規化する。中断例外、ソケットリセット、解凍失敗、プロバイダのAPI呼び出し/ストリームエラー(コンテキスト超過の検出を含む)を分類する。

Parameters:
NameTypeDescription
e*

キャッチされたエラー値。

ctxObject

分類時に用いるコンテキスト{ providerID, aborted }

Returns:

シリアライズされたプレーンな名前付きエラーオブジェクト。

Type: 
Object

get(input) → {Promise.<Object>}

セッション内の単一メッセージ(およびそのパート)をidで取得する。一致するメッセージが存在しない場合はNotFoundErrorをスローする。

Parameters:
NameTypeDescription
inputObject

メッセージを識別する{ messageID, sessionID }

Returns:

{ info, parts }へ解決する。

Type: 
Promise.<Object>

(async) getLastModel(sessionID) → {Promise.<*>}

セッション内でユーザーメッセージが直近に使用したモデルを見つける。メッセージストリームを走査し、モデルを持つ最初のユーザーメッセージを返す。

Parameters:
NameTypeDescription
sessionIDstring

メッセージを走査する対象のセッション。

Returns:

最新のユーザーメッセージのモデル、存在しない場合は undefined。

Type: 
Promise.<*>

getMimeType(filePath) → {string}

拡張子からファイルパスの MIME タイプを検索する。

Parameters:
NameTypeDescription
filePathstring

拡張子を検査する対象のファイルパスまたはファイル名。

Returns:

マッチした MIME タイプ。不明な場合は undefined。

Type: 
string

getMimeType(filePath) → {string|undefined}

拡張子からファイルパスの MIME タイプを検索する。

Parameters:
NameTypeDescription
filePathstring

拡張子を検査する対象のファイルパスまたはファイル名。

Returns:

マッチした MIME タイプ。不明な場合は undefined。

Type: 
string | undefined

getWorkspaceRouteSessionID(url) → {SessionID}

/session/{id} ルート URL に埋め込まれたセッション ID を抽出する。 /session/status ルートおよびセッションセグメントを持たない URL に対しては null を返す。

Parameters:
NameTypeDescription
urlURL

絶対リクエスト URL。

Returns:

解析された SessionID。存在しない場合は null。

Type: 
SessionID

grab(obj, field1, cb) → {*}

部分更新オブジェクトからフィールドを読み取り、必要に応じて cb を介してネストしたオブジェクトへ降りる。フィールドが存在しない場合は undefined を返すが、フィールドが存在しつつ明示的に undefined である場合は例外を投げる(呼び出し側は値をクリアするために null を渡す必要がある)。

Parameters:
NameTypeDescription
objObject

ソースオブジェクト(undefined の場合あり)。

field1string

読み取るフィールド名。

cbfunction

値がオブジェクトのときに適用される任意のコールバック。

Returns:

フィールド値(またはコールバックの結果)。存在しない場合は undefined。

Type: 
*

hasTaskTool(agent) → {boolean}

指定したエージェントが task ツールを使用できるかどうかを判定する。どの切り詰めヒントを表示するか(explore エージェントへ委譲するか、直接読むか)を決めるために使われる。

Parameters:
NameTypeDescription
agentObject

権限ルールを評価する対象のエージェント。undefined の場合がある。

Returns:

エージェントが deny 以外の task 権限を持つ場合は true、そうでなければ false。

Type: 
boolean

hasToolCalls(messages) → {boolean}

いずれかのメッセージにツール呼び出しまたはツール結果のコンテンツが含まれるかどうかを報告する。LiteLLM 形式のプロキシ互換性のためにスタブツールを注入すべきかを判断するのに用いる。

Parameters:
NameTypeDescription
messagesArray

content 配列を走査する対象のモデルメッセージ。

Returns:

いずれかのパートがツール呼び出しまたはツール結果であれば true。

Type: 
boolean

headers(input, extra) → {Headers}

上流ターゲットへの転送に適したサニタイズ済みの Headers オブジェクトを構築する。 Request(そのヘッダを使用)または Headers/プレーンオブジェクトのヘッダソースのいずれかを受け取り、 hop-by-hop/内部ヘッダを除去したうえで、extra による上書きを適用する。

Parameters:
NameTypeDescription
inputRequest | Headers | Object

Request、Headers インスタンス、またはプレーンなキー/値のヘッダオブジェクト。

extraRequest | Headers | Object

サニタイズ後に設定する任意の追加ヘッダ。

Returns:

サニタイズ済み(および必要に応じて拡張済み)の Headers オブジェクト。

Type: 
Headers

home(text) → {string}

パス的なトークンの先頭の ~(ホームディレクトリ)を展開する。

Parameters:
NameTypeDescription
textstring

~ で始まる可能性のあるトークン。

Returns:

~ がホームディレクトリに展開されたトークン。

Type: 
string

http(client, url, extra, request) → {Effect}

HTTP リクエストをターゲット URL へプロキシし、上流のレスポンスをクライアントへストリームで返す。メソッド、マージされたヘッダー、および(GET/HEAD 以外の場合は)リクエストボディストリームを転送し、hop 固有の content-encoding/content-length ヘッダーを除去する。クライアントリクエストが中断されると上流の呼び出しも中断し、エラーはプレーンテキストの 500 レスポンスへ変換する。

Parameters:
NameTypeDescription
clientObject

上流リクエストの実行に使用する HTTP クライアント。

urlstring

プロキシ先のターゲット URL。

extra*

プロキシされるリクエストにマージする追加ヘッダー。

requestObject

転送する、受信した HTTP サーバーリクエスト。

Returns:

ストリーミングされる HTTP サーバーレスポンスに解決される effect。

Type: 
Effect

(async) hydrate(rows) → {Promise.<Array>}

メッセージ行にパートを付加する。指定したメッセージのすべての Part 行を(順序付きで)バッチ読み込みし、メッセージごとにグループ化して { info, parts } オブジェクトを返す。

Parameters:
NameTypeDescription
rowsArray

ハイドレートするプレーンなメッセージ行。

Returns:

{ info, parts } メッセージの配列に解決される。

Type: 
Promise.<Array>

info(row) → {Object}

保存されたメッセージ行からメッセージ Info オブジェクトを再構築する。id とセッション id を JSON の data カラムから引き上げる。

Parameters:
NameTypeDescription
rowObject

dataidsession_id を持つプレーンなメッセージ行。

Returns:

メッセージ Info オブジェクト。

Type: 
Object

init(info) → {Effect}

定義済みのツールを初期化し、その遅延 init を呼び出して、得られた info レコードにツール id をマージする。

Parameters:
NameTypeDescription
infoObject

define() が生成した定義済みツールレコード。idinit ファクトリを持つ。

Returns:

id を含む完全に初期化されたツール info を生成する Effect。

Type: 
Effect

initProjectors() → {void}

SyncEvent システムにセッションプロジェクタを登録し、convertEvent フックを提供する。 このフックは "session.updated" イベントに対してセッション行を非同期に読み込み、ハイドレートされた 情報を発行する。その他のイベントタイプはデータをそのまま通過させる。

Returns:
Type: 
void

isAllowedCorsOrigin(input, opts) → {boolean}

リクエストの Origin が CORS によって許可されるかどうかを判定する。Origin が欠落している場合、http://localhost:* および http://127.0.0.1:* の各ポート、ならびに vcc://renderer スキームは常に許可する。それ以外は opts.cors に列挙されている場合のみ許可する。

Parameters:
NameTypeDescription
inputstring

リクエストの Origin ヘッダー値(空/未定義の場合あり)。

optsObject

オプションオブジェクト。opts.cors は明示的に許可する Origin の配列。

Returns:

Origin が許可される場合は true、そうでない場合は false。

Type: 
boolean

isAuthRequired(config) → {boolean}

認証が有効かどうか、すなわち空でないパスワードが設定されているかどうかを判定する。

Parameters:
NameTypeDescription
configObject

サーバー認証設定。

Returns:

空でないパスワードが設定されている場合に true。

Type: 
boolean

isBareArraySchema(schema) → {boolean}

スキーマが裸の配列型(itemsprefixItems を持たない)かどうかを判定する。

Parameters:
NameTypeDescription
schemaObject

判定するスキーマ。

Returns:

裸の配列スキーマの場合に true。

Type: 
boolean

isBareObjectSchema(schema) → {boolean}

スキーマが裸のオブジェクト型(propertiesadditionalProperties を持たない)かどうかを判定する。

Parameters:
NameTypeDescription
schemaObject

判定するスキーマ。

Returns:

裸のオブジェクトスキーマの場合に true。

Type: 
boolean

isBuiltInErrorResponse(response, name) → {boolean}

レスポンスが、指定したエラー名に対する Effect の組み込みエラーレスポンスのいずれかかどうかを判定する。

Parameters:
NameTypeDescription
responseObject

OpenAPI のレスポンスオブジェクト。

namestring

組み込みエラー名(例: BadRequestNotFound)。

Returns:

レスポンスが(description または $ref によって)組み込みエラーである場合に true。

Type: 
boolean

isCredentialAuthorized(credential, config) → {boolean}

資格情報が設定済みのユーザー名およびパスワードと一致するかどうかを確認する。

Parameters:
NameTypeDescription
credentialObject

デコード済みの資格情報(パスワードは Redacted 値)。

configObject

サーバー認証設定。

Returns:

ユーザー名と(復元された)パスワードの両方が設定と一致する場合に true。

Type: 
boolean

isEmptyObjectUnion(schema) → {boolean}

制約のないレコード/配列の値に対して Effect が出力する、退化した「裸のオブジェクト OR 裸の配列」のユニオンを検出する。

Parameters:
NameTypeDescription
schemaObject

判定するスキーマ。

Returns:

スキーマが裸のオブジェクトと裸の配列の 2 分岐ユニオンである場合に true。

Type: 
boolean

isKind(value) → {boolean}

指定した値が認識済みのシェル種別のいずれかであるかどうか。

Parameters:
NameTypeDescription
valuestring

候補となるシェル種別名。

Returns:

値が既知のシェル種別なら true。

Type: 
boolean

isLocalWorkspaceRoute(method, path) → {boolean}

リクエストのパス/メソッドをプロキシせずにローカルで処理すべきかどうかを、 静的な RULES テーブルと照合して判定する。ルールはメソッドを固定でき、 パスを完全一致または前方一致で照合する。最初に一致したルールが優先される。

Parameters:
NameTypeDescription
methodstring

リクエストの HTTP メソッド(例: "GET")。

pathstring

リクエスト URL のパス名。

Returns:

一致したルールのアクションが "local" の場合に true、それ以外(一致なしを含む)は false。

Type: 
boolean

isOverflow(input) → {Promise.<boolean>}

現在のトークン使用量がモデルの利用可能予算を超え、コンパクションをトリガーすべきかどうかを判定する。自動コンパクションが無効、またはモデルにコンテキスト上限がない場合は常にfalse。

Parameters:
NameTypeDescription
inputObject

{ cfg, model, tokens }。tokensはtotal、またはinput/output/cacheのカウントを保持する。

Returns:

使用トークンが利用可能予算以上のときtrue。

Type: 
Promise.<boolean>

isOverflow(input) → {boolean}

現在のトークン使用量がモデルの利用可能予算を超え、コンパクションをトリガーすべきかどうかを判定する。自動コンパクションが無効、またはモデルにコンテキスト上限がない場合は常にfalse。

Parameters:
NameTypeDescription
inputObject

{ cfg, model, tokens }。tokensはtotal、またはinput/output/cacheのカウントを保持する。

Returns:

使用トークンが利用可能予算以上のときtrue。

Type: 
boolean

isPlainObject()

プレーンオブジェクト(null プロトタイプを持つオブジェクトを含む)を判定する。

isRefResponse(response, name) → {boolean}

レスポンスの JSON スキーマが、指定したコンポーネントへの $ref かどうかを判定する。

Parameters:
NameTypeDescription
responseObject

OpenAPI のレスポンスオブジェクト。

namestring

照合するコンポーネント名。

Returns:

レスポンスが #/components/schemas/<name> を参照している場合に true。

Type: 
boolean

jsonBody(schema) → {Object}

application/json エンドポイント向けの OpenAPI requestBody オブジェクトを構築する。

Parameters:
NameTypeDescription
schema*

JSON ボディを記述する Zod または JSON Schema。

Returns:

application/json コンテンツエントリを持つ requestBody オブジェクト。

Type: 
Object

(async) jsonRequest(name, req, res, effect) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

resObject

The Express response object.

effectfunction

コンテキスト c を受け取り、実行する Effect を返す関数。

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

(async) jsonRequest(name, req, res, gen) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

resObject

The Express response object.

genfunction

The generator function passed to Effect.gen.

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

(async) jsonRequest(name, req, res, fn) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

resObject

The Express response object.

fnfunction

A function returning an Effect generator to run.

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

(async) jsonRequest(name, req, res, gen) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

resObject

The Express response object.

genfunction

The generator function passed to Effect.gen.

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

(async) jsonRequest(name, req, res, effect) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

resObject

The Express response object.

effectfunction

コンテキスト c を受け取り、実行する Effect を返す関数。

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

(async) jsonRequest(name, req, res, effect) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

resObject

The Express response object.

effectfunction

コンテキスト c を受け取り、実行する Effect を返す関数。

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

(async) jsonRequest(name, req, res, gen) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

resObject

The Express response object.

genfunction

The generator function passed to Effect.gen.

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

(async) jsonRequest(name, req, res, gen) → {Promise.<void>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

Express request object.

resObject

Express response object.

genfunction

Generator function producing the Effect to run.

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<void>

jsonRequest(name, c, effect) → {Promise.<*>}

リクエストを生成する Effect をスパン内で実行し、その結果を JSON レスポンスとしてシリアライズする。

Parameters:
NameTypeDescription
namestring

スパン名。

cObject

リクエストコンテキスト。JSON レスポンスの構築にも使用される。

effectfunction

コンテキスト c を受け取り、実行する Effect を返す関数。

Returns:

JSON レスポンスに解決される Promise。

Type: 
Promise.<*>

(async) jsonRequestExpress(name, req, res, genFn) → {Promise.<void>}

トレースされたスパン内で Effect ジェネレーターを実行し、その結果を JSON レスポンスボディとして書き込む。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

Express リクエストオブジェクト。

resObject

Express レスポンスオブジェクト。

genFnfunction

Effect.gen が消費する、レスポンス値を生成するジェネレーター関数。

Returns:

JSON レスポンスの送信完了時に解決される。

Type: 
Promise.<void>

keybind(value, description) → {Schema}

1 つのキーバインドフィールドのスキーマを構築する。省略時にデフォルトのバインディングにデコードされるオプションの文字列で、人間が読める説明が注釈される。

Parameters:
NameTypeDescription
valuestring

デフォルトのキーバインディング(例: "ctrl+x")。

descriptionstring

アクションの人間が読める説明。

Returns:

そのフィールドの Effect Schema。

Type: 
Schema

legacyErrorResponse(description, name) → {Object}

名前付きのエラースキーマを参照するレガシーエラーレスポンスオブジェクトを生成する。

Parameters:
NameTypeDescription
descriptionstring

レスポンスの説明。

namestring

参照するコンポーネントスキーマ名。

Returns:

JSON $ref スキーマを持つ OpenAPI レスポンスオブジェクト。

Type: 
Object

levenshtein(a, b) → {number}

レーベンシュタイン距離アルゴリズムの実装。ab に変換するのに必要な 1 文字単位の編集(挿入、削除、置換)の最小回数。

Parameters:
NameTypeDescription
astring

1 つ目の文字列。

bstring

2 つ目の文字列。

Returns:

ab の編集距離。

Type: 
number

(async) lines(filepath, opts) → {Promise.<Object>}

テキストファイルを 1 行ずつストリーミングし、opts.offset(1 始まり)から始まり最大 opts.limit 行までの行のウィンドウを返す。MAX_LINE_LENGTH を超える個々の行は切り詰められ、ウィンドウは MAX_BYTES で上限が設けられる。また総行数と、さらにコンテンツがあるか/バイト単位の打ち切りが発生したかも報告する。

Parameters:
NameTypeDescription
filepathstring

読み取るファイルの絶対パス。

optsObject

ページングオプション: {offset: number, limit: number}。

Returns:

{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 のアップグレード処理を取り付けるために使用)。

Parameters:
NameTypeDescription
appObject

Express のアプリケーション/リクエストハンドラ。

optsObject

listen オプション。port(0 = 自動)と hostname

injectfunction

http.Server が listen する前に、それを引数として呼び出される任意のコールバック。

Returns:

portstop(close) メソッドを持つハンドルに解決される。

Type: 
Promise.<Object>

load(ids) → {Promise.<Object>}

各アグリゲートの現在のイベントシーケンス番号を読み込む。

Parameters:
NameTypeDescription
idsArray.<string>

クエリを限定する任意のアグリゲート ID。省略または空の場合はすべてを読み込む。

Returns:

aggregate_id から現在のシーケンス番号へのマップ。

Type: 
Promise.<Object>

loaded(messages) → {Set}

既にコンテキストへ読み込まれたファイルパスの集合を返す公開ヘルパー。

Parameters:
NameTypeDescription
messagesArray

検査対象のセッションメッセージ。

Returns:

read ツール呼び出しを通じて既に読み込み済みのファイルパス文字列の集合。

Type: 
Set

lock(filePath) → {Object}

指定ファイルの編集を保護する単一許可のセマフォを返す(必要に応じて生成する)。

Parameters:
NameTypeDescription
filePathstring

ロックするファイルパス。正規化されたキーに解決される。

Returns:

そのファイル用の許可数 1 の Effect Semaphore。

Type: 
Object

makePropertiesNullable(properties) → {void}

各プロパティのスキーマを再帰的に nullable なユニオンでラップする。share.urlurl のみ nullable 化)と time(再帰的に処理)は特別扱いする。

Parameters:
NameTypeDescription
propertiesObject

nullable 化する OpenAPI の properties マップ(その場で変更される)。

Returns:
Type: 
void

managedConfigDir() → {string}

管理対象設定ディレクトリを取得する。システムディレクトリにフォールバックする前に、テスト用オーバーライド CLOSEDCODE_TEST_MANAGED_CONFIG_DIR を尊重する。

Returns:

管理対象設定ディレクトリのパス。

Type: 
string

mapNotFound(self) → {Effect}

ストレージの NotFoundError(型付きの失敗または defect として送出される)を HttpApiError.NotFound へ変換し、それ以外の defect は再 die する。

Parameters:
NameTypeDescription
selfEffect

NotFoundError を変換すべき Effect。

Returns:

NotFound のエラー/defect を HttpApiError.NotFound にマッピングした Effect。

Type: 
Effect

mark(ctx) → {Effect}

後でインスタンスを破棄またはリロードするために必要なサービスをキャプチャする。

Parameters:
NameTypeDescription
ctx*

レスポンス後に処理対象とするインスタンスコンテキスト。

Returns:

{ ctx, store, bridge } に解決される effect。

Type: 
Effect

matchLegacyOpenApi(input) → {Object}

新規生成されたOpenAPIスペックをレガシーSDKの表面に合わせてインプレースで変換する。自己参照コンポーネントの修正、optional-nullのユニオン分岐の除去、コンポーネント名・説明の正規化と重複排除、レガシースキーマのオーバーライド適用、組み込みのエラー/セキュリティスキーマの除去、instanceクエリパラメータの注入、SSEイベントストリームのドキュメント化、パラメータ/エラーレスポンスの正規化を行う。

Parameters:
NameTypeDescription
inputObject

生成されたOpenAPIスペックオブジェクト(インプレースで変更される)。

Returns:

変換された同一のスペックオブジェクト。

Type: 
Object

maybeResolve(registry, schema) → {Object}

Zod スキーマまたは既に構築済みの JSON Schema のいずれかであり得るスキーマを解決する。Zod スキーマ(_def/_zod で検出)は変換され、プレーンオブジェクトはそのまま通過する。

Parameters:
NameTypeDescription
registryObject

Zod スキーマの変換時に使用するレジストリ。

schema*

Zod スキーマまたはプレーンな JSON Schema オブジェクト。

Returns:

解決された JSON Schema フラグメント。

Type: 
Object

mergeEffectContractShape(paths) → {void}

パスとメソッドのペアが一致する場合に、Effect httpapi コントラクトからレジストリオペレーションの欠落した parameters/requestBody を補完し、paths をインプレースで変更する。

Parameters:
NameTypeDescription
pathsObject

拡張する OpenAPI paths オブジェクト。

Returns:
Type: 
void

mergeOptions(target, source) → {Object}

ソースのオプションオブジェクトをターゲットへディープマージする。null 相当のソースは空オブジェクトとして扱う。

Parameters:
NameTypeDescription
targetObject

ベースとなるオプションオブジェクト。

sourceObject

マージするオプション(null/undefined の場合がある)。

Returns:

ディープマージされたオプションオブジェクト。

Type: 
Object

missingWorkspaceResponse(id) → {Object}

要求されたワークスペースが見つからなかったことを示す、500番のプレーンテキストレスポンスを構築する。

Parameters:
NameTypeDescription
id*

解決できなかったワークスペースID。

Returns:

ステータス500のHTTPサーバーレスポンス。

Type: 
Object

nextTuiRequest() → {Promise.<Object>}

リクエストキューから次の保留中の TUI リクエストを取り出す。

Returns:

次にキューイングされた TUI リクエストに解決される Promise。

Type: 
Promise.<Object>

normalizeComponentDescriptions(spec) → {void}

コンポーネントの説明を厳選されたレガシーの説明に置き換え、それ以外のすべての説明を削除する。

Parameters:
NameTypeDescription
specObject

OpenAPIスペックオブジェクト(インプレースで変更される)。

Returns:
Type: 
void

normalizeComponentNames(spec) → {void}

ドット区切りのコンポーネント名をPascalCaseの型名にリネームする。構造的に等しい場合は既存のターゲットへマージし、そうでなければリネームし、それに応じてすべての$refを書き換える。

Parameters:
NameTypeDescription
specObject

OpenAPIスペックオブジェクト(インプレースで変更される)。

Returns:
Type: 
void

normalizeLegacyErrorResponses(operation) → {void}

オペレーションの組み込み 400/404 エラーレスポンスを、レガシーなエラーレスポンスの形式に置き換える。

Parameters:
NameTypeDescription
operationObject

OpenAPI のオペレーションオブジェクト(その場で変更される)。

Returns:
Type: 
void

normalizeLegacyOperation(operation, path, method) → {void}

ルートごとにレガシーオペレーションの調整を適用する。特定のエンドポイントから不要なエラーレスポンスを除去し、message/command の POST エンドポイントに明示的な {info, parts} という 200 レスポンス形式を与える。

Parameters:
NameTypeDescription
operationObject

OpenAPI のオペレーションオブジェクト(その場で変更される)。

pathstring

ルートパス(例: /session/{sessionID}/message)。

methodstring

小文字の HTTP メソッド(例: post)。

Returns:
Type: 
void

normalizeLineEndings(text) → {string}

テキスト中のすべての CRLF 改行を LF に変換する。

Parameters:
NameTypeDescription
textstring

正規化するテキスト。

Returns:

\r\n\n に置換したテキスト。

Type: 
string

normalizeParameter(param, route) → {void}

レガシー SDK 向けにオペレーションパラメータのスキーマを正規化する。path/query スキーマのオーバーライドを適用し、既知の number/boolean のクエリパラメータを型変換し、それ以外では optional-null の分岐を除去する。

Parameters:
NameTypeDescription
paramObject

OpenAPI のパラメータオブジェクト(その場で変更される)。

routestring

オーバーライドの参照に使用するルートキー(例: GET /find/file)。

Returns:
Type: 
void

normalizePath(path) → {string}

Express のルートパスを OpenAPI 形式に正規化する。":param" は "{param}" になり、末尾のスラッシュはルートパスを除いて削除される。

Parameters:
NameTypeDescription
pathstring

Express 形式のルートパス。

Returns:

正規化された OpenAPI パス。

Type: 
string

nullable(schema) → {Object}

スキーマを anyOf: [schema, {type:"null"}] のユニオンでラップする。ただし、すでに nullable の場合はそのまま返す。

Parameters:
NameTypeDescription
schemaObject

nullable 化するスキーマ。

Returns:

nullable 化された(すでに nullable だった可能性もある)スキーマ。

Type: 
Object

older(row) → {Object}

カーソルより厳密に古い行を選択する Sequelize の WHERE 句を組み立てる。作成時刻、次いで id(キーセットページネーションのタイブレーカー)の順で並べる。

Parameters:
NameTypeDescription
rowObject

これより前をページングするためのカーソル { time, id }

Returns:

Sequelize の Op.or 条件。

Type: 
Object

openapi() → {Object}

新しい Express アプリを構築し、リッスンせずにその OpenAPI 仕様を返す。

Returns:

構築された OpenAPI ドキュメント。

Type: 
Object

page(input) → {Promise.<Object>}

セッションのメッセージを 1 ページ分取得する(内部的には新しい順、返却は古い順)。キーセットページネーションを使い、各メッセージをそのパートでハイドレートする。セッションが存在せず行も返らない場合は NotFoundError をスローする。

Parameters:
NameTypeDescription
inputObject

{ sessionID, limit, before }。before は任意のエンコード済みカーソル。

Returns:

{ items, more, cursor } に解決される(cursor は後続ページが存在する場合にのみ含まれる)。

Type: 
Promise.<Object>

paramToAttributeKey(key) → {string}

ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。

Parameters:
NameTypeDescription
keystring

ルートパラメータ名。

Returns:

対応する OTel 属性キー。

Type: 
string

paramToAttributeKey(key) → {string}

ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。

Parameters:
NameTypeDescription
keystring

ルートパラメータ名。

Returns:

対応する OTel 属性キー。

Type: 
string

paramToAttributeKey(key) → {string}

ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。

Parameters:
NameTypeDescription
keystring

ルートパラメータ名。

Returns:

対応する OTel 属性キー。

Type: 
string

paramToAttributeKey(key) → {string}

ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。

Parameters:
NameTypeDescription
keystring

ルートパラメータ名。

Returns:

対応する OTel 属性キー。

Type: 
string

paramToAttributeKey(key) → {string}

ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。

Parameters:
NameTypeDescription
keystring

ルートパラメータ名。

Returns:

対応する OTel 属性キー。

Type: 
string

paramToAttributeKey(key) → {string}

ルートパラメータ名を OTel スパン属性キーへマッピングする。ID で終わる名前は <lowercased-prefix>.id になる(例: sessionID -> session.id)。それ以外の名前は、標準的な規約との衝突を避けるため closedcode. 配下に名前空間化される。

Parameters:
NameTypeDescription
keystring

ルートパラメータ名。

Returns:

対応する OTel 属性キー。

Type: 
string

parameterSchema(description) → {Object}

shell ツールのパラメータスキーマ(command、省略可能な timeout、省略可能な workdir、必須の description)を構築し、description フィールドには指定された説明テキストを使用する。

Parameters:
NameTypeDescription
descriptionstring

description パラメータを説明するアノテーションテキスト。シェルごとに調整される。

Returns:

shell ツールパラメータ用の Effect Schema.Struct。

Type: 
Object

parse(headers) → {Object|undefined}

bash または PowerShell の文法を用いて、コマンド文字列を tree-sitter の構文ツリーにパースする。

Parameters:
NameTypeDescription
headersObject

A Headers-like object exposing get(name).

Returns:

パース済みの tree-sitter ツリーを生成する effect。

Type: 
Object | undefined

parseBody(body) → {*}

JSON のリクエストボディをパースする。空のボディは {} として扱う。

Parameters:
NameTypeDescription
bodystring

生のリクエストボディテキスト。

Returns:

パースした値。パースに失敗した場合は undefined

Type: 
*

parseManagedPlist(json) → {string}

JSON エンコードされた管理対象 plist から MDM/plist のメタデータキーを取り除き、残りの closedcode 設定を JSON 文字列として返す。

Parameters:
NameTypeDescription
jsonstring

JSON 文字列としての plist の内容。

Returns:

ペイロードのメタデータを除去した設定の JSON 文字列。

Type: 
string

part(row) → {Object}

保存されたパート行からメッセージ Part オブジェクトを再構築する。id、セッション id、メッセージ id を JSON の data カラムから引き上げる。

Parameters:
NameTypeDescription
rowObject

dataidsession_idmessage_id を持つプレーンなパート行。

Returns:

メッセージ Part オブジェクト。

Type: 
Object

parts(message_id) → {Promise.<Array>}

tree-sitter のコマンドノードから意味のあるトークン(コマンド名と引数的な要素)を抽出し、区切り文字とリダイレクトをスキップする。

Parameters:
NameTypeDescription
message_idstring

The message whose parts to load.

Returns:

{type, text} トークンオブジェクトの配列。

Type: 
Promise.<Array>

parts(node) → {Array}

tree-sitter のコマンドノードから意味のあるトークン(コマンド名と引数的な要素)を抽出し、区切り文字とリダイレクトをスキップする。

Parameters:
NameTypeDescription
nodeObject

tree-sitter のコマンド構文ノード。

Returns:

{type, text} トークンオブジェクトの配列。

Type: 
Array

pathArgs(list, ps, cmd) → {Array}

コマンドのトークンリストからパス的な引数を抽出する。コマンド名、フラグ/スイッチ、特殊な先頭文字をスキップする。PowerShell の場合は値を取るパラメータ(例: -Path)もたどってその値を取得する。

Parameters:
NameTypeDefaultDescription
listArray

コマンドのトークン(最初の要素はコマンド名)。

psboolean

アクティブなシェルが PowerShell かどうか。

cmdbooleanfalse

アクティブなシェルが cmd.exe かどうか(/ フラグの扱いに影響する)。

Returns:

パス引数文字列の配列。

Type: 
Array

pathParameterSchema(route, name) → {Object|undefined}

path パラメータのオーバーライドスキーマを名前で解決する。workspace、permission、question の各ルートにおける id/requestID にはルート固有のパターンを用いる。

Parameters:
NameTypeDescription
routestring

ルートキー(例: DELETE /experimental/workspace/...)。

namestring

path パラメータ名。

Returns:

オーバーライドのスキーマ。オーバーライドがない場合は undefined。

Type: 
Object | undefined

payloads() → {Array.<Object>}

登録済みの各イベントについて Zod のオブジェクトスキーマを構築し、それぞれに Event.<type> の ref を注釈する。

Returns:

登録済みイベント型ごとに 1 つずつの Zod オブジェクトスキーマの配列。

Type: 
Array.<Object>

plain(row) → {Object}

Sequelize のモデルインスタンスをプレーンオブジェクトに変換する。null の場合は undefined を返す。

Parameters:
NameTypeDescription
rowObject

Sequelize のモデルインスタンス、または null/undefined。

Returns:

プレーンな行オブジェクト、または undefined。

Type: 
Object

plain(row) → {Object}

Sequelize のモデルインスタンスをプレーンオブジェクトに変換する。null の場合は undefined を返す。

Parameters:
NameTypeDescription
rowObject

Sequelize のモデルインスタンス、または null/undefined。

Returns:

プレーンな行オブジェクト、または undefined。

Type: 
Object

planRequest(request, sessionWorkspaceID) → {Effect}

環境変数で固定されたワークスペース、選択されたワークスペース(セッションまたはクエリパラメータ)、存在しないワークスペース、コントロールプレーン専用ルートを考慮して、リクエストのルーティングプランを算出する。

Parameters:
NameTypeDescription
requestObject

受信したHTTPサーバーリクエスト。

sessionWorkspaceID*

リクエストのセッションから取得したワークスペースID(存在する場合)。

Returns:

RequestPlanLocalRemote、またはMissingWorkspace)に解決されるeffect。

Type: 
Effect

planWorkspaceRequest(request, url, workspace) → {Effect}

解決されたワークスペースに対するリクエストプランを構築する。ターゲットがリモートの場合はRemote(プロキシ)、それ以外はLocal

Parameters:
NameTypeDescription
requestObject

受信したHTTPサーバーリクエスト。

urlURL

パース済みのリクエストURL。

workspaceObject

解決されたワークスペース。

Returns:

RequestPlan値に解決されるeffect。

Type: 
Effect

policy(opts) → {*}

retryable が理由を返す間リトライを行う Effect Schedule を構築する。試行間で計算された delay だけ待機し、進捗を報告する。

Parameters:
NameTypeDescription
optsObject

ポリシーのフック。

Properties
NameTypeDescription
parsefunction

生のストリームエラーを retryable が消費する分類済みエラーへマッピングする。

setfunction

試行ごとに {attempt, message, next} を伴って呼び出され、リトライ状態を報告する。

Returns:

Effect.retry で使用可能な Effect Schedule。

Type: 
*

powershellCommandSection(name, chain, pathSep, limits) → {string}

ツール説明の PowerShell 固有の「コマンドセクション」を構築する。注意事項、ディレクトリの検証、クォート、出力制限、連結を扱う。

Parameters:
NameTypeDescription
namestring

PowerShell の種別名(「pwsh」または「powershell」)。

chainstring

埋め込む連結ガイダンス文。

pathSepstring

例で使用するパス区切り文字(「\」または「/」)。

limitsObject

maxLinesmaxBytes を持つ出力制限。

Returns:

レンダリング済みの PowerShell コマンドセクションテキスト。

Type: 
string

powershellNotes(name) → {string}

指定した PowerShell の種別(pwsh 7+ または Windows PowerShell 5.1)に対する PowerShell 固有の利用上の注意ブロックを返す。その他のシェルでは空を返す。

Parameters:
NameTypeDescription
namestring

シェル名(「pwsh」または「powershell」)。

Returns:

注意の markdown ブロック、または空文字列。

Type: 
string

prefix(text) → {string}

最初のグロブメタ文字(?*[)までのトークンのリテラル(非グロブ)プレフィックスを返す。トークンがグロブ文字で始まる場合は undefined を返す。

Parameters:
NameTypeDescription
textstring

検査するトークン。

Returns:

リテラルプレフィックス。グロブ文字で始まる場合は undefined。

Type: 
string

preserveRecentBudget(input) → {number}

直近のターンを保持するために確保するトークンバジェットを算出する。設定値があればその値、なければ使用可能コンテキストの 25% を min/max の範囲にクランプした値。

Parameters:
NameTypeDescription
inputObject

{ cfg, model }。バジェットの算定に使用する設定とモデル。

Returns:

直近ターン保持用のトークンバジェット。

Type: 
number

preview(text) → {string}

出力のメタデータサイズのプレビューを生成する。末尾を保持し、テキストが MAX_METADATA_LENGTH を超える場合は "..." を前置する。

Parameters:
NameTypeDescription
textstring

プレビューする出力テキスト。

Returns:

元のテキスト、または切り詰められた末尾のプレビュー。

Type: 
string

profile(name, platform, limits) → {Object}

指定したシェルとプラットフォーム向けに、プロンプト断片一式(イントロ、作業ディレクトリ節、コマンド節、git/PR ガイダンス、パラメータ説明)を組み立てる。

Parameters:
NameTypeDescription
namestring

シェル名("bash"、"pwsh"、"powershell"、または "cmd")。

platformstring

Node のプラットフォーム文字列(例: "win32")。

limitsObject

maxLinesmaxBytes を持つ出力制限。

Returns:

プロンプト断片文字列からなるプロファイルオブジェクト。

Type: 
Object

provideInstanceContext(effect, store) → {Effect}

現在のワークスペースルートに基づいて effect にインスタンスコンテキストを提供する。ルートのディレクトリ(URI デコード済み)とワークスペース ID を読み取り、ワークスペース ref を提供した状態で、ストア内の対応するインスタンス内で effect を実行する。

Parameters:
NameTypeDescription
effectEffect

インスタンスコンテキスト内で実行するハンドラー effect。

storeObject

インスタンスの提供に使用する InstanceStore サービス。

Returns:

解決済みのインスタンスおよびワークスペースコンテキスト内で実行される effect。

Type: 
Effect

provideLocal(req, res, next, workspaceID, directory) → {Promise.<*>}

Effect サービスが指定されたワークスペースとディレクトリに対して解決されるよう、下流のハンドラを WorkspaceContext.provide -> WithInstance.provide の内側で実行する。ラップされた promise はレスポンスが完了またはエラーになると確定する。

Parameters:
NameTypeDescription
reqObject

Express のリクエスト。

resObject

Express のレスポンス。

nextfunction

下流のハンドラチェーンを呼び出す。

workspaceIDstring

コンテキストとして提供するワークスペース。

directorystring

解決されたプロジェクトディレクトリ。

Returns:

提供された Effect/promise の結果。

Type: 
Promise.<*>

provider(model) → {Array.<string>}

パスから PowerShell のプロバイダ修飾子を取り除き、ファイルシステムプロバイダの場合のみ素のパスを返す。ファイルシステム以外のプロバイダ(例: Env:)には undefined を返し、ドライブレターのパス(C:)はそのまま残す。

Parameters:
NameTypeDescription
modelObject

Model descriptor with an api.id string.

Returns:

ファイルシステムパス。ファイルシステムパスでない場合は undefined。

Type: 
Array.<string>

provider(text) → {string}

パスから PowerShell のプロバイダ修飾子を取り除き、ファイルシステムプロバイダの場合のみ素のパスを返す。ファイルシステム以外のプロバイダ(例: Env:)には undefined を返し、ドライブレターのパス(C:)はそのまま残す。

Parameters:
NameTypeDescription
textstring

プロバイダ修飾されている可能性のあるパストークン。

Returns:

ファイルシステムパス。ファイルシステムパスでない場合は undefined。

Type: 
string

providerMeta(metadata) → {Object}

パートのメタデータから内部用の providerExecuted フラグを除去し、残ったプロバイダーメタデータを返す。何も残らない場合は undefined を返す。

Parameters:
NameTypeDescription
metadataObject

providerExecuted を含む可能性のあるパートのメタデータ。

Returns:

整理されたメタデータオブジェクト、または undefined。

Type: 
Object

(async) proxyRemote(req, res, workspace, target, url) → {Promise.<void>}

リクエストをリモートのワークスペースターゲットへプロキシする。ワークスペースの同期接続が切断されている場合は503を返す。WebSocketアップグレードはWebSocketプロキシ経由でルーティングし、それ以外はHTTPでプロキシする。その後、レスポンス中の同期フェンスヘッダーがあればワークスペースが追いつくまで待機して尊重する(同期失敗時は503を返す)。

Parameters:
NameTypeDescription
reqObject

The incoming Express request.

resObject

The Express response to write the proxied result to.

workspaceObject

プロキシ先のリモートワークスペース。

targetObject

解決されたリモートターゲット(urlheaders)。

urlURL

パース済みのリクエストURL。

Returns:

プロキシ(またはエラー)のHTTPレスポンスに解決されるeffect。

Type: 
Promise.<void>

proxyRemote(client, request, workspace, target, url) → {Effect}

リクエストをリモートのワークスペースターゲットへプロキシする。ワークスペースの同期接続が切断されている場合は503を返す。WebSocketアップグレードはWebSocketプロキシ経由でルーティングし、それ以外はHTTPでプロキシする。その後、レスポンス中の同期フェンスヘッダーがあればワークスペースが追いつくまで待機して尊重する(同期失敗時は503を返す)。

Parameters:
NameTypeDescription
clientObject

プロキシに使用するHTTPクライアント。

requestObject

受信したHTTPサーバーリクエスト。

workspaceObject

プロキシ先のリモートワークスペース。

targetObject

解決されたリモートターゲット(urlheaders)。

urlURL

パース済みのリクエストURL。

Returns:

プロキシ(またはエラー)のHTTPレスポンスに解決されるeffect。

Type: 
Effect

prune(input) → {Promise.<void>}

圧縮サービスの prune 操作を Promise でラップしたもの。

Parameters:
NameTypeDescription
inputObject

{ sessionID } 刈り込み対象のセッション。

Returns:

刈り込みが完了したときに解決する。

Type: 
Promise.<void>

publish(port, domain) → {void}

ローカルネットワーク上でサーバを広告する mDNS/Bonjour の "http" サービスを公開する。 同じポートがすでに公開されている場合は何もしない。先に既存の広告を破棄する。

Parameters:
NameTypeDescription
portnumber

サーバがリッスンしている TCP ポート。

domainstring

広告する任意の mDNS ホスト名(デフォルトは "closedcode.local")。

Returns:
Type: 
void

queryBoolean(value) → {boolean}

クエリ文字列のブール値を実際のブール値に変換する。

Parameters:
NameTypeDescription
value*

生のクエリ値(true/false のブール値、"true"/"false" の文字列、または undefined)。

Returns:

値が true または文字列 "true" のとき true、値が undefined のとき undefined。

Type: 
boolean

queryBoolean(value) → {boolean}

クエリ文字列のブール値を実際のブール値に変換する。

Parameters:
NameTypeDescription
value*

生のクエリ値(true/false のブール値、"true"/"false" の文字列、または undefined)。

Returns:

値が true または文字列 "true" のとき true、値が undefined のとき undefined。

Type: 
boolean

raceAbort(effect, signal) → {Effect}

effect を abort シグナルと競合させ、シグナルが発火したときに effect を中断する。

Parameters:
NameTypeDescription
effectEffect

実行する effect。

signalAbortSignal | undefined

abort シグナル。存在しない場合は effect がそのまま返される。

Returns:

元の effect。任意で abort と競合させたもの。

Type: 
Effect

readManagedPreferences() → {Promise.<(Object|undefined)>}

macOS では、管理対象 .plist を特定し、plutil で JSON に変換し、ペイロードのメタデータを取り除くことで、closedcode ドメインの MDM 配布された管理対象設定を読み取る。macOS 以外のプラットフォームでは何もしない。

Returns:

管理対象 plist が見つかった場合は {source, text} オブジェクト、それ以外の場合は undefined

Type: 
Promise.<(Object|undefined)>

registerOperation(registry, method, path, describe) → {void}

レジストリ内の method path に対する単一の OpenAPI オペレーションを登録し、responses/requestBody 内の Zod スキーマを JSON Schema へ解決する。

Parameters:
NameTypeDescription
registryObject

オペレーションをプッシュするレジストリ。

methodstring

HTTP メソッド(大文字小文字を区別しない)。

pathstring

Express 形式のルートパス(OpenAPI 形式に正規化される)。

describeObject

オペレーションのメタデータ(summary, description, operationId, responses, requestBody, parameters)。

Returns:
Type: 
void

render(name, platform, limits) → {Object}

指定したシェルとプラットフォーム向けに、完全なシェルツール定義をレンダリングする。プロファイル断片を説明テンプレートに差し込み、対応するパラメータスキーマを構築する。

Parameters:
NameTypeDescription
namestring

シェル名("bash"、"pwsh"、"powershell"、または "cmd")。

platformstring

Node のプラットフォーム文字列(例: "win32")。

limitsObject

maxLinesmaxBytes を持つ出力制限。

Returns:

description(文字列)と parameters(Schema)を持つオブジェクト。

Type: 
Object

renderPrompt(template, values) → {string}

テンプレート内の ${key} プレースホルダを対応する値で置換し、参照されたキーが見つからない場合は例外をスローする。

Parameters:
NameTypeDescription
templatestring

${key} プレースホルダを含むテンプレート文字列。

valuesObject

プレースホルダのキーから置換文字列へのマップ。

Returns:

すべてのプレースホルダが置換されたレンダリング済み文字列。

Type: 
string

replace(content, oldString, newString, replaceAll) → {string}

content 中の oldString の出現箇所を newString に置換する。各リプレーサ戦略を順に試し、いずれかがマッチを見つけるまで続ける。oldStringnewString と等しい場合、いずれのリプレーサもテキストを見つけられない場合、または(全置換でないとき)見つかったテキストが曖昧な場合(複数出現)には例外を投げる。

Parameters:
NameTypeDescription
contentstring

元のファイル内容。

oldStringstring

検索するテキスト(リプレーサのカスケードでマッチする)。

newStringstring

置換後のテキスト。

replaceAllboolean

true の場合はすべての出現を置換する。それ以外の場合は一意なマッチを要求する。

Returns:

置換を適用した後の内容。

Type: 
string

reportValidation(req, res, next) → {*}

express-validator のフィールドチェーンの失敗を、Zod バリデータと同じ 400 エンベロープで報告するミドルウェア。エラーがない場合はそのまま通過する。

Parameters:
NameTypeDescription
reqObject

Express リクエスト。

resObject

Express レスポンス。

nextfunction

検証に成功した場合に制御を引き渡す。

Returns:

失敗時は 400 の JSON 応答、それ以外は next() の結果。

Type: 
*

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

The Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(req) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
reqObject

Express request object.

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestAttributes(c) → {Object}

HTTP リクエストの基本スパン属性(HTTP メソッド、パス、マッチしたすべてのルートパラメータ)を構築する。

Parameters:
NameTypeDescription
cObject

リクエストコンテキスト(c.req を公開する Hono スタイルのコンテキスト)。

Returns:

OTel 属性キーから文字列値へのマップ。

Type: 
Object

requestURL(req) → {URL}

リクエストURLをURLへパースする。相対リクエストURLにはlocalhostをベースとして用いる。

Parameters:
NameTypeDescription
reqObject

The Express request (uses originalUrl/url).

Returns:

パース済みのリクエストURL。

Type: 
URL

requestURL(request) → {URL}

リクエストURLをURLへパースする。相対リクエストURLにはlocalhostをベースとして用いる。

Parameters:
NameTypeDescription
requestObject

HTTPサーバーリクエスト。

Returns:

パース済みのリクエストURL。

Type: 
URL

resolve(registry, zodSchema) → {Object}

Zod スキーマを OpenAPI 向けの JSON Schema フラグメントへ変換する。スキーマが .meta({ref}) 経由で ref を持つ場合、components/schemas 配下に登録され、インラインスキーマの代わりに $ref が返される。

Parameters:
NameTypeDescription
registryObject

名前付きスキーマを記録するレジストリ。

zodSchema*

変換対象の Zod スキーマ。

Returns:

JSON Schema フラグメント、または登録済みコンポーネントを指す {$ref}。

Type: 
Object

resolveRequestBody(registry, requestBody) → {Object}

OpenAPI requestBody 内のすべての content スキーマを解決し、Zod スキーマを JSON Schema へ変換する。

Parameters:
NameTypeDescription
registryObject

スキーマ変換に使用するレジストリ。

requestBodyObject

content スキーマが解決される requestBody オブジェクト。

Returns:

content スキーマが解決された新しい requestBody。

Type: 
Object

resolveTarget(workspace) → {Effect}

ワークスペースのプロジェクト/型アダプタ(例: ローカルディレクトリやリモートURL)を介して、ルーティングターゲットを解決する。

Parameters:
NameTypeDescription
workspaceObject

ターゲットを解決する対象のワークスペース。

Returns:

アダプタのターゲット記述子に解決されるeffect。

Type: 
Effect

resolveTools(input) → {Object}

利用可能なツールを、このリクエストで許可されたものに絞り込む。マージされたエージェント/リクエストの権限によって無効化されたツールと、ユーザーメッセージが明示的にオフにしたツールを除外する。

Parameters:
NameTypeDescription
inputObject

toolsagent.permissionpermissionuser.tools を含むリクエスト入力。

Returns:

絞り込み後のツールマップ。

Type: 
Object

resolveWasm(asset) → {string}

tree-sitter の wasm アセット参照を素のファイルシステムパスに解決する。file:// URL、絶対パス、モジュール相対参照を受け付ける。

Parameters:
NameTypeDescription
assetstring

アセット参照(URL、絶対パス、または相対パス)。

Returns:

解決されたファイルシステムパス。

Type: 
string

resolveWorkspace(id, envWorkspaceID) → {Effect}

環境変数のワークスペースIDによってルーティングが固定されていない限り、IDからワークスペースを検索する。

Parameters:
NameTypeDescription
id*

解決対象のワークスペースID(存在する場合)。

envWorkspaceID*

環境変数で固定されたワークスペースID。設定されている場合は解決をスキップする。

Returns:

ワークスペースに解決されるeffect。検索が不要な場合はvoid。

Type: 
Effect

resolveWorkspaceRoute(url, method, envWorkspaceID) → {Promise.<Object>}

受信リクエスト URL に対して有効なワークスペースとアダプターターゲットを解決する。 InstanceMiddleware / planRequest をミラーする。純粋な解決のみを行い、プロキシやレスポンスの書き込みは行わない。 選択ロジックを一箇所にまとめるため、HTTP ミドルウェアと WebSocket アップグレードハンドラーの両方から使用される。

Parameters:
NameTypeDescription
urlURL

絶対リクエスト URL(呼び出し側が構築する)

methodstring

HTTP メソッド(isLocalWorkspaceRoute 用)

envWorkspaceIDWorkspaceID | undefined

Flag.CLOSEDCODE_WORKSPACE_ID(既に WorkspaceID.make 済み)または undefined

Returns:

ワークスペースルートの解決結果。kind で判別される 3 つの形のいずれか:

  • { kind: "local", workspaceID, directory? } — ローカルで処理する
  • { kind: "missing", workspaceID } — 既知のワークスペースだが、ここでは解決できない
  • { kind: "remote", workspace, target, workspaceID }target へプロキシする
Type: 
Promise.<Object>

responseDescription(description) → {Object}

エンドポイントの 200 レスポンスの説明を上書きする OpenAPI 注釈を構築する。

Parameters:
NameTypeDescription
descriptionstring

操作の "200" レスポンスに設定する説明。

Returns:

200 レスポンスの説明を書き換えるトランスフォームを持つ OpenApi 注釈オブジェクト。

Type: 
Object

retryable(error) → {string|undefined}

エラーをリトライすべきかどうか、そうであればその人間可読な理由を判定する。5xx およびレートリミット系のエラー(ステータスコード、メッセージのヒューリスティック、またはパース済み JSON のエラーコードによる)をリトライ可能とみなす。コンテキストオーバーフローはリトライ不可。

Parameters:
NameTypeDescription
error*

分類対象のパース済みエラー。

Returns:

リトライ可能な場合はリトライ理由のメッセージ、そうでなければ undefined。

Type: 
string | undefined

rewriteRefs(input, from, to) → {void}

from コンポーネントを指すすべての $ref を、to コンポーネントを指すように再帰的に書き換える。

Parameters:
NameTypeDescription
input*

走査するスペックの値(オブジェクト/配列、その場で変更される)。

fromstring

変換元のコンポーネント名。

tostring

変換先のコンポーネント名。

Returns:
Type: 
void

routeHttpApiWorkspace(client, effect) → {Effect}

HttpApiリクエストをルーティングする。セッションが参照されている場合はそのワークスペースを解決し、リクエストをプランニングしてプランを実行する。

Parameters:
NameTypeDescription
clientObject

リモートプロキシに使用するHTTPクライアント。

effectEffect

Localプランで実行するローカルハンドラのeffect。

Returns:

結果のHTTPレスポンスに解決されるeffect。

Type: 
Effect

routeWorkspace(client, effect, plan) → {Effect}

リクエストプランを実行する。not-foundエラーを返す、リモートターゲットへプロキシする、またはWorkspaceRouteContextを提供してローカルハンドラのeffectを実行する。

Parameters:
NameTypeDescription
clientObject

リモートプロキシに使用するHTTPクライアント。

effectEffect

Localプランで実行するローカルハンドラのeffect。

plan*

planRequestが生成したRequestPlan

Returns:

結果のHTTPレスポンスに解決されるeffect。

Type: 
Effect

runEffect(name, req, effect) → {Promise}

リクエストの属性を持つ名前付きトレーシングスパン内で Effect を実行する。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

Express リクエストオブジェクト(スパン属性の導出に使用)。

effectEffect

スパン内で実行する Effect。

Returns:

Effect の成功値に解決する Promise。

Type: 
Promise

runRequest(name, req, effect) → {Promise.<*>}

Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

effectEffect

スパン内で実行する Effect。

Returns:

Effect の結果に解決される Promise。

Type: 
Promise.<*>

runRequest(name, req, effect) → {Promise.<*>}

Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

effectEffect

スパン内で実行する Effect。

Returns:

Effect の結果に解決される Promise。

Type: 
Promise.<*>

runRequest(name, req, effect) → {Promise.<*>}

Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

effectEffect

スパン内で実行する Effect。

Returns:

Effect の結果に解決される Promise。

Type: 
Promise.<*>

runRequest(name, req, effect) → {Promise.<*>}

Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

The Express request object.

effectEffect

スパン内で実行する Effect。

Returns:

Effect の結果に解決される Promise。

Type: 
Promise.<*>

runRequest(name, req, effect) → {Promise.<*>}

Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

Express request object (source of span attributes).

effectEffect

スパン内で実行する Effect。

Returns:

Effect の結果に解決される Promise。

Type: 
Promise.<*>

runRequest(name, c, effect) → {Promise.<*>}

Effect をトレース付き HTTP リクエストとして実行する。リクエストの属性を付与した name という名前のスパンでラップする。

Parameters:
NameTypeDescription
namestring

スパン名。

cObject

スパン属性の導出に使用するリクエストコンテキスト。

effectEffect

スパン内で実行する Effect。

Returns:

Effect の結果に解決される Promise。

Type: 
Promise.<*>

runRequestExpress(name, req, effect) → {Promise}

リクエストの属性を持つ名前付きトレーシングスパン内で Effect を実行する。

Parameters:
NameTypeDescription
namestring

スパン名。

reqObject

Express リクエストオブジェクト(スパン属性の導出に使用する)。

effectEffect

スパン内で実行する Effect。

Returns:

Effect の成功値に解決される Promise。

Type: 
Promise

sanitize(out) → {void}

Headers オブジェクトから hop-by-hop および内部ルーティングヘッダをインプレースで除去する。 hop-by-hop 集合に加え、accept-encoding および x-closedcode/x-opencode の directory/workspace ヘッダを取り除く。

Parameters:
NameTypeDescription
outHeaders

変更する Headers オブジェクト。

Returns:
Type: 
void

select() → {Object}

使用するサーバーバックエンドを選択する。

Returns:

選択されたバックエンドと、それが選択された理由。

Type: 
Object

selectedWorkspaceID(url, sessionWorkspaceID) → {*}

リクエストに対して選択されるワークスペースIDを決定する。workspaceクエリパラメータよりもセッションのワークスペースを優先する。

Parameters:
NameTypeDescription
urlURL

パース済みのリクエストURL。

sessionWorkspaceID*

リクエストのセッションに関連付けられたワークスペースID(存在する場合)。

Returns:

選択されたWorkspaceID。指定がない場合はundefined。

Type: 
*

serializeSearchParams()

URLSearchParams を、決定的なキーを得るためにソート済みの JSON オブジェクトへ変換する。

serveDocs(app, mountPath, spec) → {void}

ビルド済みの仕様を提供しつつ、swagger-ui のドキュメント UI を指定パスで Express アプリにマウントする。

Parameters:
NameTypeDescription
appObject

Express アプリケーション。

mountPathstring

ドキュメント UI をマウントするパス(例: "/docs")。

specObject

提供するビルド済みの OpenAPI ドキュメント。

Returns:
Type: 
void

(async) serveUI(req, res) → {Promise.<Object>}

リクエストパスに一致する組み込み Web UI アセットを配信する(一致しない場合は index.html にフォールバック)。コンテンツタイプを設定し、HTML の場合はデフォルトの CSP ヘッダーも設定する。

Parameters:
NameTypeDescription
reqObject

Express のリクエストオブジェクト(req.path を使用)。

resObject

Express のレスポンスオブジェクト。

Returns:

Express レスポンスに解決される Promise(アセットありで 200、見つからない場合は 404、バンドルがない場合は 503)。

Type: 
Promise.<Object>

serveUIEffect(request, services) → {Effect}

指定されたリクエストに対し、組み込み Web UI バンドルから静的ファイルを提供する。リクエストパスを組み込みマニフェストに照合し(マッチしない場合は index.html にフォールバック)、マッチしたファイルを読み込み、適切な content-type および CSP ヘッダーを付与して返す。アセットが見つからない場合は 404 を、ビルドに組み込み Web UI がない場合は 503 を返す。

Parameters:
NameTypeDescription
requestObject

その url がバンドルに照合される HTTP リクエスト。

servicesObject

fs.existsSafe および fs.readFile を提供するサービスバッグ。

Returns:

送信する HttpServerResponse を生成する Effect。

Type: 
Effect

shellDisplayName(name) → {string}

内部シェル名を人間が読める表示名にマッピングする。

Parameters:
NameTypeDescription
namestring

内部シェル名(例: 「pwsh」、「powershell」、「cmd」)。

Returns:

表示名。認識されない場合は入力をそのまま返す。

Type: 
string

shouldStayOnControlPlane(request, url) → {boolean}

ワークスペース選択に関わらず、リクエストをコントロールプレーンで処理すべきか(ローカルワークスペースのルートおよび/consoleパス)を判定する。

Parameters:
NameTypeDescription
requestObject

HTTPサーバーリクエスト。

urlURL

パース済みのリクエストURL。

Returns:

リクエストをコントロールプレーンに留めるべき場合はtrue。

Type: 
boolean

sliceAfterMatch(filePath, searchRoots) → {string|undefined}

(スラッシュ区切りに正規化された)パスのうち、最初に一致する検索ルートに続く部分を返す。一致するルートがない場合は undefined を返す。

Parameters:
NameTypeDescription
filePathstring

調査するファイルパス(Windows または POSIX の区切り文字)。

searchRootsArray.<string>

優先順位順に一致を試みるルート部分文字列。

Returns:

一致したルート以降のパスのスライス、または undefined

Type: 
string | undefined

source(node) → {string}

置換入力のソース識別子(エラー報告に使用)を解決する。

Parameters:
NameTypeDescription
nodeObject

A tree-sitter command syntax node.

Returns:

type が "path" の場合は設定ファイルのパス、それ以外の場合は与えられた source 文字列。

Type: 
string

source(input) → {string}

置換入力のソース識別子(エラー報告に使用)を解決する。

Parameters:
NameTypeDescription
inputObject

{type: "path", path} の入力、または独自の source を持つ入力。

Returns:

type が "path" の場合は設定ファイルのパス、それ以外の場合は与えられた source 文字列。

Type: 
string

splitTurn(input) → {Effect}

単一ターン内で、接尾部 [start, turn.end) が残りのトークンバジェットに収まる最も早い分割点を見つける。これにより、サイズ超過のターンの一部だけでも末尾に保持できる。

Parameters:
NameTypeDescription
inputObject

{ turn, messages, model, budget, estimate }。分割対象のターン、メッセージリスト全体、モデル、残りのトークンバジェット、見積もり用の Effect 関数。

Returns:

選択された分割点の { start, id } を生成する Effect、どれも収まらない場合は undefined。

Type: 
Effect

(async) sqlite(h, sessionID) → {Promise.<Object>}

sequelizeを基盤とする同期版SessionMessageUpdaterアダプタを構築する。セッションのアシスタント/コンパクション/シェルメッセージを事前読み込みし、updaterが同期的に呼び出せるゲッター/セッターを公開し、すべての書き込みをキューに入れて、updaterの終了後に(順序を保って)フラッシュできるようにする。

Parameters:
NameTypeDescription
hObject

Sequelizeハンドル{ models, sequelize, tx }

sessionIDstring

メッセージを投影する対象のセッション。

Returns:

{ adapter, flush }のPromise。adapterは同期版updaterインターフェース、flushはキューに入った書き込みを実行する。

Type: 
Promise.<Object>

stableSchema(input, schemas) → {string}

スキーマを正規化(キーをソート、説明を除去、ref を正規化)し、比較可能な安定した文字列を生成する。

Parameters:
NameTypeDescription
input*

シリアライズするスキーマ(またはスキーマの断片)。

schemasObject

$ref を正規化するために使用するコンポーネントスキーマのマップ。

Returns:

構造比較用の決定論的な JSON 文字列。

Type: 
string

stop(close) → {Promise.<void>}

サーバーを停止し、完全にクローズされたら解決する。冪等。

Parameters:
NameTypeDescription
closeboolean

true の場合、すべての(アイドルおよびアクティブな)接続も強制的にクローズする。

Returns:

サーバーがクローズされたときに解決される。

Type: 
Promise.<void>

stream(sessionID) → {AsyncGenerator}

セッションの全メッセージを時系列(古い順)に非同期イテレートする。固定サイズのバッチでデータベースをページングする。

Parameters:
NameTypeDescription
sessionIDstring

メッセージをストリームする対象のセッション。

Returns:

{ info, parts } メッセージを順に yield する。

Type: 
AsyncGenerator

streamEvents(res, req, subscribe) → {void}

Server-Sent Events をクライアントへストリーミングする。SSE ヘッダーを設定し、最初に connected イベントと定期的な ハートビートを送出し、AsyncQueue をレスポンスへポンプし、リクエストがクローズされたらすべてを解体する。

Parameters:
NameTypeDescription
resObject

Express レスポンスオブジェクト。

reqObject

Express リクエストオブジェクト。

subscribefunction

AsyncQueue を引数として呼び出される。イベントをキューにプッシュし、unsubscribe 関数を返すこと。

Returns:
Type: 
void

stripOptionalNull(schema) → {Object}

Effect の Schema.optional が OpenAPI のユニオンに追加する {type:"null"} の分岐を除去する。allOf/anyOf/oneOfitemspropertiesadditionalProperties に再帰的に処理し、単一分岐のユニオンは折りたたむ。

Parameters:
NameTypeDescription
schemaObject

正規化するスキーマ(変更されて返される)。

Returns:

optional-null の分岐を除去したスキーマ。

Type: 
Object

submitTuiRequest(body) → {void}

接続済みの TUI が取り出すための TUI リクエストをキューに入れる。

Parameters:
NameTypeDescription
bodyObject

キューに入れる TUI リクエスト({path, body})。

Returns:
Type: 
void

submitTuiResponse(body) → {void}

callTui で待機している発信元の呼び出し元向けに TUI レスポンスをキューに入れる。

Parameters:
NameTypeDescription
body*

キューに入れるレスポンスペイロード。

Returns:
Type: 
void

substitute(input) → {Promise.<string>}

設定テキストに {env:VAR} および {file:path} の置換を適用する。{env:VAR} は環境変数の値に置換される(未設定の場合は空文字列)。{file:path} は参照先ファイルの内容を trim し JSON エスケープしたもので置換される。相対パスは設定ディレクトリを基準に解決され、~/ はホームディレクトリに展開され、// で始まる行のトークンはそのまま残される。存在しないファイルは input.missing に応じて InvalidError をスローするか空に展開される。

Parameters:
NameTypeDescription
inputObject

置換入力。

Properties
NameTypeDescription
textstring

処理対象の生の設定テキスト。

missingstring

存在しないファイルの扱い: "error"(デフォルト、スローする)または "empty"。

typestring

判別子。"path" の場合、dir/source に input.path を使用する。

pathstring

設定ファイルのパス(type が "path" の場合)。

dirstring

相対参照の基準ディレクトリ(type が "path" でない場合)。

sourcestring

エラーメッセージ用のソース識別子(type が "path" でない場合)。

Returns:

すべての env トークンと file トークンを展開したテキスト。

Type: 
Promise.<string>

summaryText(message) → {string}

メッセージのトリム済みテキストパートを連結し、1 つのサマリー文字列にする。

Parameters:
NameTypeDescription
messageObject

parts 配列を持つメッセージ。

Returns:

連結された空でないテキスト、存在しない場合は undefined。

Type: 
string

systemManagedConfigDir() → {string}

管理対象 (MDM 配布) の closedcode 設定について、OS 固有のシステムディレクトリを解決する。

Returns:

現在のプラットフォームにおける管理対象設定ディレクトリのパス。

Type: 
string

tail(text, maxLines, maxBytes) → {Object}

指定された行数とバイト数の予算内で出力の末尾のみを保持し、最後の長すぎる行を UTF-8 境界で文字途中で切り詰める。

Parameters:
NameTypeDescription
textstring

出力テキスト全体。

maxLinesnumber

保持する末尾行の最大数。

maxBytesnumber

保持テキストの最大バイト予算。

Returns:

{text, cut} オブジェクト。cut は切り詰めが発生したことを示す。

Type: 
Object

toKind(value) → {string}

任意のシェル名を既知の種別へ正規化し、該当がなければ「bash」にフォールバックする。

Parameters:
NameTypeDescription
valuestring

分類するシェル名。

Returns:

認識済みのシェル種別(「bash」、「pwsh」、「powershell」、または「cmd」)。

Type: 
string

toModelMessages(input, model, options) → {Promise.<Array>}

toModelMessagesEffect を logger レイヤーとともに実行する Promise ラッパー。

Parameters:
NameTypeDescription
inputArray

保存されたメッセージ。各要素は { info, parts }

modelObject

対象モデル { id, providerID }

optionsObject

任意の制御 { stripMedia, toolOutputMaxChars }

Returns:

プロバイダーのモデルメッセージ配列に解決される。

Type: 
Promise.<Array>

toPartialRow(info) → {Object}

部分的なセッション更新情報オブジェクトを部分的な sqlite 行へマッピングする。ネストした share/summary/time フィールドをそのカラム名へ平坦化し、値が undefined に解決されたキーをすべて除去する(存在しないフィールドが上書きされないようにする)。

Parameters:
NameTypeDescription
infoObject

部分的なセッション更新情報。

Returns:

更新対象のカラムのみを含む部分的な行オブジェクト。

Type: 
Object

traceContext(req) → {Object}

Express リクエストを trace.js が期待する最小限のコンテキスト形状に適合させる。

Parameters:
NameTypeDescription
reqObject

Express のリクエストオブジェクト。

Returns:

req.methodreq.url、および req.param() アクセサを持つコンテキスト。

Type: 
Object

trimDiff(diff) → {string}

unified diff のすべての内容行(+/-/スペース)が共有する共通の先頭インデントを除去する。+/-/スペースのプレフィックスと ---/+++ のヘッダ行はそのまま残すため、diff が大きな一律のインデントなしでレンダリングされる。

Parameters:
NameTypeDescription
diffstring

unified diff 文字列。

Returns:

内容行の共有インデントを除去した diff(共有インデントがない場合は変更なし)。

Type: 
string

truncateToolOutput(text, maxChars) → {string}

コンパクション向けに、ツール出力を最大文字数まで切り詰め、省略した文字数を示すマーカーを付加する。maxChars が falsy であるか、テキストが既に収まっている場合は、テキストをそのまま返す。

Parameters:
NameTypeDescription
textstring

ツール出力のテキスト。

maxCharsnumber

許容される最大長。制限なしの場合は 0/undefined。

Returns:

(必要に応じて切り詰められた)テキスト。

Type: 
string

turns(messages) → {Array}

メッセージリストを会話のターンに分割する。各ターンは非コンパクションのユーザーメッセージで始まり、次のターンの開始位置(またはリスト末尾)で終わる。

Parameters:
NameTypeDescription
messagesArray

順序付けされたセッションメッセージ。各要素は { info, parts }

Returns:

ターン記述子 { start, end, id }(半開区間 [start, end) のインデックス)。

Type: 
Array

unpublish() → {void}

アクティブな mDNS/Bonjour 広告(存在する場合)を破棄し、内部状態をリセットする。

Returns:
Type: 
void

unquote(text) → {string}

周囲を囲むシングルクォートまたはダブルクォートが一致する1組を取り除く。

Parameters:
NameTypeDescription
textstring

クォートされている可能性のあるトークンテキスト。

Returns:

クォートを除いたテキスト。クォートされていなければ入力をそのまま返す。

Type: 
string

unquoteGitPath(input) → {string}

git の "C-quoted" パス(git がダブルクォートで囲み、バックスラッシュ/8進エスケープを施したパス)を、本来の UTF-8 形式にデコードして返す。クォートされたパスでない場合は入力をそのまま返す。

Parameters:
NameTypeDescription
inputstring

git が出力したパス。エスケープシーケンスを含むダブルクォート付きの場合がある。

Returns:

デコードされたパス。クォートされていなかった場合は元の入力。

Type: 
string

(async) update(h, event) → {Promise.<void>}

単一のセッションメッセージイベントをストアに適用する。アダプタを構築し、それに対して同期版updaterを実行し、キューに入った書き込みをフラッシュする。

Parameters:
NameTypeDescription
hObject

Sequelizeハンドル{ models, sequelize, tx }

eventObject

投影するセッションメッセージイベント{ id, type, data }

Returns:

投影が永続化されたら解決する。

Type: 
Promise.<void>

usable(input) → {number}

モデルの利用可能な入力トークン予算を計算し、レスポンス用のヘッドルームを確保する。利用可能な場合はモデルの明示的な入力上限から予約バッファを差し引いた値を用い、それ以外はコンテキストウィンドウから最大出力トークンを差し引いた値を用いる。

Parameters:
NameTypeDescription
inputObject

モデルの上限と設定(compaction.reserved)を含む{ model, cfg }

Returns:

利用可能な入力トークン予算(コンテキストが0の場合は0)。

Type: 
number

validateCredential(effect, credential, config) → {Effect}

認証が不要であるか、または資格情報が許可されている場合にのみ effect を実行する。そうでない場合は Unauthorized HttpApi エラーで失敗する。

Parameters:
NameTypeDescription
effectEffect

成功時に実行する、保護されたハンドラー effect。

credentialObject

デコード済みの資格情報(パスワードは Redacted 値)。

configObject

サーバー認証設定(usernamepassword)。

Returns:

effect を実行するか、HttpApiError.Unauthorized で失敗する effect。

Type: 
Effect

validateRawCredential(effect, credential, config) → {Effect}

ルーターレベルの資格情報チェック。認証が不要であるか資格情報が許可されている場合は effect をそのまま通過させ、そうでない場合は空の 401 レスポンスで短絡する。

Parameters:
NameTypeDescription
effectEffect

成功時に実行する、保護されたハンドラー effect。

credentialObject

デコード済みの資格情報(パスワードは Redacted 値)。

configObject

サーバー認証設定。

Returns:

effect、または空の 401 レスポンスで成功する effect のいずれか。

Type: 
Effect

validator(target, zodSchema) → {function}

選択したリクエストセグメントを Zod スキーマで検証するミドルウェアを構築する。 成功時はパース済みの値を req.valid[target] に格納し、失敗時は { data, errors, success: false } とともに 400 で応答する。

Parameters:
NameTypeDescription
targetstring

検証対象のセグメント: "json"、"param"、または "query"。

zodSchema*

safeParse によって検証を行う Zod スキーマ。

Returns:

Express ミドルウェア (req, res, next)。

Type: 
function

wait(workspaceID, state, signal) → {Promise.<void>}

アプリランタイム上で waitEffect を実行し、ワークスペースがターゲット状態に達するまでブロックする。

Parameters:
NameTypeDescription
workspaceIDstring

待機対象のワークスペース。

stateObject

待機するターゲットのシーケンスマップ(aggregate_id から seq)。

signal*

待機をキャンセルする任意の AbortSignal。

Returns:

ワークスペースが完全に同期された時点で解決する。

Type: 
Promise.<void>

waitEffect(workspaceID, state, signal) → {Effect}

指定したワークスペースがターゲット状態に同期するまでブロックする Effect を構築する。

Parameters:
NameTypeDescription
workspaceIDstring

待機対象のワークスペース。

stateObject

待機するターゲットのシーケンスマップ(aggregate_id から seq)。

signal*

待機をキャンセルする任意の AbortSignal。

Returns:

ワークスペースが完全に同期された時点で解決する Effect。

Type: 
Effect

waitForAbort(signal) → {Effect}

指定された abort シグナルが発火したときに中断する effect を構築する。

Parameters:
NameTypeDescription
signalAbortSignal | undefined

監視する abort シグナル。存在しない場合、effect は決して完了しない。

Returns:

abort 時に中断する effect(既に中断済みの場合は即座に、シグナルがない場合は決して完了しない)。

Type: 
Effect

webHandler(corsOptions) → {function}

サーバー用の Web(Fetch スタイル)リクエストハンドラーを取得する。CORS オプションが指定されない場合はメモ化されたデフォルトハンドラーを返す。それ以外の場合は、指定された CORS オプションで新しいハンドラーを構築する(デフォルトルートのメモ化が再利用されないよう、非共有のメモマップを使用する)。

Parameters:
NameTypeDescription
corsOptions*

任意指定のサーバー CORS 設定。cors リストが空または未指定の場合はデフォルトハンドラーが使用される。

Returns:

Web リクエストハンドラー関数。

Type: 
function

webSource(request) → {Request|undefined}

サーバーリクエストから、存在すれば基盤となる web Request を抽出する。

Parameters:
NameTypeDescription
requestObject

HTTP サーバーリクエスト。

Returns:

ネイティブの Request ソース、web Request でない場合は undefined。

Type: 
Request | undefined

websocket(request, target) → {Effect}

WebSocket アップグレードリクエストをターゲット URL へプロキシし、クライアントとターゲット間でメッセージを双方向にパイプする。close イベントを両方向に転送し、ソケットエラーを close フレームへ変換する。

Parameters:
NameTypeDescription
requestObject

受信した HTTP サーバーリクエスト(アップグレードをサポートしている必要がある)。

targetstring

上流の WebSocket を開く対象のターゲット URL。

Returns:

アップグレードが確立された時点で空の HTTP レスポンスに解決される effect。

Type: 
Effect

websocketProtocols(input) → {Array}

sec-websocket-protocol ヘッダから要求された WebSocket サブプロトコルをパースする。

Parameters:
NameTypeDescription
inputRequest | Object

Request、または "sec-websocket-protocol" ヘッダを公開するプレーンオブジェクト。

Returns:

トリムされた空でないプロトコル名の配列(ヘッダが存在しない場合は空)。

Type: 
Array

websocketTargetURL(url) → {string}

プロキシ用に http(s) URL を対応する WebSocket(ws/wss)形式に変換する。

Parameters:
NameTypeDescription
urlstring

変換元の URL(通常は http: または https:)。

Returns:

プロトコルを適切に ws: または wss: にマッピングした URL 文字列。

Type: 
string

workspaceProxyURL(target, requestURL) → {URL}

リモートワークスペースのターゲットへリクエストをプロキシする際に使用するアップストリーム URL を構築する。 ターゲットのベースパスとリクエストのパス名を結合し、リクエストの search/hash を引き継ぎ、 内部用の workspace クエリパラメータを除去する。

Parameters:
NameTypeDescription
targetstring

リモートワークスペースアダプターのベース URL。

requestURLURL

プロキシ対象となる受信リクエストの URL。

Returns:

完全修飾されたプロキシ先 URL。

Type: 
URL

wrap(id, init, truncate, agents) → {function}

ツールの解決済み info をラップし、その execute() が引数をツールのパラメータスキーマに対してデコード/検証し、(結果がすでに切り詰め状態を報告していない限り)出力の切り詰めを適用し、トレースのスパンを記録するようにする。

Parameters:
NameTypeDescription
idstring

ツール識別子(エラーメッセージやスパン属性で使用される)。

initObject | function

解決済みのツール info、またはそれを返す関数。いずれの形式でも parameters、execute、および任意の formatValidationError を提供する。

truncateObject

過大なツール出力を上限で抑え、全コンテンツをディスクへ永続化する Truncate サービス。

agentsObject

現在のエージェントを参照する(切り詰めヒントを調整するため)に使用する Agent サービス。

Returns:

execute() がラップされたツール info を遅延的に生成する引数なしの関数。

Type: 
function