import { type AdapterDefinition } from '@zhin.js/scaffold-wizard'; /** 插件生态包分类 */ export type PluginKind = 'adapter' | 'plugin' | 'skill-pack'; export interface PackageClassification { /** @zhin.js scope 视为官方 */ official: boolean; /** 命中已知适配器/官方插件命名约定时标注类型 */ kind: PluginKind | null; } /** * 按包名/keywords 分类:official/community + adapter/plugin/skill-pack */ export declare function classifyPackage(pkg: { name: string; keywords?: string[]; }): PackageClassification; /** * 格式化标签:`[official] [adapter]` / `[community]` 等 */ export declare function formatPackageBadge(classification: PackageClassification): string; export interface NpmSearchResult { name: string; version?: string; description?: string; keywords?: string[]; publisher?: { username?: string; }; date?: string; downloads?: string | number; [key: string]: unknown; } export interface NpmPackageInfo extends NpmSearchResult { author?: { name?: string; }; maintainers?: Array<{ name?: string; }>; time?: { modified?: string; created?: string; }; homepage?: string; repository?: { url?: string; }; bugs?: { url?: string; }; license?: string; dependencies?: Record; peerDependencies?: Record; zhin?: { displayName?: string; category?: string; features?: string[]; }; } export interface SearchFilterOptions { keyword?: string; category?: string; limit?: number; } /** * 过滤 + 排序 npm search 结果(纯函数,便于测试) */ export declare function filterSearchResults(results: NpmSearchResult[], options: SearchFilterOptions): NpmSearchResult[]; /** npm search(IO 包装,测试中不直接调用) */ export declare function npmSearch(query: string): NpmSearchResult[]; /** npm view(IO 包装) */ export declare function npmView(name: string): NpmPackageInfo; /** npm registry 周下载量;失败时返回 null(非致命) */ export declare function fetchWeeklyDownloads(name: string): Promise; /** install 分流:a) 已知适配器 b) 其他 npm 包 c) npm:/git: 前缀的 zhin-package 技能包 */ export type InstallRoute = 'skill-pack' | 'adapter' | 'npm'; export interface ResolvedInstall { route: InstallRoute; /** 规范化后的 npm 包名;skill-pack 路由保留原始 source */ package: string; adapter?: AdapterDefinition; } export declare function resolveInstallRoute(spec: string): ResolvedInstall; /** 读取已安装包的 package.json zhin 字段(判断是否 zhin 插件) */ export declare function readInstalledZhinField(cwd: string, packageName: string): Record | null; /** 把插件注册进项目 package.json 的 zhin.plugins 清单(2 空格缩进,由 mergePluginManifestIntoPackageJson 保证) */ export declare function registerPluginInManifest(cwd: string, packageName: string): Promise; /** 官方适配器的一行配置入口提示 */ export declare function adapterConfigHint(def: AdapterDefinition): string; /** 按包名取适配器配置入口提示;非已知适配器返回 null */ export declare function adapterConfigHintForPackage(packageName: string): string | null; //# sourceMappingURL=plugin-registry.d.ts.map