@daniel.stefan/metalink 1.3.1

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 (333) hide show
  1. package/README.md +160 -0
  2. package/package.json +96 -0
  3. package/packages/cli/dist/bin/cli.d.ts +3 -0
  4. package/packages/cli/dist/bin/cli.d.ts.map +1 -0
  5. package/packages/cli/dist/bin/cli.js +4 -0
  6. package/packages/cli/dist/bin/cli.js.map +1 -0
  7. package/packages/cli/dist/commands/config/init.d.ts +9 -0
  8. package/packages/cli/dist/commands/config/init.d.ts.map +1 -0
  9. package/packages/cli/dist/commands/config/init.js +38 -0
  10. package/packages/cli/dist/commands/config/init.js.map +1 -0
  11. package/packages/cli/dist/commands/config/validate.d.ts +9 -0
  12. package/packages/cli/dist/commands/config/validate.d.ts.map +1 -0
  13. package/packages/cli/dist/commands/config/validate.js +34 -0
  14. package/packages/cli/dist/commands/config/validate.js.map +1 -0
  15. package/packages/cli/dist/commands/daemon/restart.d.ts +15 -0
  16. package/packages/cli/dist/commands/daemon/restart.d.ts.map +1 -0
  17. package/packages/cli/dist/commands/daemon/restart.js +184 -0
  18. package/packages/cli/dist/commands/daemon/restart.js.map +1 -0
  19. package/packages/cli/dist/commands/daemon/start.d.ts +7 -0
  20. package/packages/cli/dist/commands/daemon/start.d.ts.map +1 -0
  21. package/packages/cli/dist/commands/daemon/start.js +85 -0
  22. package/packages/cli/dist/commands/daemon/start.js.map +1 -0
  23. package/packages/cli/dist/commands/daemon/status.d.ts +7 -0
  24. package/packages/cli/dist/commands/daemon/status.d.ts.map +1 -0
  25. package/packages/cli/dist/commands/daemon/status.js +69 -0
  26. package/packages/cli/dist/commands/daemon/status.js.map +1 -0
  27. package/packages/cli/dist/commands/daemon/stop.d.ts +8 -0
  28. package/packages/cli/dist/commands/daemon/stop.d.ts.map +1 -0
  29. package/packages/cli/dist/commands/daemon/stop.js +77 -0
  30. package/packages/cli/dist/commands/daemon/stop.js.map +1 -0
  31. package/packages/cli/dist/commands/import/mcpm.d.ts +10 -0
  32. package/packages/cli/dist/commands/import/mcpm.d.ts.map +1 -0
  33. package/packages/cli/dist/commands/import/mcpm.js +58 -0
  34. package/packages/cli/dist/commands/import/mcpm.js.map +1 -0
  35. package/packages/cli/dist/commands/safety/add-risky-pattern.d.ts +16 -0
  36. package/packages/cli/dist/commands/safety/add-risky-pattern.d.ts.map +1 -0
  37. package/packages/cli/dist/commands/safety/add-risky-pattern.js +72 -0
  38. package/packages/cli/dist/commands/safety/add-risky-pattern.js.map +1 -0
  39. package/packages/cli/dist/commands/safety/add-risky.d.ts +12 -0
  40. package/packages/cli/dist/commands/safety/add-risky.d.ts.map +1 -0
  41. package/packages/cli/dist/commands/safety/add-risky.js +52 -0
  42. package/packages/cli/dist/commands/safety/add-risky.js.map +1 -0
  43. package/packages/cli/dist/commands/safety/add-safe-pattern.d.ts +16 -0
  44. package/packages/cli/dist/commands/safety/add-safe-pattern.d.ts.map +1 -0
  45. package/packages/cli/dist/commands/safety/add-safe-pattern.js +72 -0
  46. package/packages/cli/dist/commands/safety/add-safe-pattern.js.map +1 -0
  47. package/packages/cli/dist/commands/safety/add-safe.d.ts +12 -0
  48. package/packages/cli/dist/commands/safety/add-safe.d.ts.map +1 -0
  49. package/packages/cli/dist/commands/safety/add-safe.js +52 -0
  50. package/packages/cli/dist/commands/safety/add-safe.js.map +1 -0
  51. package/packages/cli/dist/commands/safety/check.d.ts +9 -0
  52. package/packages/cli/dist/commands/safety/check.d.ts.map +1 -0
  53. package/packages/cli/dist/commands/safety/check.js +36 -0
  54. package/packages/cli/dist/commands/safety/check.js.map +1 -0
  55. package/packages/cli/dist/commands/safety/export.d.ts +10 -0
  56. package/packages/cli/dist/commands/safety/export.d.ts.map +1 -0
  57. package/packages/cli/dist/commands/safety/export.js +48 -0
  58. package/packages/cli/dist/commands/safety/export.js.map +1 -0
  59. package/packages/cli/dist/commands/safety/import.d.ts +12 -0
  60. package/packages/cli/dist/commands/safety/import.d.ts.map +1 -0
  61. package/packages/cli/dist/commands/safety/import.js +78 -0
  62. package/packages/cli/dist/commands/safety/import.js.map +1 -0
  63. package/packages/cli/dist/commands/safety/index.d.ts +8 -0
  64. package/packages/cli/dist/commands/safety/index.d.ts.map +1 -0
  65. package/packages/cli/dist/commands/safety/index.js +46 -0
  66. package/packages/cli/dist/commands/safety/index.js.map +1 -0
  67. package/packages/cli/dist/commands/safety/list.d.ts +6 -0
  68. package/packages/cli/dist/commands/safety/list.d.ts.map +1 -0
  69. package/packages/cli/dist/commands/safety/list.js +77 -0
  70. package/packages/cli/dist/commands/safety/list.js.map +1 -0
  71. package/packages/cli/dist/commands/safety/remove.d.ts +9 -0
  72. package/packages/cli/dist/commands/safety/remove.d.ts.map +1 -0
  73. package/packages/cli/dist/commands/safety/remove.js +46 -0
  74. package/packages/cli/dist/commands/safety/remove.js.map +1 -0
  75. package/packages/cli/dist/commands/safety/reset.d.ts +9 -0
  76. package/packages/cli/dist/commands/safety/reset.d.ts.map +1 -0
  77. package/packages/cli/dist/commands/safety/reset.js +46 -0
  78. package/packages/cli/dist/commands/safety/reset.js.map +1 -0
  79. package/packages/cli/dist/commands/safety/validate.d.ts +9 -0
  80. package/packages/cli/dist/commands/safety/validate.d.ts.map +1 -0
  81. package/packages/cli/dist/commands/safety/validate.js +51 -0
  82. package/packages/cli/dist/commands/safety/validate.js.map +1 -0
  83. package/packages/cli/dist/commands/secret/get.d.ts +9 -0
  84. package/packages/cli/dist/commands/secret/get.d.ts.map +1 -0
  85. package/packages/cli/dist/commands/secret/get.js +26 -0
  86. package/packages/cli/dist/commands/secret/get.js.map +1 -0
  87. package/packages/cli/dist/commands/secret/set.d.ts +10 -0
  88. package/packages/cli/dist/commands/secret/set.d.ts.map +1 -0
  89. package/packages/cli/dist/commands/secret/set.js +22 -0
  90. package/packages/cli/dist/commands/secret/set.js.map +1 -0
  91. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.d.ts +2 -0
  92. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.d.ts.map +1 -0
  93. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.js +234 -0
  94. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.js.map +1 -0
  95. package/packages/cli/dist/commands/server/add.d.ts +14 -0
  96. package/packages/cli/dist/commands/server/add.d.ts.map +1 -0
  97. package/packages/cli/dist/commands/server/add.js +86 -0
  98. package/packages/cli/dist/commands/server/add.js.map +1 -0
  99. package/packages/cli/dist/commands/server/available.d.ts +10 -0
  100. package/packages/cli/dist/commands/server/available.d.ts.map +1 -0
  101. package/packages/cli/dist/commands/server/available.js +62 -0
  102. package/packages/cli/dist/commands/server/available.js.map +1 -0
  103. package/packages/cli/dist/commands/server/debug.d.ts +18 -0
  104. package/packages/cli/dist/commands/server/debug.d.ts.map +1 -0
  105. package/packages/cli/dist/commands/server/debug.js +165 -0
  106. package/packages/cli/dist/commands/server/debug.js.map +1 -0
  107. package/packages/cli/dist/commands/server/info.d.ts +13 -0
  108. package/packages/cli/dist/commands/server/info.d.ts.map +1 -0
  109. package/packages/cli/dist/commands/server/info.js +62 -0
  110. package/packages/cli/dist/commands/server/info.js.map +1 -0
  111. package/packages/cli/dist/commands/server/list.d.ts +10 -0
  112. package/packages/cli/dist/commands/server/list.d.ts.map +1 -0
  113. package/packages/cli/dist/commands/server/list.js +105 -0
  114. package/packages/cli/dist/commands/server/list.js.map +1 -0
  115. package/packages/cli/dist/commands/server/refresh-tools.d.ts +13 -0
  116. package/packages/cli/dist/commands/server/refresh-tools.d.ts.map +1 -0
  117. package/packages/cli/dist/commands/server/refresh-tools.js +46 -0
  118. package/packages/cli/dist/commands/server/refresh-tools.js.map +1 -0
  119. package/packages/cli/dist/commands/server/remove.d.ts +12 -0
  120. package/packages/cli/dist/commands/server/remove.d.ts.map +1 -0
  121. package/packages/cli/dist/commands/server/remove.js +39 -0
  122. package/packages/cli/dist/commands/server/remove.js.map +1 -0
  123. package/packages/cli/dist/commands/server/restart.d.ts +9 -0
  124. package/packages/cli/dist/commands/server/restart.d.ts.map +1 -0
  125. package/packages/cli/dist/commands/server/restart.js +30 -0
  126. package/packages/cli/dist/commands/server/restart.js.map +1 -0
  127. package/packages/cli/dist/commands/server/start.d.ts +9 -0
  128. package/packages/cli/dist/commands/server/start.d.ts.map +1 -0
  129. package/packages/cli/dist/commands/server/start.js +37 -0
  130. package/packages/cli/dist/commands/server/start.js.map +1 -0
  131. package/packages/cli/dist/commands/server/status.d.ts +9 -0
  132. package/packages/cli/dist/commands/server/status.d.ts.map +1 -0
  133. package/packages/cli/dist/commands/server/status.js +30 -0
  134. package/packages/cli/dist/commands/server/status.js.map +1 -0
  135. package/packages/cli/dist/commands/server/stop.d.ts +9 -0
  136. package/packages/cli/dist/commands/server/stop.d.ts.map +1 -0
  137. package/packages/cli/dist/commands/server/stop.js +31 -0
  138. package/packages/cli/dist/commands/server/stop.js.map +1 -0
  139. package/packages/cli/dist/commands/server/validate.d.ts +15 -0
  140. package/packages/cli/dist/commands/server/validate.d.ts.map +1 -0
  141. package/packages/cli/dist/commands/server/validate.js +87 -0
  142. package/packages/cli/dist/commands/server/validate.js.map +1 -0
  143. package/packages/cli/dist/commands/stdio.d.ts +36 -0
  144. package/packages/cli/dist/commands/stdio.d.ts.map +1 -0
  145. package/packages/cli/dist/commands/stdio.js +85 -0
  146. package/packages/cli/dist/commands/stdio.js.map +1 -0
  147. package/packages/cli/dist/commands/tool/execute-confirm.d.ts +12 -0
  148. package/packages/cli/dist/commands/tool/execute-confirm.d.ts.map +1 -0
  149. package/packages/cli/dist/commands/tool/execute-confirm.js +98 -0
  150. package/packages/cli/dist/commands/tool/execute-confirm.js.map +1 -0
  151. package/packages/cli/dist/commands/tool/execute.d.ts +12 -0
  152. package/packages/cli/dist/commands/tool/execute.d.ts.map +1 -0
  153. package/packages/cli/dist/commands/tool/execute.js +55 -0
  154. package/packages/cli/dist/commands/tool/execute.js.map +1 -0
  155. package/packages/cli/dist/commands/tool/list.d.ts +13 -0
  156. package/packages/cli/dist/commands/tool/list.d.ts.map +1 -0
  157. package/packages/cli/dist/commands/tool/list.js +91 -0
  158. package/packages/cli/dist/commands/tool/list.js.map +1 -0
  159. package/packages/cli/dist/commands/tool/search.d.ts +12 -0
  160. package/packages/cli/dist/commands/tool/search.d.ts.map +1 -0
  161. package/packages/cli/dist/commands/tool/search.js +87 -0
  162. package/packages/cli/dist/commands/tool/search.js.map +1 -0
  163. package/packages/cli/dist/index.d.ts +2 -0
  164. package/packages/cli/dist/index.d.ts.map +1 -0
  165. package/packages/cli/dist/index.js +9 -0
  166. package/packages/cli/dist/index.js.map +1 -0
  167. package/packages/cli/dist/utils/daemon-checker.d.ts +18 -0
  168. package/packages/cli/dist/utils/daemon-checker.d.ts.map +1 -0
  169. package/packages/cli/dist/utils/daemon-checker.js +69 -0
  170. package/packages/cli/dist/utils/daemon-checker.js.map +1 -0
  171. package/packages/cli/dist/utils/daemon-endpoint.d.ts +7 -0
  172. package/packages/cli/dist/utils/daemon-endpoint.d.ts.map +1 -0
  173. package/packages/cli/dist/utils/daemon-endpoint.js +13 -0
  174. package/packages/cli/dist/utils/daemon-endpoint.js.map +1 -0
  175. package/packages/cli/dist/utils/get-configured-port.d.ts +43 -0
  176. package/packages/cli/dist/utils/get-configured-port.d.ts.map +1 -0
  177. package/packages/cli/dist/utils/get-configured-port.js +141 -0
  178. package/packages/cli/dist/utils/get-configured-port.js.map +1 -0
  179. package/packages/cli/dist/utils/stdio-bridge.d.ts +48 -0
  180. package/packages/cli/dist/utils/stdio-bridge.d.ts.map +1 -0
  181. package/packages/cli/dist/utils/stdio-bridge.js +181 -0
  182. package/packages/cli/dist/utils/stdio-bridge.js.map +1 -0
  183. package/packages/cli/package.json +48 -0
  184. package/packages/core/dist/config/defaults.d.ts +36 -0
  185. package/packages/core/dist/config/defaults.d.ts.map +1 -0
  186. package/packages/core/dist/config/defaults.js +324 -0
  187. package/packages/core/dist/config/defaults.js.map +1 -0
  188. package/packages/core/dist/config/index.d.ts +9 -0
  189. package/packages/core/dist/config/index.d.ts.map +1 -0
  190. package/packages/core/dist/config/index.js +14 -0
  191. package/packages/core/dist/config/index.js.map +1 -0
  192. package/packages/core/dist/config/loader.d.ts +269 -0
  193. package/packages/core/dist/config/loader.d.ts.map +1 -0
  194. package/packages/core/dist/config/loader.js +777 -0
  195. package/packages/core/dist/config/loader.js.map +1 -0
  196. package/packages/core/dist/config/registry.d.ts +212 -0
  197. package/packages/core/dist/config/registry.d.ts.map +1 -0
  198. package/packages/core/dist/config/registry.js +754 -0
  199. package/packages/core/dist/config/registry.js.map +1 -0
  200. package/packages/core/dist/config/schema.d.ts +4352 -0
  201. package/packages/core/dist/config/schema.d.ts.map +1 -0
  202. package/packages/core/dist/config/schema.js +267 -0
  203. package/packages/core/dist/config/schema.js.map +1 -0
  204. package/packages/core/dist/daemon.d.ts +7 -0
  205. package/packages/core/dist/daemon.d.ts.map +1 -0
  206. package/packages/core/dist/daemon.js +116 -0
  207. package/packages/core/dist/daemon.js.map +1 -0
  208. package/packages/core/dist/http-client-retry.d.ts +67 -0
  209. package/packages/core/dist/http-client-retry.d.ts.map +1 -0
  210. package/packages/core/dist/http-client-retry.js +133 -0
  211. package/packages/core/dist/http-client-retry.js.map +1 -0
  212. package/packages/core/dist/http-client-updated.d.ts +147 -0
  213. package/packages/core/dist/http-client-updated.d.ts.map +1 -0
  214. package/packages/core/dist/http-client-updated.js +452 -0
  215. package/packages/core/dist/http-client-updated.js.map +1 -0
  216. package/packages/core/dist/http-client.d.ts +207 -0
  217. package/packages/core/dist/http-client.d.ts.map +1 -0
  218. package/packages/core/dist/http-client.js +704 -0
  219. package/packages/core/dist/http-client.js.map +1 -0
  220. package/packages/core/dist/index.d.ts +13 -0
  221. package/packages/core/dist/index.d.ts.map +1 -0
  222. package/packages/core/dist/index.js +23 -0
  223. package/packages/core/dist/index.js.map +1 -0
  224. package/packages/core/dist/logging/index.d.ts +46 -0
  225. package/packages/core/dist/logging/index.d.ts.map +1 -0
  226. package/packages/core/dist/logging/index.js +74 -0
  227. package/packages/core/dist/logging/index.js.map +1 -0
  228. package/packages/core/dist/metrics/index.d.ts +339 -0
  229. package/packages/core/dist/metrics/index.d.ts.map +1 -0
  230. package/packages/core/dist/metrics/index.js +792 -0
  231. package/packages/core/dist/metrics/index.js.map +1 -0
  232. package/packages/core/dist/plugins/index.d.ts +49 -0
  233. package/packages/core/dist/plugins/index.d.ts.map +1 -0
  234. package/packages/core/dist/plugins/index.js +82 -0
  235. package/packages/core/dist/plugins/index.js.map +1 -0
  236. package/packages/core/dist/secrets/index.d.ts +6 -0
  237. package/packages/core/dist/secrets/index.d.ts.map +1 -0
  238. package/packages/core/dist/secrets/index.js +5 -0
  239. package/packages/core/dist/secrets/index.js.map +1 -0
  240. package/packages/core/dist/secrets/keyring.d.ts +54 -0
  241. package/packages/core/dist/secrets/keyring.d.ts.map +1 -0
  242. package/packages/core/dist/secrets/keyring.js +141 -0
  243. package/packages/core/dist/secrets/keyring.js.map +1 -0
  244. package/packages/core/dist/server/batch-executor.d.ts +83 -0
  245. package/packages/core/dist/server/batch-executor.d.ts.map +1 -0
  246. package/packages/core/dist/server/batch-executor.js +291 -0
  247. package/packages/core/dist/server/batch-executor.js.map +1 -0
  248. package/packages/core/dist/server/circuit-breaker.d.ts +215 -0
  249. package/packages/core/dist/server/circuit-breaker.d.ts.map +1 -0
  250. package/packages/core/dist/server/circuit-breaker.js +330 -0
  251. package/packages/core/dist/server/circuit-breaker.js.map +1 -0
  252. package/packages/core/dist/server/client-detection.d.ts +40 -0
  253. package/packages/core/dist/server/client-detection.d.ts.map +1 -0
  254. package/packages/core/dist/server/client-detection.js +242 -0
  255. package/packages/core/dist/server/client-detection.js.map +1 -0
  256. package/packages/core/dist/server/client-profiles.d.ts +102 -0
  257. package/packages/core/dist/server/client-profiles.d.ts.map +1 -0
  258. package/packages/core/dist/server/client-profiles.js +254 -0
  259. package/packages/core/dist/server/client-profiles.js.map +1 -0
  260. package/packages/core/dist/server/http.d.ts +386 -0
  261. package/packages/core/dist/server/http.d.ts.map +1 -0
  262. package/packages/core/dist/server/http.js +4253 -0
  263. package/packages/core/dist/server/http.js.map +1 -0
  264. package/packages/core/dist/server/index.d.ts +7 -0
  265. package/packages/core/dist/server/index.d.ts.map +1 -0
  266. package/packages/core/dist/server/index.js +6 -0
  267. package/packages/core/dist/server/index.js.map +1 -0
  268. package/packages/core/dist/server/manager.d.ts +458 -0
  269. package/packages/core/dist/server/manager.d.ts.map +1 -0
  270. package/packages/core/dist/server/manager.js +3255 -0
  271. package/packages/core/dist/server/manager.js.map +1 -0
  272. package/packages/core/dist/server/managers/HttpConnectionManager.d.ts +69 -0
  273. package/packages/core/dist/server/managers/HttpConnectionManager.d.ts.map +1 -0
  274. package/packages/core/dist/server/managers/HttpConnectionManager.js +214 -0
  275. package/packages/core/dist/server/managers/HttpConnectionManager.js.map +1 -0
  276. package/packages/core/dist/server/managers/ProcessManager.d.ts +128 -0
  277. package/packages/core/dist/server/managers/ProcessManager.d.ts.map +1 -0
  278. package/packages/core/dist/server/managers/ProcessManager.js +443 -0
  279. package/packages/core/dist/server/managers/ProcessManager.js.map +1 -0
  280. package/packages/core/dist/server/managers/SchemaCacheManager.d.ts +152 -0
  281. package/packages/core/dist/server/managers/SchemaCacheManager.d.ts.map +1 -0
  282. package/packages/core/dist/server/managers/SchemaCacheManager.js +426 -0
  283. package/packages/core/dist/server/managers/SchemaCacheManager.js.map +1 -0
  284. package/packages/core/dist/server/managers/index.d.ts +9 -0
  285. package/packages/core/dist/server/managers/index.d.ts.map +1 -0
  286. package/packages/core/dist/server/managers/index.js +9 -0
  287. package/packages/core/dist/server/managers/index.js.map +1 -0
  288. package/packages/core/dist/server/metrics.d.ts +134 -0
  289. package/packages/core/dist/server/metrics.d.ts.map +1 -0
  290. package/packages/core/dist/server/metrics.js +273 -0
  291. package/packages/core/dist/server/metrics.js.map +1 -0
  292. package/packages/core/dist/server/prompts.d.ts +58 -0
  293. package/packages/core/dist/server/prompts.d.ts.map +1 -0
  294. package/packages/core/dist/server/prompts.js +405 -0
  295. package/packages/core/dist/server/prompts.js.map +1 -0
  296. package/packages/core/dist/server/protocol-versions.d.ts +49 -0
  297. package/packages/core/dist/server/protocol-versions.d.ts.map +1 -0
  298. package/packages/core/dist/server/protocol-versions.js +173 -0
  299. package/packages/core/dist/server/protocol-versions.js.map +1 -0
  300. package/packages/core/dist/server/resources.d.ts +64 -0
  301. package/packages/core/dist/server/resources.d.ts.map +1 -0
  302. package/packages/core/dist/server/resources.js +243 -0
  303. package/packages/core/dist/server/resources.js.map +1 -0
  304. package/packages/core/dist/server/schema-store.d.ts +84 -0
  305. package/packages/core/dist/server/schema-store.d.ts.map +1 -0
  306. package/packages/core/dist/server/schema-store.js +234 -0
  307. package/packages/core/dist/server/schema-store.js.map +1 -0
  308. package/packages/core/dist/server/schema-validator.d.ts +51 -0
  309. package/packages/core/dist/server/schema-validator.d.ts.map +1 -0
  310. package/packages/core/dist/server/schema-validator.js +208 -0
  311. package/packages/core/dist/server/schema-validator.js.map +1 -0
  312. package/packages/core/dist/server/token-calculator.d.ts +44 -0
  313. package/packages/core/dist/server/token-calculator.d.ts.map +1 -0
  314. package/packages/core/dist/server/token-calculator.js +53 -0
  315. package/packages/core/dist/server/token-calculator.js.map +1 -0
  316. package/packages/core/dist/server/types.d.ts +45 -0
  317. package/packages/core/dist/server/types.d.ts.map +1 -0
  318. package/packages/core/dist/server/types.js +5 -0
  319. package/packages/core/dist/server/types.js.map +1 -0
  320. package/packages/core/dist/utils/file-lock.d.ts +73 -0
  321. package/packages/core/dist/utils/file-lock.d.ts.map +1 -0
  322. package/packages/core/dist/utils/file-lock.js +235 -0
  323. package/packages/core/dist/utils/file-lock.js.map +1 -0
  324. package/packages/core/package.json +36 -0
  325. package/packages/dashboard/dist/assets/index-B7hvkCMu.css +1 -0
  326. package/packages/dashboard/dist/assets/index-yZhLPpzr.js +1 -0
  327. package/packages/dashboard/dist/index.html +14 -0
  328. package/packages/dashboard/package.json +24 -0
  329. package/packages/shared/dist/version.d.ts +2 -0
  330. package/packages/shared/dist/version.d.ts.map +1 -0
  331. package/packages/shared/dist/version.js +2 -0
  332. package/packages/shared/dist/version.js.map +1 -0
  333. package/packages/shared/package.json +18 -0
@@ -0,0 +1,405 @@
1
+ /**
2
+ * MCP Prompts Module
3
+ *
4
+ * Provides built-in educational prompts for the Metalink 4-tool Speakeasy pattern.
5
+ * Implements MCP protocol prompts/list and prompts/get endpoints.
6
+ *
7
+ * v1.3.x: Consolidated to 2 documentation prompts (guide, safety).
8
+ * Executable skills are now provided via Claude Code user commands.
9
+ */
10
+ /**
11
+ * Built-in prompt definitions
12
+ * v1.3.x: Consolidated to 2 documentation prompts
13
+ */
14
+ const PROMPT_DEFINITIONS = [
15
+ {
16
+ name: 'guide',
17
+ description: 'Complete guide to using Metalink: the 4-tool workflow, searching, describing, and executing MCP tools',
18
+ arguments: [],
19
+ },
20
+ {
21
+ name: 'safety',
22
+ description: 'Understanding safe vs risky tool execution: when to use execute_tool vs execute_tool_confirm',
23
+ arguments: [],
24
+ },
25
+ ];
26
+ /**
27
+ * Prompt template generators
28
+ */
29
+ const PROMPT_TEMPLATES = {
30
+ 'guide': () => {
31
+ return {
32
+ description: 'Complete Metalink 4-Tool Workflow Guide',
33
+ messages: [
34
+ {
35
+ role: 'user',
36
+ content: {
37
+ type: 'text',
38
+ text: 'How do I use Metalink to access MCP tools?',
39
+ },
40
+ },
41
+ {
42
+ role: 'assistant',
43
+ content: {
44
+ type: 'text',
45
+ text: `# Metalink: Complete Guide
46
+
47
+ ## Overview
48
+
49
+ Metalink uses a **4-tool Speakeasy pattern** for 97% token reduction:
50
+ - \`search_tools\` - Find tools across all MCP servers
51
+ - \`describe_tool\` - Get full schema and parameters
52
+ - \`execute_tool\` - Run safe (read-only) tools
53
+ - \`execute_tool_confirm\` - Run risky (write) tools with confirmation
54
+
55
+ ---
56
+
57
+ ## Step 1: Search for Tools
58
+
59
+ Find tools matching your needs:
60
+
61
+ \`\`\`json
62
+ search_tools({ "query": "memory" })
63
+ \`\`\`
64
+
65
+ **Results include:**
66
+ - \`server\`: Which MCP server provides the tool
67
+ - \`tool\`: Tool name
68
+ - \`safety\`: "safe" or "risky" (v1.3.x: top-level field)
69
+ - \`execute_with\`: "execute_tool" or "execute_tool_confirm"
70
+ - \`description\`: What the tool does
71
+ - \`annotations.safetyReason\`: Why it's classified that way
72
+
73
+ **Search strategies:**
74
+ - Keywords: \`"search"\`, \`"create"\`, \`"memory"\`, \`"file"\`
75
+ - Server-specific: \`search_tools({ "server_name": "memory" })\`
76
+ - Multi-word: \`"memory search"\` matches server AND tool name
77
+
78
+ ---
79
+
80
+ ## Step 2: Describe the Tool
81
+
82
+ Get complete schema before execution:
83
+
84
+ \`\`\`json
85
+ describe_tool({
86
+ "server_name": "memory",
87
+ "tool_name": "search_nodes"
88
+ })
89
+ \`\`\`
90
+
91
+ **Response includes:**
92
+ - \`inputSchema\`: Full JSON Schema for parameters
93
+ - \`requiredParams\`: List of required parameter names
94
+ - \`optionalParams\`: List of optional parameters
95
+ - \`example\`: Sample usage (if available)
96
+
97
+ ---
98
+
99
+ ## Step 3: Execute the Tool
100
+
101
+ ### For SAFE tools (read-only):
102
+
103
+ Check: \`safety: "safe"\` or \`execute_with: "execute_tool"\`
104
+
105
+ \`\`\`json
106
+ execute_tool({
107
+ "server_name": "memory",
108
+ "tool_name": "search_nodes",
109
+ "arguments": {
110
+ "query": "my search term"
111
+ }
112
+ })
113
+ \`\`\`
114
+
115
+ ### For RISKY tools (write/modify):
116
+
117
+ Check: \`safety: "risky"\` or \`execute_with: "execute_tool_confirm"\`
118
+
119
+ \`\`\`json
120
+ execute_tool_confirm({
121
+ "server_name": "memory",
122
+ "tool_name": "create_entities",
123
+ "arguments": {
124
+ "entities": [{ "name": "Example", "entityType": "concept" }]
125
+ }
126
+ })
127
+ \`\`\`
128
+
129
+ User must approve before execution.
130
+
131
+ ---
132
+
133
+ ## Quick Reference
134
+
135
+ | Tool | Purpose | Safety |
136
+ |------|---------|--------|
137
+ | search_tools | Find tools | Always safe |
138
+ | describe_tool | Get schema | Always safe |
139
+ | execute_tool | Run tool | For safe tools only |
140
+ | execute_tool_confirm | Run tool | For risky tools |
141
+
142
+ ---
143
+
144
+ ## Common Patterns
145
+
146
+ **Memory/Knowledge:**
147
+ \`\`\`
148
+ search_tools({ "query": "memory" })
149
+ → search_nodes, create_entities, add_observations
150
+ \`\`\`
151
+
152
+ **Web/Research:**
153
+ \`\`\`
154
+ search_tools({ "query": "search web" })
155
+ → duckduckgo search, fetch content
156
+ \`\`\`
157
+
158
+ **Time/Utilities:**
159
+ \`\`\`
160
+ search_tools({ "query": "time" })
161
+ → get_current_time
162
+ \`\`\`
163
+
164
+ ---
165
+
166
+ ## Error Handling
167
+
168
+ **Missing parameters:**
169
+ - Use describe_tool to see required fields
170
+ - Check the example in describe response
171
+
172
+ **Wrong safety level:**
173
+ - If execute_tool blocks a tool, it's risky
174
+ - Switch to execute_tool_confirm
175
+
176
+ **Pagination:**
177
+ - Add \`max_results: 10\` to limit results
178
+ - Add \`max_result_chars: 10000\` to limit response size
179
+
180
+ ---
181
+
182
+ ## Server-Level Safety (v1.3.x)
183
+
184
+ Servers can be configured as fully trusted:
185
+
186
+ \`\`\`json
187
+ {
188
+ "name": "memory",
189
+ "safety": "safe" // All tools from this server are safe
190
+ }
191
+ \`\`\`
192
+
193
+ Options:
194
+ - \`"safe"\`: All tools auto-approved
195
+ - \`"risky"\`: All tools need confirmation
196
+ - \`"default"\`: Per-tool classification (normal behavior)
197
+
198
+ ---
199
+
200
+ This is everything you need to use Metalink effectively!`,
201
+ },
202
+ },
203
+ ],
204
+ };
205
+ },
206
+ 'safety': () => {
207
+ return {
208
+ description: 'Safe vs Risky Tool Execution Guide',
209
+ messages: [
210
+ {
211
+ role: 'user',
212
+ content: {
213
+ type: 'text',
214
+ text: 'When should I use execute_tool vs execute_tool_confirm?',
215
+ },
216
+ },
217
+ {
218
+ role: 'assistant',
219
+ content: {
220
+ type: 'text',
221
+ text: `# Understanding Tool Safety in Metalink
222
+
223
+ ## The Two Execution Tools
224
+
225
+ ### execute_tool (Auto-Approved)
226
+ For **safe, read-only** operations that don't modify state.
227
+
228
+ \`\`\`json
229
+ execute_tool({
230
+ "server_name": "memory",
231
+ "tool_name": "search_nodes",
232
+ "arguments": { "query": "test" }
233
+ })
234
+ \`\`\`
235
+
236
+ **Runs immediately without user confirmation.**
237
+
238
+ ---
239
+
240
+ ### execute_tool_confirm (Requires Confirmation)
241
+ For **risky, write** operations that modify state.
242
+
243
+ \`\`\`json
244
+ execute_tool_confirm({
245
+ "server_name": "memory",
246
+ "tool_name": "create_entities",
247
+ "arguments": { "entities": [...] }
248
+ })
249
+ \`\`\`
250
+
251
+ **User must approve before execution.**
252
+
253
+ ---
254
+
255
+ ## How Safety is Determined
256
+
257
+ ### 1. Search Results (v1.3.x - Top-Level Fields)
258
+
259
+ \`\`\`json
260
+ {
261
+ "tool": "create_entities",
262
+ "server": "memory",
263
+ "safety": "risky", // Top-level for easy access
264
+ "execute_with": "execute_tool_confirm", // Tells you which to use
265
+ "annotations": {
266
+ "safety": "risky",
267
+ "safetyReason": "Tool name matches risky pattern",
268
+ "requiresConfirmation": true
269
+ }
270
+ }
271
+ \`\`\`
272
+
273
+ ### 2. Server-Level Safety (v1.3.x)
274
+
275
+ Servers can be configured as fully trusted:
276
+
277
+ | Config | Meaning |
278
+ |--------|---------|
279
+ | \`safety: "safe"\` | All tools from this server are safe |
280
+ | \`safety: "risky"\` | All tools need confirmation |
281
+ | \`safety: "default"\` | Use tool-level classification |
282
+
283
+ ### 3. Tool Name Pattern Matching
284
+
285
+ **Safe patterns (execute_tool):**
286
+ - search, list, get, read, view, query, check, find, show, fetch
287
+
288
+ **Risky patterns (execute_tool_confirm):**
289
+ - create, update, delete, set, write, modify, remove, insert, add
290
+
291
+ ### 4. Explicit Overrides
292
+
293
+ Some tools have explicit safe/risky overrides regardless of name:
294
+ - \`memory:*\` tools may be explicitly safe
295
+ - \`docs-server:*\` tools are explicitly safe
296
+ - External APIs default to risky
297
+
298
+ ---
299
+
300
+ ## Safety Priority Order
301
+
302
+ 1. **Server-level safety** (highest) - If server has \`safety: "safe"\`
303
+ 2. **Explicit risky overrides** - Forced risky tools
304
+ 3. **Explicit safe overrides** - Forced safe tools
305
+ 4. **Argument inspection** - Some tools check argument content
306
+ 5. **Risky name patterns** - create, update, delete, etc.
307
+ 6. **Safe name patterns** - search, list, get, etc.
308
+ 7. **Default: risky** - Unknown tools require confirmation
309
+
310
+ ---
311
+
312
+ ## What Happens If You Use Wrong Tool?
313
+
314
+ ### execute_tool on risky tool:
315
+ \`\`\`
316
+ Error: Tool memory:create_entities is classified as RISKY
317
+ Use 'execute_tool_confirm' instead.
318
+ Reason: Tool name matches risky pattern (create, update, delete, etc.)
319
+ \`\`\`
320
+
321
+ ### execute_tool_confirm on safe tool:
322
+ Works fine, but unnecessary confirmation prompt.
323
+
324
+ ---
325
+
326
+ ## Best Practices
327
+
328
+ 1. **Check \`execute_with\` field** in search results
329
+ 2. **Use \`safety\` field** for quick classification
330
+ 3. **When unsure, use execute_tool_confirm** - it's always safe
331
+ 4. **Trust the error messages** - they tell you which to use
332
+
333
+ ---
334
+
335
+ ## Examples
336
+
337
+ ### Safe Tools (execute_tool):
338
+ - \`memory:search_nodes\` - searches, doesn't modify
339
+ - \`time:get_current_time\` - reads current time
340
+ - \`duckduckgo:search\` - web search
341
+ - \`docs-server:search_docs\` - documentation search
342
+
343
+ ### Risky Tools (execute_tool_confirm):
344
+ - \`memory:create_entities\` - creates new data
345
+ - \`memory:delete_entities\` - removes data
346
+ - \`filesystem:write_file\` - modifies files
347
+ - \`database:execute\` - runs mutations
348
+
349
+ ---
350
+
351
+ ## Quick Decision Flow
352
+
353
+ \`\`\`
354
+ 1. Search for tool
355
+ 2. Check "execute_with" field in results
356
+ 3. If "execute_tool" → Use execute_tool
357
+ 4. If "execute_tool_confirm" → Use execute_tool_confirm
358
+ 5. If unsure → Use execute_tool_confirm (safe default)
359
+ \`\`\`
360
+
361
+ The safety classification protects against accidental data modification!`,
362
+ },
363
+ },
364
+ ],
365
+ };
366
+ },
367
+ };
368
+ /**
369
+ * Get list of all available prompts
370
+ *
371
+ * @returns Array of prompt definitions for prompts/list response
372
+ */
373
+ export function getPromptsList() {
374
+ return PROMPT_DEFINITIONS;
375
+ }
376
+ /**
377
+ * Get a specific prompt with arguments resolved
378
+ *
379
+ * @param name - Prompt identifier
380
+ * @param args - Argument key-value pairs
381
+ * @returns Rendered prompt with messages
382
+ * @throws Error if prompt not found or required arguments missing
383
+ */
384
+ export function getPrompt(name, args = {}) {
385
+ // Validate prompt exists
386
+ const definition = PROMPT_DEFINITIONS.find(p => p.name === name);
387
+ if (!definition) {
388
+ throw new Error(`Prompt not found: ${name}`);
389
+ }
390
+ // Validate required arguments
391
+ const requiredArgs = definition.arguments?.filter(a => a.required) || [];
392
+ for (const arg of requiredArgs) {
393
+ if (!args[arg.name]) {
394
+ throw new Error(`Missing required argument: ${arg.name}`);
395
+ }
396
+ }
397
+ // Get template function
398
+ const template = PROMPT_TEMPLATES[name];
399
+ if (!template) {
400
+ throw new Error(`Prompt template not implemented: ${name}`);
401
+ }
402
+ // Render and return
403
+ return template(args);
404
+ }
405
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/server/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqCH;;;GAGG;AACH,MAAM,kBAAkB,GAAuB;IAC7C;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,uGAAuG;QACpH,SAAS,EAAE,EAAE;KACd;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8FAA8F;QAC3G,SAAS,EAAE,EAAE;KACd;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,gBAAgB,GAAqE;IACzF,OAAO,EAAE,GAAmB,EAAE;QAC5B,OAAO;YACL,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,4CAA4C;qBACnD;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA2JuC;qBAC9C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,QAAQ,EAAE,GAAmB,EAAE;QAC7B,OAAO;YACL,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yDAAyD;qBAChE;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEA4IuD;qBAC9D;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAA+B,EAAE;IACvE,yBAAyB;IACzB,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,8BAA8B;IAC9B,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,oBAAoB;IACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * v1.1.8: Protocol Versions Manager
3
+ * Manages MCP protocol version lifecycle and deprecation warnings
4
+ * Supports version tracking, EOL dates, and upgrade recommendations
5
+ */
6
+ export interface ProtocolVersion {
7
+ version: string;
8
+ status: 'current' | 'deprecated' | 'legacy';
9
+ features: string[];
10
+ deprecatedDate?: Date;
11
+ eolDate?: Date;
12
+ upgradeTo?: string;
13
+ minorVersions?: string[];
14
+ }
15
+ export interface ProtocolCompliance {
16
+ requestVersion: string;
17
+ status: 'compliant' | 'deprecated' | 'legacy' | 'unsupported';
18
+ isDeprecated: boolean;
19
+ isLegacy: boolean;
20
+ daysUntilEOL?: number;
21
+ eolDate?: Date;
22
+ upgradeTo?: string;
23
+ warningMessage?: string;
24
+ }
25
+ /**
26
+ * Check protocol compliance
27
+ */
28
+ export declare function checkProtocolCompliance(requestVersion: string): ProtocolCompliance;
29
+ /**
30
+ * Get all protocol versions with status
31
+ */
32
+ export declare function getAllProtocolVersions(): ProtocolVersion[];
33
+ /**
34
+ * Get current protocol version
35
+ */
36
+ export declare function getCurrentProtocolVersion(): string;
37
+ /**
38
+ * Build response headers for protocol status
39
+ */
40
+ export declare function buildProtocolHeaders(requestVersion: string): Record<string, string>;
41
+ /**
42
+ * Format protocol status for logging
43
+ */
44
+ export declare function formatProtocolStatus(compliance: ProtocolCompliance): string;
45
+ /**
46
+ * Test helper: Create mock compliance result
47
+ */
48
+ export declare function createMockCompliance(version: string, status: string): ProtocolCompliance;
49
+ //# sourceMappingURL=protocol-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-versions.d.ts","sourceRoot":"","sources":["../../src/server/protocol-versions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC9D,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB,CA4ClF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAU3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CASxF"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * v1.1.8: Protocol Versions Manager
3
+ * Manages MCP protocol version lifecycle and deprecation warnings
4
+ * Supports version tracking, EOL dates, and upgrade recommendations
5
+ */
6
+ /**
7
+ * Protocol version registry
8
+ */
9
+ const PROTOCOL_VERSIONS = {
10
+ '2025-11-25': {
11
+ version: '2025-11-25',
12
+ status: 'current',
13
+ features: [
14
+ 'JSON-RPC 2.0 compliance',
15
+ 'Session management (30min timeout)',
16
+ 'Batch requests (sequential/parallel/hybrid)',
17
+ 'Tool schema caching',
18
+ 'Server auto-start',
19
+ 'Client capability detection',
20
+ 'Protocol deprecation warnings',
21
+ 'Response headers: MCP-Protocol-Version, Mcp-Session-Id',
22
+ 'Streamable HTTP transport'
23
+ ]
24
+ },
25
+ '2025-06-18': {
26
+ version: '2025-06-18',
27
+ status: 'current',
28
+ features: [
29
+ 'JSON-RPC 2.0 compliance',
30
+ 'Session management (30min timeout)',
31
+ 'Batch requests (sequential/parallel/hybrid)',
32
+ 'Tool schema caching',
33
+ 'Server auto-start',
34
+ 'Client capability detection',
35
+ 'Protocol deprecation warnings',
36
+ 'Response headers: MCP-Protocol-Version, Mcp-Session-Id'
37
+ ]
38
+ },
39
+ '2025-03-26': {
40
+ version: '2025-03-26',
41
+ status: 'deprecated',
42
+ deprecatedDate: new Date('2025-11-22'),
43
+ eolDate: new Date('2026-06-01'),
44
+ upgradeTo: '2025-11-25',
45
+ features: [
46
+ 'JSON-RPC 2.0 compliance',
47
+ 'Session management',
48
+ 'Tool schema caching',
49
+ 'Server auto-start'
50
+ ]
51
+ },
52
+ '2024-11-05': {
53
+ version: '2024-11-05',
54
+ status: 'legacy',
55
+ deprecatedDate: new Date('2025-06-01'),
56
+ eolDate: new Date('2025-12-01'),
57
+ upgradeTo: '2025-11-25',
58
+ features: [
59
+ 'JSON-RPC 2.0 basic support',
60
+ 'Tool list endpoint',
61
+ 'Tool execution'
62
+ ]
63
+ }
64
+ };
65
+ /**
66
+ * Check protocol compliance
67
+ */
68
+ export function checkProtocolCompliance(requestVersion) {
69
+ const versionInfo = PROTOCOL_VERSIONS[requestVersion];
70
+ if (!versionInfo) {
71
+ return {
72
+ requestVersion,
73
+ status: 'unsupported',
74
+ isDeprecated: false,
75
+ isLegacy: false,
76
+ upgradeTo: '2025-11-25',
77
+ warningMessage: `Protocol version ${requestVersion} is not supported. Current version: 2025-11-25`
78
+ };
79
+ }
80
+ const now = new Date();
81
+ const daysUntilEOL = versionInfo.eolDate
82
+ ? Math.ceil((versionInfo.eolDate.getTime() - now.getTime()) / (1000 * 60 * 60 * 24))
83
+ : undefined;
84
+ let status = 'compliant';
85
+ let warningMessage;
86
+ if (versionInfo.status === 'deprecated') {
87
+ status = 'deprecated';
88
+ warningMessage = `Protocol version ${requestVersion} is deprecated as of ${versionInfo.deprecatedDate?.toISOString().split('T')[0]}. ` +
89
+ `EOL: ${versionInfo.eolDate?.toISOString().split('T')[0]}. ` +
90
+ `Please upgrade to ${versionInfo.upgradeTo}`;
91
+ }
92
+ else if (versionInfo.status === 'legacy') {
93
+ status = 'legacy';
94
+ warningMessage = `Protocol version ${requestVersion} is legacy (deprecated since ${versionInfo.deprecatedDate?.toISOString().split('T')[0]}). ` +
95
+ `EOL: ${versionInfo.eolDate?.toISOString().split('T')[0]}. ` +
96
+ `URGENT: Upgrade to ${versionInfo.upgradeTo}`;
97
+ }
98
+ return {
99
+ requestVersion,
100
+ status,
101
+ isDeprecated: versionInfo.status === 'deprecated',
102
+ isLegacy: versionInfo.status === 'legacy',
103
+ daysUntilEOL,
104
+ eolDate: versionInfo.eolDate,
105
+ upgradeTo: versionInfo.upgradeTo,
106
+ warningMessage
107
+ };
108
+ }
109
+ /**
110
+ * Get all protocol versions with status
111
+ */
112
+ export function getAllProtocolVersions() {
113
+ return Object.values(PROTOCOL_VERSIONS);
114
+ }
115
+ /**
116
+ * Get current protocol version
117
+ */
118
+ export function getCurrentProtocolVersion() {
119
+ return '2025-11-25';
120
+ }
121
+ /**
122
+ * Build response headers for protocol status
123
+ */
124
+ export function buildProtocolHeaders(requestVersion) {
125
+ const compliance = checkProtocolCompliance(requestVersion);
126
+ const headers = {
127
+ 'MCP-Protocol-Version': getCurrentProtocolVersion()
128
+ };
129
+ if (compliance.isDeprecated) {
130
+ headers['X-MetaLink-Protocol-Status'] = 'deprecated';
131
+ if (compliance.daysUntilEOL !== undefined) {
132
+ headers['X-MetaLink-Protocol-EOL'] = compliance.eolDate?.toISOString().split('T')[0] || '';
133
+ }
134
+ headers['X-MetaLink-Upgrade-Available'] = compliance.upgradeTo || '';
135
+ }
136
+ else if (compliance.isLegacy) {
137
+ headers['X-MetaLink-Protocol-Status'] = 'legacy';
138
+ headers['X-MetaLink-Protocol-EOL'] = compliance.eolDate?.toISOString().split('T')[0] || '';
139
+ headers['X-MetaLink-Upgrade-Available'] = compliance.upgradeTo || '';
140
+ }
141
+ return headers;
142
+ }
143
+ /**
144
+ * Format protocol status for logging
145
+ */
146
+ export function formatProtocolStatus(compliance) {
147
+ if (compliance.status === 'compliant') {
148
+ return `✅ Protocol ${compliance.requestVersion} compliant`;
149
+ }
150
+ else if (compliance.status === 'deprecated') {
151
+ return `⚠️ Protocol ${compliance.requestVersion} deprecated (EOL in ${compliance.daysUntilEOL} days)`;
152
+ }
153
+ else if (compliance.status === 'legacy') {
154
+ return `🔴 Protocol ${compliance.requestVersion} legacy (EOL in ${compliance.daysUntilEOL} days, UPGRADE REQUIRED)`;
155
+ }
156
+ else {
157
+ return `❌ Protocol ${compliance.requestVersion} unsupported`;
158
+ }
159
+ }
160
+ /**
161
+ * Test helper: Create mock compliance result
162
+ */
163
+ export function createMockCompliance(version, status) {
164
+ return {
165
+ requestVersion: version,
166
+ status: status,
167
+ isDeprecated: status === 'deprecated',
168
+ isLegacy: status === 'legacy',
169
+ daysUntilEOL: status === 'deprecated' ? 180 : 0,
170
+ upgradeTo: status === 'deprecated' || status === 'legacy' ? '2025-11-25' : undefined
171
+ };
172
+ }
173
+ //# sourceMappingURL=protocol-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-versions.js","sourceRoot":"","sources":["../../src/server/protocol-versions.ts"],"names":[],"mappings":"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"}