earendil-works/pi · error

Hugging Face returned invalid search results

Error message

Hugging Face returned invalid search results

What it means

Error "Hugging Face returned invalid search results" thrown in earendil-works/pi.

Source

Thrown at packages/coding-agent/src/extensions/llama/huggingface.ts:109

				throw new Error(
					delay ? `Hugging Face rate limit reached; retry in ${delay}s` : "Hugging Face rate limit reached",
				);
			}
			throw new Error(payloadError(payload, fallback));
		}
		return payload;
	}

	async search(query: string, signal?: AbortSignal): Promise<HuggingFaceModel[]> {
		const params = new URLSearchParams({
			search: query,
			filter: "gguf",
			sort: "downloads",
			direction: "-1",
			limit: "20",
		});
		const payload = await this.request(`/api/models?${params}`, signal);
		if (!Array.isArray(payload)) throw new Error("Hugging Face returned invalid search results");
		return payload.flatMap((value) => {
			if (typeof value !== "object" || value === null || typeof (value as { id?: unknown }).id !== "string")
				return [];
			const model = value as { id: string; downloads?: unknown };
			return [{ id: model.id, downloads: typeof model.downloads === "number" ? model.downloads : 0 }];
		});
	}

	async details(id: string, signal?: AbortSignal): Promise<HuggingFaceModelDetails> {
		const encodedId = id.split("/").map(encodeURIComponent).join("/");
		const payload = await this.request(`/api/models/${encodedId}?blobs=true`, signal);
		if (typeof payload !== "object" || payload === null) {
			throw new Error("Hugging Face returned invalid model details");
		}
		const model = payload as { id?: unknown; gated?: unknown; siblings?: unknown };
		const sizes = new Map<string, { total: number; complete: boolean }>();
		if (Array.isArray(model.siblings)) {
			for (const value of model.siblings) {

View on GitHub (pinned to 4af9d21d3b)

When it happens

Trigger: Thrown at packages/coding-agent/src/extensions/llama/huggingface.ts:109 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24). Data as JSON: /api/errors/f5db1c78ad0f2be5. Report an issue: GitHub.