earendil-works/pi · error · Error
Provider id must not be empty.
Error message
Provider id must not be empty.
What it means
Error "Provider id must not be empty." thrown in earendil-works/pi.
Source
Thrown at packages/coding-agent/src/core/model-runtime.ts:734
} catch (error) {
if (!options.signal?.aborted) {
errors.set(providerId, error instanceof Error ? error : new Error(String(error)));
}
}
}),
);
} else {
try {
await this.queueAvailabilityRefresh(options.signal);
} catch {
// Availability errors are recorded by the latest pass; refreshed models remain usable.
}
}
return { aborted: result.aborted || (options.signal?.aborted ?? false), errors };
}
registerNativeProvider(provider: Provider): void {
if (!provider.id.trim()) throw new Error("Provider id must not be empty.");
this.extensionProviders.delete(provider.id);
this.nativeExtensionProviders.set(provider.id, provider);
this.recomposeProvider(provider.id);
this.updateModelSnapshot();
void this.refresh({ allowNetwork: false });
}
registerProvider(providerId: string, config: ProviderConfigInput): void {
// Validate the incoming registration on its own, like the legacy registry:
// a broken re-registration must throw without touching the stored config.
validateExtensionProvider(providerId, this.builtins.get(providerId), this.config.getProvider(providerId), config);
this.nativeExtensionProviders.delete(providerId);
// Re-registration merges defined values over the previous registration and
// preserves undefined ones, matching the legacy ModelRegistry contract.
const previous = this.extensionProviders.get(providerId);
const effective: ProviderConfigInput = { ...previous };
for (const [key, value] of Object.entries(config)) {
if (value !== undefined) (effective as Record<string, unknown>)[key] = value;View on GitHub (pinned to 4af9d21d3b)
When it happens
Trigger: Thrown at packages/coding-agent/src/core/model-runtime.ts:734 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/450dc05a9a08838a.
Report an issue: GitHub.