@theia/ai-mcp-server 1.67.0-next.13 → 1.67.0-next.56
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 +37 -9
- package/package.json +4 -4
- package/lib/browser/index.d.ts +0 -3
- package/lib/browser/index.d.ts.map +0 -1
- package/lib/browser/index.js +0 -21
- package/lib/browser/index.js.map +0 -1
- package/lib/browser/mcp-frontend-bootstrap.d.ts +0 -17
- package/lib/browser/mcp-frontend-bootstrap.d.ts.map +0 -1
- package/lib/browser/mcp-frontend-bootstrap.js +0 -47
- package/lib/browser/mcp-frontend-bootstrap.js.map +0 -1
- package/lib/browser/mcp-frontend-contribution.d.ts +0 -44
- package/lib/browser/mcp-frontend-contribution.d.ts.map +0 -1
- package/lib/browser/mcp-frontend-contribution.js +0 -21
- package/lib/browser/mcp-frontend-contribution.js.map +0 -1
- package/lib/browser/mcp-frontend-module.d.ts +0 -4
- package/lib/browser/mcp-frontend-module.d.ts.map +0 -1
- package/lib/browser/mcp-frontend-module.js +0 -37
- package/lib/browser/mcp-frontend-module.js.map +0 -1
- package/lib/browser/mcp-tool-delegate-client.d.ts +0 -27
- package/lib/browser/mcp-tool-delegate-client.d.ts.map +0 -1
- package/lib/browser/mcp-tool-delegate-client.js +0 -128
- package/lib/browser/mcp-tool-delegate-client.js.map +0 -1
- package/lib/common/index.d.ts +0 -2
- package/lib/common/index.d.ts.map +0 -1
- package/lib/common/index.js +0 -20
- package/lib/common/index.js.map +0 -1
- package/lib/common/mcp-tool-delegate.d.ts +0 -25
- package/lib/common/mcp-tool-delegate.d.ts.map +0 -1
- package/lib/common/mcp-tool-delegate.js +0 -22
- package/lib/common/mcp-tool-delegate.js.map +0 -1
- package/lib/node/index.d.ts +0 -5
- package/lib/node/index.d.ts.map +0 -1
- package/lib/node/index.js +0 -23
- package/lib/node/index.js.map +0 -1
- package/lib/node/mcp-backend-contribution-manager.d.ts +0 -16
- package/lib/node/mcp-backend-contribution-manager.d.ts.map +0 -1
- package/lib/node/mcp-backend-contribution-manager.js +0 -61
- package/lib/node/mcp-backend-contribution-manager.js.map +0 -1
- package/lib/node/mcp-backend-module.d.ts +0 -4
- package/lib/node/mcp-backend-module.d.ts.map +0 -1
- package/lib/node/mcp-backend-module.js +0 -56
- package/lib/node/mcp-backend-module.js.map +0 -1
- package/lib/node/mcp-frontend-contribution-manager.d.ts +0 -55
- package/lib/node/mcp-frontend-contribution-manager.d.ts.map +0 -1
- package/lib/node/mcp-frontend-contribution-manager.js +0 -242
- package/lib/node/mcp-frontend-contribution-manager.js.map +0 -1
- package/lib/node/mcp-theia-server-impl.d.ts +0 -32
- package/lib/node/mcp-theia-server-impl.d.ts.map +0 -1
- package/lib/node/mcp-theia-server-impl.js +0 -220
- package/lib/node/mcp-theia-server-impl.js.map +0 -1
- package/lib/node/mcp-theia-server.d.ts +0 -43
- package/lib/node/mcp-theia-server.d.ts.map +0 -1
- package/lib/node/mcp-theia-server.js +0 -22
- package/lib/node/mcp-theia-server.js.map +0 -1
- package/lib/node/mcp-tool-frontend-delegate.d.ts +0 -13
- package/lib/node/mcp-tool-frontend-delegate.d.ts.map +0 -1
- package/lib/node/mcp-tool-frontend-delegate.js +0 -66
- package/lib/node/mcp-tool-frontend-delegate.js.map +0 -1
- package/lib/package.spec.d.ts +0 -1
- package/lib/package.spec.d.ts.map +0 -1
- package/lib/package.spec.js +0 -26
- package/lib/package.spec.js.map +0 -1
package/lib/node/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource.
|
|
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
|
-
const tslib_1 = require("tslib");
|
|
19
|
-
tslib_1.__exportStar(require("./mcp-theia-server"), exports);
|
|
20
|
-
tslib_1.__exportStar(require("./mcp-theia-server-impl"), exports);
|
|
21
|
-
tslib_1.__exportStar(require("./mcp-backend-contribution-manager"), exports);
|
|
22
|
-
tslib_1.__exportStar(require("./mcp-frontend-contribution-manager"), exports);
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
package/lib/node/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oCAAoC;AACpC,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,6DAAmC;AACnC,kEAAwC;AACxC,6EAAmD;AACnD,8EAAoD"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ILogger } from '@theia/core/lib/common/logger';
|
|
2
|
-
import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
|
|
3
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
4
|
-
import { MCPBackendContribution } from './mcp-theia-server';
|
|
5
|
-
/**
|
|
6
|
-
* Manages the registration of backend MCP contributions
|
|
7
|
-
*/
|
|
8
|
-
export declare class MCPBackendContributionManager {
|
|
9
|
-
protected readonly logger: ILogger;
|
|
10
|
-
protected readonly contributions: ContributionProvider<MCPBackendContribution>;
|
|
11
|
-
/**
|
|
12
|
-
* Register all backend contributions with the MCP server
|
|
13
|
-
*/
|
|
14
|
-
registerBackendContributions(server: McpServer): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=mcp-backend-contribution-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-backend-contribution-manager.d.ts","sourceRoot":"","sources":["../../src/node/mcp-backend-contribution-manager.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;GAEG;AACH,qBACa,6BAA6B;IAGtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAInC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IAE/E;;OAEG;IACG,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBvE"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource.
|
|
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.MCPBackendContributionManager = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const logger_1 = require("@theia/core/lib/common/logger");
|
|
22
|
-
const contribution_provider_1 = require("@theia/core/lib/common/contribution-provider");
|
|
23
|
-
const mcp_theia_server_1 = require("./mcp-theia-server");
|
|
24
|
-
/**
|
|
25
|
-
* Manages the registration of backend MCP contributions
|
|
26
|
-
*/
|
|
27
|
-
let MCPBackendContributionManager = class MCPBackendContributionManager {
|
|
28
|
-
/**
|
|
29
|
-
* Register all backend contributions with the MCP server
|
|
30
|
-
*/
|
|
31
|
-
async registerBackendContributions(server) {
|
|
32
|
-
const contributions = this.contributions.getContributions();
|
|
33
|
-
this.logger.debug(`Found ${contributions.length} backend MCP contributions to register`);
|
|
34
|
-
for (const contribution of contributions) {
|
|
35
|
-
try {
|
|
36
|
-
this.logger.debug(`Configuring backend MCP contribution: ${contribution.constructor.name}`);
|
|
37
|
-
await contribution.configure(server);
|
|
38
|
-
this.logger.debug(`Successfully registered backend MCP contribution: ${contribution.constructor.name}`);
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
this.logger.error(`Failed to register backend MCP contribution ${contribution.constructor.name}:`, error);
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
this.logger.debug(`Finished registering all ${contributions.length} backend MCP contributions`);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
exports.MCPBackendContributionManager = MCPBackendContributionManager;
|
|
49
|
-
tslib_1.__decorate([
|
|
50
|
-
(0, inversify_1.inject)(logger_1.ILogger),
|
|
51
|
-
tslib_1.__metadata("design:type", Object)
|
|
52
|
-
], MCPBackendContributionManager.prototype, "logger", void 0);
|
|
53
|
-
tslib_1.__decorate([
|
|
54
|
-
(0, inversify_1.inject)(contribution_provider_1.ContributionProvider),
|
|
55
|
-
(0, inversify_1.named)(mcp_theia_server_1.MCPBackendContribution),
|
|
56
|
-
tslib_1.__metadata("design:type", Object)
|
|
57
|
-
], MCPBackendContributionManager.prototype, "contributions", void 0);
|
|
58
|
-
exports.MCPBackendContributionManager = MCPBackendContributionManager = tslib_1.__decorate([
|
|
59
|
-
(0, inversify_1.injectable)()
|
|
60
|
-
], MCPBackendContributionManager);
|
|
61
|
-
//# sourceMappingURL=mcp-backend-contribution-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-backend-contribution-manager.js","sourceRoot":"","sources":["../../src/node/mcp-backend-contribution-manager.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oCAAoC;AACpC,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,4DAAyE;AACzE,0DAAwD;AACxD,wFAAoF;AAEpF,yDAA4D;AAE5D;;GAEG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAStC;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAAC,MAAiB;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,aAAa,CAAC,MAAM,wCAAwC,CAAC,CAAC;QAEzF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5F,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,YAAY,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1G,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,aAAa,CAAC,MAAM,4BAA4B,CAAC,CAAC;IACpG,CAAC;CACJ,CAAA;AA7BY,sEAA6B;AAGnB;IADlB,IAAA,kBAAM,EAAC,gBAAO,CAAC;;6DACmB;AAIhB;IAFlB,IAAA,kBAAM,EAAC,4CAAoB,CAAC;IAC5B,IAAA,iBAAK,EAAC,yCAAsB,CAAC;;oEACiD;wCAPtE,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CA6BzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/mcp-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA6C/D,wBAaG"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource.
|
|
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
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
19
|
-
const backend_application_1 = require("@theia/core/lib/node/backend-application");
|
|
20
|
-
const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
|
|
21
|
-
const core_1 = require("@theia/core");
|
|
22
|
-
const mcp_theia_server_1 = require("./mcp-theia-server");
|
|
23
|
-
const mcp_tool_delegate_1 = require("../common/mcp-tool-delegate");
|
|
24
|
-
const mcp_theia_server_impl_1 = require("./mcp-theia-server-impl");
|
|
25
|
-
const mcp_backend_contribution_manager_1 = require("./mcp-backend-contribution-manager");
|
|
26
|
-
const mcp_frontend_contribution_manager_1 = require("./mcp-frontend-contribution-manager");
|
|
27
|
-
const mcp_tool_frontend_delegate_1 = require("./mcp-tool-frontend-delegate");
|
|
28
|
-
const mcpConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind }) => {
|
|
29
|
-
bind(mcp_tool_frontend_delegate_1.MCPToolFrontendDelegateImpl).toSelf().inSingletonScope();
|
|
30
|
-
bind(mcp_tool_delegate_1.MCPToolFrontendDelegate).toService(mcp_tool_frontend_delegate_1.MCPToolFrontendDelegateImpl);
|
|
31
|
-
bind(core_1.ConnectionHandler)
|
|
32
|
-
.toDynamicValue(({ container }) => new core_1.RpcConnectionHandler(mcp_tool_delegate_1.mcpToolDelegatePath, client => {
|
|
33
|
-
const service = container.get(mcp_tool_frontend_delegate_1.MCPToolFrontendDelegateImpl);
|
|
34
|
-
const contributionManager = container.get(mcp_frontend_contribution_manager_1.MCPFrontendContributionManager);
|
|
35
|
-
service.setClient(client);
|
|
36
|
-
// Generate unique delegate ID and register with contribution manager
|
|
37
|
-
const delegateId = (0, core_1.generateUuid)();
|
|
38
|
-
contributionManager.addFrontendDelegate(delegateId, service);
|
|
39
|
-
// Setup cleanup when connection closes
|
|
40
|
-
client.onDidCloseConnection(() => {
|
|
41
|
-
contributionManager.removeFrontendDelegate(delegateId);
|
|
42
|
-
});
|
|
43
|
-
return service;
|
|
44
|
-
}))
|
|
45
|
-
.inSingletonScope();
|
|
46
|
-
});
|
|
47
|
-
exports.default = new inversify_1.ContainerModule(bind => {
|
|
48
|
-
bind(mcp_theia_server_impl_1.MCPTheiaServerImpl).toSelf().inSingletonScope();
|
|
49
|
-
bind(mcp_theia_server_1.MCPTheiaServer).toService(mcp_theia_server_impl_1.MCPTheiaServerImpl);
|
|
50
|
-
bind(backend_application_1.BackendApplicationContribution).toService(mcp_theia_server_impl_1.MCPTheiaServerImpl);
|
|
51
|
-
bind(mcp_backend_contribution_manager_1.MCPBackendContributionManager).toSelf().inSingletonScope();
|
|
52
|
-
bind(mcp_frontend_contribution_manager_1.MCPFrontendContributionManager).toSelf().inSingletonScope();
|
|
53
|
-
(0, core_1.bindContributionProvider)(bind, mcp_theia_server_1.MCPBackendContribution);
|
|
54
|
-
bind(connection_container_module_1.ConnectionContainerModule).toConstantValue(mcpConnectionModule);
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=mcp-backend-module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-backend-module.js","sourceRoot":"","sources":["../../src/node/mcp-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oCAAoC;AACpC,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,4DAA+D;AAC/D,kFAA0F;AAC1F,4GAAuG;AACvG,sCAA8G;AAC9G,yDAG4B;AAC5B,mEAAkH;AAClH,mEAA6D;AAC7D,yFAAmF;AACnF,2FAAqF;AACrF,6EAA2E;AAE3E,MAAM,mBAAmB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACtE,IAAI,CAAC,wDAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,2CAAuB,CAAC,CAAC,SAAS,CAAC,wDAA2B,CAAC,CAAC;IAErE,IAAI,CAAC,wBAAiB,CAAC;SAClB,cAAc,CACX,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACd,IAAI,2BAAoB,CACpB,uCAAmB,EACnB,MAAM,CAAC,EAAE;QACL,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAA8B,wDAA2B,CAAC,CAAC;QACxF,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAiC,kEAA8B,CAAC,CAAC;QAE1G,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1B,qEAAqE;QACrE,MAAM,UAAU,GAAG,IAAA,mBAAY,GAAE,CAAC;QAClC,mBAAmB,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7D,uCAAuC;QACvC,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE;YAC7B,mBAAmB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC,CACJ,CACR;SACA,gBAAgB,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IAEtC,IAAI,CAAC,0CAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,iCAAc,CAAC,CAAC,SAAS,CAAC,0CAAkB,CAAC,CAAC;IACnD,IAAI,CAAC,oDAA8B,CAAC,CAAC,SAAS,CAAC,0CAAkB,CAAC,CAAC;IAEnE,IAAI,CAAC,gEAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEhE,IAAI,CAAC,kEAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEjE,IAAA,+BAAwB,EAAC,IAAI,EAAE,yCAAsB,CAAC,CAAC;IAEvD,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { ILogger } from '@theia/core/lib/common/logger';
|
|
2
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
-
import { MCPToolFrontendDelegate } from '../common/mcp-tool-delegate';
|
|
4
|
-
/**
|
|
5
|
-
* Manages the registration and delegation of frontend MCP contributions
|
|
6
|
-
*/
|
|
7
|
-
export declare class MCPFrontendContributionManager {
|
|
8
|
-
protected readonly logger: ILogger;
|
|
9
|
-
private frontendDelegates;
|
|
10
|
-
private mcpServer?;
|
|
11
|
-
private serverId?;
|
|
12
|
-
private registeredElements;
|
|
13
|
-
/**
|
|
14
|
-
* Set the MCP server instance and setup frontend delegate notifications
|
|
15
|
-
*/
|
|
16
|
-
setMCPServer(server: McpServer, serverId: string): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Add a frontend delegate (called when a frontend connection is established)
|
|
19
|
-
*/
|
|
20
|
-
addFrontendDelegate(delegateId: string, delegate: MCPToolFrontendDelegate): void;
|
|
21
|
-
/**
|
|
22
|
-
* Remove a frontend delegate (called when a frontend connection is closed)
|
|
23
|
-
*/
|
|
24
|
-
removeFrontendDelegate(delegateId: string): void;
|
|
25
|
-
/**
|
|
26
|
-
* Unregister frontend contributions from a specific delegate
|
|
27
|
-
*/
|
|
28
|
-
private unregisterFrontendContributionsFromDelegate;
|
|
29
|
-
/**
|
|
30
|
-
* Register frontend contributions from existing delegates
|
|
31
|
-
*/
|
|
32
|
-
private registerExistingFrontendContributions;
|
|
33
|
-
/**
|
|
34
|
-
* Register frontend contributions from a specific delegate
|
|
35
|
-
*/
|
|
36
|
-
private registerFrontendContributionsFromDelegate;
|
|
37
|
-
/**
|
|
38
|
-
* Unregister frontend contributions for a server
|
|
39
|
-
* @param serverId Unique identifier for the server instance
|
|
40
|
-
*/
|
|
41
|
-
unregisterFrontendContributions(serverId: string): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Register tools from frontend contributions
|
|
44
|
-
*/
|
|
45
|
-
protected registerFrontendToolsFromDelegate(delegate: MCPToolFrontendDelegate, delegateId: string): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Register resources from frontend contributions
|
|
48
|
-
*/
|
|
49
|
-
protected registerFrontendResourcesFromDelegate(delegate: MCPToolFrontendDelegate, delegateId: string): Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Register prompts from frontend contributions
|
|
52
|
-
*/
|
|
53
|
-
protected registerFrontendPromptsFromDelegate(delegate: MCPToolFrontendDelegate, delegateId: string): Promise<void>;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=mcp-frontend-contribution-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-frontend-contribution-manager.d.ts","sourceRoot":"","sources":["../../src/node/mcp-frontend-contribution-manager.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAwD,MAAM,yCAAyC,CAAC;AAE1H,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;GAEG;AACH,qBACa,8BAA8B;IAGvC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B,OAAO,CAAC,kBAAkB,CAAsF;IAEhH;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtE;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAUhF;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKhD;;OAEG;IACH,OAAO,CAAC,2CAA2C;IAwBnD;;OAEG;YACW,qCAAqC;IAUnD;;OAEG;YACW,yCAAyC;IAuBvD;;;OAGG;IACG,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE;;OAEG;cACa,iCAAiC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CvH;;OAEG;cACa,qCAAqC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC3H;;OAEG;cACa,mCAAmC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkC5H"}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource.
|
|
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.MCPFrontendContributionManager = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const logger_1 = require("@theia/core/lib/common/logger");
|
|
22
|
-
/**
|
|
23
|
-
* Manages the registration and delegation of frontend MCP contributions
|
|
24
|
-
*/
|
|
25
|
-
let MCPFrontendContributionManager = class MCPFrontendContributionManager {
|
|
26
|
-
constructor() {
|
|
27
|
-
// Frontend delegates are set dynamically when connections are established
|
|
28
|
-
this.frontendDelegates = new Map();
|
|
29
|
-
this.registeredElements = new Map();
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Set the MCP server instance and setup frontend delegate notifications
|
|
33
|
-
*/
|
|
34
|
-
async setMCPServer(server, serverId) {
|
|
35
|
-
this.mcpServer = server;
|
|
36
|
-
this.serverId = serverId;
|
|
37
|
-
this.registerExistingFrontendContributions();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Add a frontend delegate (called when a frontend connection is established)
|
|
41
|
-
*/
|
|
42
|
-
addFrontendDelegate(delegateId, delegate) {
|
|
43
|
-
this.frontendDelegates.set(delegateId, delegate);
|
|
44
|
-
if (this.mcpServer && this.serverId) {
|
|
45
|
-
this.registerFrontendContributionsFromDelegate(delegateId, delegate).catch(error => {
|
|
46
|
-
this.logger.warn(`Failed to register frontend contributions from delegate ${delegateId}:`, error);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Remove a frontend delegate (called when a frontend connection is closed)
|
|
52
|
-
*/
|
|
53
|
-
removeFrontendDelegate(delegateId) {
|
|
54
|
-
this.frontendDelegates.delete(delegateId);
|
|
55
|
-
this.unregisterFrontendContributionsFromDelegate(delegateId);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Unregister frontend contributions from a specific delegate
|
|
59
|
-
*/
|
|
60
|
-
unregisterFrontendContributionsFromDelegate(delegateId) {
|
|
61
|
-
if (!this.mcpServer) {
|
|
62
|
-
this.logger.warn('MCP server not set, cannot unregister frontend contributions');
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
const elements = this.registeredElements.get(delegateId);
|
|
66
|
-
if (elements) {
|
|
67
|
-
for (const element of elements) {
|
|
68
|
-
try {
|
|
69
|
-
element.remove();
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
this.logger.warn(`Failed to unregister element from delegate ${delegateId}: ${error}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
this.registeredElements.delete(delegateId);
|
|
76
|
-
// Notify that lists have changed
|
|
77
|
-
this.mcpServer.sendToolListChanged();
|
|
78
|
-
this.mcpServer.sendResourceListChanged();
|
|
79
|
-
this.mcpServer.sendPromptListChanged();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Register frontend contributions from existing delegates
|
|
84
|
-
*/
|
|
85
|
-
async registerExistingFrontendContributions() {
|
|
86
|
-
for (const [delegateId, delegate] of this.frontendDelegates) {
|
|
87
|
-
try {
|
|
88
|
-
await this.registerFrontendContributionsFromDelegate(delegateId, delegate);
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
this.logger.warn(`Failed to register frontend contributions from delegate ${delegateId}:`, error);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Register frontend contributions from a specific delegate
|
|
97
|
-
*/
|
|
98
|
-
async registerFrontendContributionsFromDelegate(delegateId, delegate) {
|
|
99
|
-
if (!this.mcpServer || !this.serverId) {
|
|
100
|
-
this.logger.warn('MCP server not set, cannot register frontend contributions');
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
try {
|
|
104
|
-
await this.registerFrontendToolsFromDelegate(delegate, delegateId);
|
|
105
|
-
this.mcpServer.sendToolListChanged();
|
|
106
|
-
// Register resources from frontend
|
|
107
|
-
await this.registerFrontendResourcesFromDelegate(delegate, delegateId);
|
|
108
|
-
this.mcpServer.sendResourceListChanged();
|
|
109
|
-
// Register prompts from frontend
|
|
110
|
-
await this.registerFrontendPromptsFromDelegate(delegate, delegateId);
|
|
111
|
-
this.mcpServer.sendPromptListChanged();
|
|
112
|
-
}
|
|
113
|
-
catch (error) {
|
|
114
|
-
this.logger.warn(`Failed to register frontend MCP contributions from delegate ${delegateId}: ${error}`);
|
|
115
|
-
// Don't re-throw to prevent server startup failure
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Unregister frontend contributions for a server
|
|
120
|
-
* @param serverId Unique identifier for the server instance
|
|
121
|
-
*/
|
|
122
|
-
async unregisterFrontendContributions(serverId) {
|
|
123
|
-
for (const [delegateId] of this.frontendDelegates) {
|
|
124
|
-
try {
|
|
125
|
-
this.unregisterFrontendContributionsFromDelegate(delegateId);
|
|
126
|
-
// Backend delegates don't need lifecycle notifications
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
this.logger.warn(`Error unregistering server from frontend delegate ${delegateId}:`, error);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Register tools from frontend contributions
|
|
135
|
-
*/
|
|
136
|
-
async registerFrontendToolsFromDelegate(delegate, delegateId) {
|
|
137
|
-
var _a, _b;
|
|
138
|
-
if (!this.mcpServer || !this.serverId) {
|
|
139
|
-
throw new Error('MCP server not set');
|
|
140
|
-
}
|
|
141
|
-
try {
|
|
142
|
-
const tools = await delegate.listTools(this.serverId);
|
|
143
|
-
for (const tool of tools) {
|
|
144
|
-
const registeredTool = this.mcpServer.tool(`${tool.name}_${delegateId}`, (_a = tool.description) !== null && _a !== void 0 ? _a : '', tool.inputSchema, async (args) => {
|
|
145
|
-
try {
|
|
146
|
-
const result = await delegate.callTool(this.serverId, tool.name, args);
|
|
147
|
-
return {
|
|
148
|
-
content: [{
|
|
149
|
-
type: 'text',
|
|
150
|
-
text: typeof result === 'string' ? result : JSON.stringify(result)
|
|
151
|
-
}]
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
this.logger.error(`Error calling frontend tool ${tool.name}:`, error);
|
|
156
|
-
throw error;
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
const registeredElements = (_b = this.registeredElements.get(delegateId)) !== null && _b !== void 0 ? _b : [];
|
|
160
|
-
registeredElements.push(registeredTool);
|
|
161
|
-
this.registeredElements.set(delegateId, registeredElements);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
catch (error) {
|
|
165
|
-
this.logger.warn(`Failed to register frontend tools from delegate ${delegateId}: ${error}`);
|
|
166
|
-
throw error;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Register resources from frontend contributions
|
|
171
|
-
*/
|
|
172
|
-
async registerFrontendResourcesFromDelegate(delegate, delegateId) {
|
|
173
|
-
var _a;
|
|
174
|
-
if (!this.mcpServer || !this.serverId) {
|
|
175
|
-
throw new Error('MCP server not set');
|
|
176
|
-
}
|
|
177
|
-
try {
|
|
178
|
-
const resources = await delegate.listResources(this.serverId);
|
|
179
|
-
for (const resource of resources) {
|
|
180
|
-
const registeredResource = this.mcpServer.resource(`${resource.name}_${delegateId}`, resource.uri, async (uri) => {
|
|
181
|
-
try {
|
|
182
|
-
const result = await delegate.readResource(this.serverId, uri.href);
|
|
183
|
-
return result;
|
|
184
|
-
}
|
|
185
|
-
catch (error) {
|
|
186
|
-
this.logger.error(`Error reading frontend resource ${resource.name}:`, error);
|
|
187
|
-
throw error;
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
const registeredElements = (_a = this.registeredElements.get(delegateId)) !== null && _a !== void 0 ? _a : [];
|
|
191
|
-
registeredElements.push(registeredResource);
|
|
192
|
-
this.registeredElements.set(delegateId, registeredElements);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
catch (error) {
|
|
196
|
-
this.logger.warn(`Failed to register frontend resources from delegate ${delegateId}: ${error}`);
|
|
197
|
-
throw error;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Register prompts from frontend contributions
|
|
202
|
-
*/
|
|
203
|
-
async registerFrontendPromptsFromDelegate(delegate, delegateId) {
|
|
204
|
-
var _a, _b, _c;
|
|
205
|
-
if (!this.mcpServer || !this.serverId) {
|
|
206
|
-
throw new Error('MCP server not set');
|
|
207
|
-
}
|
|
208
|
-
try {
|
|
209
|
-
const prompts = await delegate.listPrompts(this.serverId);
|
|
210
|
-
for (const prompt of prompts) {
|
|
211
|
-
const registeredPrompt = this.mcpServer.prompt(`${prompt.name}_${delegateId}`, (_a = prompt.description) !== null && _a !== void 0 ? _a : '', (_b = prompt.arguments) !== null && _b !== void 0 ? _b : {}, async (args) => {
|
|
212
|
-
try {
|
|
213
|
-
const messages = await delegate.getPrompt(this.serverId, prompt.name, args);
|
|
214
|
-
return {
|
|
215
|
-
messages
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
this.logger.error(`Error getting frontend prompt ${prompt.name}:`, error);
|
|
220
|
-
throw error;
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
const registeredElements = (_c = this.registeredElements.get(delegateId)) !== null && _c !== void 0 ? _c : [];
|
|
224
|
-
registeredElements.push(registeredPrompt);
|
|
225
|
-
this.registeredElements.set(delegateId, registeredElements);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
catch (error) {
|
|
229
|
-
this.logger.warn(`Failed to register frontend prompts from delegate ${delegateId}: ${error}`);
|
|
230
|
-
throw error;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
exports.MCPFrontendContributionManager = MCPFrontendContributionManager;
|
|
235
|
-
tslib_1.__decorate([
|
|
236
|
-
(0, inversify_1.inject)(logger_1.ILogger),
|
|
237
|
-
tslib_1.__metadata("design:type", Object)
|
|
238
|
-
], MCPFrontendContributionManager.prototype, "logger", void 0);
|
|
239
|
-
exports.MCPFrontendContributionManager = MCPFrontendContributionManager = tslib_1.__decorate([
|
|
240
|
-
(0, inversify_1.injectable)()
|
|
241
|
-
], MCPFrontendContributionManager);
|
|
242
|
-
//# sourceMappingURL=mcp-frontend-contribution-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-frontend-contribution-manager.js","sourceRoot":"","sources":["../../src/node/mcp-frontend-contribution-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/// <reference types="express" />
|
|
2
|
-
import { ILogger } from '@theia/core/lib/common/logger';
|
|
3
|
-
import { BackendApplicationContribution } from '@theia/core/lib/node/backend-application';
|
|
4
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
-
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
|
-
import * as express from '@theia/core/shared/express';
|
|
7
|
-
import { MCPTheiaServer } from './mcp-theia-server';
|
|
8
|
-
import { MCPBackendContributionManager } from './mcp-backend-contribution-manager';
|
|
9
|
-
import { MCPFrontendContributionManager } from './mcp-frontend-contribution-manager';
|
|
10
|
-
export declare class MCPTheiaServerImpl implements MCPTheiaServer, BackendApplicationContribution {
|
|
11
|
-
protected readonly logger: ILogger;
|
|
12
|
-
protected readonly backendContributionManager: MCPBackendContributionManager;
|
|
13
|
-
protected readonly frontendContributionManager: MCPFrontendContributionManager;
|
|
14
|
-
protected server?: McpServer;
|
|
15
|
-
protected httpTransports: Map<string, StreamableHTTPServerTransport>;
|
|
16
|
-
protected httpApp?: express.Application;
|
|
17
|
-
protected running: boolean;
|
|
18
|
-
protected serverId: string;
|
|
19
|
-
configure?(app: express.Application): Promise<void>;
|
|
20
|
-
start(): Promise<void>;
|
|
21
|
-
stop(): Promise<void>;
|
|
22
|
-
getServer(): McpServer | undefined;
|
|
23
|
-
isRunning(): boolean;
|
|
24
|
-
getServerId(): string | undefined;
|
|
25
|
-
protected setupHttpTransport(): Promise<void>;
|
|
26
|
-
protected setupHttpEndpoints(app: express.Application): void;
|
|
27
|
-
protected handleStreamableHttpRequest(req: express.Request, res: express.Response): Promise<void>;
|
|
28
|
-
protected registerContributions(): Promise<void>;
|
|
29
|
-
protected registerFrontendContributions(): Promise<void>;
|
|
30
|
-
onStop(): void;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=mcp-theia-server-impl.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-theia-server-impl.d.ts","sourceRoot":"","sources":["../../src/node/mcp-theia-server-impl.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,qBACa,kBAAmB,YAAW,cAAc,EAAE,8BAA8B;IAGrF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,6BAA6B,CAAC;IAG7E,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;IAE/E,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAa;IACjF,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IACxC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAkB;IAEtC,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,SAAS,IAAI,SAAS,GAAG,SAAS;IAIlC,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,MAAM,GAAG,SAAS;cAIjB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnD,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cAM5C,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAoDvF,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;cAStC,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9D,MAAM,IAAI,IAAI;CA0BjB"}
|