Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
McpServerServiceProvider
n/a
0 / 0
n/a
0 / 0
2
n/a
0 / 0
 register
n/a
0 / 0
n/a
0 / 0
2
1<?php
2namespace Apie\McpServer;
3
4use Apie\ServiceProviderGenerator\UseGeneratedMethods;
5use Illuminate\Support\ServiceProvider;
6
7/**
8 * This file is generated with apie/service-provider-generator from file: mcp_server.yaml
9 * @codeCoverageIgnore
10 */
11class McpServerServiceProvider extends ServiceProvider
12{
13    use UseGeneratedMethods;
14
15    public function register()
16    {
17        $this->app->singleton(
18            \Apie\McpServer\RunMcpServerCommand::class,
19            function ($app) {
20                return new \Apie\McpServer\RunMcpServerCommand(
21                    $app->make(\Apie\McpServer\Factory\RunnerFactoryInterface::class),
22                    $app->make(\Apie\McpServer\Tool\ToolFactory::class),
23                    $app->make(\Apie\McpServer\Tool\ToolRunner::class),
24                    $app->make(\Psr\Log\LoggerInterface::class)
25                );
26            }
27        );
28        \Apie\ServiceProviderGenerator\TagMap::register(
29            $this->app,
30            \Apie\McpServer\RunMcpServerCommand::class,
31            array(
32              0 =>
33              array(
34                'name' => 'console.command',
35              ),
36            )
37        );
38        $this->app->tag([\Apie\McpServer\RunMcpServerCommand::class], 'console.command');
39        $this->app->bind(\Apie\McpServer\Factory\RunnerFactoryInterface::class, \Apie\McpServer\Factory\RunnerFactory::class);
40        
41        $this->app->singleton(
42            \Apie\McpServer\Factory\RunnerFactory::class,
43            function ($app) {
44                return new \Apie\McpServer\Factory\RunnerFactory(
45                    $app->make(\Psr\Log\LoggerInterface::class)
46                );
47            }
48        );
49        $this->app->singleton(
50            \Apie\McpServer\Tool\ToolRunner::class,
51            function ($app) {
52                return new \Apie\McpServer\Tool\ToolRunner(
53                    $app->make(\Apie\Core\ContextBuilders\ContextBuilderFactory::class),
54                    $app->make('apie'),
55                    $app->make(\Psr\Log\LoggerInterface::class),
56                    $app->bound(\Apie\Console\ConsoleCliStorage::class) ? $app->make(\Apie\Console\ConsoleCliStorage::class) : null
57                );
58            }
59        );
60        $this->app->singleton(
61            \Apie\McpServer\Tool\ToolFactory::class,
62            function ($app) {
63                return new \Apie\McpServer\Tool\ToolFactory(
64                    $app->make(\Apie\Core\ContextBuilders\ContextBuilderFactory::class),
65                    $app->make(\Apie\SchemaGenerator\SchemaGenerator::class),
66                    $app->make(\Apie\Core\BoundedContext\BoundedContextHashmap::class),
67                    $app->make(\Apie\Common\ActionDefinitionProvider::class)
68                );
69            }
70        );
71        $this->app->singleton(
72            \Apie\McpServer\Controllers\RemoteMcpController::class,
73            function ($app) {
74                return new \Apie\McpServer\Controllers\RemoteMcpController(
75                    $app->make(\Apie\McpServer\Tool\ToolFactory::class),
76                    $app->make(\Apie\McpServer\Tool\ToolRunner::class),
77                    $app->make(\Psr\Log\LoggerInterface::class),
78                    $app->make('apie.mcp_store')
79                );
80            }
81        );
82        \Apie\ServiceProviderGenerator\TagMap::register(
83            $this->app,
84            \Apie\McpServer\Controllers\RemoteMcpController::class,
85            array(
86              0 =>
87              array(
88                'name' => 'controller.service_arguments',
89              ),
90            )
91        );
92        $this->app->tag([\Apie\McpServer\Controllers\RemoteMcpController::class], 'controller.service_arguments');
93        $this->app->bind('apie.mcp_store', \Mcp\Server\Transport\Http\SessionStoreInterface::class);
94        
95        $this->app->singleton(
96            \Apie\McpServer\RouteDefinitions\McpServerRouteDefinitionProvider::class,
97            function ($app) {
98                return new \Apie\McpServer\RouteDefinitions\McpServerRouteDefinitionProvider(
99                    $this->parseArgument('%apie.remote_mcp_path%', \Apie\McpServer\RouteDefinitions\McpServerRouteDefinitionProvider::class, 0)
100                );
101            }
102        );
103        \Apie\ServiceProviderGenerator\TagMap::register(
104            $this->app,
105            \Apie\McpServer\RouteDefinitions\McpServerRouteDefinitionProvider::class,
106            array(
107              0 =>
108              array(
109                'name' => 'apie.common.route_definition',
110              ),
111            )
112        );
113        $this->app->tag([\Apie\McpServer\RouteDefinitions\McpServerRouteDefinitionProvider::class], 'apie.common.route_definition');
114        $this->app->singleton(
115            \Mcp\Server\Transport\Http\InMemorySessionStore::class,
116            function ($app) {
117                return new \Mcp\Server\Transport\Http\InMemorySessionStore(
118                
119                );
120            }
121        );
122        $this->app->singleton(
123            \Mcp\Server\Transport\Http\FileSessionStore::class,
124            function ($app) {
125                return new \Mcp\Server\Transport\Http\FileSessionStore(
126                    $this->parseArgument('%kernel.cache_dir%/mcp_server_sessions', \Mcp\Server\Transport\Http\FileSessionStore::class, 0)
127                );
128            }
129        );
130        $this->app->bind(\Mcp\Server\Transport\Http\SessionStoreInterface::class, \Mcp\Server\Transport\Http\FileSessionStore::class);
131        
132        
133    }
134}