diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ff5c35..3d5207f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## Unreleased +- Allow pi to start when the model list fetch fails due to no network connectivity. Command Code models are fetched live when online; if the provider starts offline, run `/reload` once connected to refresh the model catalog. + +### Contributors + +- @k3-2o — reported that the model-list fetch blocked pi startup when offline. + ## 0.4.2 - 2026-07-05 - Fix Oh My Pi extension validation by avoiding the missing `calculateCost` export from OMP's legacy `pi-ai` shim. diff --git a/index.ts b/index.ts index b7fb6d9..5fa47e1 100644 --- a/index.ts +++ b/index.ts @@ -17,7 +17,7 @@ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent" import { COMMAND_CODE_CLI_VERSION, createStreamCommandCode, DEFAULT_API_BASE } from "./src/core.ts" import { calculateCommandCodeCost } from "./src/cost.ts" -import { DEFAULT_MODELS_URL, fetchCommandCodeModels } from "./src/models.ts" +import { DEFAULT_MODELS_URL, fetchCommandCodeModels, type CommandCodeModel } from "./src/models.ts" import { getApiKey, login, refreshToken } from "./src/oauth.ts" const API_BASE = process.env.COMMANDCODE_API_BASE ?? DEFAULT_API_BASE @@ -79,7 +79,12 @@ const streamCommandCode = createStreamCommandCode({ // --------------------------------------------------------------------------- export default async function (pi: ExtensionAPI) { - const models = await fetchCommandCodeModels({ url: MODELS_URL }) + let models: readonly CommandCodeModel[] + try { + models = await fetchCommandCodeModels({ url: MODELS_URL }) + } catch { + models = [] + } pi.registerProvider("commandcode", { name: "Command Code",