@nestjs-mcp/server 0.1.0 → 0.1.2-rc.0

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.
Files changed (106) hide show
  1. package/README.md +4 -2
  2. package/dist/controllers/sse/sse.controller.d.ts +3 -1
  3. package/dist/controllers/sse/sse.controller.js +8 -2
  4. package/dist/controllers/sse/sse.controller.js.map +1 -1
  5. package/dist/controllers/sse/sse.service.d.ts +3 -2
  6. package/dist/controllers/sse/sse.service.js +21 -6
  7. package/dist/controllers/sse/sse.service.js.map +1 -1
  8. package/dist/controllers/streamable/streamable.service.d.ts +6 -11
  9. package/dist/controllers/streamable/streamable.service.js +36 -11
  10. package/dist/controllers/streamable/streamable.service.js.map +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/interfaces/capabilities.interface.d.ts +30 -2
  15. package/dist/interfaces/capabilities.interface.js +51 -0
  16. package/dist/interfaces/capabilities.interface.js.map +1 -1
  17. package/dist/interfaces/context.interface.d.ts +6 -0
  18. package/dist/interfaces/context.interface.js +3 -0
  19. package/dist/interfaces/context.interface.js.map +1 -0
  20. package/dist/interfaces/index.d.ts +1 -1
  21. package/dist/interfaces/index.js +1 -1
  22. package/dist/interfaces/index.js.map +1 -1
  23. package/dist/interfaces/mcp-server-options.interface.d.ts +2 -2
  24. package/dist/interfaces/message.types.d.ts +8 -0
  25. package/dist/interfaces/{guards.interface.js → message.types.js} +1 -1
  26. package/dist/interfaces/message.types.js.map +1 -0
  27. package/dist/mcp.module.js +13 -1
  28. package/dist/mcp.module.js.map +1 -1
  29. package/dist/registry/registry.service.d.ts +7 -1
  30. package/dist/registry/registry.service.js +65 -4
  31. package/dist/registry/registry.service.js.map +1 -1
  32. package/dist/services/index.d.ts +1 -0
  33. package/dist/services/index.js +18 -0
  34. package/dist/services/index.js.map +1 -0
  35. package/dist/services/session.manager.d.ts +14 -0
  36. package/dist/services/session.manager.js +27 -0
  37. package/dist/services/session.manager.js.map +1 -0
  38. package/dist/tsconfig.build.tsbuildinfo +1 -1
  39. package/package.json +26 -17
  40. package/.copilotignore +0 -38
  41. package/.devcontainer/Dockerfile.dev +0 -28
  42. package/.devcontainer/devcontainer.json +0 -56
  43. package/.devcontainer/docker-compose.yml +0 -15
  44. package/.dockerignore +0 -37
  45. package/.prettierrc +0 -4
  46. package/coverage/clover.xml +0 -507
  47. package/coverage/coverage-final.json +0 -19
  48. package/coverage/lcov-report/base.css +0 -224
  49. package/coverage/lcov-report/block-navigation.js +0 -87
  50. package/coverage/lcov-report/favicon.png +0 -0
  51. package/coverage/lcov-report/index.html +0 -206
  52. package/coverage/lcov-report/prettify.css +0 -1
  53. package/coverage/lcov-report/prettify.js +0 -2
  54. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  55. package/coverage/lcov-report/sorter.js +0 -196
  56. package/coverage/lcov-report/src/controllers/sse/index.html +0 -146
  57. package/coverage/lcov-report/src/controllers/sse/index.ts.html +0 -91
  58. package/coverage/lcov-report/src/controllers/sse/sse.controller.ts.html +0 -160
  59. package/coverage/lcov-report/src/controllers/sse/sse.service.ts.html +0 -403
  60. package/coverage/lcov-report/src/controllers/streamable/index.html +0 -146
  61. package/coverage/lcov-report/src/controllers/streamable/index.ts.html +0 -91
  62. package/coverage/lcov-report/src/controllers/streamable/streamable.controller.ts.html +0 -157
  63. package/coverage/lcov-report/src/controllers/streamable/streamable.service.ts.html +0 -655
  64. package/coverage/lcov-report/src/decorators/capabilities.constants.ts.html +0 -106
  65. package/coverage/lcov-report/src/decorators/capabilities.decorators.ts.html +0 -535
  66. package/coverage/lcov-report/src/decorators/index.html +0 -146
  67. package/coverage/lcov-report/src/decorators/index.ts.html +0 -91
  68. package/coverage/lcov-report/src/index.html +0 -131
  69. package/coverage/lcov-report/src/index.ts.html +0 -118
  70. package/coverage/lcov-report/src/interfaces/capabilities.interface.ts.html +0 -703
  71. package/coverage/lcov-report/src/interfaces/index.html +0 -131
  72. package/coverage/lcov-report/src/interfaces/index.ts.html +0 -91
  73. package/coverage/lcov-report/src/mcp.module.ts.html +0 -817
  74. package/coverage/lcov-report/src/registry/discovery.service.ts.html +0 -433
  75. package/coverage/lcov-report/src/registry/index.html +0 -161
  76. package/coverage/lcov-report/src/registry/index.ts.html +0 -91
  77. package/coverage/lcov-report/src/registry/logger.service.ts.html +0 -514
  78. package/coverage/lcov-report/src/registry/registry.service.ts.html +0 -1183
  79. package/coverage/lcov-report/src/services/index.html +0 -116
  80. package/coverage/lcov-report/src/services/session.manager.ts.html +0 -163
  81. package/coverage/lcov.info +0 -912
  82. package/dist/interfaces/guards.interface.d.ts +0 -4
  83. package/dist/interfaces/guards.interface.js.map +0 -1
  84. package/eslint.config.mjs +0 -40
  85. package/src/controllers/sse/index.ts +0 -2
  86. package/src/controllers/sse/sse.controller.ts +0 -25
  87. package/src/controllers/sse/sse.service.ts +0 -106
  88. package/src/controllers/streamable/index.ts +0 -2
  89. package/src/controllers/streamable/streamable.controller.ts +0 -24
  90. package/src/controllers/streamable/streamable.service.ts +0 -190
  91. package/src/decorators/capabilities.constants.ts +0 -7
  92. package/src/decorators/capabilities.decorators.ts +0 -150
  93. package/src/decorators/index.ts +0 -2
  94. package/src/index.ts +0 -11
  95. package/src/interfaces/capabilities.interface.ts +0 -206
  96. package/src/interfaces/context.interface.ts +0 -33
  97. package/src/interfaces/index.ts +0 -2
  98. package/src/interfaces/mcp-server-options.interface.ts +0 -105
  99. package/src/interfaces/message.types.ts +0 -13
  100. package/src/mcp.module.ts +0 -244
  101. package/src/mcp.service.spec.ts +0 -28
  102. package/src/registry/discovery.service.ts +0 -116
  103. package/src/registry/index.ts +0 -2
  104. package/src/registry/logger.service.ts +0 -143
  105. package/src/registry/registry.service.ts +0 -366
  106. package/src/services/session.manager.ts +0 -26
@@ -1,703 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/interfaces/capabilities.interface.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/interfaces</a> capabilities.interface.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">23.52% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>4/17</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/8</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">23.52% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>4/17</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-yes">1x</span>
386
- <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-no">&nbsp;</span>
391
- <span class="cline-any cline-no">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-no">&nbsp;</span>
396
- <span class="cline-any cline-neutral">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-yes">1x</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-no">&nbsp;</span>
410
- <span class="cline-any cline-no">&nbsp;</span>
411
- <span class="cline-any cline-no">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-no">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-yes">1x</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-no">&nbsp;</span>
438
- <span class="cline-any cline-no">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-no">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-yes">1x</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-no">&nbsp;</span>
466
- <span class="cline-any cline-no">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-no">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
479
- CompleteResourceTemplateCallback,
480
- ListResourcesCallback,
481
- } from '@modelcontextprotocol/sdk/server/mcp.js';
482
- import { RequestHandlerExtra as SdkRequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
483
- import {
484
- ServerNotification,
485
- ServerRequest,
486
- } from '@modelcontextprotocol/sdk/types.js';
487
- import {
488
- z,
489
- ZodOptional,
490
- ZodRawShape,
491
- ZodType,
492
- ZodTypeAny,
493
- ZodTypeDef,
494
- } from 'zod';
495
- &nbsp;
496
- export interface ResourceBaseOptions {
497
- name: string;
498
- }
499
- &nbsp;
500
- export interface ResourceUriOptions extends ResourceBaseOptions {
501
- uri: string;
502
- }
503
- &nbsp;
504
- export interface ResourceUriWithMetadataOptions extends ResourceUriOptions {
505
- metadata: Record&lt;string, any&gt;;
506
- }
507
- &nbsp;
508
- export interface ResourceTemplateOptions extends ResourceBaseOptions {
509
- template: string;
510
- }
511
- &nbsp;
512
- export interface ResourceTemplateWithMetadataOptions
513
- extends ResourceTemplateOptions {
514
- metadata: Record&lt;string, any&gt;;
515
- }
516
- &nbsp;
517
- export type ResourceOptions =
518
- | ResourceUriOptions
519
- | ResourceUriWithMetadataOptions
520
- | ResourceTemplateOptions
521
- | ResourceTemplateWithMetadataOptions;
522
- &nbsp;
523
- export interface ToolNameOptions {
524
- name: string;
525
- }
526
- &nbsp;
527
- export interface ToolWithDescriptionOptions extends ToolNameOptions {
528
- description: string;
529
- }
530
- &nbsp;
531
- export interface ToolWithParamSchemaOptions extends ToolNameOptions {
532
- paramSchema: ZodRawShape;
533
- }
534
- &nbsp;
535
- export interface ToolWithDescriptionAndParamSchemaOptions
536
- extends ToolWithDescriptionOptions,
537
- ToolWithParamSchemaOptions {}
538
- &nbsp;
539
- export type ToolOptions =
540
- | ToolNameOptions
541
- | ToolWithDescriptionOptions
542
- | ToolWithParamSchemaOptions
543
- | ToolWithDescriptionAndParamSchemaOptions;
544
- &nbsp;
545
- export interface PromptBaseOptions {
546
- name: string;
547
- }
548
- &nbsp;
549
- export interface PromptWithDescriptionOptions extends PromptBaseOptions {
550
- description: string;
551
- }
552
- &nbsp;
553
- type PromptArgsRawShape = {
554
- [k: string]:
555
- | ZodType&lt;string, ZodTypeDef, string&gt;
556
- | ZodOptional&lt;ZodType&lt;string, ZodTypeDef, string&gt;&gt;;
557
- };
558
- &nbsp;
559
- export interface PromptWithArgsSchemaOptions extends PromptBaseOptions {
560
- argsSchema: PromptArgsRawShape;
561
- }
562
- &nbsp;
563
- export interface PromptWithDescriptionAndArgsSchemaOptions
564
- extends PromptWithDescriptionOptions,
565
- PromptWithArgsSchemaOptions {}
566
- &nbsp;
567
- export type PromptOptions =
568
- | PromptBaseOptions
569
- | PromptWithDescriptionOptions
570
- | PromptWithArgsSchemaOptions
571
- | PromptWithDescriptionAndArgsSchemaOptions;
572
- &nbsp;
573
- export interface TemplateCallbacks {
574
- /**
575
- * A callback to list all resources matching this template. This is required to specified, even if `undefined`, to avoid accidentally forgetting resource listing.
576
- */
577
- list: ListResourcesCallback | undefined;
578
- /**
579
- * An optional callback to autocomplete variables within the URI template. Useful for clients and users to discover possible values.
580
- */
581
- complete?: {
582
- [variable: string]: CompleteResourceTemplateCallback;
583
- };
584
- }
585
- &nbsp;
586
- export type RequestHandlerExtra = SdkRequestHandlerExtra&lt;
587
- ServerRequest,
588
- ServerNotification
589
- &gt;;
590
- &nbsp;
591
- export class ResourceUriHandlerParams {
592
- public readonly uri: URL;
593
- public readonly extra: RequestHandlerExtra;
594
- &nbsp;
595
- <span class="fstat-no" title="function not covered" > private constructor(u</span>ri: URL, extra: RequestHandlerExtra) {
596
- <span class="cstat-no" title="statement not covered" > this.uri = uri;</span>
597
- <span class="cstat-no" title="statement not covered" > this.extra = extra;</span>
598
- }
599
- &nbsp;
600
- <span class="fstat-no" title="function not covered" > static </span>from(uri: URL, extra: RequestHandlerExtra): ResourceUriHandlerParams {
601
- <span class="cstat-no" title="statement not covered" > return new ResourceUriHandlerParams(uri, extra);</span>
602
- }
603
- }
604
- &nbsp;
605
- export class ResourceTemplateHandlerParams {
606
- public readonly uri: URL;
607
- public readonly variables?: Record&lt;string, string&gt;;
608
- public readonly extra: RequestHandlerExtra;
609
- &nbsp;
610
- <span class="fstat-no" title="function not covered" > private constructor(</span>
611
- uri: URL,
612
- extra: RequestHandlerExtra,
613
- variables?: Record&lt;string, string&gt;,
614
- ) {
615
- <span class="cstat-no" title="statement not covered" > this.uri = uri;</span>
616
- <span class="cstat-no" title="statement not covered" > this.extra = extra;</span>
617
- <span class="cstat-no" title="statement not covered" > this.variables = variables;</span>
618
- }
619
- &nbsp;
620
- <span class="fstat-no" title="function not covered" > static </span>from(
621
- uri: URL,
622
- extra: RequestHandlerExtra,
623
- variables?: Record&lt;string, string&gt;,
624
- ): ResourceTemplateHandlerParams {
625
- <span class="cstat-no" title="statement not covered" > return new ResourceTemplateHandlerParams(uri, extra, variables);</span>
626
- }
627
- }
628
- &nbsp;
629
- export class PromptHandlerParams&lt;
630
- Args extends PromptArgsRawShape | undefined = undefined,
631
- &gt; {
632
- public readonly args?: Args extends PromptArgsRawShape
633
- ? z.objectOutputType&lt;Args, ZodTypeAny&gt;
634
- : undefined;
635
- public readonly extra: RequestHandlerExtra;
636
- &nbsp;
637
- <span class="fstat-no" title="function not covered" > private constructor(</span>
638
- extra: RequestHandlerExtra,
639
- args?: Args extends PromptArgsRawShape
640
- ? z.objectOutputType&lt;Args, ZodTypeAny&gt;
641
- : undefined,
642
- ) {
643
- <span class="cstat-no" title="statement not covered" > this.extra = extra;</span>
644
- <span class="cstat-no" title="statement not covered" > this.args = args;</span>
645
- }
646
- &nbsp;
647
- <span class="fstat-no" title="function not covered" > static </span>from&lt;Args extends PromptArgsRawShape | undefined&gt;(
648
- extra: RequestHandlerExtra,
649
- args?: Args extends PromptArgsRawShape
650
- ? z.objectOutputType&lt;Args, ZodTypeAny&gt;
651
- : undefined,
652
- ): PromptHandlerParams&lt;Args&gt; {
653
- <span class="cstat-no" title="statement not covered" > return new PromptHandlerParams&lt;Args&gt;(extra, args);</span>
654
- }
655
- }
656
- &nbsp;
657
- export class ToolHandlerParams&lt;
658
- Args extends ZodRawShape | undefined = undefined,
659
- &gt; {
660
- public readonly args?: Args extends ZodRawShape
661
- ? z.objectOutputType&lt;Args, ZodTypeAny&gt;
662
- : undefined;
663
- public readonly extra: RequestHandlerExtra;
664
- &nbsp;
665
- <span class="fstat-no" title="function not covered" > private constructor(</span>
666
- extra: RequestHandlerExtra,
667
- args?: Args extends ZodRawShape
668
- ? z.objectOutputType&lt;Args, ZodTypeAny&gt;
669
- : undefined,
670
- ) {
671
- <span class="cstat-no" title="statement not covered" > this.extra = extra;</span>
672
- <span class="cstat-no" title="statement not covered" > this.args = args;</span>
673
- }
674
- &nbsp;
675
- <span class="fstat-no" title="function not covered" > static </span>from&lt;Args extends ZodRawShape | undefined&gt;(
676
- extra: RequestHandlerExtra,
677
- args?: Args extends ZodRawShape
678
- ? z.objectOutputType&lt;Args, ZodTypeAny&gt;
679
- : undefined,
680
- ): ToolHandlerParams&lt;Args&gt; {
681
- <span class="cstat-no" title="statement not covered" > return new ToolHandlerParams&lt;Args&gt;(extra, args);</span>
682
- }
683
- }
684
- &nbsp;</pre></td></tr></table></pre>
685
-
686
- <div class='push'></div><!-- for sticky footer -->
687
- </div><!-- /wrapper -->
688
- <div class='footer quiet pad2 space-top1 center small'>
689
- Code coverage generated by
690
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
691
- at 2025-05-02T07:30:51.864Z
692
- </div>
693
- <script src="../../prettify.js"></script>
694
- <script>
695
- window.onload = function () {
696
- prettyPrint();
697
- };
698
- </script>
699
- <script src="../../sorter.js"></script>
700
- <script src="../../block-navigation.js"></script>
701
- </body>
702
- </html>
703
-