跳到正文
本頁目錄

JSON-RPC 規範

lipd 通過 JSON-RPC 2.0 接口暴露 lip 的核心能力。規範性定義見 lipd 規範。

OpenRPC 規範

關於全部方法、參數與返回類型的完整且嚴格定義,請參閱我們的 OpenRPC schema:

lipd.v4.openrpc.json

該 schema 定義了:

  • 所有可用 RPC 方法(如 Install、List、Versions)。
  • 輸入參數及其類型。
  • 返回值。
  • 服務端發給客戶端的請求(PrintInfo、PrintSuccess、PrintWarning、PrintError 和 ReportProgress),客戶端以 null 應答。

參數可以按位置(按 schema 中的順序)或按名稱傳遞。

環境參數

Install、Uninstall 和 Update 的最後一個參數是可選的,對應 CLI 選項 --rid:

參數類型說明
ridstring | null.NET RID,例如 "win-x64"。為 null、"" 或省略時使用鎖中的值或 lip 自身的 RID。

Update 的 packages 參數可以為空,表示更新所有顯式安裝的包。

錯誤與取消

方法失敗時以 JSON-RPC 錯誤響應,其 message 說明原因,工作區的狀態與對應 lip 命令失敗時相同。客戶端可以用通知 $/cancelRequest { "id": <请求 id> } 取消一個尚未完成的請求:被取消的 Install、Uninstall 或 Update 會撤銷其修改,並以錯誤響應。客戶端可以在先前的請求得到響應之前發送新的請求,但發現同一工作區上已有另一個 Install、Uninstall 或 Update 在運行時,該操作會立即失敗。