mcp-server-framework 1.0.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 (673) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/LICENSE-GPL.md +219 -0
  3. package/LICENSE.md +187 -0
  4. package/README.md +439 -0
  5. package/build/config/config-cache.d.ts +120 -0
  6. package/build/config/config-cache.d.ts.map +1 -0
  7. package/build/config/config-cache.js +310 -0
  8. package/build/config/config-cache.js.map +1 -0
  9. package/build/config/env.d.ts +476 -0
  10. package/build/config/env.d.ts.map +1 -0
  11. package/build/config/env.js +441 -0
  12. package/build/config/env.js.map +1 -0
  13. package/build/config/extensions.d.ts +107 -0
  14. package/build/config/extensions.d.ts.map +1 -0
  15. package/build/config/extensions.js +152 -0
  16. package/build/config/extensions.js.map +1 -0
  17. package/build/config/file/index.d.ts +8 -0
  18. package/build/config/file/index.d.ts.map +1 -0
  19. package/build/config/file/index.js +10 -0
  20. package/build/config/file/index.js.map +1 -0
  21. package/build/config/file/loader.d.ts +31 -0
  22. package/build/config/file/loader.d.ts.map +1 -0
  23. package/build/config/file/loader.js +313 -0
  24. package/build/config/file/loader.js.map +1 -0
  25. package/build/config/file/schema.d.ts +583 -0
  26. package/build/config/file/schema.d.ts.map +1 -0
  27. package/build/config/file/schema.js +388 -0
  28. package/build/config/file/schema.js.map +1 -0
  29. package/build/config/index.d.ts +15 -0
  30. package/build/config/index.d.ts.map +1 -0
  31. package/build/config/index.js +27 -0
  32. package/build/config/index.js.map +1 -0
  33. package/build/config/startup-warnings.d.ts +46 -0
  34. package/build/config/startup-warnings.d.ts.map +1 -0
  35. package/build/config/startup-warnings.js +61 -0
  36. package/build/config/startup-warnings.js.map +1 -0
  37. package/build/connection/connection-state.d.ts +196 -0
  38. package/build/connection/connection-state.d.ts.map +1 -0
  39. package/build/connection/connection-state.js +426 -0
  40. package/build/connection/connection-state.js.map +1 -0
  41. package/build/connection/core/base.d.ts +43 -0
  42. package/build/connection/core/base.d.ts.map +1 -0
  43. package/build/connection/core/base.js +82 -0
  44. package/build/connection/core/base.js.map +1 -0
  45. package/build/connection/core/constants.d.ts +121 -0
  46. package/build/connection/core/constants.d.ts.map +1 -0
  47. package/build/connection/core/constants.js +151 -0
  48. package/build/connection/core/constants.js.map +1 -0
  49. package/build/connection/core/index.d.ts +13 -0
  50. package/build/connection/core/index.d.ts.map +1 -0
  51. package/build/connection/core/index.js +14 -0
  52. package/build/connection/core/index.js.map +1 -0
  53. package/build/connection/core/types.d.ts +102 -0
  54. package/build/connection/core/types.d.ts.map +1 -0
  55. package/build/connection/core/types.js +31 -0
  56. package/build/connection/core/types.js.map +1 -0
  57. package/build/connection/index.d.ts +19 -0
  58. package/build/connection/index.d.ts.map +1 -0
  59. package/build/connection/index.js +22 -0
  60. package/build/connection/index.js.map +1 -0
  61. package/build/connection/types.d.ts +125 -0
  62. package/build/connection/types.d.ts.map +1 -0
  63. package/build/connection/types.js +39 -0
  64. package/build/connection/types.js.map +1 -0
  65. package/build/errors/categories/auth.d.ts +59 -0
  66. package/build/errors/categories/auth.d.ts.map +1 -0
  67. package/build/errors/categories/auth.js +111 -0
  68. package/build/errors/categories/auth.js.map +1 -0
  69. package/build/errors/categories/connection.d.ts +70 -0
  70. package/build/errors/categories/connection.d.ts.map +1 -0
  71. package/build/errors/categories/connection.js +120 -0
  72. package/build/errors/categories/connection.js.map +1 -0
  73. package/build/errors/categories/index.d.ts +14 -0
  74. package/build/errors/categories/index.d.ts.map +1 -0
  75. package/build/errors/categories/index.js +20 -0
  76. package/build/errors/categories/index.js.map +1 -0
  77. package/build/errors/categories/operation.d.ts +83 -0
  78. package/build/errors/categories/operation.d.ts.map +1 -0
  79. package/build/errors/categories/operation.js +149 -0
  80. package/build/errors/categories/operation.js.map +1 -0
  81. package/build/errors/categories/protocol.d.ts +68 -0
  82. package/build/errors/categories/protocol.d.ts.map +1 -0
  83. package/build/errors/categories/protocol.js +135 -0
  84. package/build/errors/categories/protocol.js.map +1 -0
  85. package/build/errors/categories/session.d.ts +50 -0
  86. package/build/errors/categories/session.d.ts.map +1 -0
  87. package/build/errors/categories/session.js +97 -0
  88. package/build/errors/categories/session.js.map +1 -0
  89. package/build/errors/categories/system.d.ts +95 -0
  90. package/build/errors/categories/system.d.ts.map +1 -0
  91. package/build/errors/categories/system.js +190 -0
  92. package/build/errors/categories/system.js.map +1 -0
  93. package/build/errors/categories/transport.d.ts +70 -0
  94. package/build/errors/categories/transport.d.ts.map +1 -0
  95. package/build/errors/categories/transport.js +148 -0
  96. package/build/errors/categories/transport.js.map +1 -0
  97. package/build/errors/categories/validation.d.ts +140 -0
  98. package/build/errors/categories/validation.d.ts.map +1 -0
  99. package/build/errors/categories/validation.js +311 -0
  100. package/build/errors/categories/validation.js.map +1 -0
  101. package/build/errors/core/base.d.ts +103 -0
  102. package/build/errors/core/base.d.ts.map +1 -0
  103. package/build/errors/core/base.js +219 -0
  104. package/build/errors/core/base.js.map +1 -0
  105. package/build/errors/core/constants.d.ts +40 -0
  106. package/build/errors/core/constants.d.ts.map +1 -0
  107. package/build/errors/core/constants.js +49 -0
  108. package/build/errors/core/constants.js.map +1 -0
  109. package/build/errors/core/error-codes.d.ts +72 -0
  110. package/build/errors/core/error-codes.d.ts.map +1 -0
  111. package/build/errors/core/error-codes.js +88 -0
  112. package/build/errors/core/error-codes.js.map +1 -0
  113. package/build/errors/core/http.d.ts +69 -0
  114. package/build/errors/core/http.d.ts.map +1 -0
  115. package/build/errors/core/http.js +106 -0
  116. package/build/errors/core/http.js.map +1 -0
  117. package/build/errors/core/index.d.ts +23 -0
  118. package/build/errors/core/index.d.ts.map +1 -0
  119. package/build/errors/core/index.js +41 -0
  120. package/build/errors/core/index.js.map +1 -0
  121. package/build/errors/core/json-rpc.d.ts +69 -0
  122. package/build/errors/core/json-rpc.d.ts.map +1 -0
  123. package/build/errors/core/json-rpc.js +79 -0
  124. package/build/errors/core/json-rpc.js.map +1 -0
  125. package/build/errors/core/messages.d.ts +51 -0
  126. package/build/errors/core/messages.d.ts.map +1 -0
  127. package/build/errors/core/messages.js +59 -0
  128. package/build/errors/core/messages.js.map +1 -0
  129. package/build/errors/core/types.d.ts +80 -0
  130. package/build/errors/core/types.d.ts.map +1 -0
  131. package/build/errors/core/types.js +10 -0
  132. package/build/errors/core/types.js.map +1 -0
  133. package/build/errors/factory.d.ts +199 -0
  134. package/build/errors/factory.d.ts.map +1 -0
  135. package/build/errors/factory.js +244 -0
  136. package/build/errors/factory.js.map +1 -0
  137. package/build/errors/index.d.ts +35 -0
  138. package/build/errors/index.d.ts.map +1 -0
  139. package/build/errors/index.js +67 -0
  140. package/build/errors/index.js.map +1 -0
  141. package/build/index.d.ts +93 -0
  142. package/build/index.d.ts.map +1 -0
  143. package/build/index.js +107 -0
  144. package/build/index.js.map +1 -0
  145. package/build/logger/core/constants.d.ts +143 -0
  146. package/build/logger/core/constants.d.ts.map +1 -0
  147. package/build/logger/core/constants.js +206 -0
  148. package/build/logger/core/constants.js.map +1 -0
  149. package/build/logger/core/context.d.ts +170 -0
  150. package/build/logger/core/context.d.ts.map +1 -0
  151. package/build/logger/core/context.js +237 -0
  152. package/build/logger/core/context.js.map +1 -0
  153. package/build/logger/core/errors.d.ts +101 -0
  154. package/build/logger/core/errors.d.ts.map +1 -0
  155. package/build/logger/core/errors.js +128 -0
  156. package/build/logger/core/errors.js.map +1 -0
  157. package/build/logger/core/format.d.ts +40 -0
  158. package/build/logger/core/format.d.ts.map +1 -0
  159. package/build/logger/core/format.js +47 -0
  160. package/build/logger/core/format.js.map +1 -0
  161. package/build/logger/core/index.d.ts +19 -0
  162. package/build/logger/core/index.d.ts.map +1 -0
  163. package/build/logger/core/index.js +47 -0
  164. package/build/logger/core/index.js.map +1 -0
  165. package/build/logger/core/trace-context.d.ts +51 -0
  166. package/build/logger/core/trace-context.d.ts.map +1 -0
  167. package/build/logger/core/trace-context.js +42 -0
  168. package/build/logger/core/trace-context.js.map +1 -0
  169. package/build/logger/core/types.d.ts +233 -0
  170. package/build/logger/core/types.d.ts.map +1 -0
  171. package/build/logger/core/types.js +10 -0
  172. package/build/logger/core/types.js.map +1 -0
  173. package/build/logger/factory.d.ts +150 -0
  174. package/build/logger/factory.d.ts.map +1 -0
  175. package/build/logger/factory.js +236 -0
  176. package/build/logger/factory.js.map +1 -0
  177. package/build/logger/formatters/index.d.ts +12 -0
  178. package/build/logger/formatters/index.d.ts.map +1 -0
  179. package/build/logger/formatters/index.js +15 -0
  180. package/build/logger/formatters/index.js.map +1 -0
  181. package/build/logger/formatters/json-formatter.d.ts +54 -0
  182. package/build/logger/formatters/json-formatter.d.ts.map +1 -0
  183. package/build/logger/formatters/json-formatter.js +80 -0
  184. package/build/logger/formatters/json-formatter.js.map +1 -0
  185. package/build/logger/formatters/schema.d.ts +230 -0
  186. package/build/logger/formatters/schema.d.ts.map +1 -0
  187. package/build/logger/formatters/schema.js +278 -0
  188. package/build/logger/formatters/schema.js.map +1 -0
  189. package/build/logger/formatters/text-formatter.d.ts +50 -0
  190. package/build/logger/formatters/text-formatter.d.ts.map +1 -0
  191. package/build/logger/formatters/text-formatter.js +93 -0
  192. package/build/logger/formatters/text-formatter.js.map +1 -0
  193. package/build/logger/index.d.ts +39 -0
  194. package/build/logger/index.d.ts.map +1 -0
  195. package/build/logger/index.js +43 -0
  196. package/build/logger/index.js.map +1 -0
  197. package/build/logger/logger.d.ts +278 -0
  198. package/build/logger/logger.d.ts.map +1 -0
  199. package/build/logger/logger.js +459 -0
  200. package/build/logger/logger.js.map +1 -0
  201. package/build/logger/mcp-logger.d.ts +177 -0
  202. package/build/logger/mcp-logger.d.ts.map +1 -0
  203. package/build/logger/mcp-logger.js +294 -0
  204. package/build/logger/mcp-logger.js.map +1 -0
  205. package/build/logger/scrubbing/index.d.ts +14 -0
  206. package/build/logger/scrubbing/index.d.ts.map +1 -0
  207. package/build/logger/scrubbing/index.js +16 -0
  208. package/build/logger/scrubbing/index.js.map +1 -0
  209. package/build/logger/scrubbing/injection-guard.d.ts +69 -0
  210. package/build/logger/scrubbing/injection-guard.d.ts.map +1 -0
  211. package/build/logger/scrubbing/injection-guard.js +102 -0
  212. package/build/logger/scrubbing/injection-guard.js.map +1 -0
  213. package/build/logger/scrubbing/secret-scrubber.d.ts +72 -0
  214. package/build/logger/scrubbing/secret-scrubber.d.ts.map +1 -0
  215. package/build/logger/scrubbing/secret-scrubber.js +177 -0
  216. package/build/logger/scrubbing/secret-scrubber.js.map +1 -0
  217. package/build/logger/writers/base-writer.d.ts +45 -0
  218. package/build/logger/writers/base-writer.d.ts.map +1 -0
  219. package/build/logger/writers/base-writer.js +41 -0
  220. package/build/logger/writers/base-writer.js.map +1 -0
  221. package/build/logger/writers/composite-writer.d.ts +83 -0
  222. package/build/logger/writers/composite-writer.d.ts.map +1 -0
  223. package/build/logger/writers/composite-writer.js +121 -0
  224. package/build/logger/writers/composite-writer.js.map +1 -0
  225. package/build/logger/writers/console-writer.d.ts +59 -0
  226. package/build/logger/writers/console-writer.d.ts.map +1 -0
  227. package/build/logger/writers/console-writer.js +73 -0
  228. package/build/logger/writers/console-writer.js.map +1 -0
  229. package/build/logger/writers/file-writer.d.ts +160 -0
  230. package/build/logger/writers/file-writer.d.ts.map +1 -0
  231. package/build/logger/writers/file-writer.js +345 -0
  232. package/build/logger/writers/file-writer.js.map +1 -0
  233. package/build/logger/writers/index.d.ts +15 -0
  234. package/build/logger/writers/index.d.ts.map +1 -0
  235. package/build/logger/writers/index.js +19 -0
  236. package/build/logger/writers/index.js.map +1 -0
  237. package/build/mcp/capabilities/apps/define-app.d.ts +68 -0
  238. package/build/mcp/capabilities/apps/define-app.d.ts.map +1 -0
  239. package/build/mcp/capabilities/apps/define-app.js +127 -0
  240. package/build/mcp/capabilities/apps/define-app.js.map +1 -0
  241. package/build/mcp/capabilities/apps/index.d.ts +10 -0
  242. package/build/mcp/capabilities/apps/index.d.ts.map +1 -0
  243. package/build/mcp/capabilities/apps/index.js +10 -0
  244. package/build/mcp/capabilities/apps/index.js.map +1 -0
  245. package/build/mcp/capabilities/capabilities.d.ts +24 -0
  246. package/build/mcp/capabilities/capabilities.d.ts.map +1 -0
  247. package/build/mcp/capabilities/capabilities.js +50 -0
  248. package/build/mcp/capabilities/capabilities.js.map +1 -0
  249. package/build/mcp/capabilities/index.d.ts +17 -0
  250. package/build/mcp/capabilities/index.d.ts.map +1 -0
  251. package/build/mcp/capabilities/index.js +20 -0
  252. package/build/mcp/capabilities/index.js.map +1 -0
  253. package/build/mcp/capabilities/prompts/define-prompt.d.ts +95 -0
  254. package/build/mcp/capabilities/prompts/define-prompt.d.ts.map +1 -0
  255. package/build/mcp/capabilities/prompts/define-prompt.js +109 -0
  256. package/build/mcp/capabilities/prompts/define-prompt.js.map +1 -0
  257. package/build/mcp/capabilities/prompts/index.d.ts +10 -0
  258. package/build/mcp/capabilities/prompts/index.d.ts.map +1 -0
  259. package/build/mcp/capabilities/prompts/index.js +10 -0
  260. package/build/mcp/capabilities/prompts/index.js.map +1 -0
  261. package/build/mcp/capabilities/registry/base-registry.d.ts +95 -0
  262. package/build/mcp/capabilities/registry/base-registry.d.ts.map +1 -0
  263. package/build/mcp/capabilities/registry/base-registry.js +149 -0
  264. package/build/mcp/capabilities/registry/base-registry.js.map +1 -0
  265. package/build/mcp/capabilities/registry/index.d.ts +16 -0
  266. package/build/mcp/capabilities/registry/index.d.ts.map +1 -0
  267. package/build/mcp/capabilities/registry/index.js +34 -0
  268. package/build/mcp/capabilities/registry/index.js.map +1 -0
  269. package/build/mcp/capabilities/registry/prompt-registry.d.ts +116 -0
  270. package/build/mcp/capabilities/registry/prompt-registry.d.ts.map +1 -0
  271. package/build/mcp/capabilities/registry/prompt-registry.js +232 -0
  272. package/build/mcp/capabilities/registry/prompt-registry.js.map +1 -0
  273. package/build/mcp/capabilities/registry/reset.d.ts +30 -0
  274. package/build/mcp/capabilities/registry/reset.d.ts.map +1 -0
  275. package/build/mcp/capabilities/registry/reset.js +48 -0
  276. package/build/mcp/capabilities/registry/reset.js.map +1 -0
  277. package/build/mcp/capabilities/registry/resource-registry.d.ts +152 -0
  278. package/build/mcp/capabilities/registry/resource-registry.d.ts.map +1 -0
  279. package/build/mcp/capabilities/registry/resource-registry.js +430 -0
  280. package/build/mcp/capabilities/registry/resource-registry.js.map +1 -0
  281. package/build/mcp/capabilities/registry/scope-enforcement.d.ts +48 -0
  282. package/build/mcp/capabilities/registry/scope-enforcement.d.ts.map +1 -0
  283. package/build/mcp/capabilities/registry/scope-enforcement.js +62 -0
  284. package/build/mcp/capabilities/registry/scope-enforcement.js.map +1 -0
  285. package/build/mcp/capabilities/registry/task-tool-registry.d.ts +96 -0
  286. package/build/mcp/capabilities/registry/task-tool-registry.d.ts.map +1 -0
  287. package/build/mcp/capabilities/registry/task-tool-registry.js +190 -0
  288. package/build/mcp/capabilities/registry/task-tool-registry.js.map +1 -0
  289. package/build/mcp/capabilities/registry/tool-registry.d.ts +100 -0
  290. package/build/mcp/capabilities/registry/tool-registry.d.ts.map +1 -0
  291. package/build/mcp/capabilities/registry/tool-registry.js +242 -0
  292. package/build/mcp/capabilities/registry/tool-registry.js.map +1 -0
  293. package/build/mcp/capabilities/resources/define-resource.d.ts +103 -0
  294. package/build/mcp/capabilities/resources/define-resource.d.ts.map +1 -0
  295. package/build/mcp/capabilities/resources/define-resource.js +137 -0
  296. package/build/mcp/capabilities/resources/define-resource.js.map +1 -0
  297. package/build/mcp/capabilities/resources/index.d.ts +10 -0
  298. package/build/mcp/capabilities/resources/index.d.ts.map +1 -0
  299. package/build/mcp/capabilities/resources/index.js +10 -0
  300. package/build/mcp/capabilities/resources/index.js.map +1 -0
  301. package/build/mcp/capabilities/server-capabilities.d.ts +33 -0
  302. package/build/mcp/capabilities/server-capabilities.d.ts.map +1 -0
  303. package/build/mcp/capabilities/server-capabilities.js +16 -0
  304. package/build/mcp/capabilities/server-capabilities.js.map +1 -0
  305. package/build/mcp/capabilities/tasks/define-task.d.ts +75 -0
  306. package/build/mcp/capabilities/tasks/define-task.d.ts.map +1 -0
  307. package/build/mcp/capabilities/tasks/define-task.js +93 -0
  308. package/build/mcp/capabilities/tasks/define-task.js.map +1 -0
  309. package/build/mcp/capabilities/tasks/index.d.ts +11 -0
  310. package/build/mcp/capabilities/tasks/index.d.ts.map +1 -0
  311. package/build/mcp/capabilities/tasks/index.js +11 -0
  312. package/build/mcp/capabilities/tasks/index.js.map +1 -0
  313. package/build/mcp/capabilities/tools/define-tool.d.ts +62 -0
  314. package/build/mcp/capabilities/tools/define-tool.d.ts.map +1 -0
  315. package/build/mcp/capabilities/tools/define-tool.js +73 -0
  316. package/build/mcp/capabilities/tools/define-tool.js.map +1 -0
  317. package/build/mcp/capabilities/tools/index.d.ts +10 -0
  318. package/build/mcp/capabilities/tools/index.d.ts.map +1 -0
  319. package/build/mcp/capabilities/tools/index.js +10 -0
  320. package/build/mcp/capabilities/tools/index.js.map +1 -0
  321. package/build/mcp/handlers/index.d.ts +19 -0
  322. package/build/mcp/handlers/index.d.ts.map +1 -0
  323. package/build/mcp/handlers/index.js +26 -0
  324. package/build/mcp/handlers/index.js.map +1 -0
  325. package/build/mcp/handlers/ping.d.ts +27 -0
  326. package/build/mcp/handlers/ping.d.ts.map +1 -0
  327. package/build/mcp/handlers/ping.js +61 -0
  328. package/build/mcp/handlers/ping.js.map +1 -0
  329. package/build/mcp/handlers/progress.d.ts +41 -0
  330. package/build/mcp/handlers/progress.d.ts.map +1 -0
  331. package/build/mcp/handlers/progress.js +79 -0
  332. package/build/mcp/handlers/progress.js.map +1 -0
  333. package/build/mcp/index.d.ts +28 -0
  334. package/build/mcp/index.d.ts.map +1 -0
  335. package/build/mcp/index.js +34 -0
  336. package/build/mcp/index.js.map +1 -0
  337. package/build/mcp/responses/helpers.d.ts +146 -0
  338. package/build/mcp/responses/helpers.d.ts.map +1 -0
  339. package/build/mcp/responses/helpers.js +197 -0
  340. package/build/mcp/responses/helpers.js.map +1 -0
  341. package/build/mcp/responses/index.d.ts +9 -0
  342. package/build/mcp/responses/index.d.ts.map +1 -0
  343. package/build/mcp/responses/index.js +12 -0
  344. package/build/mcp/responses/index.js.map +1 -0
  345. package/build/mcp/types/context.d.ts +371 -0
  346. package/build/mcp/types/context.d.ts.map +1 -0
  347. package/build/mcp/types/context.js +17 -0
  348. package/build/mcp/types/context.js.map +1 -0
  349. package/build/mcp/types/definition.d.ts +727 -0
  350. package/build/mcp/types/definition.d.ts.map +1 -0
  351. package/build/mcp/types/definition.js +29 -0
  352. package/build/mcp/types/definition.js.map +1 -0
  353. package/build/mcp/types/handler.d.ts +58 -0
  354. package/build/mcp/types/handler.d.ts.map +1 -0
  355. package/build/mcp/types/handler.js +10 -0
  356. package/build/mcp/types/handler.js.map +1 -0
  357. package/build/mcp/types/index.d.ts +21 -0
  358. package/build/mcp/types/index.d.ts.map +1 -0
  359. package/build/mcp/types/index.js +18 -0
  360. package/build/mcp/types/index.js.map +1 -0
  361. package/build/mcp/types/response.d.ts +79 -0
  362. package/build/mcp/types/response.d.ts.map +1 -0
  363. package/build/mcp/types/response.js +10 -0
  364. package/build/mcp/types/response.js.map +1 -0
  365. package/build/server/auth/auth-context.d.ts +52 -0
  366. package/build/server/auth/auth-context.d.ts.map +1 -0
  367. package/build/server/auth/auth-context.js +45 -0
  368. package/build/server/auth/auth-context.js.map +1 -0
  369. package/build/server/auth/guards.d.ts +72 -0
  370. package/build/server/auth/guards.d.ts.map +1 -0
  371. package/build/server/auth/guards.js +103 -0
  372. package/build/server/auth/guards.js.map +1 -0
  373. package/build/server/auth/index.d.ts +21 -0
  374. package/build/server/auth/index.d.ts.map +1 -0
  375. package/build/server/auth/index.js +20 -0
  376. package/build/server/auth/index.js.map +1 -0
  377. package/build/server/auth/oidc-discovery.d.ts +68 -0
  378. package/build/server/auth/oidc-discovery.d.ts.map +1 -0
  379. package/build/server/auth/oidc-discovery.js +234 -0
  380. package/build/server/auth/oidc-discovery.js.map +1 -0
  381. package/build/server/auth/oidc-provider.d.ts +96 -0
  382. package/build/server/auth/oidc-provider.d.ts.map +1 -0
  383. package/build/server/auth/oidc-provider.js +126 -0
  384. package/build/server/auth/oidc-provider.js.map +1 -0
  385. package/build/server/auth/types.d.ts +204 -0
  386. package/build/server/auth/types.d.ts.map +1 -0
  387. package/build/server/auth/types.js +29 -0
  388. package/build/server/auth/types.js.map +1 -0
  389. package/build/server/auth/upstream-provider.d.ts +161 -0
  390. package/build/server/auth/upstream-provider.d.ts.map +1 -0
  391. package/build/server/auth/upstream-provider.js +411 -0
  392. package/build/server/auth/upstream-provider.js.map +1 -0
  393. package/build/server/builder/constants.d.ts +45 -0
  394. package/build/server/builder/constants.d.ts.map +1 -0
  395. package/build/server/builder/constants.js +54 -0
  396. package/build/server/builder/constants.js.map +1 -0
  397. package/build/server/builder/index.d.ts +24 -0
  398. package/build/server/builder/index.d.ts.map +1 -0
  399. package/build/server/builder/index.js +25 -0
  400. package/build/server/builder/index.js.map +1 -0
  401. package/build/server/builder/primitive-collector.d.ts +24 -0
  402. package/build/server/builder/primitive-collector.d.ts.map +1 -0
  403. package/build/server/builder/primitive-collector.js +89 -0
  404. package/build/server/builder/primitive-collector.js.map +1 -0
  405. package/build/server/builder/server-builder.d.ts +53 -0
  406. package/build/server/builder/server-builder.d.ts.map +1 -0
  407. package/build/server/builder/server-builder.js +132 -0
  408. package/build/server/builder/server-builder.js.map +1 -0
  409. package/build/server/builder/types.d.ts +93 -0
  410. package/build/server/builder/types.d.ts.map +1 -0
  411. package/build/server/builder/types.js +25 -0
  412. package/build/server/builder/types.js.map +1 -0
  413. package/build/server/builder/validation.d.ts +36 -0
  414. package/build/server/builder/validation.d.ts.map +1 -0
  415. package/build/server/builder/validation.js +44 -0
  416. package/build/server/builder/validation.js.map +1 -0
  417. package/build/server/create-server.d.ts +57 -0
  418. package/build/server/create-server.d.ts.map +1 -0
  419. package/build/server/create-server.js +104 -0
  420. package/build/server/create-server.js.map +1 -0
  421. package/build/server/http/express-app.d.ts +103 -0
  422. package/build/server/http/express-app.d.ts.map +1 -0
  423. package/build/server/http/express-app.js +391 -0
  424. package/build/server/http/express-app.js.map +1 -0
  425. package/build/server/http/http-server.d.ts +67 -0
  426. package/build/server/http/http-server.d.ts.map +1 -0
  427. package/build/server/http/http-server.js +188 -0
  428. package/build/server/http/http-server.js.map +1 -0
  429. package/build/server/http/http-transport.d.ts +33 -0
  430. package/build/server/http/http-transport.d.ts.map +1 -0
  431. package/build/server/http/http-transport.js +84 -0
  432. package/build/server/http/http-transport.js.map +1 -0
  433. package/build/server/http/index.d.ts +15 -0
  434. package/build/server/http/index.d.ts.map +1 -0
  435. package/build/server/http/index.js +11 -0
  436. package/build/server/http/index.js.map +1 -0
  437. package/build/server/index.d.ts +25 -0
  438. package/build/server/index.d.ts.map +1 -0
  439. package/build/server/index.js +41 -0
  440. package/build/server/index.js.map +1 -0
  441. package/build/server/lifecycle.d.ts +114 -0
  442. package/build/server/lifecycle.d.ts.map +1 -0
  443. package/build/server/lifecycle.js +30 -0
  444. package/build/server/lifecycle.js.map +1 -0
  445. package/build/server/middleware/bearer-auth.d.ts +43 -0
  446. package/build/server/middleware/bearer-auth.d.ts.map +1 -0
  447. package/build/server/middleware/bearer-auth.js +75 -0
  448. package/build/server/middleware/bearer-auth.js.map +1 -0
  449. package/build/server/middleware/custom-header-auth.d.ts +40 -0
  450. package/build/server/middleware/custom-header-auth.d.ts.map +1 -0
  451. package/build/server/middleware/custom-header-auth.js +90 -0
  452. package/build/server/middleware/custom-header-auth.js.map +1 -0
  453. package/build/server/middleware/dns-rebinding.d.ts +25 -0
  454. package/build/server/middleware/dns-rebinding.d.ts.map +1 -0
  455. package/build/server/middleware/dns-rebinding.js +94 -0
  456. package/build/server/middleware/dns-rebinding.js.map +1 -0
  457. package/build/server/middleware/index.d.ts +69 -0
  458. package/build/server/middleware/index.d.ts.map +1 -0
  459. package/build/server/middleware/index.js +68 -0
  460. package/build/server/middleware/index.js.map +1 -0
  461. package/build/server/middleware/logging.d.ts +21 -0
  462. package/build/server/middleware/logging.d.ts.map +1 -0
  463. package/build/server/middleware/logging.js +36 -0
  464. package/build/server/middleware/logging.js.map +1 -0
  465. package/build/server/middleware/oauth-router.d.ts +50 -0
  466. package/build/server/middleware/oauth-router.d.ts.map +1 -0
  467. package/build/server/middleware/oauth-router.js +53 -0
  468. package/build/server/middleware/oauth-router.js.map +1 -0
  469. package/build/server/middleware/protocol-version.d.ts +13 -0
  470. package/build/server/middleware/protocol-version.d.ts.map +1 -0
  471. package/build/server/middleware/protocol-version.js +48 -0
  472. package/build/server/middleware/protocol-version.js.map +1 -0
  473. package/build/server/middleware/rate-limit.d.ts +47 -0
  474. package/build/server/middleware/rate-limit.d.ts.map +1 -0
  475. package/build/server/middleware/rate-limit.js +109 -0
  476. package/build/server/middleware/rate-limit.js.map +1 -0
  477. package/build/server/middleware/trust-proxy.d.ts +37 -0
  478. package/build/server/middleware/trust-proxy.d.ts.map +1 -0
  479. package/build/server/middleware/trust-proxy.js +154 -0
  480. package/build/server/middleware/trust-proxy.js.map +1 -0
  481. package/build/server/option-overrides.d.ts +25 -0
  482. package/build/server/option-overrides.d.ts.map +1 -0
  483. package/build/server/option-overrides.js +85 -0
  484. package/build/server/option-overrides.js.map +1 -0
  485. package/build/server/routes/health.d.ts +87 -0
  486. package/build/server/routes/health.d.ts.map +1 -0
  487. package/build/server/routes/health.js +183 -0
  488. package/build/server/routes/health.js.map +1 -0
  489. package/build/server/routes/index.d.ts +16 -0
  490. package/build/server/routes/index.d.ts.map +1 -0
  491. package/build/server/routes/index.js +18 -0
  492. package/build/server/routes/index.js.map +1 -0
  493. package/build/server/routes/metrics.d.ts +40 -0
  494. package/build/server/routes/metrics.d.ts.map +1 -0
  495. package/build/server/routes/metrics.js +81 -0
  496. package/build/server/routes/metrics.js.map +1 -0
  497. package/build/server/routes/oauth-router.d.ts +50 -0
  498. package/build/server/routes/oauth-router.d.ts.map +1 -0
  499. package/build/server/routes/oauth-router.js +53 -0
  500. package/build/server/routes/oauth-router.js.map +1 -0
  501. package/build/server/routes/readiness-status.d.ts +25 -0
  502. package/build/server/routes/readiness-status.d.ts.map +1 -0
  503. package/build/server/routes/readiness-status.js +27 -0
  504. package/build/server/routes/readiness-status.js.map +1 -0
  505. package/build/server/routes/sse-router.d.ts +43 -0
  506. package/build/server/routes/sse-router.d.ts.map +1 -0
  507. package/build/server/routes/sse-router.js +92 -0
  508. package/build/server/routes/sse-router.js.map +1 -0
  509. package/build/server/routes/streamable-http-router.d.ts +36 -0
  510. package/build/server/routes/streamable-http-router.d.ts.map +1 -0
  511. package/build/server/routes/streamable-http-router.js +59 -0
  512. package/build/server/routes/streamable-http-router.js.map +1 -0
  513. package/build/server/server-instance.d.ts +185 -0
  514. package/build/server/server-instance.d.ts.map +1 -0
  515. package/build/server/server-instance.js +615 -0
  516. package/build/server/server-instance.js.map +1 -0
  517. package/build/server/server-options.d.ts +411 -0
  518. package/build/server/server-options.d.ts.map +1 -0
  519. package/build/server/server-options.js +17 -0
  520. package/build/server/server-options.js.map +1 -0
  521. package/build/server/session/in-memory-store.d.ts +128 -0
  522. package/build/server/session/in-memory-store.d.ts.map +1 -0
  523. package/build/server/session/in-memory-store.js +312 -0
  524. package/build/server/session/in-memory-store.js.map +1 -0
  525. package/build/server/session/index.d.ts +43 -0
  526. package/build/server/session/index.d.ts.map +1 -0
  527. package/build/server/session/index.js +47 -0
  528. package/build/server/session/index.js.map +1 -0
  529. package/build/server/session/mcp-session.d.ts +210 -0
  530. package/build/server/session/mcp-session.d.ts.map +1 -0
  531. package/build/server/session/mcp-session.js +428 -0
  532. package/build/server/session/mcp-session.js.map +1 -0
  533. package/build/server/session/session-factory.d.ts +119 -0
  534. package/build/server/session/session-factory.d.ts.map +1 -0
  535. package/build/server/session/session-factory.js +131 -0
  536. package/build/server/session/session-factory.js.map +1 -0
  537. package/build/server/session/session-housekeeper.d.ts +100 -0
  538. package/build/server/session/session-housekeeper.d.ts.map +1 -0
  539. package/build/server/session/session-housekeeper.js +217 -0
  540. package/build/server/session/session-housekeeper.js.map +1 -0
  541. package/build/server/session/session-manager.d.ts +227 -0
  542. package/build/server/session/session-manager.d.ts.map +1 -0
  543. package/build/server/session/session-manager.js +282 -0
  544. package/build/server/session/session-manager.js.map +1 -0
  545. package/build/server/session/session-store.d.ts +95 -0
  546. package/build/server/session/session-store.d.ts.map +1 -0
  547. package/build/server/session/session-store.js +13 -0
  548. package/build/server/session/session-store.js.map +1 -0
  549. package/build/server/session/session.d.ts +132 -0
  550. package/build/server/session/session.d.ts.map +1 -0
  551. package/build/server/session/session.js +61 -0
  552. package/build/server/session/session.js.map +1 -0
  553. package/build/server/transport/constants.d.ts +85 -0
  554. package/build/server/transport/constants.d.ts.map +1 -0
  555. package/build/server/transport/constants.js +103 -0
  556. package/build/server/transport/constants.js.map +1 -0
  557. package/build/server/transport/index.d.ts +21 -0
  558. package/build/server/transport/index.d.ts.map +1 -0
  559. package/build/server/transport/index.js +28 -0
  560. package/build/server/transport/index.js.map +1 -0
  561. package/build/server/transport/sse/handler.d.ts +46 -0
  562. package/build/server/transport/sse/handler.d.ts.map +1 -0
  563. package/build/server/transport/sse/handler.js +189 -0
  564. package/build/server/transport/sse/handler.js.map +1 -0
  565. package/build/server/transport/sse/index.d.ts +15 -0
  566. package/build/server/transport/sse/index.d.ts.map +1 -0
  567. package/build/server/transport/sse/index.js +14 -0
  568. package/build/server/transport/sse/index.js.map +1 -0
  569. package/build/server/transport/sse/transport.d.ts +94 -0
  570. package/build/server/transport/sse/transport.d.ts.map +1 -0
  571. package/build/server/transport/sse/transport.js +175 -0
  572. package/build/server/transport/sse/transport.js.map +1 -0
  573. package/build/server/transport/stdio-transport.d.ts +23 -0
  574. package/build/server/transport/stdio-transport.d.ts.map +1 -0
  575. package/build/server/transport/stdio-transport.js +59 -0
  576. package/build/server/transport/stdio-transport.js.map +1 -0
  577. package/build/server/transport/streamable-http/index.d.ts +9 -0
  578. package/build/server/transport/streamable-http/index.d.ts.map +1 -0
  579. package/build/server/transport/streamable-http/index.js +9 -0
  580. package/build/server/transport/streamable-http/index.js.map +1 -0
  581. package/build/server/transport/streamable-http/stateful-handler.d.ts +41 -0
  582. package/build/server/transport/streamable-http/stateful-handler.d.ts.map +1 -0
  583. package/build/server/transport/streamable-http/stateful-handler.js +264 -0
  584. package/build/server/transport/streamable-http/stateful-handler.js.map +1 -0
  585. package/build/server/transport/streamable-http/stateless-handler.d.ts +28 -0
  586. package/build/server/transport/streamable-http/stateless-handler.d.ts.map +1 -0
  587. package/build/server/transport/streamable-http/stateless-handler.js +81 -0
  588. package/build/server/transport/streamable-http/stateless-handler.js.map +1 -0
  589. package/build/server/transport/streamable-http/transport.d.ts +110 -0
  590. package/build/server/transport/streamable-http/transport.d.ts.map +1 -0
  591. package/build/server/transport/streamable-http/transport.js +118 -0
  592. package/build/server/transport/streamable-http/transport.js.map +1 -0
  593. package/build/server/transport/transport-context.d.ts +67 -0
  594. package/build/server/transport/transport-context.d.ts.map +1 -0
  595. package/build/server/transport/transport-context.js +38 -0
  596. package/build/server/transport/transport-context.js.map +1 -0
  597. package/build/server/transport/types.d.ts +56 -0
  598. package/build/server/transport/types.d.ts.map +1 -0
  599. package/build/server/transport/types.js +11 -0
  600. package/build/server/transport/types.js.map +1 -0
  601. package/build/server/transport-options.d.ts +248 -0
  602. package/build/server/transport-options.d.ts.map +1 -0
  603. package/build/server/transport-options.js +18 -0
  604. package/build/server/transport-options.js.map +1 -0
  605. package/build/server/types.d.ts +172 -0
  606. package/build/server/types.d.ts.map +1 -0
  607. package/build/server/types.js +9 -0
  608. package/build/server/types.js.map +1 -0
  609. package/build/telemetry/connection-telemetry-bridge.d.ts +30 -0
  610. package/build/telemetry/connection-telemetry-bridge.d.ts.map +1 -0
  611. package/build/telemetry/connection-telemetry-bridge.js +54 -0
  612. package/build/telemetry/connection-telemetry-bridge.js.map +1 -0
  613. package/build/telemetry/core/config.d.ts +38 -0
  614. package/build/telemetry/core/config.d.ts.map +1 -0
  615. package/build/telemetry/core/config.js +54 -0
  616. package/build/telemetry/core/config.js.map +1 -0
  617. package/build/telemetry/core/constants.d.ts +183 -0
  618. package/build/telemetry/core/constants.d.ts.map +1 -0
  619. package/build/telemetry/core/constants.js +207 -0
  620. package/build/telemetry/core/constants.js.map +1 -0
  621. package/build/telemetry/core/diag-logger.d.ts +35 -0
  622. package/build/telemetry/core/diag-logger.d.ts.map +1 -0
  623. package/build/telemetry/core/diag-logger.js +54 -0
  624. package/build/telemetry/core/diag-logger.js.map +1 -0
  625. package/build/telemetry/core/index.d.ts +12 -0
  626. package/build/telemetry/core/index.d.ts.map +1 -0
  627. package/build/telemetry/core/index.js +32 -0
  628. package/build/telemetry/core/index.js.map +1 -0
  629. package/build/telemetry/core/types.d.ts +106 -0
  630. package/build/telemetry/core/types.d.ts.map +1 -0
  631. package/build/telemetry/core/types.js +10 -0
  632. package/build/telemetry/core/types.js.map +1 -0
  633. package/build/telemetry/index.d.ts +59 -0
  634. package/build/telemetry/index.d.ts.map +1 -0
  635. package/build/telemetry/index.js +79 -0
  636. package/build/telemetry/index.js.map +1 -0
  637. package/build/telemetry/metrics.d.ts +127 -0
  638. package/build/telemetry/metrics.d.ts.map +1 -0
  639. package/build/telemetry/metrics.js +337 -0
  640. package/build/telemetry/metrics.js.map +1 -0
  641. package/build/telemetry/sdk.d.ts +110 -0
  642. package/build/telemetry/sdk.d.ts.map +1 -0
  643. package/build/telemetry/sdk.js +547 -0
  644. package/build/telemetry/sdk.js.map +1 -0
  645. package/build/telemetry/tracing.d.ts +78 -0
  646. package/build/telemetry/tracing.d.ts.map +1 -0
  647. package/build/telemetry/tracing.js +257 -0
  648. package/build/telemetry/tracing.js.map +1 -0
  649. package/build/utils/env-helpers.d.ts +46 -0
  650. package/build/utils/env-helpers.d.ts.map +1 -0
  651. package/build/utils/env-helpers.js +54 -0
  652. package/build/utils/env-helpers.js.map +1 -0
  653. package/build/utils/index.d.ts +14 -0
  654. package/build/utils/index.d.ts.map +1 -0
  655. package/build/utils/index.js +19 -0
  656. package/build/utils/index.js.map +1 -0
  657. package/build/utils/sensitive-keys.d.ts +48 -0
  658. package/build/utils/sensitive-keys.d.ts.map +1 -0
  659. package/build/utils/sensitive-keys.js +131 -0
  660. package/build/utils/sensitive-keys.js.map +1 -0
  661. package/build/utils/string-helpers.d.ts +126 -0
  662. package/build/utils/string-helpers.d.ts.map +1 -0
  663. package/build/utils/string-helpers.js +189 -0
  664. package/build/utils/string-helpers.js.map +1 -0
  665. package/build/utils/validation.d.ts +84 -0
  666. package/build/utils/validation.d.ts.map +1 -0
  667. package/build/utils/validation.js +111 -0
  668. package/build/utils/validation.js.map +1 -0
  669. package/build/utils/zod-helpers.d.ts +92 -0
  670. package/build/utils/zod-helpers.d.ts.map +1 -0
  671. package/build/utils/zod-helpers.js +120 -0
  672. package/build/utils/zod-helpers.js.map +1 -0
  673. package/package.json +133 -0
@@ -0,0 +1,476 @@
1
+ /**
2
+ * Framework Environment Configuration
3
+ *
4
+ * Environment variables for the generic MCP server framework.
5
+ * These settings are NOT application-specific and apply to any MCP server
6
+ * built with this framework.
7
+ *
8
+ * @module config/env
9
+ */
10
+ import { z } from "zod";
11
+ /**
12
+ * Framework environment schema - application-agnostic settings.
13
+ *
14
+ * Includes:
15
+ * - Application metadata (version, environment)
16
+ * - MCP Transport settings (host, port, transport mode)
17
+ * - Security settings (DNS rebinding protection, rate limiting)
18
+ * - Logging configuration
19
+ * - OpenTelemetry settings
20
+ */
21
+ export declare const frameworkEnvSchema: z.ZodEffects<z.ZodObject<{
22
+ /**
23
+ * Application version (resolved at module load).
24
+ *
25
+ * Source of Truth: package.json
26
+ * - Docker: build/VERSION file (baked in during build)
27
+ * - npm run: npm_package_version environment variable
28
+ */
29
+ VERSION: z.ZodDefault<z.ZodString>;
30
+ /** Node environment (development, production, test) */
31
+ NODE_ENV: z.ZodDefault<z.ZodEnum<["development", "production", "test"]>>;
32
+ /** Host to bind the MCP server to (default: 127.0.0.1) */
33
+ MCP_BIND_HOST: z.ZodDefault<z.ZodString>;
34
+ /** Port to listen on (default: 8000) */
35
+ MCP_PORT: z.ZodDefault<z.ZodNumber>;
36
+ /** Transport mode: 'stdio' for CLI, 'http' for HTTP, 'https' for HTTPS with TLS (default: http) */
37
+ MCP_TRANSPORT: z.ZodDefault<z.ZodEnum<["stdio", "http", "https"]>>;
38
+ /**
39
+ * Enable Legacy SSE Transport (deprecated HTTP+SSE from protocol 2024-11-05)
40
+ * Default: false (only Streamable HTTP Transport enabled)
41
+ * Set to 'true' to enable backwards compatibility with older MCP clients
42
+ */
43
+ MCP_LEGACY_SSE_ENABLED: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
44
+ /**
45
+ * Operate in stateless mode (no session IDs).
46
+ *
47
+ * Each request gets a fresh McpSession and SDK transport.
48
+ * No Mcp-Session-Id headers are set. GET and DELETE return 405.
49
+ *
50
+ * @default false (stateful mode)
51
+ */
52
+ MCP_STATELESS: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
53
+ /**
54
+ * Prefer JSON responses over SSE streams for simple request-response.
55
+ *
56
+ * When enabled, the SDK returns `application/json` for non-streaming
57
+ * responses (e.g. tools/list, resources/list) instead of wrapping them
58
+ * in a `text/event-stream` SSE envelope.
59
+ *
60
+ * The MCP specification recommends: "If the server is only sending one
61
+ * response with no notifications, it SHOULD prefer application/json."
62
+ *
63
+ * Streaming responses (progress, notifications) always use SSE regardless.
64
+ *
65
+ * @default true (spec-compliant JSON responses)
66
+ */
67
+ MCP_JSON_RESPONSE: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
68
+ /** Path to TLS certificate file (PEM format). Required when MCP_TRANSPORT='https'. */
69
+ MCP_TLS_CERT_PATH: z.ZodOptional<z.ZodString>;
70
+ /** Path to TLS private key file (PEM format). Required when MCP_TRANSPORT='https'. */
71
+ MCP_TLS_KEY_PATH: z.ZodOptional<z.ZodString>;
72
+ /** Path to CA certificate file (PEM format). Optional for custom CA chains. */
73
+ MCP_TLS_CA_PATH: z.ZodOptional<z.ZodString>;
74
+ /** Allowed hosts for DNS rebinding protection (comma-separated) */
75
+ MCP_ALLOWED_HOSTS: z.ZodOptional<z.ZodEffects<z.ZodString, string[] | undefined, string>>;
76
+ /** Rate limit window in milliseconds (default: 900000 = 15 minutes) */
77
+ MCP_RATE_LIMIT_WINDOW_MS: z.ZodDefault<z.ZodNumber>;
78
+ /** Maximum requests per rate limit window (default: 1000) */
79
+ MCP_RATE_LIMIT_MAX: z.ZodDefault<z.ZodNumber>;
80
+ /**
81
+ * Maximum request body size for `express.json()` middleware.
82
+ *
83
+ * Accepts Express size strings (e.g. `'1mb'`, `'500kb'`, `'2mb'`)
84
+ * or plain byte counts (e.g. `'1048576'`).
85
+ *
86
+ * Validated against the `bytes` library format used by Express/body-parser.
87
+ * Invalid values are rejected at config time to prevent silent limit bypass.
88
+ *
89
+ * @default '1mb'
90
+ */
91
+ MCP_BODY_SIZE_LIMIT: z.ZodDefault<z.ZodString>;
92
+ /**
93
+ * Trust proxy setting for Express.
94
+ *
95
+ * Required when running behind a reverse proxy (nginx, Traefik, cloud LB)
96
+ * to correctly resolve client IPs, protocol, and host from proxy headers
97
+ * (`X-Forwarded-For`, `X-Forwarded-Proto`, `X-Forwarded-Host`).
98
+ *
99
+ * Values:
100
+ * - Hop count (`'1'`, `'2'`) — Trust N hops from the front-facing proxy
101
+ * - Express keyword (`'loopback'`, `'linklocal'`, `'uniquelocal'`)
102
+ * - IP address (`'10.0.0.1'`, `'::1'`)
103
+ * - CIDR range (`'10.0.0.0/8'`, `'172.16.0.0/12'`)
104
+ * - DNS hostname (`'proxy.example.com'`) — resolved at startup
105
+ * - Comma-separated list (`'loopback, 10.0.0.1'`)
106
+ *
107
+ * Omit or leave unset to disable trust proxy.
108
+ *
109
+ * @see https://expressjs.com/en/guide/behind-proxies.html
110
+ */
111
+ MCP_TRUST_PROXY: z.ZodOptional<z.ZodString>;
112
+ /**
113
+ * CORS allowed origins (comma-separated).
114
+ *
115
+ * When set, the CORS middleware is mounted globally and allows requests
116
+ * from the listed origins. When unset, CORS is disabled (no CORS headers).
117
+ *
118
+ * Use `'*'` to allow all origins (not recommended for production).
119
+ *
120
+ * @example 'https://app.example.com,https://admin.example.com'
121
+ */
122
+ MCP_CORS_ORIGIN: z.ZodOptional<z.ZodEffects<z.ZodString, string[] | undefined, string>>;
123
+ /**
124
+ * Allow credentials in CORS requests (cookies, auth headers).
125
+ *
126
+ * Only effective when MCP_CORS_ORIGIN is set.
127
+ * Cannot be used with `origin: '*'`.
128
+ *
129
+ * @default false
130
+ */
131
+ MCP_CORS_CREDENTIALS: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
132
+ /**
133
+ * Enable HTTP Strict Transport Security (HSTS) header.
134
+ *
135
+ * When true, Helmet sets `Strict-Transport-Security` with `max-age=15552000`
136
+ * (180 days) and `includeSubDomains`. Only enable when serving over HTTPS.
137
+ *
138
+ * @default false (managed by reverse proxy in production)
139
+ */
140
+ MCP_HELMET_HSTS: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
141
+ /**
142
+ * Content Security Policy configuration.
143
+ *
144
+ * - Omit or leave unset: Helmet default CSP applies
145
+ * - `'false'`: Disable CSP entirely
146
+ * - Custom string: Used as CSP directives (e.g. `"default-src 'self'"`).
147
+ * Parsed as directive-name + values separated by semicolons.
148
+ */
149
+ MCP_HELMET_CSP: z.ZodOptional<z.ZodString>;
150
+ /**
151
+ * X-Frame-Options header value.
152
+ *
153
+ * Controls whether the server can be embedded in frames.
154
+ * - `'DENY'`: Never allow framing (most secure)
155
+ * - `'SAMEORIGIN'`: Allow framing from same origin
156
+ * - `'false'`: Disable X-Frame-Options header
157
+ *
158
+ * @default 'DENY'
159
+ */
160
+ MCP_HELMET_FRAME_OPTIONS: z.ZodDefault<z.ZodEnum<["DENY", "SAMEORIGIN", "false"]>>;
161
+ /**
162
+ * Required OAuth scopes for the `/mcp` endpoint (comma-separated).
163
+ *
164
+ * When set, all requests to `/mcp` must carry tokens with these scopes.
165
+ * Per-tool scopes can be configured via `ToolDefinition.auth.requiredScopes`.
166
+ *
167
+ * @example 'mcp:read,mcp:write'
168
+ */
169
+ MCP_AUTH_REQUIRED_SCOPES: z.ZodOptional<z.ZodEffects<z.ZodString, string[] | undefined, string>>;
170
+ /**
171
+ * Protected Resource Metadata URL (RFC 9728).
172
+ *
173
+ * When set, included in `WWW-Authenticate` headers for 401 responses,
174
+ * allowing clients to discover the authorization server.
175
+ *
176
+ * @example 'https://api.example.com/.well-known/oauth-protected-resource'
177
+ */
178
+ MCP_AUTH_RESOURCE_METADATA_URL: z.ZodOptional<z.ZodString>;
179
+ /** Maximum total concurrent sessions across all transports (default: 200) */
180
+ MCP_MAX_SESSIONS: z.ZodDefault<z.ZodNumber>;
181
+ /** Maximum concurrent Streamable HTTP sessions (default: 100) */
182
+ MCP_MAX_STREAMABLE_HTTP_SESSIONS: z.ZodDefault<z.ZodNumber>;
183
+ /** Maximum concurrent SSE sessions (default: 50) */
184
+ MCP_MAX_SSE_SESSIONS: z.ZodDefault<z.ZodNumber>;
185
+ /** Log level (trace, debug, info, warn, error) */
186
+ LOG_LEVEL: z.ZodDefault<z.ZodEnum<["trace", "debug", "info", "warn", "error"]>>;
187
+ /** Log format (text, json) */
188
+ LOG_FORMAT: z.ZodDefault<z.ZodEnum<["text", "json"]>>;
189
+ /** Include RFC 3339 timestamps in text log output (default: false) */
190
+ LOG_TIMESTAMP: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
191
+ /** Include component name (e.g. [server-runtime]) in text log output (default: false) */
192
+ LOG_COMPONENT: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
193
+ /** Directory to store logs (optional) */
194
+ LOG_DIR: z.ZodOptional<z.ZodString>;
195
+ /**
196
+ * Maximum size of a single log file before rotation.
197
+ *
198
+ * Accepts human-readable size strings (e.g. `'10mb'`, `'500kb'`, `'1gb'`)
199
+ * or plain byte counts (e.g. `'1048576'`). Parsed to bytes at config time.
200
+ *
201
+ * @default '10mb'
202
+ */
203
+ LOG_MAX_FILE_SIZE: z.ZodPipeline<z.ZodDefault<z.ZodEffects<z.ZodString, number, string>>, z.ZodNumber>;
204
+ /** Maximum number of rotated log files to keep (default: 3) */
205
+ LOG_MAX_FILES: z.ZodDefault<z.ZodNumber>;
206
+ /** Log file retention in days. Files older than this are deleted. 0 = disabled (default: 0) */
207
+ LOG_RETENTION_DAYS: z.ZodDefault<z.ZodNumber>;
208
+ /** Enable OpenTelemetry (default: false). Master toggle for all OTEL features. */
209
+ OTEL_ENABLED: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodString, boolean, string>]>>;
210
+ /**
211
+ * OpenTelemetry service name.
212
+ *
213
+ * When not set, defaults to the MCP server name from `createServer({ name })`.
214
+ * Can be overridden via env var or config file to distinguish deployments
215
+ * (e.g. 'app-mcp-prod' vs 'app-mcp-staging').
216
+ *
217
+ * Also read natively by the SDK's resource detector via OTEL_SERVICE_NAME.
218
+ */
219
+ OTEL_SERVICE_NAME: z.ZodOptional<z.ZodString>;
220
+ /**
221
+ * OTLP exporter endpoint URL (e.g. http://localhost:4318).
222
+ *
223
+ * Used by both trace and metric OTLP exporters.
224
+ * Standard OTEL env var — also read natively by exporters,
225
+ * but parsed here to enable config file support.
226
+ */
227
+ OTEL_EXPORTER_OTLP_ENDPOINT: z.ZodOptional<z.ZodString>;
228
+ /**
229
+ * Trace exporter selection.
230
+ *
231
+ * Standard OTEL env var. When set, the framework builds the
232
+ * trace exporter explicitly instead of leaving it to SDK auto-config.
233
+ * Supported: 'otlp' , 'console', 'none' (default).
234
+ */
235
+ OTEL_TRACES_EXPORTER: z.ZodOptional<z.ZodString>;
236
+ /**
237
+ * Log exporter selection.
238
+ *
239
+ * Standard OTEL env var. Controls whether the NodeSDK auto-configures
240
+ * an OTLP log exporter. The framework uses its own logging system
241
+ * (see {@link Logger | framework logger}), so OTEL log export is disabled
242
+ * by default to prevent unwanted OTLP connections.
243
+ *
244
+ * Supported: 'otlp', 'console', 'none' (default).
245
+ */
246
+ OTEL_LOGS_EXPORTER: z.ZodDefault<z.ZodString>;
247
+ /**
248
+ * SDK diagnostic log level.
249
+ *
250
+ * Standard OTEL env var. Activates diag logging on the OTEL SDK.
251
+ * Values: 'NONE', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'VERBOSE', 'ALL'.
252
+ */
253
+ OTEL_LOG_LEVEL: z.ZodOptional<z.ZodString>;
254
+ /**
255
+ * Periodic metric export interval in milliseconds.
256
+ *
257
+ * Standard OTEL env var name. Controls how often PeriodicExportingMetricReader
258
+ * pushes metrics to the OTLP endpoint or console.
259
+ */
260
+ OTEL_METRIC_EXPORT_INTERVAL: z.ZodOptional<z.ZodNumber>;
261
+ /**
262
+ * Metric exporters to activate (comma-separated).
263
+ *
264
+ * Standard OTEL env var name. Supported values:
265
+ * - `otlp` — Push metrics to OTLP endpoint (reads OTEL_EXPORTER_OTLP_ENDPOINT natively)
266
+ * - `prometheus` — Prometheus scrape endpoint at /metrics on the MCP server
267
+ * - `console` — Log metrics to console (useful for debugging)
268
+ * - `none` — Disable all metric export
269
+ *
270
+ * Default: 'otlp,prometheus' (both OTLP push + Prometheus pull)
271
+ */
272
+ OTEL_METRICS_EXPORTER: z.ZodDefault<z.ZodEffects<z.ZodString, string[], string>>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ NODE_ENV: "production" | "development" | "test";
275
+ LOG_LEVEL: "error" | "trace" | "debug" | "info" | "warn";
276
+ LOG_FORMAT: "text" | "json";
277
+ MCP_TRANSPORT: "http" | "stdio" | "https";
278
+ LOG_MAX_FILE_SIZE: number;
279
+ LOG_MAX_FILES: number;
280
+ LOG_RETENTION_DAYS: number;
281
+ LOG_TIMESTAMP: boolean;
282
+ LOG_COMPONENT: boolean;
283
+ OTEL_ENABLED: boolean;
284
+ OTEL_METRICS_EXPORTER: string[];
285
+ OTEL_LOGS_EXPORTER: string;
286
+ VERSION: string;
287
+ MCP_BIND_HOST: string;
288
+ MCP_PORT: number;
289
+ MCP_LEGACY_SSE_ENABLED: boolean;
290
+ MCP_STATELESS: boolean;
291
+ MCP_JSON_RESPONSE: boolean;
292
+ MCP_RATE_LIMIT_WINDOW_MS: number;
293
+ MCP_RATE_LIMIT_MAX: number;
294
+ MCP_BODY_SIZE_LIMIT: string;
295
+ MCP_CORS_CREDENTIALS: boolean;
296
+ MCP_HELMET_HSTS: boolean;
297
+ MCP_HELMET_FRAME_OPTIONS: "DENY" | "SAMEORIGIN" | "false";
298
+ MCP_MAX_SESSIONS: number;
299
+ MCP_MAX_STREAMABLE_HTTP_SESSIONS: number;
300
+ MCP_MAX_SSE_SESSIONS: number;
301
+ LOG_DIR?: string | undefined;
302
+ OTEL_SERVICE_NAME?: string | undefined;
303
+ OTEL_EXPORTER_OTLP_ENDPOINT?: string | undefined;
304
+ OTEL_TRACES_EXPORTER?: string | undefined;
305
+ OTEL_LOG_LEVEL?: string | undefined;
306
+ OTEL_METRIC_EXPORT_INTERVAL?: number | undefined;
307
+ MCP_TLS_CERT_PATH?: string | undefined;
308
+ MCP_TLS_KEY_PATH?: string | undefined;
309
+ MCP_TLS_CA_PATH?: string | undefined;
310
+ MCP_ALLOWED_HOSTS?: string[] | undefined;
311
+ MCP_TRUST_PROXY?: string | undefined;
312
+ MCP_CORS_ORIGIN?: string[] | undefined;
313
+ MCP_HELMET_CSP?: string | undefined;
314
+ MCP_AUTH_REQUIRED_SCOPES?: string[] | undefined;
315
+ MCP_AUTH_RESOURCE_METADATA_URL?: string | undefined;
316
+ }, {
317
+ NODE_ENV?: "production" | "development" | "test" | undefined;
318
+ LOG_LEVEL?: "error" | "trace" | "debug" | "info" | "warn" | undefined;
319
+ LOG_FORMAT?: "text" | "json" | undefined;
320
+ MCP_TRANSPORT?: "http" | "stdio" | "https" | undefined;
321
+ LOG_DIR?: string | undefined;
322
+ LOG_MAX_FILE_SIZE?: string | undefined;
323
+ LOG_MAX_FILES?: number | undefined;
324
+ LOG_RETENTION_DAYS?: number | undefined;
325
+ LOG_TIMESTAMP?: string | boolean | undefined;
326
+ LOG_COMPONENT?: string | boolean | undefined;
327
+ OTEL_ENABLED?: string | boolean | undefined;
328
+ OTEL_SERVICE_NAME?: string | undefined;
329
+ OTEL_METRICS_EXPORTER?: string | undefined;
330
+ OTEL_EXPORTER_OTLP_ENDPOINT?: string | undefined;
331
+ OTEL_TRACES_EXPORTER?: string | undefined;
332
+ OTEL_LOGS_EXPORTER?: string | undefined;
333
+ OTEL_LOG_LEVEL?: string | undefined;
334
+ OTEL_METRIC_EXPORT_INTERVAL?: number | undefined;
335
+ VERSION?: string | undefined;
336
+ MCP_BIND_HOST?: string | undefined;
337
+ MCP_PORT?: number | undefined;
338
+ MCP_LEGACY_SSE_ENABLED?: string | boolean | undefined;
339
+ MCP_STATELESS?: string | boolean | undefined;
340
+ MCP_JSON_RESPONSE?: string | boolean | undefined;
341
+ MCP_TLS_CERT_PATH?: string | undefined;
342
+ MCP_TLS_KEY_PATH?: string | undefined;
343
+ MCP_TLS_CA_PATH?: string | undefined;
344
+ MCP_ALLOWED_HOSTS?: string | undefined;
345
+ MCP_RATE_LIMIT_WINDOW_MS?: number | undefined;
346
+ MCP_RATE_LIMIT_MAX?: number | undefined;
347
+ MCP_BODY_SIZE_LIMIT?: string | undefined;
348
+ MCP_TRUST_PROXY?: string | undefined;
349
+ MCP_CORS_ORIGIN?: string | undefined;
350
+ MCP_CORS_CREDENTIALS?: string | boolean | undefined;
351
+ MCP_HELMET_HSTS?: string | boolean | undefined;
352
+ MCP_HELMET_CSP?: string | undefined;
353
+ MCP_HELMET_FRAME_OPTIONS?: "DENY" | "SAMEORIGIN" | "false" | undefined;
354
+ MCP_AUTH_REQUIRED_SCOPES?: string | undefined;
355
+ MCP_AUTH_RESOURCE_METADATA_URL?: string | undefined;
356
+ MCP_MAX_SESSIONS?: number | undefined;
357
+ MCP_MAX_STREAMABLE_HTTP_SESSIONS?: number | undefined;
358
+ MCP_MAX_SSE_SESSIONS?: number | undefined;
359
+ }>, {
360
+ NODE_ENV: "production" | "development" | "test";
361
+ LOG_LEVEL: "error" | "trace" | "debug" | "info" | "warn";
362
+ LOG_FORMAT: "text" | "json";
363
+ MCP_TRANSPORT: "http" | "stdio" | "https";
364
+ LOG_MAX_FILE_SIZE: number;
365
+ LOG_MAX_FILES: number;
366
+ LOG_RETENTION_DAYS: number;
367
+ LOG_TIMESTAMP: boolean;
368
+ LOG_COMPONENT: boolean;
369
+ OTEL_ENABLED: boolean;
370
+ OTEL_METRICS_EXPORTER: string[];
371
+ OTEL_LOGS_EXPORTER: string;
372
+ VERSION: string;
373
+ MCP_BIND_HOST: string;
374
+ MCP_PORT: number;
375
+ MCP_LEGACY_SSE_ENABLED: boolean;
376
+ MCP_STATELESS: boolean;
377
+ MCP_JSON_RESPONSE: boolean;
378
+ MCP_RATE_LIMIT_WINDOW_MS: number;
379
+ MCP_RATE_LIMIT_MAX: number;
380
+ MCP_BODY_SIZE_LIMIT: string;
381
+ MCP_CORS_CREDENTIALS: boolean;
382
+ MCP_HELMET_HSTS: boolean;
383
+ MCP_HELMET_FRAME_OPTIONS: "DENY" | "SAMEORIGIN" | "false";
384
+ MCP_MAX_SESSIONS: number;
385
+ MCP_MAX_STREAMABLE_HTTP_SESSIONS: number;
386
+ MCP_MAX_SSE_SESSIONS: number;
387
+ LOG_DIR?: string | undefined;
388
+ OTEL_SERVICE_NAME?: string | undefined;
389
+ OTEL_EXPORTER_OTLP_ENDPOINT?: string | undefined;
390
+ OTEL_TRACES_EXPORTER?: string | undefined;
391
+ OTEL_LOG_LEVEL?: string | undefined;
392
+ OTEL_METRIC_EXPORT_INTERVAL?: number | undefined;
393
+ MCP_TLS_CERT_PATH?: string | undefined;
394
+ MCP_TLS_KEY_PATH?: string | undefined;
395
+ MCP_TLS_CA_PATH?: string | undefined;
396
+ MCP_ALLOWED_HOSTS?: string[] | undefined;
397
+ MCP_TRUST_PROXY?: string | undefined;
398
+ MCP_CORS_ORIGIN?: string[] | undefined;
399
+ MCP_HELMET_CSP?: string | undefined;
400
+ MCP_AUTH_REQUIRED_SCOPES?: string[] | undefined;
401
+ MCP_AUTH_RESOURCE_METADATA_URL?: string | undefined;
402
+ }, {
403
+ NODE_ENV?: "production" | "development" | "test" | undefined;
404
+ LOG_LEVEL?: "error" | "trace" | "debug" | "info" | "warn" | undefined;
405
+ LOG_FORMAT?: "text" | "json" | undefined;
406
+ MCP_TRANSPORT?: "http" | "stdio" | "https" | undefined;
407
+ LOG_DIR?: string | undefined;
408
+ LOG_MAX_FILE_SIZE?: string | undefined;
409
+ LOG_MAX_FILES?: number | undefined;
410
+ LOG_RETENTION_DAYS?: number | undefined;
411
+ LOG_TIMESTAMP?: string | boolean | undefined;
412
+ LOG_COMPONENT?: string | boolean | undefined;
413
+ OTEL_ENABLED?: string | boolean | undefined;
414
+ OTEL_SERVICE_NAME?: string | undefined;
415
+ OTEL_METRICS_EXPORTER?: string | undefined;
416
+ OTEL_EXPORTER_OTLP_ENDPOINT?: string | undefined;
417
+ OTEL_TRACES_EXPORTER?: string | undefined;
418
+ OTEL_LOGS_EXPORTER?: string | undefined;
419
+ OTEL_LOG_LEVEL?: string | undefined;
420
+ OTEL_METRIC_EXPORT_INTERVAL?: number | undefined;
421
+ VERSION?: string | undefined;
422
+ MCP_BIND_HOST?: string | undefined;
423
+ MCP_PORT?: number | undefined;
424
+ MCP_LEGACY_SSE_ENABLED?: string | boolean | undefined;
425
+ MCP_STATELESS?: string | boolean | undefined;
426
+ MCP_JSON_RESPONSE?: string | boolean | undefined;
427
+ MCP_TLS_CERT_PATH?: string | undefined;
428
+ MCP_TLS_KEY_PATH?: string | undefined;
429
+ MCP_TLS_CA_PATH?: string | undefined;
430
+ MCP_ALLOWED_HOSTS?: string | undefined;
431
+ MCP_RATE_LIMIT_WINDOW_MS?: number | undefined;
432
+ MCP_RATE_LIMIT_MAX?: number | undefined;
433
+ MCP_BODY_SIZE_LIMIT?: string | undefined;
434
+ MCP_TRUST_PROXY?: string | undefined;
435
+ MCP_CORS_ORIGIN?: string | undefined;
436
+ MCP_CORS_CREDENTIALS?: string | boolean | undefined;
437
+ MCP_HELMET_HSTS?: string | boolean | undefined;
438
+ MCP_HELMET_CSP?: string | undefined;
439
+ MCP_HELMET_FRAME_OPTIONS?: "DENY" | "SAMEORIGIN" | "false" | undefined;
440
+ MCP_AUTH_REQUIRED_SCOPES?: string | undefined;
441
+ MCP_AUTH_RESOURCE_METADATA_URL?: string | undefined;
442
+ MCP_MAX_SESSIONS?: number | undefined;
443
+ MCP_MAX_STREAMABLE_HTTP_SESSIONS?: number | undefined;
444
+ MCP_MAX_SSE_SESSIONS?: number | undefined;
445
+ }>;
446
+ /**
447
+ * Constraint violation from cross-field validation.
448
+ */
449
+ export interface ConfigConstraintViolation {
450
+ readonly message: string;
451
+ readonly path: readonly string[];
452
+ }
453
+ /**
454
+ * Validate cross-field constraints on the framework configuration.
455
+ *
456
+ * Extracted as a standalone function so it can be called:
457
+ * 1. By the Zod schema's `superRefine` (env-only parsing)
458
+ * 2. By the config cache after merging all sources (env + file + overrides)
459
+ *
460
+ * @param config - The (potentially merged) configuration to validate
461
+ * @returns Array of constraint violations (empty = valid)
462
+ */
463
+ export declare function validateConfigConstraints(config: Pick<FrameworkEnvConfig, "MCP_TRANSPORT" | "MCP_TLS_CERT_PATH" | "MCP_TLS_KEY_PATH" | "MCP_TLS_CA_PATH" | "MCP_MAX_SESSIONS" | "MCP_MAX_STREAMABLE_HTTP_SESSIONS" | "MCP_MAX_SSE_SESSIONS">): ConfigConstraintViolation[];
464
+ /**
465
+ * Framework environment configuration type.
466
+ */
467
+ export type FrameworkEnvConfig = z.infer<typeof frameworkEnvSchema>;
468
+ /**
469
+ * Parse and validate an environment source against the framework schema.
470
+ *
471
+ * @param envSource - Key-value object to parse (defaults to `process.env`)
472
+ * @returns Validated framework configuration
473
+ * @internal Used only by config-cache.ts — consumers should use `getFrameworkConfig()`
474
+ */
475
+ export declare function parseFrameworkEnv(envSource?: Record<string, string | undefined>): FrameworkEnvConfig;
476
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiDxB;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;IAM3B;;;;;;OAMG;;IAGH,uDAAuD;;IAOvD,0DAA0D;;IAG1D,wCAAwC;;IAGxC,mGAAmG;;IAGnG;;;;OAIG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;;;;;;;OAaG;;IAOH,sFAAsF;;IAGtF,sFAAsF;;IAGtF,+EAA+E;;IAO/E,mEAAmE;;IAGnE,uEAAuE;;IAGvE,6DAA6D;;IAG7D;;;;;;;;;;OAUG;;IASH;;;;;;;;;;;;;;;;;;OAkBG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;;;OASG;;IAOH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAOH,6EAA6E;;IAG7E,iEAAiE;;IAGjE,oDAAoD;;IAOpD,kDAAkD;;IAGlD,8BAA8B;;IAG9B,sEAAsE;;IAGtE,yFAAyF;;IAGzF,yCAAyC;;IAGzC;;;;;;;OAOG;;IAGH,+DAA+D;;IAG/D,+FAA+F;;IAa/F,kFAAkF;;IAGlF;;;;;;;;OAQG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeH,CAAC;AAML;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,IAAI,CACV,kBAAkB,EAChB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,kCAAkC,GAClC,sBAAsB,CACzB,GACA,yBAAyB,EAAE,CAgE7B;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,kBAAkB,CAEjH"}