@theia/ai-registry 1.73.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -0
- package/lib/browser/ai-registry-frontend-module.d.ts +5 -0
- package/lib/browser/ai-registry-frontend-module.d.ts.map +1 -0
- package/lib/browser/ai-registry-frontend-module.js +45 -0
- package/lib/browser/ai-registry-frontend-module.js.map +1 -0
- package/lib/browser/ai-registry-toolbar-contribution.d.ts +9 -0
- package/lib/browser/ai-registry-toolbar-contribution.d.ts.map +1 -0
- package/lib/browser/ai-registry-toolbar-contribution.js +53 -0
- package/lib/browser/ai-registry-toolbar-contribution.js.map +1 -0
- package/lib/browser/mcp/mcp-entries.d.ts +40 -0
- package/lib/browser/mcp/mcp-entries.d.ts.map +1 -0
- package/lib/browser/mcp/mcp-entries.js +143 -0
- package/lib/browser/mcp/mcp-entries.js.map +1 -0
- package/lib/browser/mcp/mcp-extensions-contribution.d.ts +45 -0
- package/lib/browser/mcp/mcp-extensions-contribution.d.ts.map +1 -0
- package/lib/browser/mcp/mcp-extensions-contribution.js +198 -0
- package/lib/browser/mcp/mcp-extensions-contribution.js.map +1 -0
- package/lib/browser/mcp/mcp-extensions-contribution.spec.d.ts +2 -0
- package/lib/browser/mcp/mcp-extensions-contribution.spec.d.ts.map +1 -0
- package/lib/browser/mcp/mcp-extensions-contribution.spec.js +266 -0
- package/lib/browser/mcp/mcp-extensions-contribution.spec.js.map +1 -0
- package/lib/browser/mcp/mcp-install-service.d.ts +72 -0
- package/lib/browser/mcp/mcp-install-service.d.ts.map +1 -0
- package/lib/browser/mcp/mcp-install-service.js +255 -0
- package/lib/browser/mcp/mcp-install-service.js.map +1 -0
- package/lib/browser/mcp/mcp-install-service.spec.d.ts +2 -0
- package/lib/browser/mcp/mcp-install-service.spec.d.ts.map +1 -0
- package/lib/browser/mcp/mcp-install-service.spec.js +604 -0
- package/lib/browser/mcp/mcp-install-service.spec.js.map +1 -0
- package/lib/browser/mcp/mcp-registry-ui-bridge-impl.d.ts +27 -0
- package/lib/browser/mcp/mcp-registry-ui-bridge-impl.d.ts.map +1 -0
- package/lib/browser/mcp/mcp-registry-ui-bridge-impl.js +136 -0
- package/lib/browser/mcp/mcp-registry-ui-bridge-impl.js.map +1 -0
- package/lib/common/ai-registry-configuration.d.ts +28 -0
- package/lib/common/ai-registry-configuration.d.ts.map +1 -0
- package/lib/common/ai-registry-configuration.js +56 -0
- package/lib/common/ai-registry-configuration.js.map +1 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.d.ts +12 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.d.ts.map +1 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.js +68 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.js.map +1 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.spec.d.ts +2 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.spec.d.ts.map +1 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.spec.js +230 -0
- package/lib/common/mcp/mcp-registry-entry-resolver.spec.js.map +1 -0
- package/lib/common/mcp/mcp-registry-types.d.ts +105 -0
- package/lib/common/mcp/mcp-registry-types.d.ts.map +1 -0
- package/lib/common/mcp/mcp-registry-types.js +18 -0
- package/lib/common/mcp/mcp-registry-types.js.map +1 -0
- package/lib/common/registry-fetch-service.d.ts +24 -0
- package/lib/common/registry-fetch-service.d.ts.map +1 -0
- package/lib/common/registry-fetch-service.js +72 -0
- package/lib/common/registry-fetch-service.js.map +1 -0
- package/lib/common/registry-fetch-service.spec.d.ts +2 -0
- package/lib/common/registry-fetch-service.spec.d.ts.map +1 -0
- package/lib/common/registry-fetch-service.spec.js +129 -0
- package/lib/common/registry-fetch-service.spec.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +26 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +50 -0
- package/src/browser/ai-registry-frontend-module.ts +48 -0
- package/src/browser/ai-registry-toolbar-contribution.ts +51 -0
- package/src/browser/mcp/mcp-entries.tsx +288 -0
- package/src/browser/mcp/mcp-extensions-contribution.spec.ts +294 -0
- package/src/browser/mcp/mcp-extensions-contribution.ts +199 -0
- package/src/browser/mcp/mcp-install-service.spec.ts +673 -0
- package/src/browser/mcp/mcp-install-service.ts +300 -0
- package/src/browser/mcp/mcp-registry-ui-bridge-impl.ts +130 -0
- package/src/browser/style/mcp-entries.css +56 -0
- package/src/common/ai-registry-configuration.ts +52 -0
- package/src/common/mcp/mcp-registry-entry-resolver.spec.ts +248 -0
- package/src/common/mcp/mcp-registry-entry-resolver.ts +68 -0
- package/src/common/mcp/mcp-registry-types.ts +119 -0
- package/src/common/registry-fetch-service.spec.ts +136 -0
- package/src/common/registry-fetch-service.ts +78 -0
- package/src/package.spec.ts +28 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-install-service.spec.js","sourceRoot":"","sources":["../../../src/browser/mcp/mcp-install-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Emitter, Event } from '@theia/core';
|
|
2
|
+
import { ApplicationShell, WidgetManager } from '@theia/core/lib/browser';
|
|
3
|
+
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
4
|
+
import { MCPRegistryUiBridge } from '@theia/ai-mcp/lib/browser/mcp-registry-ui-bridge';
|
|
5
|
+
import { MCPInstallEntry } from '@theia/ai-mcp/lib/browser/mcp-server-editor';
|
|
6
|
+
import { VSXExtensionsSearchModel } from '@theia/vsx-registry/lib/browser/vsx-extensions-search-model';
|
|
7
|
+
import { ResolvedRegistryEntry } from '../../common/mcp/mcp-registry-types';
|
|
8
|
+
import { RegistryFetchService } from '../../common/registry-fetch-service';
|
|
9
|
+
export declare class MCPRegistryUiBridgeImpl implements MCPRegistryUiBridge {
|
|
10
|
+
protected readonly fetchService: RegistryFetchService;
|
|
11
|
+
protected readonly widgetManager: WidgetManager;
|
|
12
|
+
protected readonly shell: ApplicationShell;
|
|
13
|
+
protected readonly searchModel: VSXExtensionsSearchModel;
|
|
14
|
+
protected readonly onDidChangeEmitter: Emitter<void>;
|
|
15
|
+
readonly onDidChange: Event<void>;
|
|
16
|
+
protected knownServerIds: Set<string>;
|
|
17
|
+
protected entriesByServerId: Map<string, ResolvedRegistryEntry>;
|
|
18
|
+
/** Resolves after `refreshCache` has run for the first time, success or failure. */
|
|
19
|
+
protected readonly readyDeferred: Deferred<void>;
|
|
20
|
+
protected init(): void;
|
|
21
|
+
ready(): Promise<void>;
|
|
22
|
+
hasServer(serverId: string): boolean;
|
|
23
|
+
getInstallEntry(serverId: string): MCPInstallEntry | undefined;
|
|
24
|
+
openRegistry(serverId?: string): Promise<void>;
|
|
25
|
+
protected refreshCache(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=mcp-registry-ui-bridge-impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-registry-ui-bridge-impl.d.ts","sourceRoot":"","sources":["../../../src/browser/mcp/mcp-registry-ui-bridge-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,qBACa,uBAAwB,YAAW,mBAAmB;IAG/D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAEzD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAiC;IAElE,SAAS,CAAC,cAAc,cAAqB;IAC7C,SAAS,CAAC,iBAAiB,qCAA4C;IAEvE,oFAAoF;IACpF,SAAS,CAAC,QAAQ,CAAC,aAAa,iBAAwB;IAGxD,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAcxD,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAepC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBhD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MCPRegistryUiBridgeImpl = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
23
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
|
+
const vsx_extensions_view_container_1 = require("@theia/vsx-registry/lib/browser/vsx-extensions-view-container");
|
|
25
|
+
const vsx_extensions_search_model_1 = require("@theia/vsx-registry/lib/browser/vsx-extensions-search-model");
|
|
26
|
+
const registry_fetch_service_1 = require("../../common/registry-fetch-service");
|
|
27
|
+
let MCPRegistryUiBridgeImpl = class MCPRegistryUiBridgeImpl {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.onDidChangeEmitter = new core_1.Emitter();
|
|
30
|
+
this.onDidChange = this.onDidChangeEmitter.event;
|
|
31
|
+
this.knownServerIds = new Set();
|
|
32
|
+
this.entriesByServerId = new Map();
|
|
33
|
+
/** Resolves after `refreshCache` has run for the first time, success or failure. */
|
|
34
|
+
this.readyDeferred = new promise_util_1.Deferred();
|
|
35
|
+
}
|
|
36
|
+
init() {
|
|
37
|
+
// Re-sync our id cache whenever the registry data changes (initial load, refresh).
|
|
38
|
+
this.fetchService.onDidChange(() => this.refreshCache());
|
|
39
|
+
// Prime the cache eagerly so the very first `hasServer` check after the UI mounts
|
|
40
|
+
// returns the right answer instead of erring on the side of "still unknown".
|
|
41
|
+
this.refreshCache();
|
|
42
|
+
}
|
|
43
|
+
ready() {
|
|
44
|
+
return this.readyDeferred.promise;
|
|
45
|
+
}
|
|
46
|
+
hasServer(serverId) {
|
|
47
|
+
return this.knownServerIds.has(serverId);
|
|
48
|
+
}
|
|
49
|
+
getInstallEntry(serverId) {
|
|
50
|
+
const entry = this.entriesByServerId.get(serverId);
|
|
51
|
+
if (!entry) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
localName: entry.localName,
|
|
56
|
+
config: { ...entry.config },
|
|
57
|
+
serverId: entry.serverId,
|
|
58
|
+
...(entry.version !== undefined && { version: entry.version }),
|
|
59
|
+
...(entry.configHash !== undefined && { configHash: entry.configHash })
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
async openRegistry(serverId) {
|
|
63
|
+
// Pre-populate the search only for known-good ids so the entry is in focus when
|
|
64
|
+
// the view opens. For revoked ids the server appears in the Installed section
|
|
65
|
+
// (with a warning + Unlink / Uninstall); jumping to an empty search hides it, so
|
|
66
|
+
// we just show the view and let the user see the warning in Installed.
|
|
67
|
+
if (serverId && this.hasServer(serverId)) {
|
|
68
|
+
this.searchModel.query = serverId;
|
|
69
|
+
}
|
|
70
|
+
// Reveal-and-activate rather than toggle: a second click on "Browse AI registry"
|
|
71
|
+
// must keep the view visible, not collapse it again.
|
|
72
|
+
const widget = await this.widgetManager.getOrCreateWidget(vsx_extensions_view_container_1.VSXExtensionsViewContainer.ID);
|
|
73
|
+
await this.shell.revealWidget(widget.id);
|
|
74
|
+
await this.shell.activateWidget(widget.id);
|
|
75
|
+
}
|
|
76
|
+
async refreshCache() {
|
|
77
|
+
try {
|
|
78
|
+
const entries = await this.fetchService.getEntries();
|
|
79
|
+
const next = new Set(entries.map(entry => entry.serverId));
|
|
80
|
+
// Refresh the per-id lookup table regardless of whether the id set itself
|
|
81
|
+
// changed - the *contents* of an entry (config, configHash) may have moved
|
|
82
|
+
// even when the id list is unchanged, and `getInstallEntry` callers expect
|
|
83
|
+
// the latest values.
|
|
84
|
+
this.entriesByServerId = new Map(entries.map(entry => [entry.serverId, entry]));
|
|
85
|
+
if (!areSetsEqual(next, this.knownServerIds)) {
|
|
86
|
+
this.knownServerIds = next;
|
|
87
|
+
this.onDidChangeEmitter.fire();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// Leave the cache as-is on failure; surfaced errors are the fetch service's job.
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
// Signal readiness regardless of outcome - failed fetch is still a "we tried".
|
|
95
|
+
this.readyDeferred.resolve();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
exports.MCPRegistryUiBridgeImpl = MCPRegistryUiBridgeImpl;
|
|
100
|
+
tslib_1.__decorate([
|
|
101
|
+
(0, inversify_1.inject)(registry_fetch_service_1.RegistryFetchService),
|
|
102
|
+
tslib_1.__metadata("design:type", Object)
|
|
103
|
+
], MCPRegistryUiBridgeImpl.prototype, "fetchService", void 0);
|
|
104
|
+
tslib_1.__decorate([
|
|
105
|
+
(0, inversify_1.inject)(browser_1.WidgetManager),
|
|
106
|
+
tslib_1.__metadata("design:type", browser_1.WidgetManager)
|
|
107
|
+
], MCPRegistryUiBridgeImpl.prototype, "widgetManager", void 0);
|
|
108
|
+
tslib_1.__decorate([
|
|
109
|
+
(0, inversify_1.inject)(browser_1.ApplicationShell),
|
|
110
|
+
tslib_1.__metadata("design:type", browser_1.ApplicationShell)
|
|
111
|
+
], MCPRegistryUiBridgeImpl.prototype, "shell", void 0);
|
|
112
|
+
tslib_1.__decorate([
|
|
113
|
+
(0, inversify_1.inject)(vsx_extensions_search_model_1.VSXExtensionsSearchModel),
|
|
114
|
+
tslib_1.__metadata("design:type", vsx_extensions_search_model_1.VSXExtensionsSearchModel)
|
|
115
|
+
], MCPRegistryUiBridgeImpl.prototype, "searchModel", void 0);
|
|
116
|
+
tslib_1.__decorate([
|
|
117
|
+
(0, inversify_1.postConstruct)(),
|
|
118
|
+
tslib_1.__metadata("design:type", Function),
|
|
119
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
120
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
121
|
+
], MCPRegistryUiBridgeImpl.prototype, "init", null);
|
|
122
|
+
exports.MCPRegistryUiBridgeImpl = MCPRegistryUiBridgeImpl = tslib_1.__decorate([
|
|
123
|
+
(0, inversify_1.injectable)()
|
|
124
|
+
], MCPRegistryUiBridgeImpl);
|
|
125
|
+
function areSetsEqual(a, b) {
|
|
126
|
+
if (a.size !== b.size) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
for (const value of a) {
|
|
130
|
+
if (!b.has(value)) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=mcp-registry-ui-bridge-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-registry-ui-bridge-impl.js","sourceRoot":"","sources":["../../../src/browser/mcp/mcp-registry-ui-bridge-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Endpoint and tool identity for the AI registry integration.
|
|
3
|
+
*
|
|
4
|
+
* Defaults to the public Eclipse-hosted AI registry with tool name `'all'`. Products
|
|
5
|
+
* that want a different registry or a tool-specific filter rebind this class in their
|
|
6
|
+
* frontend module:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* rebind(AIRegistryConfiguration).toConstantValue(new (class extends AIRegistryConfiguration {
|
|
10
|
+
* override getToolName(): string { return 'my-product'; }
|
|
11
|
+
* override getBaseUrl(): string { return 'https://internal.example/registry/'; }
|
|
12
|
+
* })());
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Values are intentionally not exposed as user preferences - a user must not be able
|
|
16
|
+
* to redirect the IDE to a different registry URL or change the tool identity (both
|
|
17
|
+
* are trust-relevant decisions).
|
|
18
|
+
*/
|
|
19
|
+
export declare class AIRegistryConfiguration {
|
|
20
|
+
/**
|
|
21
|
+
* Tool identifier used to scope which approvals apply. `'all'` is the safe default
|
|
22
|
+
* for any Theia-based product; rebind this in product code to filter the registry
|
|
23
|
+
* down to a tool-specific approval set.
|
|
24
|
+
*/
|
|
25
|
+
getToolName(): string;
|
|
26
|
+
getBaseUrl(): string;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ai-registry-configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-registry-configuration.d.ts","sourceRoot":"","sources":["../../src/common/ai-registry-configuration.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,uBAAuB;IAEhC;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM;CAGvB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.AIRegistryConfiguration = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
/**
|
|
22
|
+
* Endpoint and tool identity for the AI registry integration.
|
|
23
|
+
*
|
|
24
|
+
* Defaults to the public Eclipse-hosted AI registry with tool name `'all'`. Products
|
|
25
|
+
* that want a different registry or a tool-specific filter rebind this class in their
|
|
26
|
+
* frontend module:
|
|
27
|
+
*
|
|
28
|
+
* ```ts
|
|
29
|
+
* rebind(AIRegistryConfiguration).toConstantValue(new (class extends AIRegistryConfiguration {
|
|
30
|
+
* override getToolName(): string { return 'my-product'; }
|
|
31
|
+
* override getBaseUrl(): string { return 'https://internal.example/registry/'; }
|
|
32
|
+
* })());
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* Values are intentionally not exposed as user preferences - a user must not be able
|
|
36
|
+
* to redirect the IDE to a different registry URL or change the tool identity (both
|
|
37
|
+
* are trust-relevant decisions).
|
|
38
|
+
*/
|
|
39
|
+
let AIRegistryConfiguration = class AIRegistryConfiguration {
|
|
40
|
+
/**
|
|
41
|
+
* Tool identifier used to scope which approvals apply. `'all'` is the safe default
|
|
42
|
+
* for any Theia-based product; rebind this in product code to filter the registry
|
|
43
|
+
* down to a tool-specific approval set.
|
|
44
|
+
*/
|
|
45
|
+
getToolName() {
|
|
46
|
+
return 'all';
|
|
47
|
+
}
|
|
48
|
+
getBaseUrl() {
|
|
49
|
+
return 'https://eclipsefdn-ai-registry.github.io/ai-registry-core/api/v1/';
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.AIRegistryConfiguration = AIRegistryConfiguration;
|
|
53
|
+
exports.AIRegistryConfiguration = AIRegistryConfiguration = tslib_1.__decorate([
|
|
54
|
+
(0, inversify_1.injectable)()
|
|
55
|
+
], AIRegistryConfiguration);
|
|
56
|
+
//# sourceMappingURL=ai-registry-configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-registry-configuration.js","sourceRoot":"","sources":["../../src/common/ai-registry-configuration.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEhC;;;;OAIG;IACH,WAAW;QACP,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,UAAU;QACN,OAAO,mEAAmE,CAAC;IAC/E,CAAC;CACJ,CAAA;AAdY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAcnC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AIRegistryConfiguration } from '../ai-registry-configuration';
|
|
2
|
+
import { RegistryMCPServer, ResolvedRegistryEntry } from './mcp-registry-types';
|
|
3
|
+
export declare const MCPRegistryEntryResolver: unique symbol;
|
|
4
|
+
export interface MCPRegistryEntryResolver {
|
|
5
|
+
/** Normalises a raw registry server entry into the single (slug, config, version) tuple the install path uses. */
|
|
6
|
+
resolve(raw: RegistryMCPServer): ResolvedRegistryEntry | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare class MCPRegistryEntryResolverImpl implements MCPRegistryEntryResolver {
|
|
9
|
+
protected readonly configuration: AIRegistryConfiguration;
|
|
10
|
+
resolve(raw: RegistryMCPServer): ResolvedRegistryEntry | undefined;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=mcp-registry-entry-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-registry-entry-resolver.d.ts","sourceRoot":"","sources":["../../../src/common/mcp/mcp-registry-entry-resolver.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAC3E,MAAM,WAAW,wBAAwB;IACrC,kHAAkH;IAClH,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,SAAS,CAAC;CACtE;AAED,qBACa,4BAA6B,YAAW,wBAAwB;IAGzE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAE1D,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,SAAS;CAmCrE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MCPRegistryEntryResolverImpl = exports.MCPRegistryEntryResolver = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const ai_registry_configuration_1 = require("../ai-registry-configuration");
|
|
22
|
+
exports.MCPRegistryEntryResolver = Symbol('MCPRegistryEntryResolver');
|
|
23
|
+
let MCPRegistryEntryResolverImpl = class MCPRegistryEntryResolverImpl {
|
|
24
|
+
resolve(raw) {
|
|
25
|
+
const approval = [...raw.approvals].sort((a, b) => b.date.localeCompare(a.date))[0];
|
|
26
|
+
if (!approval) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
// Per-tool endpoints should already pre-filter install configs, but a registry
|
|
30
|
+
// may still emit several. Pick the one tagged for our configured tool name
|
|
31
|
+
// (or untagged, which we treat as "applies to all tools"); fall back to the
|
|
32
|
+
// first config so a registry that hasn't tagged its entries still works.
|
|
33
|
+
const toolName = this.configuration.getToolName();
|
|
34
|
+
const installConfig = approval.installConfigs.find(c => !c.tool || c.tool === toolName || toolName === 'all')
|
|
35
|
+
?? approval.installConfigs[0];
|
|
36
|
+
const servers = installConfig?.config?.servers ?? {};
|
|
37
|
+
const serverKeys = Object.keys(servers);
|
|
38
|
+
if (serverKeys.length === 0) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
if (serverKeys.length > 1) {
|
|
42
|
+
// Multi-server install configs aren't a Theia concept - we install one server
|
|
43
|
+
// per registry entry. Warn so the registry maintainer is aware their payload
|
|
44
|
+
// exposed more than we use, and pick the first slug deterministically.
|
|
45
|
+
console.warn(`AI registry entry ${raw.serverId} has multiple servers in its install config; using ${serverKeys[0]}.`);
|
|
46
|
+
}
|
|
47
|
+
const localName = serverKeys[0];
|
|
48
|
+
return {
|
|
49
|
+
serverId: raw.serverId,
|
|
50
|
+
name: raw.name,
|
|
51
|
+
description: raw.description,
|
|
52
|
+
localName,
|
|
53
|
+
config: servers[localName],
|
|
54
|
+
version: approval.version,
|
|
55
|
+
...(approval.configHash !== undefined && { configHash: approval.configHash }),
|
|
56
|
+
mcpRegistryVerified: raw.mcpRegistryVerified
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
exports.MCPRegistryEntryResolverImpl = MCPRegistryEntryResolverImpl;
|
|
61
|
+
tslib_1.__decorate([
|
|
62
|
+
(0, inversify_1.inject)(ai_registry_configuration_1.AIRegistryConfiguration),
|
|
63
|
+
tslib_1.__metadata("design:type", ai_registry_configuration_1.AIRegistryConfiguration)
|
|
64
|
+
], MCPRegistryEntryResolverImpl.prototype, "configuration", void 0);
|
|
65
|
+
exports.MCPRegistryEntryResolverImpl = MCPRegistryEntryResolverImpl = tslib_1.__decorate([
|
|
66
|
+
(0, inversify_1.injectable)()
|
|
67
|
+
], MCPRegistryEntryResolverImpl);
|
|
68
|
+
//# sourceMappingURL=mcp-registry-entry-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-registry-entry-resolver.js","sourceRoot":"","sources":["../../../src/common/mcp/mcp-registry-entry-resolver.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,4EAAuE;AAG1D,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAOpE,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAKrC,OAAO,CAAC,GAAsB;QAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,+EAA+E;QAC/E,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,KAAK,KAAK,CAAC;eACtG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,aAAa,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,8EAA8E;YAC9E,6EAA6E;YAC7E,uEAAuE;YACvE,OAAO,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,QAAQ,sDAAsD,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1H,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;YACH,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;YAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC7E,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;SAC/C,CAAC;IACN,CAAC;CACJ,CAAA;AAxCY,oEAA4B;AAGlB;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACE,mDAAuB;mEAAC;uCAHjD,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAwCxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-registry-entry-resolver.spec.d.ts","sourceRoot":"","sources":["../../../src/common/mcp/mcp-registry-entry-resolver.spec.ts"],"names":[],"mappings":""}
|