Skip to content

Commit cec6899

Browse files
committed
Rename type definitions for consistency
1 parent b21565e commit cec6899

File tree

5 files changed

+37
-41
lines changed

5 files changed

+37
-41
lines changed

src/main/IPCs.ts

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { ipcMain, shell, IpcMainEvent, dialog, BrowserWindow } from 'electron'
22
import Constants from './utils/Constants'
33
import {
4-
capabilitySchemas,
5-
ClientObj,
6-
FeatureObj,
7-
ConfigMcpMetadata,
4+
McpServerCapabilitySchemas,
5+
McpClientObject,
6+
McpFeatureObject,
7+
McpMetadataConfig,
88
McpProgressCallback
99
} from './mcp/types'
1010

@@ -39,8 +39,8 @@ interface ManifestResponse {
3939
* IPC Communications
4040
* */
4141
export default class IPCs {
42-
static clients: ClientObj[] = []
43-
static currentFeatures: FeatureObj[] = []
42+
static clients: McpClientObject[] = []
43+
static currentFeatures: McpFeatureObject[] = []
4444

4545
static initialize(): void {
4646
// Get application version
@@ -72,7 +72,7 @@ export default class IPCs {
7272

7373
ipcMain.handle(
7474
'msgMcpServersInit',
75-
async (event: IpcMainEvent, metadata: ConfigMcpMetadata) => {
75+
async (event: IpcMainEvent, metadata: McpMetadataConfig) => {
7676
IPCs.stopAllServers()
7777

7878
const progressCallback: McpProgressCallback = (name, message, status) => {
@@ -258,12 +258,12 @@ export default class IPCs {
258258
})
259259
}
260260

261-
static updateMCP(newFeatures: FeatureObj[]): void {
261+
static updateMCP(newFeatures: McpFeatureObject[]): void {
262262
this.currentFeatures = newFeatures
263263
}
264264

265265
static stopAllServers() {
266-
this.clients.forEach((client: ClientObj) => {
266+
this.clients.forEach((client: McpClientObject) => {
267267
if (client.connection?.transport) {
268268
disconnect(client.connection.transport)
269269
delete client.connection.transport
@@ -281,7 +281,7 @@ export default class IPCs {
281281
handlerRegistry.clear()
282282
}
283283

284-
static initializeMCP(initialFeatures: FeatureObj[]): void {
284+
static initializeMCP(initialFeatures: McpFeatureObject[]): void {
285285
this.currentFeatures = initialFeatures
286286
ipcMain.handle('list-clients', () => {
287287
return this.currentFeatures
@@ -295,8 +295,12 @@ export function responseToRenderer(responseChannel, resolve) {
295295
})
296296
}
297297

298-
export function registerIpcHandlers({ name, connection, configJson }: ClientObj): FeatureObj {
299-
const feature: FeatureObj = {
298+
export function registerIpcHandlers({
299+
name,
300+
connection,
301+
configJson
302+
}: McpClientObject): McpFeatureObject {
303+
const feature: McpFeatureObject = {
300304
name,
301305
config: configJson
302306
}
@@ -324,7 +328,7 @@ export function registerIpcHandlers({ name, connection, configJson }: ClientObj)
324328
return eventName
325329
}
326330

327-
for (const [type, actions] of Object.entries(capabilitySchemas)) {
331+
for (const [type, actions] of Object.entries(McpServerCapabilitySchemas)) {
328332
const capabilities = connection.client.getServerCapabilities()
329333
if (capabilities?.[type]) {
330334
feature[type] = {}

src/main/mcp/client.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import {
55
import { Client } from '@modelcontextprotocol/sdk/client/index.js'
66
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'
77

8-
import { ServerConfig, McpClientTransport, McpProgressCallback } from './types'
8+
import { McpServerConfig, McpClientTransport, McpProgressCallback } from './types'
99
import { connect } from './connection'
1010

1111
import { samplingTransferInvoke, elicitationTransferInvoke } from '../index'
1212
import Constants from '../utils/Constants'
1313

1414
export async function initializeClient(
1515
name: string,
16-
serverConfig: ServerConfig,
16+
serverConfig: McpServerConfig,
1717
callback?: McpProgressCallback,
1818
idleTimeout: number = 90 // 90 sec by default
1919
): Promise<McpClientTransport> {
@@ -43,7 +43,7 @@ export async function initializeClient(
4343

4444
async function initializeStdioClient(
4545
name: string,
46-
config: ServerConfig,
46+
config: McpServerConfig,
4747
callback?: McpProgressCallback,
4848
onData?: () => void
4949
): Promise<McpClientTransport> {

src/main/mcp/config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { showNotification } from '../utils//notification'
22
import fs from 'node:fs'
33
import path from 'node:path'
4-
import { McpServersConfig } from './types'
4+
import { McpServerConfig } from './types'
55
import { shell } from 'electron'
66
import { debounce } from 'lodash'
77

@@ -31,7 +31,7 @@ function readConfig(configPath: string) {
3131
}
3232
}
3333

34-
export function loadConfigFile(configPath: string): McpServersConfig {
34+
export function loadConfigFile(configPath: string): Record<string, McpServerConfig> {
3535
const resolvedConfigPath = path.isAbsolute(configPath)
3636
? configPath
3737
: path.resolve(process.cwd(), configPath)

src/main/mcp/init.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { ClientObj, ConfigMcpMetadata, ServerConfig, McpProgressCallback } from './types'
1+
import { McpClientObject, McpMetadataConfig, McpServerConfig, McpProgressCallback } from './types'
22
// import { Notification } from 'electron'
33
import { initializeClient } from './client'
44
import { loadConfigFile } from './config'
55
import Constants from '../utils/Constants'
66
import { getMcpConfigForDxt } from './dxt'
77
import path from 'node:path'
88

9-
export async function loadConfig(): Promise<ClientObj[]> {
9+
export async function loadConfig(): Promise<McpClientObject[]> {
1010
try {
1111
const config = loadConfigFile(Constants.ASSETS_PATH.mcp)
1212
if (config) {
@@ -19,9 +19,9 @@ export async function loadConfig(): Promise<ClientObj[]> {
1919
}
2020

2121
export async function initClients(
22-
metadata: ConfigMcpMetadata,
22+
metadata: McpMetadataConfig,
2323
callback?: McpProgressCallback
24-
): Promise<ClientObj[]> {
24+
): Promise<McpClientObject[]> {
2525
if (!metadata) {
2626
console.log('NO clients initialized.')
2727
return []
@@ -58,9 +58,9 @@ export async function initClients(
5858

5959
export async function initSingleClient(
6060
name: string,
61-
serverConfig: ServerConfig,
61+
serverConfig: McpServerConfig,
6262
callback?: McpProgressCallback
63-
): Promise<ClientObj> {
63+
): Promise<McpClientObject> {
6464
console.log(`Initializing client for ${name} with config:`, serverConfig)
6565
const connection = await initializeClient(name, serverConfig, callback)
6666
console.log(`${name} initialized.`)

src/main/mcp/types.ts

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import {
1515
StdioServerParameters
1616
} from '@modelcontextprotocol/sdk/client/stdio.js'
1717

18-
import { McpMetadataStdio, McpMetadataDxt } from '@/types/mcp'
18+
import { McpMetadata } from '@/types/mcp'
1919

20-
export const capabilitySchemas = {
20+
export const McpServerCapabilitySchemas = {
2121
tools: {
2222
list: ListToolsResultSchema,
2323
call: CallToolResultSchema
@@ -33,21 +33,13 @@ export const capabilitySchemas = {
3333
}
3434
}
3535

36-
export type ServerConfig = StdioServerParameters
36+
export type McpServerConfig = StdioServerParameters
3737

3838
export interface McpClientTransport {
3939
client: Client
4040
transport: StdioClientTransport
4141
}
4242

43-
export interface McpServersConfig {
44-
[key: string]: ServerConfig
45-
}
46-
47-
export type ConfigObj = {
48-
[key: string]: ServerConfig
49-
}
50-
5143
export type McpCallback = {
5244
name: string
5345
message: string
@@ -58,17 +50,17 @@ export type McpProgressCallback = (
5850
..._args: [McpCallback['name'], McpCallback['message'], McpCallback['status']]
5951
) => void
6052

61-
export type ConfigMcpMetadata = {
62-
[key: string]: McpMetadataStdio | McpMetadataDxt
53+
export type McpMetadataConfig = {
54+
[key: string]: McpMetadata
6355
}
6456

65-
export type ClientObj = {
57+
export type McpClientObject = {
6658
name: string
67-
configJson?: ServerConfig
59+
configJson?: McpServerConfig
6860
connection?: McpClientTransport
6961
}
7062

71-
export type FeatureObj = {
63+
export type McpFeatureObject = {
7264
name: string
73-
config: ClientObj['configJson']
65+
config: McpClientObject['configJson']
7466
}

0 commit comments

Comments
 (0)