MCPcopy Create free account
hub / github.com/dwgx/WindsurfAPI / listModels

Function listModels

src/models.js:582–602  ·  view source on GitHub ↗
(opts = {})

Source from the content-addressed store, hash-verified

580
581/** List all models in OpenAI /v1/models format. Hides deprecated models. */
582export function listModels(opts = {}) {
583 const ts = Math.floor(Date.now() / 1000);
584 const specialAgentEnabled = opts.specialAgentEnabled ?? isSpecialAgentCatalogEnabled();
585 const includeDisabledSpecialAgent = opts.includeDisabledSpecialAgent
586 ?? process.env.WINDSURFAPI_SHOW_DISABLED_SPECIAL_AGENT_MODELS === '1';
587 return Object.entries(MODELS)
588 .filter(([, info]) => !info.deprecated)
589 .filter(([, info]) => info.backend !== 'special_agent' || specialAgentEnabled || includeDisabledSpecialAgent)
590 .map(([id, info]) => ({
591 id: info.name,
592 object: 'model',
593 created: ts,
594 owned_by: info.provider,
595 _windsurf_id: id,
596 ...(info.backend === 'special_agent' ? {
597 _backend: 'special_agent',
598 _available: !!specialAgentEnabled,
599 ...(!specialAgentEnabled ? { _unavailable_reason: 'special-agent backend disabled' } : {}),
600 } : {}),
601 }));
602}
603
604/**
605 * Merge live model configs from GetCascadeModelConfigs into the catalog.

Callers 3

handleModelsFunction · 0.90

Calls 1

Tested by

no test coverage detected