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,207 @@
1
+ /**
2
+ * Telemetry Module Constants
3
+ *
4
+ * Centralized constants for the OpenTelemetry integration module including:
5
+ * - Semantic attribute names for MCP operations
6
+ * - Metric attribute names
7
+ * - Log component identifiers
8
+ * - Log messages
9
+ * - Metric names
10
+ *
11
+ * @module server/telemetry/core/constants
12
+ */
13
+ // ============================================================================
14
+ // Configuration Constants
15
+ // ============================================================================
16
+ /**
17
+ * Default telemetry configuration values.
18
+ */
19
+ export const TELEMETRY_DEFAULTS = {
20
+ /** Default service name (last resort when options.name is also missing) */
21
+ SERVICE_NAME: "mcp-server",
22
+ /** Default service version when not available */
23
+ SERVICE_VERSION_FALLBACK: "unknown",
24
+ /** Default metric exporters */
25
+ METRICS_EXPORTER: "otlp,prometheus",
26
+ /** OTEL standard OTLP/HTTP endpoint (per OTEL specification) */
27
+ OTLP_ENDPOINT: "http://localhost:4318",
28
+ };
29
+ /**
30
+ * Environment variable names for telemetry configuration.
31
+ *
32
+ * Includes both framework-managed and standard OTEL variables.
33
+ * Standard vars are parsed in the config system so they can be set
34
+ * via config file, then passed through to the SDK and exporters.
35
+ * See: https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/
36
+ */
37
+ export const TELEMETRY_ENV_VARS = {
38
+ // Framework-managed
39
+ /** Enable/disable OpenTelemetry (framework master toggle) */
40
+ OTEL_ENABLED: "OTEL_ENABLED",
41
+ /** Service name (also read natively by SDK resource detector) */
42
+ OTEL_SERVICE_NAME: "OTEL_SERVICE_NAME",
43
+ /** Metric exporters: otlp, prometheus, console, none (comma-separated) */
44
+ OTEL_METRICS_EXPORTER: "OTEL_METRICS_EXPORTER",
45
+ // Standard OTEL (pass-through)
46
+ /** OTLP exporter endpoint URL */
47
+ OTEL_EXPORTER_OTLP_ENDPOINT: "OTEL_EXPORTER_OTLP_ENDPOINT",
48
+ /** Trace exporter selection */
49
+ OTEL_TRACES_EXPORTER: "OTEL_TRACES_EXPORTER",
50
+ /** Log exporter selection (default: 'none' — framework has own logger) */
51
+ OTEL_LOGS_EXPORTER: "OTEL_LOGS_EXPORTER",
52
+ /** SDK diagnostic log level */
53
+ OTEL_LOG_LEVEL: "OTEL_LOG_LEVEL",
54
+ /** Periodic metric export interval (ms) */
55
+ OTEL_METRIC_EXPORT_INTERVAL: "OTEL_METRIC_EXPORT_INTERVAL",
56
+ };
57
+ // ============================================================================
58
+ // Semantic Attribute Names
59
+ // ============================================================================
60
+ /**
61
+ * Semantic attribute names for MCP operations.
62
+ * Follow OpenTelemetry semantic conventions pattern.
63
+ *
64
+ * Note: Application-specific attributes should be defined in the
65
+ * app layer (src/app/telemetry.ts) to keep the framework generic.
66
+ */
67
+ export const MCP_ATTRIBUTES = {
68
+ /** MCP tool name */
69
+ TOOL_NAME: "mcp.tool.name",
70
+ /** MCP resource URI */
71
+ RESOURCE_URI: "mcp.resource.uri",
72
+ /** MCP resource template URI */
73
+ RESOURCE_TEMPLATE: "mcp.resource.template",
74
+ /** MCP prompt name */
75
+ PROMPT_NAME: "mcp.prompt.name",
76
+ /** MCP request ID */
77
+ REQUEST_ID: "mcp.request.id",
78
+ /** MCP session ID */
79
+ SESSION_ID: "mcp.session.id",
80
+ /** Operation type (tool_call, resource_read, prompt_generate) */
81
+ OPERATION: "mcp.operation",
82
+ /** Whether the operation succeeded */
83
+ SUCCESS: "mcp.success",
84
+ /** Result content type count */
85
+ RESULT_CONTENT_COUNT: "mcp.result.content_count",
86
+ /** Whether the result indicates an error */
87
+ RESULT_IS_ERROR: "mcp.result.is_error",
88
+ };
89
+ /**
90
+ * Semantic attribute names for server metrics.
91
+ */
92
+ export const METRIC_ATTRIBUTES = {
93
+ /** Tool name being invoked */
94
+ TOOL_NAME: "tool.name",
95
+ /** Transport type (http, sse, stdio) */
96
+ TRANSPORT: "transport",
97
+ /** Request success status */
98
+ SUCCESS: "success",
99
+ /** Error type */
100
+ ERROR_TYPE: "error.type",
101
+ /** Component where error occurred */
102
+ COMPONENT: "component",
103
+ /** Previous connection state */
104
+ PREVIOUS_STATE: "connection.state.previous",
105
+ /** Current connection state */
106
+ CURRENT_STATE: "connection.state.current",
107
+ };
108
+ // ============================================================================
109
+ // Metric Names
110
+ // ============================================================================
111
+ /**
112
+ * OpenTelemetry metric instrument names.
113
+ */
114
+ export const METRIC_NAMES = {
115
+ /** Counter for total requests */
116
+ REQUESTS_TOTAL: "mcp.server.requests",
117
+ /** Histogram for request duration */
118
+ REQUEST_DURATION: "mcp.server.request.duration",
119
+ /** UpDownCounter for active sessions */
120
+ SESSIONS_ACTIVE: "mcp.server.sessions.active",
121
+ /** Counter for connection state changes */
122
+ CONNECTION_STATE_CHANGES: "mcp.server.connection.state_changes",
123
+ /** Counter for errors */
124
+ ERRORS_TOTAL: "mcp.server.errors",
125
+ /** Gauge for server uptime */
126
+ UPTIME: "mcp.server.uptime",
127
+ /** Gauge for heap memory used */
128
+ MEMORY_HEAP_USED: "mcp.server.memory.heap_used",
129
+ /** Gauge for RSS memory */
130
+ MEMORY_RSS: "mcp.server.memory.rss",
131
+ };
132
+ /**
133
+ * Metric descriptions for documentation.
134
+ */
135
+ export const METRIC_DESCRIPTIONS = {
136
+ [METRIC_NAMES.REQUESTS_TOTAL]: "Total number of MCP requests processed",
137
+ [METRIC_NAMES.REQUEST_DURATION]: "Duration of MCP requests in milliseconds",
138
+ [METRIC_NAMES.SESSIONS_ACTIVE]: "Number of active sessions",
139
+ [METRIC_NAMES.CONNECTION_STATE_CHANGES]: "Number of connection state changes",
140
+ [METRIC_NAMES.ERRORS_TOTAL]: "Total number of errors",
141
+ [METRIC_NAMES.UPTIME]: "Server uptime in seconds",
142
+ [METRIC_NAMES.MEMORY_HEAP_USED]: "Heap memory used in bytes",
143
+ [METRIC_NAMES.MEMORY_RSS]: "Resident set size in bytes",
144
+ };
145
+ /**
146
+ * Metric units following OpenTelemetry conventions.
147
+ */
148
+ export const METRIC_UNITS = {
149
+ COUNT: "1",
150
+ MILLISECONDS: "ms",
151
+ SECONDS: "s",
152
+ BYTES: "By",
153
+ };
154
+ // ============================================================================
155
+ // Log Component Identifiers
156
+ // ============================================================================
157
+ /**
158
+ * Logger component identifiers for the telemetry module.
159
+ * Used for consistent log categorization.
160
+ */
161
+ export const TELEMETRY_LOG_COMPONENTS = {
162
+ /** SDK initialization component */
163
+ SDK: "TelemetrySDK",
164
+ /** Tracing utilities component */
165
+ TRACING: "Tracing",
166
+ /** Metrics manager component */
167
+ METRICS: "Metrics",
168
+ /** Configuration component */
169
+ CONFIG: "TelemetryConfig",
170
+ };
171
+ // ============================================================================
172
+ // Log Messages
173
+ // ============================================================================
174
+ /**
175
+ * Centralized log messages for SDK lifecycle.
176
+ */
177
+ export const SdkLogMessages = {
178
+ // Initialization
179
+ INIT_START: "Initializing OpenTelemetry SDK",
180
+ INIT_SUCCESS: "OpenTelemetry initialized: service=%s, endpoint=%s",
181
+ INIT_SKIPPED: "OpenTelemetry disabled - skipping initialization",
182
+ INIT_PACKAGES_MISSING: "OpenTelemetry packages not installed (%s). OTEL_ENABLED=true requires: npm install @opentelemetry/sdk-node @opentelemetry/sdk-metrics @opentelemetry/sdk-trace-base @opentelemetry/exporter-trace-otlp-http @opentelemetry/exporter-metrics-otlp-http @opentelemetry/exporter-prometheus @opentelemetry/instrumentation-http @opentelemetry/instrumentation-express @opentelemetry/resources @opentelemetry/semantic-conventions — disabling telemetry",
183
+ // Metric exporters
184
+ METRICS_EXPORTERS_CONFIGURED: "Metric exporters configured: %s",
185
+ PROMETHEUS_EXPORTER_ADDED: "Prometheus MetricReader added (embedded at /metrics)",
186
+ UNKNOWN_METRIC_EXPORTER: "Unknown metric exporter '%s' — ignored. Supported: otlp, prometheus, console, none",
187
+ // Trace exporter
188
+ TRACE_EXPORTER_CONFIGURED: "Trace exporter configured: %s",
189
+ UNKNOWN_TRACE_EXPORTER: "Unknown trace exporter '%s' — falling back to OTLP. Supported: otlp, console, none",
190
+ // Shutdown
191
+ SHUTDOWN_START: "Shutting down OpenTelemetry SDK",
192
+ SHUTDOWN_SUCCESS: "OpenTelemetry SDK shut down successfully",
193
+ SHUTDOWN_ERROR: "Error shutting down OpenTelemetry SDK: %s",
194
+ SHUTDOWN_SKIPPED: "OpenTelemetry SDK not initialized - nothing to shutdown",
195
+ };
196
+ // ============================================================================
197
+ // Transport Type Constants
198
+ // ============================================================================
199
+ /**
200
+ * Known transport types for session tracking.
201
+ */
202
+ export const TRANSPORT_TYPES = {
203
+ HTTP: "http",
204
+ SSE: "sse",
205
+ STDIO: "stdio",
206
+ };
207
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/telemetry/core/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Framework Diagnostic Logger for OpenTelemetry
3
+ *
4
+ * Custom {@link DiagLogger} implementation that routes OpenTelemetry SDK
5
+ * diagnostic output through the framework's logging system instead of
6
+ * using the default {@link DiagConsoleLogger} which writes to stdout.
7
+ *
8
+ * ## Why not DiagConsoleLogger?
9
+ *
10
+ * 1. **Stdio-Transport Conflict**: MCP Stdio transport reserves stdout
11
+ * for protocol data. DiagConsoleLogger writes INFO/DEBUG to stdout,
12
+ * which corrupts the MCP message stream.
13
+ * 2. **Consistent Format**: Framework logger applies structured formatting
14
+ * (text or JSON/ECS), secret scrubbing, and timestamp formatting.
15
+ * 3. **Unified Output**: All diagnostic output goes through stderr
16
+ * (via the framework logger) regardless of transport mode.
17
+ *
18
+ * @module server/telemetry/core/diag-logger
19
+ */
20
+ import type { DiagLogger } from "@opentelemetry/api";
21
+ /**
22
+ * DiagLogger that delegates to the framework logger.
23
+ *
24
+ * Maps OTEL diagnostic levels to framework log levels:
25
+ * - `error()` → `logger.error()`
26
+ * - `warn()` → `logger.warn()`
27
+ * - `info()` → `logger.info()`
28
+ * - `debug()` → `logger.debug()`
29
+ * - `verbose()` → `logger.debug()` (framework has no verbose level)
30
+ *
31
+ * All output goes to stderr via the framework's writer pipeline,
32
+ * preventing stdout pollution that would break Stdio transport.
33
+ */
34
+ export declare const frameworkDiagLogger: DiagLogger;
35
+ //# sourceMappingURL=diag-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diag-logger.d.ts","sourceRoot":"","sources":["../../../src/telemetry/core/diag-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAqBjC,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Framework Diagnostic Logger for OpenTelemetry
3
+ *
4
+ * Custom {@link DiagLogger} implementation that routes OpenTelemetry SDK
5
+ * diagnostic output through the framework's logging system instead of
6
+ * using the default {@link DiagConsoleLogger} which writes to stdout.
7
+ *
8
+ * ## Why not DiagConsoleLogger?
9
+ *
10
+ * 1. **Stdio-Transport Conflict**: MCP Stdio transport reserves stdout
11
+ * for protocol data. DiagConsoleLogger writes INFO/DEBUG to stdout,
12
+ * which corrupts the MCP message stream.
13
+ * 2. **Consistent Format**: Framework logger applies structured formatting
14
+ * (text or JSON/ECS), secret scrubbing, and timestamp formatting.
15
+ * 3. **Unified Output**: All diagnostic output goes through stderr
16
+ * (via the framework logger) regardless of transport mode.
17
+ *
18
+ * @module server/telemetry/core/diag-logger
19
+ */
20
+ import { logger as baseLogger } from "../../logger/index.js";
21
+ import { TELEMETRY_LOG_COMPONENTS } from "./constants.js";
22
+ const logger = baseLogger.child({ component: TELEMETRY_LOG_COMPONENTS.SDK });
23
+ /**
24
+ * DiagLogger that delegates to the framework logger.
25
+ *
26
+ * Maps OTEL diagnostic levels to framework log levels:
27
+ * - `error()` → `logger.error()`
28
+ * - `warn()` → `logger.warn()`
29
+ * - `info()` → `logger.info()`
30
+ * - `debug()` → `logger.debug()`
31
+ * - `verbose()` → `logger.debug()` (framework has no verbose level)
32
+ *
33
+ * All output goes to stderr via the framework's writer pipeline,
34
+ * preventing stdout pollution that would break Stdio transport.
35
+ */
36
+ export const frameworkDiagLogger = {
37
+ error(message, ...args) {
38
+ logger.error(`[OTEL] ${message}`, ...args);
39
+ },
40
+ warn(message, ...args) {
41
+ logger.warn(`[OTEL] ${message}`, ...args);
42
+ },
43
+ info(message, ...args) {
44
+ logger.info(`[OTEL] ${message}`, ...args);
45
+ },
46
+ debug(message, ...args) {
47
+ logger.debug(`[OTEL] ${message}`, ...args);
48
+ },
49
+ verbose(message, ...args) {
50
+ // Framework logger has no 'verbose' level — map to trace
51
+ logger.trace(`[OTEL:verbose] ${message}`, ...args);
52
+ },
53
+ };
54
+ //# sourceMappingURL=diag-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diag-logger.js","sourceRoot":"","sources":["../../../src/telemetry/core/diag-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,GAAG,IAAe;QACzC,yDAAyD;QACzD,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Telemetry Core Module
3
+ *
4
+ * Barrel export for centralized types, constants, and configuration.
5
+ *
6
+ * @module server/telemetry/core
7
+ */
8
+ export type { TelemetryConfig, SpanOptions, TraceContext, SpanCallback, AsyncSpanCallback, ServerMetrics, ServerStats, Span, Attributes, Context, SpanKind, } from "./types.js";
9
+ export { TELEMETRY_DEFAULTS, TELEMETRY_ENV_VARS, MCP_ATTRIBUTES, METRIC_ATTRIBUTES, METRIC_NAMES, METRIC_DESCRIPTIONS, METRIC_UNITS, TELEMETRY_LOG_COMPONENTS, SdkLogMessages, TRANSPORT_TYPES, } from "./constants.js";
10
+ export { getTelemetryConfig, isTelemetryEnabled } from "./config.js";
11
+ export { frameworkDiagLogger } from "./diag-logger.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telemetry/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,YAAY,EAEV,eAAe,EAEf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAEjB,aAAa,EACb,WAAW,EAEX,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,GACT,MAAM,YAAY,CAAC;AAMpB,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAElB,cAAc,EACd,iBAAiB,EAEjB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EAEZ,wBAAwB,EAExB,cAAc,EAEd,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAMrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Telemetry Core Module
3
+ *
4
+ * Barrel export for centralized types, constants, and configuration.
5
+ *
6
+ * @module server/telemetry/core
7
+ */
8
+ // ============================================================================
9
+ // Constants
10
+ // ============================================================================
11
+ export {
12
+ // Configuration
13
+ TELEMETRY_DEFAULTS, TELEMETRY_ENV_VARS,
14
+ // Semantic Attributes
15
+ MCP_ATTRIBUTES, METRIC_ATTRIBUTES,
16
+ // Metric Names
17
+ METRIC_NAMES, METRIC_DESCRIPTIONS, METRIC_UNITS,
18
+ // Log Components
19
+ TELEMETRY_LOG_COMPONENTS,
20
+ // Log Messages
21
+ SdkLogMessages,
22
+ // Transport Types
23
+ TRANSPORT_TYPES, } from "./constants.js";
24
+ // ============================================================================
25
+ // Configuration
26
+ // ============================================================================
27
+ export { getTelemetryConfig, isTelemetryEnabled } from "./config.js";
28
+ // ============================================================================
29
+ // DiagLogger
30
+ // ============================================================================
31
+ export { frameworkDiagLogger } from "./diag-logger.js";
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,OAAO;AACL,gBAAgB;AAChB,kBAAkB,EAClB,kBAAkB;AAClB,sBAAsB;AACtB,cAAc,EACd,iBAAiB;AACjB,eAAe;AACf,YAAY,EACZ,mBAAmB,EACnB,YAAY;AACZ,iBAAiB;AACjB,wBAAwB;AACxB,eAAe;AACf,cAAc;AACd,kBAAkB;AAClB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Telemetry Module Types
3
+ *
4
+ * Centralized type definitions for the OpenTelemetry integration module.
5
+ * Includes configuration, tracing, and metrics types.
6
+ *
7
+ * @module server/telemetry/core/types
8
+ */
9
+ import type { Span, SpanKind, Attributes, Context } from "@opentelemetry/api";
10
+ /**
11
+ * OpenTelemetry configuration options.
12
+ *
13
+ * Contains both framework-managed settings and standard OTEL settings
14
+ * that are passed through the config system for unified configuration.
15
+ */
16
+ export interface TelemetryConfig {
17
+ /** Whether OpenTelemetry is enabled */
18
+ readonly enabled: boolean;
19
+ /** Service name for traces and metrics */
20
+ readonly serviceName: string;
21
+ /** Service version */
22
+ readonly serviceVersion: string;
23
+ /** OTLP exporter endpoint URL. Defaults to OTEL standard: http://localhost:4318 */
24
+ readonly endpoint: string;
25
+ /** Trace exporter: 'otlp', 'console', 'none' */
26
+ readonly tracesExporter?: string | undefined;
27
+ /** Log exporter: 'otlp', 'console', 'none'. Default: 'none' (framework uses own logger) */
28
+ readonly logsExporter: string;
29
+ /** SDK diagnostic log level: 'NONE', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'VERBOSE', 'ALL' */
30
+ readonly logLevel?: string | undefined;
31
+ /** Periodic metric export interval in milliseconds */
32
+ readonly metricExportInterval?: number | undefined;
33
+ /**
34
+ * Active metric exporters (parsed from OTEL_METRICS_EXPORTER).
35
+ * Supported values: 'otlp', 'prometheus', 'console', 'none'.
36
+ */
37
+ readonly metricsExporters: readonly string[];
38
+ }
39
+ /**
40
+ * Options for creating a span.
41
+ */
42
+ export interface SpanOptions {
43
+ /** Span kind (default: INTERNAL) */
44
+ kind?: SpanKind;
45
+ /** Initial attributes */
46
+ attributes?: Attributes;
47
+ /** Parent context (uses active context if not provided) */
48
+ parentContext?: Context;
49
+ }
50
+ /**
51
+ * Trace context for propagation to external services.
52
+ */
53
+ export interface TraceContext {
54
+ /** Trace ID */
55
+ readonly traceId: string;
56
+ /** Span ID */
57
+ readonly spanId: string;
58
+ }
59
+ /**
60
+ * Function signature for span execution callback.
61
+ */
62
+ export type SpanCallback<T> = (span: Span) => T;
63
+ /**
64
+ * Function signature for async span execution callback.
65
+ */
66
+ export type AsyncSpanCallback<T> = (span: Span) => Promise<T>;
67
+ /**
68
+ * Server metrics interface for type-safe metric recording.
69
+ */
70
+ export interface ServerMetrics {
71
+ /** Record a request (tool invocation) */
72
+ recordRequest(toolName: string, durationMs: number, success: boolean): void;
73
+ /** Record an active session change */
74
+ recordSessionChange(transport: string, delta: number): void;
75
+ /** Record a connection state change */
76
+ recordConnectionStateChange(previousState: string, newState: string): void;
77
+ /** Record an error */
78
+ recordError(errorType: string, component: string): void;
79
+ /** Get current server stats */
80
+ getStats(): ServerStats;
81
+ }
82
+ /**
83
+ * Server statistics snapshot.
84
+ */
85
+ export interface ServerStats {
86
+ /** Server uptime in milliseconds */
87
+ readonly uptimeMs: number;
88
+ /** Server start time */
89
+ readonly startTime: Date;
90
+ /** Total requests processed */
91
+ readonly totalRequests: number;
92
+ /** Failed requests */
93
+ readonly failedRequests: number;
94
+ /** Active HTTP sessions */
95
+ readonly activeHttpSessions: number;
96
+ /** Active SSE sessions */
97
+ readonly activeSseSessions: number;
98
+ /** Connection state changes count */
99
+ readonly connectionStateChanges: number;
100
+ /** Current memory usage in bytes */
101
+ readonly memoryUsageBytes: number;
102
+ /** Current heap used in bytes */
103
+ readonly heapUsedBytes: number;
104
+ }
105
+ export type { Span, SpanKind, Attributes, Context } from "@opentelemetry/api";
106
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/telemetry/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Telemetry Module Types
3
+ *
4
+ * Centralized type definitions for the OpenTelemetry integration module.
5
+ * Includes configuration, tracing, and metrics types.
6
+ *
7
+ * @module server/telemetry/core/types
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/telemetry/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Telemetry Module
3
+ *
4
+ * OpenTelemetry integration for distributed tracing and metrics.
5
+ *
6
+ * ## Setup
7
+ *
8
+ * Enable telemetry with environment variables:
9
+ * ```bash
10
+ * OTEL_ENABLED=true
11
+ * OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
12
+ * ```
13
+ *
14
+ * All OTEL settings are routed through the config system (env vars + config file):
15
+ * - `OTEL_EXPORTER_OTLP_ENDPOINT` — OTLP endpoint URL
16
+ * - `OTEL_TRACES_EXPORTER` — Trace exporter: otlp (default), console, none
17
+ * - `OTEL_LOG_LEVEL` — SDK diagnostic log level
18
+ * - `OTEL_METRIC_EXPORT_INTERVAL` — Metric export interval (ms)
19
+ *
20
+ * Framework-managed env vars:
21
+ * - `OTEL_METRICS_EXPORTER` — otlp, prometheus, console, none (default: otlp,prometheus)
22
+ *
23
+ * ## Usage
24
+ *
25
+ * ```typescript
26
+ * import { initializeTelemetry, withSpan, getTraceContext, serverMetrics } from './telemetry/index.js';
27
+ *
28
+ * // Initialize at startup
29
+ * initializeTelemetry();
30
+ *
31
+ * // Create spans
32
+ * await withSpan('myOperation', async (span) => {
33
+ * span.setAttribute('key', 'value');
34
+ * return await doSomething();
35
+ * });
36
+ *
37
+ * // Get trace context for propagation
38
+ * const ctx = getTraceContext();
39
+ *
40
+ * // Record metrics
41
+ * serverMetrics.recordRequest('tool_name', 150, true);
42
+ * ```
43
+ *
44
+ * @module server/telemetry
45
+ */
46
+ export { initializeTelemetry, shutdownTelemetry, isSdkInitialized, getPrometheusExporter } from "./sdk.js";
47
+ export { getTelemetryConfig, isTelemetryEnabled } from "./core/index.js";
48
+ export type { TelemetryConfig } from "./core/index.js";
49
+ export { getTracer, withSpan, withSpanSync, getActiveSpan, addSpanAttributes, addSpanEvent, getTraceContext, FrameworkSpanKind, FrameworkSpanStatusCode, } from "./tracing.js";
50
+ export { MCP_ATTRIBUTES } from "./core/index.js";
51
+ export type { SpanOptions, TraceContext, SpanCallback, AsyncSpanCallback } from "./core/index.js";
52
+ export { ServerMetricsManager, createServerMetrics, getServerMetrics, resetServerMetrics } from "./metrics.js";
53
+ export { METRIC_ATTRIBUTES } from "./core/index.js";
54
+ export type { ServerMetrics, ServerStats } from "./core/index.js";
55
+ export { TELEMETRY_DEFAULTS, TELEMETRY_ENV_VARS, METRIC_NAMES, METRIC_DESCRIPTIONS, METRIC_UNITS, TRANSPORT_TYPES, TELEMETRY_LOG_COMPONENTS, SdkLogMessages, } from "./core/index.js";
56
+ export { FrameworkSpanKind as SpanKind, FrameworkSpanStatusCode as SpanStatusCode } from "./tracing.js";
57
+ export type { Span, Attributes, Context, Tracer } from "@opentelemetry/api";
58
+ export { createConnectionTelemetry } from "./connection-telemetry-bridge.js";
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAMH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAM3G,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMlG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMlE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,cAAc,GACf,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,iBAAiB,IAAI,QAAQ,EAAE,uBAAuB,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AACxG,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAM5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Telemetry Module
3
+ *
4
+ * OpenTelemetry integration for distributed tracing and metrics.
5
+ *
6
+ * ## Setup
7
+ *
8
+ * Enable telemetry with environment variables:
9
+ * ```bash
10
+ * OTEL_ENABLED=true
11
+ * OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
12
+ * ```
13
+ *
14
+ * All OTEL settings are routed through the config system (env vars + config file):
15
+ * - `OTEL_EXPORTER_OTLP_ENDPOINT` — OTLP endpoint URL
16
+ * - `OTEL_TRACES_EXPORTER` — Trace exporter: otlp (default), console, none
17
+ * - `OTEL_LOG_LEVEL` — SDK diagnostic log level
18
+ * - `OTEL_METRIC_EXPORT_INTERVAL` — Metric export interval (ms)
19
+ *
20
+ * Framework-managed env vars:
21
+ * - `OTEL_METRICS_EXPORTER` — otlp, prometheus, console, none (default: otlp,prometheus)
22
+ *
23
+ * ## Usage
24
+ *
25
+ * ```typescript
26
+ * import { initializeTelemetry, withSpan, getTraceContext, serverMetrics } from './telemetry/index.js';
27
+ *
28
+ * // Initialize at startup
29
+ * initializeTelemetry();
30
+ *
31
+ * // Create spans
32
+ * await withSpan('myOperation', async (span) => {
33
+ * span.setAttribute('key', 'value');
34
+ * return await doSomething();
35
+ * });
36
+ *
37
+ * // Get trace context for propagation
38
+ * const ctx = getTraceContext();
39
+ *
40
+ * // Record metrics
41
+ * serverMetrics.recordRequest('tool_name', 150, true);
42
+ * ```
43
+ *
44
+ * @module server/telemetry
45
+ */
46
+ // ============================================================================
47
+ // SDK Lifecycle
48
+ // ============================================================================
49
+ export { initializeTelemetry, shutdownTelemetry, isSdkInitialized, getPrometheusExporter } from "./sdk.js";
50
+ // ============================================================================
51
+ // Configuration
52
+ // ============================================================================
53
+ export { getTelemetryConfig, isTelemetryEnabled } from "./core/index.js";
54
+ // ============================================================================
55
+ // Tracing
56
+ // ============================================================================
57
+ export { getTracer, withSpan, withSpanSync, getActiveSpan, addSpanAttributes, addSpanEvent, getTraceContext, FrameworkSpanKind, FrameworkSpanStatusCode, } from "./tracing.js";
58
+ export { MCP_ATTRIBUTES } from "./core/index.js";
59
+ // ============================================================================
60
+ // Metrics
61
+ // ============================================================================
62
+ export { ServerMetricsManager, createServerMetrics, getServerMetrics, resetServerMetrics } from "./metrics.js";
63
+ export { METRIC_ATTRIBUTES } from "./core/index.js";
64
+ // ============================================================================
65
+ // Constants (for advanced usage)
66
+ // ============================================================================
67
+ export { TELEMETRY_DEFAULTS, TELEMETRY_ENV_VARS, METRIC_NAMES, METRIC_DESCRIPTIONS, METRIC_UNITS, TRANSPORT_TYPES, TELEMETRY_LOG_COMPONENTS, SdkLogMessages, } from "./core/index.js";
68
+ // ============================================================================
69
+ // OpenTelemetry-compatible Re-exports (framework-level, no static OTEL import)
70
+ // ============================================================================
71
+ // SpanKind & SpanStatusCode are re-exported as FrameworkSpanKind / FrameworkSpanStatusCode
72
+ // from tracing.js above. For backward-compat, provide aliases with the original names.
73
+ // Type-only re-exports remain zero-cost.
74
+ export { FrameworkSpanKind as SpanKind, FrameworkSpanStatusCode as SpanStatusCode } from "./tracing.js";
75
+ // ============================================================================
76
+ // Connection Telemetry Bridge
77
+ // ============================================================================
78
+ export { createConnectionTelemetry } from "./connection-telemetry-bridge.js";
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAE3G,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGzE,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAE/E,2FAA2F;AAC3F,uFAAuF;AACvF,yCAAyC;AACzC,OAAO,EAAE,iBAAiB,IAAI,QAAQ,EAAE,uBAAuB,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AAGxG,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}