MCPcopy Create free account
hub / github.com/agent-tower/core / previewProviderImport

Function previewProviderImport

packages/server/src/executors/providers.ts:271–305  ·  view source on GitHub ↗
(backup: ProviderBackupFile)

Source from the content-addressed store, hash-verified

269 */
270export function getProviderById(id: string): Provider | null {
271 return getAllProviders().find(p => p.id === id) ?? null;
272}
273
274/**
275 * 根据 agentType 获取所有 providers
276 */
277export function getProvidersByAgentType(agentType: AgentType | string): Provider[] {
278 return getAllProviders().filter(p => p.agentType === agentType);
279}
280
281/**
282 * 获取某个 agentType 的默认 provider
283 */
284export function getDefaultProvider(agentType: AgentType | string, runtimeType: RuntimeType = RuntimeType.CLI): Provider | null {
285 const providers = getProvidersByAgentType(agentType)
286 .filter(provider => getProviderRuntimeType(provider) === runtimeType);
287 return providers.find(p => p.isDefault) ?? providers[0] ?? null;
288}
289
290export function getUserProviders(): Provider[] {
291 return structuredClone(extractUserProviders(getAllProviders()));
292}
293
294export function createProviderBackup(): ProviderBackupFile {
295 return {
296 version: 1,
297 kind: 'provider-backup',
298 exportedAt: new Date().toISOString(),
299 mode: 'full',
300 providers: getUserProviders().map(toPersistedProvider),
301 };
302}
303
304export function previewProviderImport(backup: ProviderBackupFile): ProviderImportPreview {
305 const existingProviders = getAllProviders();
306 const existingById = new Map(existingProviders.map(provider => [provider.id, provider]));
307 const items: ProviderImportPreviewItem[] = [];
308 const summary = {

Callers 3

providers.test.tsFile · 0.85
providerRoutesFunction · 0.85

Calls 5

getAllProvidersFunction · 0.85
toPersistedProviderFunction · 0.85
areProvidersEquivalentFunction · 0.85
getMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected