




















@@ -17,9 +17,13 @@ import {
17171818export type PluginLookUpTableOwnerMaps = {
1919channels: ReadonlyMap<string, readonly string[]>;
20+channelConfigs: ReadonlyMap<string, readonly string[]>;
2021providers: ReadonlyMap<string, readonly string[]>;
22+modelCatalogProviders: ReadonlyMap<string, readonly string[]>;
2123cliBackends: ReadonlyMap<string, readonly string[]>;
2224setupProviders: ReadonlyMap<string, readonly string[]>;
25+commandAliases: ReadonlyMap<string, readonly string[]>;
26+contracts: ReadonlyMap<string, readonly string[]>;
2327};
24282529export type PluginLookUpTableStartupPlan = {
@@ -66,30 +70,52 @@ function freezeOwnerMap(owners: Map<string, string[]>): ReadonlyMap<string, read
66706771function buildOwnerMaps(plugins: readonly PluginManifestRecord[]): PluginLookUpTableOwnerMaps {
6872const channels = new Map<string, string[]>();
73+const channelConfigs = new Map<string, string[]>();
6974const providers = new Map<string, string[]>();
75+const modelCatalogProviders = new Map<string, string[]>();
7076const cliBackends = new Map<string, string[]>();
7177const setupProviders = new Map<string, string[]>();
78+const commandAliases = new Map<string, string[]>();
79+const contracts = new Map<string, string[]>();
72807381for (const plugin of plugins) {
7482for (const channelId of plugin.channels) {
7583appendOwner(channels, channelId, plugin.id);
7684}
85+for (const channelId of Object.keys(plugin.channelConfigs ?? {})) {
86+appendOwner(channelConfigs, channelId, plugin.id);
87+}
7788for (const providerId of plugin.providers) {
7889appendOwner(providers, providerId, plugin.id);
7990}
91+for (const providerId of Object.keys(plugin.modelCatalog?.providers ?? {})) {
92+appendOwner(modelCatalogProviders, providerId, plugin.id);
93+}
8094for (const cliBackendId of plugin.cliBackends) {
8195appendOwner(cliBackends, cliBackendId, plugin.id);
8296}
8397for (const setupProvider of plugin.setup?.providers ?? []) {
8498appendOwner(setupProviders, setupProvider.id, plugin.id);
8599}
100+for (const commandAlias of plugin.commandAliases ?? []) {
101+appendOwner(commandAliases, commandAlias.name, plugin.id);
102+}
103+for (const [contract, values] of Object.entries(plugin.contracts ?? {})) {
104+if (Array.isArray(values) && values.length > 0) {
105+appendOwner(contracts, contract, plugin.id);
106+}
107+}
86108}
8710988110return {
89111channels: freezeOwnerMap(channels),
112+channelConfigs: freezeOwnerMap(channelConfigs),
90113providers: freezeOwnerMap(providers),
114+modelCatalogProviders: freezeOwnerMap(modelCatalogProviders),
91115cliBackends: freezeOwnerMap(cliBackends),
92116setupProviders: freezeOwnerMap(setupProviders),
117+commandAliases: freezeOwnerMap(commandAliases),
118+contracts: freezeOwnerMap(contracts),
93119};
94120}
95121此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。