mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 20:40:43 +00:00
refactor(models): move suppressions to manifests
This commit is contained in:
@@ -248,7 +248,7 @@ The "When to use" column is the quick decision guide.
|
||||
| 28 | `classifyFailoverReason` | Provider-owned failover reason classification | Provider can map raw API/transport errors to rate-limit/overload/etc |
|
||||
| 29 | `isCacheTtlEligible` | Prompt-cache policy for proxy/backhaul providers | Provider needs proxy-specific cache TTL gating |
|
||||
| 30 | `buildMissingAuthMessage` | Replacement for the generic missing-auth recovery message | Provider needs a provider-specific missing-auth recovery hint |
|
||||
| 31 | `suppressBuiltInModel` | Stale upstream model suppression plus optional user-facing error hint | Provider needs to hide stale upstream rows or replace them with a vendor hint |
|
||||
| 31 | `suppressBuiltInModel` | Deprecated. Runtime hook is no longer called; use manifest `modelCatalog.suppressions` | Historical hook for hiding stale upstream rows; keep new suppression data in the plugin manifest |
|
||||
| 32 | `augmentModelCatalog` | Synthetic/final catalog rows appended after discovery | Provider needs synthetic forward-compat rows in `models list` and pickers |
|
||||
| 33 | `resolveThinkingProfile` | Model-specific `/think` level set, display labels, and default | Provider exposes a custom thinking ladder or binary label for selected models |
|
||||
| 34 | `isBinaryThinking` | On/off reasoning toggle compatibility hook | Provider exposes only binary thinking on/off |
|
||||
|
||||
@@ -735,11 +735,10 @@ Alias targets must be top-level providers owned by the same plugin. When a
|
||||
provider-filtered list uses an alias, OpenClaw can read the owning manifest and
|
||||
apply alias API/base URL overrides without loading provider runtime.
|
||||
|
||||
`suppressions` is the preferred static replacement for provider runtime
|
||||
`suppressBuiltInModel` hooks. Suppression entries are honored only when the
|
||||
provider is owned by the plugin or declared as a `modelCatalog.aliases` key that
|
||||
targets an owned provider. Runtime suppression hooks still run as deprecated
|
||||
compatibility fallback for plugins that have not migrated.
|
||||
`suppressions` replaces the old provider runtime `suppressBuiltInModel` hook.
|
||||
Suppression entries are honored only when the provider is owned by the plugin or
|
||||
declared as a `modelCatalog.aliases` key that targets an owned provider. Runtime
|
||||
suppression hooks are no longer called during model resolution.
|
||||
|
||||
Provider fields:
|
||||
|
||||
@@ -772,6 +771,16 @@ Model fields:
|
||||
| `replacedBy` | `string` | Replacement provider-local model id for deprecated rows. |
|
||||
| `tags` | `string[]` | Stable tags used by pickers and filters. |
|
||||
|
||||
Suppression fields:
|
||||
|
||||
| Field | Type | What it means |
|
||||
| -------------------------- | ---------- | --------------------------------------------------------------------------------------------------------- |
|
||||
| `provider` | `string` | Provider id for the upstream row to suppress. Must be owned by this plugin or declared as an owned alias. |
|
||||
| `model` | `string` | Provider-local model id to suppress. |
|
||||
| `reason` | `string` | Optional message shown when the suppressed row is requested directly. |
|
||||
| `when.baseUrlHosts` | `string[]` | Optional list of effective provider base URL hosts required before the suppression applies. |
|
||||
| `when.providerConfigApiIn` | `string[]` | Optional list of exact provider-config `api` values required before the suppression applies. |
|
||||
|
||||
Do not put runtime-only data in `modelCatalog`. If a provider needs account
|
||||
state, an API request, or local process discovery to know the complete model
|
||||
set, declare that provider as `refreshable` or `runtime` in `discovery`.
|
||||
|
||||
@@ -452,7 +452,7 @@ API key auth, and dynamic model resolution.
|
||||
| 27 | `classifyFailoverReason` | Provider-owned rate-limit/overload classification |
|
||||
| 28 | `isCacheTtlEligible` | Prompt cache TTL gating |
|
||||
| 29 | `buildMissingAuthMessage` | Custom missing-auth hint |
|
||||
| 30 | `suppressBuiltInModel` | Hide stale upstream rows |
|
||||
| 30 | `suppressBuiltInModel` | Deprecated. Runtime hook is no longer called; use manifest `modelCatalog.suppressions` |
|
||||
| 31 | `augmentModelCatalog` | Synthetic forward-compat rows |
|
||||
| 32 | `resolveThinkingProfile` | Model-specific `/think` option set |
|
||||
| 33 | `isBinaryThinking` | Binary thinking on/off compatibility |
|
||||
|
||||
@@ -110,7 +110,7 @@ For the plugin authoring guide, see [Plugin SDK overview](/plugins/sdk-overview)
|
||||
| `plugin-sdk/provider-env-vars` | Provider auth env-var lookup helpers |
|
||||
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
|
||||
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, shared replay-policy builders, provider-endpoint helpers, and model-id normalization helpers such as `normalizeNativeXaiModelId` |
|
||||
| `plugin-sdk/provider-catalog-runtime` | Provider catalog runtime hook and plugin-provider registry seams for contract tests |
|
||||
| `plugin-sdk/provider-catalog-runtime` | Provider catalog augmentation runtime hook and plugin-provider registry seams for contract tests |
|
||||
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-http` | Generic provider HTTP/endpoint capability helpers, provider HTTP errors, and audio transcription multipart form helpers |
|
||||
| `plugin-sdk/provider-web-fetch-contract` | Narrow web-fetch config/selection contract helpers such as `enablePluginInConfig` and `WebFetchProviderPlugin` |
|
||||
|
||||
Reference in New Issue
Block a user