diff --git a/extensions/cerebras/api.ts b/extensions/cerebras/api.ts index a5cb771c9d8c..e53a96f762ce 100644 --- a/extensions/cerebras/api.ts +++ b/extensions/cerebras/api.ts @@ -1,3 +1,6 @@ +/** + * Public Cerebras provider plugin API exports. + */ export { buildCerebrasModelDefinition, CEREBRAS_BASE_URL, diff --git a/extensions/cerebras/index.ts b/extensions/cerebras/index.ts index 99fa2fe83403..514a08b9d5ab 100644 --- a/extensions/cerebras/index.ts +++ b/extensions/cerebras/index.ts @@ -1,3 +1,6 @@ +/** + * Cerebras provider plugin entrypoint. + */ import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry"; import { applyCerebrasConfig, CEREBRAS_DEFAULT_MODEL_REF } from "./onboard.js"; import { buildCerebrasProvider } from "./provider-catalog.js"; diff --git a/extensions/cerebras/models.ts b/extensions/cerebras/models.ts index 8c5ecc29ad26..58de3addf274 100644 --- a/extensions/cerebras/models.ts +++ b/extensions/cerebras/models.ts @@ -1,12 +1,18 @@ +/** + * Cerebras model catalog helpers derived from the plugin manifest. + */ import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared"; import type { ModelDefinitionConfig } from "openclaw/plugin-sdk/provider-model-shared"; import manifest from "./openclaw.plugin.json" with { type: "json" }; const CEREBRAS_MANIFEST_CATALOG = manifest.modelCatalog.providers.cerebras; +/** Base URL for Cerebras OpenAI-compatible inference. */ export const CEREBRAS_BASE_URL = CEREBRAS_MANIFEST_CATALOG.baseUrl; +/** Cerebras model catalog entries from the plugin manifest. */ export const CEREBRAS_MODEL_CATALOG = CEREBRAS_MANIFEST_CATALOG.models; +/** Builds normalized Cerebras catalog model definitions. */ export function buildCerebrasCatalogModels(): ModelDefinitionConfig[] { return buildManifestModelProviderConfig({ providerId: "cerebras", @@ -14,6 +20,7 @@ export function buildCerebrasCatalogModels(): ModelDefinitionConfig[] { }).models; } +/** Builds one normalized Cerebras model definition from a manifest entry. */ export function buildCerebrasModelDefinition( model: (typeof CEREBRAS_MODEL_CATALOG)[number], ): ModelDefinitionConfig { diff --git a/extensions/cerebras/onboard.ts b/extensions/cerebras/onboard.ts index 92a5b4afb0f7..23b855c3f83e 100644 --- a/extensions/cerebras/onboard.ts +++ b/extensions/cerebras/onboard.ts @@ -1,3 +1,6 @@ +/** + * Cerebras onboarding config helpers. + */ import { createModelCatalogPresetAppliers, type OpenClawConfig, @@ -8,6 +11,7 @@ import { CEREBRAS_MODEL_CATALOG, } from "./models.js"; +/** Default Cerebras model reference used after onboarding. */ export const CEREBRAS_DEFAULT_MODEL_REF = "cerebras/zai-glm-4.7"; const cerebrasPresetAppliers = createModelCatalogPresetAppliers({ @@ -21,6 +25,7 @@ const cerebrasPresetAppliers = createModelCatalogPresetAppliers({ }), }); +/** Applies Cerebras provider/catalog config and default model aliases. */ export function applyCerebrasConfig(cfg: OpenClawConfig): OpenClawConfig { return cerebrasPresetAppliers.applyConfig(cfg); } diff --git a/extensions/cerebras/provider-catalog.ts b/extensions/cerebras/provider-catalog.ts index ba670c0998a3..41ff17dd96b9 100644 --- a/extensions/cerebras/provider-catalog.ts +++ b/extensions/cerebras/provider-catalog.ts @@ -1,6 +1,10 @@ +/** + * Cerebras model provider builder. + */ import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; import { buildCerebrasCatalogModels, CEREBRAS_BASE_URL } from "./models.js"; +/** Builds the Cerebras OpenAI-compatible model provider config. */ export function buildCerebrasProvider(): ModelProviderConfig { return { baseUrl: CEREBRAS_BASE_URL, diff --git a/extensions/chutes/api.ts b/extensions/chutes/api.ts index 22bb3853697e..0e8c172ddf02 100644 --- a/extensions/chutes/api.ts +++ b/extensions/chutes/api.ts @@ -1,3 +1,6 @@ +/** + * Public Chutes provider plugin API exports. + */ export { buildChutesModelDefinition, CHUTES_BASE_URL, diff --git a/extensions/chutes/index.ts b/extensions/chutes/index.ts index 7147a7c3c6f2..42be87dba775 100644 --- a/extensions/chutes/index.ts +++ b/extensions/chutes/index.ts @@ -1,3 +1,6 @@ +/** + * Chutes provider plugin entrypoint with OAuth and API-key auth methods. + */ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { resolveOAuthApiKeyMarker, diff --git a/extensions/chutes/model-discovery-env.ts b/extensions/chutes/model-discovery-env.ts index ffd30978f5b4..52c98fd5079e 100644 --- a/extensions/chutes/model-discovery-env.ts +++ b/extensions/chutes/model-discovery-env.ts @@ -1,3 +1,7 @@ +/** + * Environment helper for Chutes model discovery behavior in tests. + */ +/** Returns whether dynamic Chutes model discovery should use test behavior. */ export function isChutesModelDiscoveryTestEnvironment( env: Record = process.env, ): boolean { diff --git a/extensions/chutes/models.ts b/extensions/chutes/models.ts index 491572fcc108..747039dba0d0 100644 --- a/extensions/chutes/models.ts +++ b/extensions/chutes/models.ts @@ -1,3 +1,6 @@ +/** + * Chutes model catalog, static model definitions, and dynamic model discovery. + */ import type { ModelDefinitionConfig } from "openclaw/plugin-sdk/provider-model-shared"; import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env"; import { @@ -13,13 +16,17 @@ import { isChutesModelDiscoveryTestEnvironment } from "./model-discovery-env.js" const log = createSubsystemLogger("chutes-models"); +/** Base URL for Chutes OpenAI-compatible inference. */ export const CHUTES_BASE_URL = "https://llm.chutes.ai/v1"; +/** Default Chutes model id used for onboarding. */ export const CHUTES_DEFAULT_MODEL_ID = "zai-org/GLM-4.7-TEE"; +/** Default Chutes model ref used for onboarding. */ export const CHUTES_DEFAULT_MODEL_REF = `chutes/${CHUTES_DEFAULT_MODEL_ID}`; const CHUTES_DEFAULT_CONTEXT_WINDOW = 128000; const CHUTES_DEFAULT_MAX_TOKENS = 4096; +/** Bundled fallback Chutes model catalog. */ export const CHUTES_MODEL_CATALOG: ModelDefinitionConfig[] = [ { id: "Qwen/Qwen3-32B", @@ -452,6 +459,7 @@ export const CHUTES_MODEL_CATALOG: ModelDefinitionConfig[] = [ }, ]; +/** Adds Chutes provider compat metadata to one model catalog entry. */ export function buildChutesModelDefinition( model: (typeof CHUTES_MODEL_CATALOG)[number], ): ModelDefinitionConfig { @@ -491,6 +499,7 @@ interface CacheEntry { const modelCache = new Map(); +/** Clears the dynamic Chutes model discovery cache for tests. */ export function clearChutesModelCacheForTests(): void { modelCache.clear(); } @@ -521,6 +530,7 @@ function cacheAndReturn( return models; } +/** Discovers Chutes models dynamically, falling back to the bundled static catalog. */ export async function discoverChutesModels(accessToken?: string): Promise { const trimmedKey = normalizeOptionalString(accessToken) ?? ""; const now = Date.now(); diff --git a/extensions/chutes/oauth.ts b/extensions/chutes/oauth.ts index bf38c1d05cd9..c36d5c019707 100644 --- a/extensions/chutes/oauth.ts +++ b/extensions/chutes/oauth.ts @@ -1,3 +1,6 @@ +/** + * Chutes OAuth PKCE login flow. + */ import { randomBytes } from "node:crypto"; import { resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime"; import { generatePkceVerifierChallenge, toFormUrlEncoded } from "openclaw/plugin-sdk/provider-auth"; @@ -181,6 +184,7 @@ async function exchangeChutesCodeForTokens(params: { } as ChutesStoredOAuth; } +/** Runs Chutes OAuth and returns refreshable stored credentials. */ export async function loginChutes(params: { app: ChutesOAuthAppConfig; manual?: boolean; diff --git a/extensions/chutes/onboard.ts b/extensions/chutes/onboard.ts index 659437aa69d2..968767b07089 100644 --- a/extensions/chutes/onboard.ts +++ b/extensions/chutes/onboard.ts @@ -1,3 +1,6 @@ +/** + * Chutes onboarding config helpers for OAuth and API-key setup. + */ import { applyAgentDefaultModelPrimary, applyProviderConfigWithModelCatalogPreset, @@ -58,6 +61,7 @@ export function applyChutesConfig(cfg: OpenClawConfig): OpenClawConfig { }; } +/** Applies Chutes provider config and sets the default model for API-key auth. */ export function applyChutesApiKeyConfig(cfg: OpenClawConfig): OpenClawConfig { return applyAgentDefaultModelPrimary(applyChutesProviderConfig(cfg), CHUTES_DEFAULT_MODEL_REF); } diff --git a/extensions/chutes/provider-catalog.ts b/extensions/chutes/provider-catalog.ts index 3f28345fa420..5ad33d89d78e 100644 --- a/extensions/chutes/provider-catalog.ts +++ b/extensions/chutes/provider-catalog.ts @@ -1,3 +1,6 @@ +/** + * Chutes provider builders for static and dynamically discovered catalogs. + */ import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; import { CHUTES_BASE_URL, @@ -6,6 +9,7 @@ import { discoverChutesModels, } from "./models.js"; +/** Builds the static Chutes provider catalog from bundled model metadata. */ export function buildStaticChutesProvider(): ModelProviderConfig { return { baseUrl: CHUTES_BASE_URL,