@@ -96,7 +96,8 @@ class McpServerModule private constructor(
9696 val mcpMetricsProvider = binder().getProvider(McpMetrics ::class .java)
9797
9898 // Bind the factories for the transports
99- bind<MiskStreamableHttpServerTransport .Factory >().toProvider(
99+ val streamableHttpServerTransportFactoryKey = keyOf<MiskStreamableHttpServerTransport .Factory >(groupAnnotationClass)
100+ bind(streamableHttpServerTransportFactoryKey).toProvider(
100101 object : Provider <MiskStreamableHttpServerTransport .Factory > {
101102 @Inject
102103 lateinit var httpCall: ActionScoped <HttpCall >
@@ -112,8 +113,10 @@ class McpServerModule private constructor(
112113 }
113114 }
114115 )
116+ val streamableHttpServerTransportFactoryProvider = binder().getProvider(streamableHttpServerTransportFactoryKey)
115117
116- bind<MiskWebSocketServerTransport .Factory >().toProvider(
118+ val webSocketServerTransportFactoryKey = keyOf<MiskWebSocketServerTransport .Factory >(groupAnnotationClass)
119+ bind(keyOf<MiskWebSocketServerTransport .Factory >(groupAnnotationClass)).toProvider(
117120 object : Provider <MiskWebSocketServerTransport .Factory > {
118121 @Inject
119122 lateinit var httpCall: ActionScoped <HttpCall >
@@ -128,6 +131,7 @@ class McpServerModule private constructor(
128131 }
129132 }
130133 )
134+ val webSocketServerTransportFactoryProvider = binder().getProvider(webSocketServerTransportFactoryKey)
131135
132136 // Create a qualified binding for the MiskMcpServer
133137 val serverKey = keyOf<MiskMcpServer >(groupAnnotationClass)
@@ -147,18 +151,12 @@ class McpServerModule private constructor(
147151 // Create a qualified binding for the McpStreamManager
148152 val streamManagerKey = keyOf<McpStreamManager >(groupAnnotationClass)
149153 bind(streamManagerKey).toProvider(
150- object : Provider <McpStreamManager > {
151- @Inject
152- lateinit var streamableHttpServerTransportFactory: MiskStreamableHttpServerTransport .Factory
153-
154- @Inject
155- lateinit var webSocketServerTransportFactory: MiskWebSocketServerTransport .Factory
156- override fun get (): McpStreamManager =
157- McpStreamManager (
158- streamableHttpServerTransportFactory,
159- webSocketServerTransportFactory,
160- mcpServer = mcpServerProvider.get()
161- )
154+ Provider {
155+ McpStreamManager (
156+ streamableHttpServerTransportFactoryProvider.get(),
157+ webSocketServerTransportFactoryProvider.get(),
158+ mcpServer = mcpServerProvider.get()
159+ )
162160 },
163161 )
164162 }
0 commit comments