@skillsmith/mcp-server 0.3.1 → 0.3.3

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 (315) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/src/__tests__/get-skill.test.d.ts +6 -0
  3. package/dist/src/__tests__/get-skill.test.d.ts.map +1 -0
  4. package/dist/src/__tests__/get-skill.test.js +88 -0
  5. package/dist/src/__tests__/get-skill.test.js.map +1 -0
  6. package/dist/src/__tests__/middleware/errorFormatter.test.d.ts +7 -0
  7. package/dist/src/__tests__/middleware/errorFormatter.test.d.ts.map +1 -0
  8. package/dist/src/__tests__/middleware/errorFormatter.test.js +304 -0
  9. package/dist/src/__tests__/middleware/errorFormatter.test.js.map +1 -0
  10. package/dist/src/__tests__/middleware/license.test.d.ts +7 -0
  11. package/dist/src/__tests__/middleware/license.test.d.ts.map +1 -0
  12. package/dist/src/__tests__/middleware/license.test.js +500 -0
  13. package/dist/src/__tests__/middleware/license.test.js.map +1 -0
  14. package/dist/src/__tests__/search.test.d.ts +6 -0
  15. package/dist/src/__tests__/search.test.d.ts.map +1 -0
  16. package/dist/src/__tests__/search.test.js +86 -0
  17. package/dist/src/__tests__/search.test.js.map +1 -0
  18. package/dist/src/__tests__/test-utils.d.ts +20 -0
  19. package/dist/src/__tests__/test-utils.d.ts.map +1 -0
  20. package/dist/src/__tests__/test-utils.js +91 -0
  21. package/dist/src/__tests__/test-utils.js.map +1 -0
  22. package/dist/src/context/index.d.ts +19 -0
  23. package/dist/src/context/index.d.ts.map +1 -0
  24. package/dist/src/context/index.js +25 -0
  25. package/dist/src/context/index.js.map +1 -0
  26. package/dist/src/context/project-detector.d.ts +145 -0
  27. package/dist/src/context/project-detector.d.ts.map +1 -0
  28. package/dist/src/context/project-detector.js +321 -0
  29. package/dist/src/context/project-detector.js.map +1 -0
  30. package/dist/src/context.d.ts +157 -0
  31. package/dist/src/context.d.ts.map +1 -0
  32. package/dist/src/context.js +231 -0
  33. package/dist/src/context.js.map +1 -0
  34. package/dist/src/core-shim.d.ts +7 -0
  35. package/dist/src/core-shim.d.ts.map +1 -0
  36. package/dist/src/core-shim.js +9 -0
  37. package/dist/src/core-shim.js.map +1 -0
  38. package/dist/src/health/healthCheck.d.ts +88 -0
  39. package/dist/src/health/healthCheck.d.ts.map +1 -0
  40. package/dist/src/health/healthCheck.js +117 -0
  41. package/dist/src/health/healthCheck.js.map +1 -0
  42. package/dist/src/health/index.d.ts +21 -0
  43. package/dist/src/health/index.d.ts.map +1 -0
  44. package/dist/src/health/index.js +21 -0
  45. package/dist/src/health/index.js.map +1 -0
  46. package/dist/src/health/readinessCheck.d.ts +139 -0
  47. package/dist/src/health/readinessCheck.d.ts.map +1 -0
  48. package/dist/src/health/readinessCheck.js +266 -0
  49. package/dist/src/health/readinessCheck.js.map +1 -0
  50. package/dist/src/index.d.ts +10 -0
  51. package/dist/src/index.d.ts.map +1 -0
  52. package/dist/src/index.js +237 -0
  53. package/dist/src/index.js.map +1 -0
  54. package/dist/src/index.test.d.ts +2 -0
  55. package/dist/src/index.test.d.ts.map +1 -0
  56. package/dist/src/index.test.js +43 -0
  57. package/dist/src/index.test.js.map +1 -0
  58. package/dist/src/logger.d.ts +26 -0
  59. package/dist/src/logger.d.ts.map +1 -0
  60. package/dist/src/logger.js +179 -0
  61. package/dist/src/logger.js.map +1 -0
  62. package/dist/src/middleware/__tests__/csp.test.d.ts +2 -0
  63. package/dist/src/middleware/__tests__/csp.test.d.ts.map +1 -0
  64. package/dist/src/middleware/__tests__/csp.test.js +390 -0
  65. package/dist/src/middleware/__tests__/csp.test.js.map +1 -0
  66. package/dist/src/middleware/csp.d.ts +103 -0
  67. package/dist/src/middleware/csp.d.ts.map +1 -0
  68. package/dist/src/middleware/csp.js +273 -0
  69. package/dist/src/middleware/csp.js.map +1 -0
  70. package/dist/src/middleware/degradation.d.ts +105 -0
  71. package/dist/src/middleware/degradation.d.ts.map +1 -0
  72. package/dist/src/middleware/degradation.js +319 -0
  73. package/dist/src/middleware/degradation.js.map +1 -0
  74. package/dist/src/middleware/errorFormatter.d.ts +119 -0
  75. package/dist/src/middleware/errorFormatter.d.ts.map +1 -0
  76. package/dist/src/middleware/errorFormatter.js +294 -0
  77. package/dist/src/middleware/errorFormatter.js.map +1 -0
  78. package/dist/src/middleware/index.d.ts +11 -0
  79. package/dist/src/middleware/index.d.ts.map +1 -0
  80. package/dist/src/middleware/index.js +16 -0
  81. package/dist/src/middleware/index.js.map +1 -0
  82. package/dist/src/middleware/license.d.ts +169 -0
  83. package/dist/src/middleware/license.d.ts.map +1 -0
  84. package/dist/src/middleware/license.js +292 -0
  85. package/dist/src/middleware/license.js.map +1 -0
  86. package/dist/src/middleware/quota.d.ts +182 -0
  87. package/dist/src/middleware/quota.d.ts.map +1 -0
  88. package/dist/src/middleware/quota.js +309 -0
  89. package/dist/src/middleware/quota.js.map +1 -0
  90. package/dist/src/middleware/toolFeatureMapping.d.ts +36 -0
  91. package/dist/src/middleware/toolFeatureMapping.d.ts.map +1 -0
  92. package/dist/src/middleware/toolFeatureMapping.js +96 -0
  93. package/dist/src/middleware/toolFeatureMapping.js.map +1 -0
  94. package/dist/src/onboarding/first-run.d.ts +65 -0
  95. package/dist/src/onboarding/first-run.d.ts.map +1 -0
  96. package/dist/src/onboarding/first-run.js +79 -0
  97. package/dist/src/onboarding/first-run.js.map +1 -0
  98. package/dist/src/onboarding/index.d.ts +7 -0
  99. package/dist/src/onboarding/index.d.ts.map +1 -0
  100. package/dist/src/onboarding/index.js +7 -0
  101. package/dist/src/onboarding/index.js.map +1 -0
  102. package/dist/src/onboarding/install-assets.d.ts +27 -0
  103. package/dist/src/onboarding/install-assets.d.ts.map +1 -0
  104. package/dist/src/onboarding/install-assets.js +128 -0
  105. package/dist/src/onboarding/install-assets.js.map +1 -0
  106. package/dist/src/suggestions/index.d.ts +21 -0
  107. package/dist/src/suggestions/index.d.ts.map +1 -0
  108. package/dist/src/suggestions/index.js +20 -0
  109. package/dist/src/suggestions/index.js.map +1 -0
  110. package/dist/src/suggestions/suggestion-engine.d.ts +185 -0
  111. package/dist/src/suggestions/suggestion-engine.d.ts.map +1 -0
  112. package/dist/src/suggestions/suggestion-engine.js +352 -0
  113. package/dist/src/suggestions/suggestion-engine.js.map +1 -0
  114. package/dist/src/suggestions/types.d.ts +88 -0
  115. package/dist/src/suggestions/types.d.ts.map +1 -0
  116. package/dist/src/suggestions/types.js +21 -0
  117. package/dist/src/suggestions/types.js.map +1 -0
  118. package/dist/src/tools/analyze.d.ts +151 -0
  119. package/dist/src/tools/analyze.d.ts.map +1 -0
  120. package/dist/src/tools/analyze.js +205 -0
  121. package/dist/src/tools/analyze.js.map +1 -0
  122. package/dist/src/tools/compare.d.ts +149 -0
  123. package/dist/src/tools/compare.d.ts.map +1 -0
  124. package/dist/src/tools/compare.js +464 -0
  125. package/dist/src/tools/compare.js.map +1 -0
  126. package/dist/src/tools/get-skill.d.ts +107 -0
  127. package/dist/src/tools/get-skill.d.ts.map +1 -0
  128. package/dist/src/tools/get-skill.js +260 -0
  129. package/dist/src/tools/get-skill.js.map +1 -0
  130. package/dist/src/tools/index.d.ts +20 -0
  131. package/dist/src/tools/index.d.ts.map +1 -0
  132. package/dist/src/tools/index.js +20 -0
  133. package/dist/src/tools/index.js.map +1 -0
  134. package/dist/src/tools/install.d.ts +122 -0
  135. package/dist/src/tools/install.d.ts.map +1 -0
  136. package/dist/src/tools/install.js +469 -0
  137. package/dist/src/tools/install.js.map +1 -0
  138. package/dist/src/tools/recommend.d.ts +169 -0
  139. package/dist/src/tools/recommend.d.ts.map +1 -0
  140. package/dist/src/tools/recommend.js +357 -0
  141. package/dist/src/tools/recommend.js.map +1 -0
  142. package/dist/src/tools/search.d.ts +114 -0
  143. package/dist/src/tools/search.d.ts.map +1 -0
  144. package/dist/src/tools/search.js +251 -0
  145. package/dist/src/tools/search.js.map +1 -0
  146. package/dist/src/tools/suggest.d.ts +181 -0
  147. package/dist/src/tools/suggest.d.ts.map +1 -0
  148. package/dist/src/tools/suggest.js +310 -0
  149. package/dist/src/tools/suggest.js.map +1 -0
  150. package/dist/src/tools/uninstall.d.ts +123 -0
  151. package/dist/src/tools/uninstall.d.ts.map +1 -0
  152. package/dist/src/tools/uninstall.js +250 -0
  153. package/dist/src/tools/uninstall.js.map +1 -0
  154. package/dist/src/tools/validate.d.ts +122 -0
  155. package/dist/src/tools/validate.d.ts.map +1 -0
  156. package/dist/src/tools/validate.js +497 -0
  157. package/dist/src/tools/validate.js.map +1 -0
  158. package/dist/src/utils/installed-skills.d.ts +101 -0
  159. package/dist/src/utils/installed-skills.d.ts.map +1 -0
  160. package/dist/src/utils/installed-skills.js +220 -0
  161. package/dist/src/utils/installed-skills.js.map +1 -0
  162. package/dist/src/utils/validation.d.ts +95 -0
  163. package/dist/src/utils/validation.d.ts.map +1 -0
  164. package/dist/src/utils/validation.js +186 -0
  165. package/dist/src/utils/validation.js.map +1 -0
  166. package/dist/src/webhooks/index.d.ts +8 -0
  167. package/dist/src/webhooks/index.d.ts.map +1 -0
  168. package/dist/src/webhooks/index.js +9 -0
  169. package/dist/src/webhooks/index.js.map +1 -0
  170. package/dist/src/webhooks/webhook-endpoint.d.ts +149 -0
  171. package/dist/src/webhooks/webhook-endpoint.d.ts.map +1 -0
  172. package/dist/src/webhooks/webhook-endpoint.js +339 -0
  173. package/dist/src/webhooks/webhook-endpoint.js.map +1 -0
  174. package/dist/tests/compare.test.d.ts +6 -0
  175. package/dist/tests/compare.test.d.ts.map +1 -0
  176. package/dist/tests/compare.test.js +225 -0
  177. package/dist/tests/compare.test.js.map +1 -0
  178. package/dist/tests/context/project-detector.test.d.ts +6 -0
  179. package/dist/tests/context/project-detector.test.d.ts.map +1 -0
  180. package/dist/tests/context/project-detector.test.js +719 -0
  181. package/dist/tests/context/project-detector.test.js.map +1 -0
  182. package/dist/tests/e2e/compare.e2e.test.d.ts +10 -0
  183. package/dist/tests/e2e/compare.e2e.test.d.ts.map +1 -0
  184. package/dist/tests/e2e/compare.e2e.test.js +296 -0
  185. package/dist/tests/e2e/compare.e2e.test.js.map +1 -0
  186. package/dist/tests/e2e/install-flow.e2e.test.d.ts +10 -0
  187. package/dist/tests/e2e/install-flow.e2e.test.d.ts.map +1 -0
  188. package/dist/tests/e2e/install-flow.e2e.test.js +229 -0
  189. package/dist/tests/e2e/install-flow.e2e.test.js.map +1 -0
  190. package/dist/tests/e2e/recommend.e2e.test.d.ts +12 -0
  191. package/dist/tests/e2e/recommend.e2e.test.d.ts.map +1 -0
  192. package/dist/tests/e2e/recommend.e2e.test.js +357 -0
  193. package/dist/tests/e2e/recommend.e2e.test.js.map +1 -0
  194. package/dist/tests/e2e/skill-flow.e2e.test.d.ts +10 -0
  195. package/dist/tests/e2e/skill-flow.e2e.test.d.ts.map +1 -0
  196. package/dist/tests/e2e/skill-flow.e2e.test.js +311 -0
  197. package/dist/tests/e2e/skill-flow.e2e.test.js.map +1 -0
  198. package/dist/tests/e2e/suggest.e2e.test.d.ts +13 -0
  199. package/dist/tests/e2e/suggest.e2e.test.d.ts.map +1 -0
  200. package/dist/tests/e2e/suggest.e2e.test.js +367 -0
  201. package/dist/tests/e2e/suggest.e2e.test.js.map +1 -0
  202. package/dist/tests/e2e/utils/baseline-collector.d.ts +107 -0
  203. package/dist/tests/e2e/utils/baseline-collector.d.ts.map +1 -0
  204. package/dist/tests/e2e/utils/baseline-collector.js +211 -0
  205. package/dist/tests/e2e/utils/baseline-collector.js.map +1 -0
  206. package/dist/tests/e2e/utils/hardcoded-detector.d.ts +46 -0
  207. package/dist/tests/e2e/utils/hardcoded-detector.d.ts.map +1 -0
  208. package/dist/tests/e2e/utils/hardcoded-detector.js +255 -0
  209. package/dist/tests/e2e/utils/hardcoded-detector.js.map +1 -0
  210. package/dist/tests/e2e/utils/index.d.ts +7 -0
  211. package/dist/tests/e2e/utils/index.d.ts.map +1 -0
  212. package/dist/tests/e2e/utils/index.js +7 -0
  213. package/dist/tests/e2e/utils/index.js.map +1 -0
  214. package/dist/tests/e2e/utils/linear-reporter.d.ts +60 -0
  215. package/dist/tests/e2e/utils/linear-reporter.d.ts.map +1 -0
  216. package/dist/tests/e2e/utils/linear-reporter.js +232 -0
  217. package/dist/tests/e2e/utils/linear-reporter.js.map +1 -0
  218. package/dist/tests/health.test.d.ts +9 -0
  219. package/dist/tests/health.test.d.ts.map +1 -0
  220. package/dist/tests/health.test.js +308 -0
  221. package/dist/tests/health.test.js.map +1 -0
  222. package/dist/tests/integration/analyze.integration.test.d.ts +2 -0
  223. package/dist/tests/integration/analyze.integration.test.d.ts.map +1 -0
  224. package/dist/tests/integration/analyze.integration.test.js +244 -0
  225. package/dist/tests/integration/analyze.integration.test.js.map +1 -0
  226. package/dist/tests/integration/compare.integration.test.d.ts +2 -0
  227. package/dist/tests/integration/compare.integration.test.d.ts.map +1 -0
  228. package/dist/tests/integration/compare.integration.test.js +120 -0
  229. package/dist/tests/integration/compare.integration.test.js.map +1 -0
  230. package/dist/tests/integration/fixtures/test-skills.d.ts +62 -0
  231. package/dist/tests/integration/fixtures/test-skills.d.ts.map +1 -0
  232. package/dist/tests/integration/fixtures/test-skills.js +644 -0
  233. package/dist/tests/integration/fixtures/test-skills.js.map +1 -0
  234. package/dist/tests/integration/get-skill.integration.test.d.ts +6 -0
  235. package/dist/tests/integration/get-skill.integration.test.d.ts.map +1 -0
  236. package/dist/tests/integration/get-skill.integration.test.js +203 -0
  237. package/dist/tests/integration/get-skill.integration.test.js.map +1 -0
  238. package/dist/tests/integration/github-api.integration.test.d.ts +14 -0
  239. package/dist/tests/integration/github-api.integration.test.d.ts.map +1 -0
  240. package/dist/tests/integration/github-api.integration.test.js +190 -0
  241. package/dist/tests/integration/github-api.integration.test.js.map +1 -0
  242. package/dist/tests/integration/install.integration.test.d.ts +6 -0
  243. package/dist/tests/integration/install.integration.test.d.ts.map +1 -0
  244. package/dist/tests/integration/install.integration.test.js +407 -0
  245. package/dist/tests/integration/install.integration.test.js.map +1 -0
  246. package/dist/tests/integration/recommend.integration.test.d.ts +2 -0
  247. package/dist/tests/integration/recommend.integration.test.d.ts.map +1 -0
  248. package/dist/tests/integration/recommend.integration.test.js +217 -0
  249. package/dist/tests/integration/recommend.integration.test.js.map +1 -0
  250. package/dist/tests/integration/search.integration.test.d.ts +6 -0
  251. package/dist/tests/integration/search.integration.test.d.ts.map +1 -0
  252. package/dist/tests/integration/search.integration.test.js +229 -0
  253. package/dist/tests/integration/search.integration.test.js.map +1 -0
  254. package/dist/tests/integration/setup.d.ts +74 -0
  255. package/dist/tests/integration/setup.d.ts.map +1 -0
  256. package/dist/tests/integration/setup.js +131 -0
  257. package/dist/tests/integration/setup.js.map +1 -0
  258. package/dist/tests/integration/uninstall.integration.test.d.ts +6 -0
  259. package/dist/tests/integration/uninstall.integration.test.d.ts.map +1 -0
  260. package/dist/tests/integration/uninstall.integration.test.js +296 -0
  261. package/dist/tests/integration/uninstall.integration.test.js.map +1 -0
  262. package/dist/tests/integration/validate.integration.test.d.ts +2 -0
  263. package/dist/tests/integration/validate.integration.test.d.ts.map +1 -0
  264. package/dist/tests/integration/validate.integration.test.js +181 -0
  265. package/dist/tests/integration/validate.integration.test.js.map +1 -0
  266. package/dist/tests/onboarding/first-run.test.d.ts +7 -0
  267. package/dist/tests/onboarding/first-run.test.d.ts.map +1 -0
  268. package/dist/tests/onboarding/first-run.test.js +264 -0
  269. package/dist/tests/onboarding/first-run.test.js.map +1 -0
  270. package/dist/tests/performance/search-performance.test.d.ts +10 -0
  271. package/dist/tests/performance/search-performance.test.d.ts.map +1 -0
  272. package/dist/tests/performance/search-performance.test.js +222 -0
  273. package/dist/tests/performance/search-performance.test.js.map +1 -0
  274. package/dist/tests/recommend.test.d.ts +6 -0
  275. package/dist/tests/recommend.test.d.ts.map +1 -0
  276. package/dist/tests/recommend.test.js +210 -0
  277. package/dist/tests/recommend.test.js.map +1 -0
  278. package/dist/tests/suggestions/suggestion-engine.test.d.ts +6 -0
  279. package/dist/tests/suggestions/suggestion-engine.test.d.ts.map +1 -0
  280. package/dist/tests/suggestions/suggestion-engine.test.js +448 -0
  281. package/dist/tests/suggestions/suggestion-engine.test.js.map +1 -0
  282. package/dist/tests/test-utils.d.ts +74 -0
  283. package/dist/tests/test-utils.d.ts.map +1 -0
  284. package/dist/tests/test-utils.js +98 -0
  285. package/dist/tests/test-utils.js.map +1 -0
  286. package/dist/tests/tools.test.d.ts +5 -0
  287. package/dist/tests/tools.test.d.ts.map +1 -0
  288. package/dist/tests/tools.test.js +138 -0
  289. package/dist/tests/tools.test.js.map +1 -0
  290. package/dist/tests/unit/installed-skills.test.d.ts +6 -0
  291. package/dist/tests/unit/installed-skills.test.d.ts.map +1 -0
  292. package/dist/tests/unit/installed-skills.test.js +285 -0
  293. package/dist/tests/unit/installed-skills.test.js.map +1 -0
  294. package/dist/tests/unit/logger.test.d.ts +6 -0
  295. package/dist/tests/unit/logger.test.d.ts.map +1 -0
  296. package/dist/tests/unit/logger.test.js +281 -0
  297. package/dist/tests/unit/logger.test.js.map +1 -0
  298. package/dist/tests/validate.test.d.ts +5 -0
  299. package/dist/tests/validate.test.d.ts.map +1 -0
  300. package/dist/tests/validate.test.js +303 -0
  301. package/dist/tests/validate.test.js.map +1 -0
  302. package/dist/tests/webhooks/proxy-trust.security.test.d.ts +8 -0
  303. package/dist/tests/webhooks/proxy-trust.security.test.d.ts.map +1 -0
  304. package/dist/tests/webhooks/proxy-trust.security.test.js +145 -0
  305. package/dist/tests/webhooks/proxy-trust.security.test.js.map +1 -0
  306. package/dist/tests/webhooks/rate-limiter.security.test.d.ts +8 -0
  307. package/dist/tests/webhooks/rate-limiter.security.test.d.ts.map +1 -0
  308. package/dist/tests/webhooks/rate-limiter.security.test.js +122 -0
  309. package/dist/tests/webhooks/rate-limiter.security.test.js.map +1 -0
  310. package/dist/vitest.config.d.ts +6 -0
  311. package/dist/vitest.config.d.ts.map +1 -0
  312. package/dist/vitest.config.js +13 -0
  313. package/dist/vitest.config.js.map +1 -0
  314. package/package.json +1 -1
  315. package/src/assets/docs/USER_GUIDE.md +28 -0
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SMI-740: Health Check Module Exports
3
+ *
4
+ * Provides health and readiness check endpoints for the MCP server:
5
+ * - /health: Quick liveness check
6
+ * - /ready: Deep readiness check with dependency verification
7
+ */
8
+ // Health check exports
9
+ export { HealthCheck, getHealthCheck, createHealthCheck, checkHealth, formatHealthResponse, } from './healthCheck.js';
10
+ // Readiness check exports
11
+ export { ReadinessCheck, getReadinessCheck, createReadinessCheck, checkReadiness, configureReadinessCheck, formatReadinessResponse, } from './readinessCheck.js';
12
+ /**
13
+ * Perform both health and readiness checks
14
+ */
15
+ export async function checkAll() {
16
+ const { checkHealth } = await import('./healthCheck.js');
17
+ const { checkReadiness } = await import('./readinessCheck.js');
18
+ const [health, readiness] = await Promise.all([checkHealth(), checkReadiness()]);
19
+ return { health, readiness };
20
+ }
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/health/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,uBAAuB;AACvB,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,oBAAoB,GAGrB,MAAM,kBAAkB,CAAA;AAEzB,0BAA0B;AAC1B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,uBAAuB,GAIxB,MAAM,qBAAqB,CAAA;AAU5B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAE9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;IAEhF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * SMI-740: Readiness Check with Dependency Checks
3
+ *
4
+ * Provides a comprehensive readiness check that verifies:
5
+ * - Database connectivity
6
+ * - Cache status
7
+ * - External service availability
8
+ *
9
+ * Returns 503 if any critical dependency fails.
10
+ */
11
+ import type { Database as DatabaseType } from 'better-sqlite3';
12
+ /**
13
+ * Dependency check result
14
+ */
15
+ export interface DependencyCheck {
16
+ /** Dependency name */
17
+ name: string;
18
+ /** Check status */
19
+ status: 'ok' | 'degraded' | 'unhealthy';
20
+ /** Response time in ms */
21
+ responseTime?: number;
22
+ /** Error message if unhealthy */
23
+ error?: string;
24
+ /** Additional details */
25
+ details?: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * Readiness response
29
+ */
30
+ export interface ReadinessResponse {
31
+ /** Overall readiness status */
32
+ ready: boolean;
33
+ /** HTTP status code to return */
34
+ statusCode: number;
35
+ /** Timestamp of the check */
36
+ timestamp: string;
37
+ /** Individual dependency check results */
38
+ checks: DependencyCheck[];
39
+ /** Total check duration in ms */
40
+ totalDuration: number;
41
+ }
42
+ /**
43
+ * Readiness check configuration
44
+ */
45
+ export interface ReadinessCheckConfig {
46
+ /** Database instance for connectivity check */
47
+ database?: DatabaseType | null;
48
+ /** Cache check function */
49
+ cacheCheck?: () => Promise<boolean>;
50
+ /** Custom dependency checks */
51
+ customChecks?: Array<{
52
+ name: string;
53
+ check: () => Promise<{
54
+ ok: boolean;
55
+ details?: Record<string, unknown>;
56
+ }>;
57
+ critical?: boolean;
58
+ }>;
59
+ /** Timeout for each check in ms (default: 5000) */
60
+ checkTimeout?: number;
61
+ }
62
+ /**
63
+ * Readiness Check Handler
64
+ *
65
+ * Performs deep health checks including database connectivity,
66
+ * cache status, and other dependencies.
67
+ */
68
+ export declare class ReadinessCheck {
69
+ private database;
70
+ private cacheCheck;
71
+ private customChecks;
72
+ private checkTimeout;
73
+ constructor(config?: ReadinessCheckConfig);
74
+ /**
75
+ * Set the database instance
76
+ */
77
+ setDatabase(db: DatabaseType | null): void;
78
+ /**
79
+ * Set the cache check function
80
+ */
81
+ setCacheCheck(check: (() => Promise<boolean>) | null): void;
82
+ /**
83
+ * Add a custom dependency check
84
+ */
85
+ addCheck(name: string, check: () => Promise<{
86
+ ok: boolean;
87
+ details?: Record<string, unknown>;
88
+ }>, critical?: boolean): void;
89
+ /**
90
+ * Perform full readiness check
91
+ *
92
+ * Checks all dependencies and returns overall readiness status.
93
+ */
94
+ check(): Promise<ReadinessResponse>;
95
+ /**
96
+ * Check database connectivity
97
+ */
98
+ private checkDatabase;
99
+ /**
100
+ * Check cache status
101
+ */
102
+ private checkCache;
103
+ /**
104
+ * Run a custom check
105
+ */
106
+ private runCustomCheck;
107
+ /**
108
+ * Execute a function with timeout
109
+ */
110
+ private withTimeout;
111
+ /**
112
+ * Quick readiness check (boolean result)
113
+ */
114
+ isReady(): Promise<boolean>;
115
+ }
116
+ /**
117
+ * Get the default readiness check instance
118
+ */
119
+ export declare function getReadinessCheck(): ReadinessCheck;
120
+ /**
121
+ * Create a new readiness check instance with custom configuration
122
+ */
123
+ export declare function createReadinessCheck(config: ReadinessCheckConfig): ReadinessCheck;
124
+ /**
125
+ * Perform a quick readiness check using the default instance
126
+ */
127
+ export declare function checkReadiness(): Promise<ReadinessResponse>;
128
+ /**
129
+ * Configure the default readiness check
130
+ */
131
+ export declare function configureReadinessCheck(config: Partial<ReadinessCheckConfig>): void;
132
+ /**
133
+ * Format readiness response for HTTP
134
+ */
135
+ export declare function formatReadinessResponse(response: ReadinessResponse): {
136
+ statusCode: number;
137
+ body: ReadinessResponse;
138
+ };
139
+ //# sourceMappingURL=readinessCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readinessCheck.d.ts","sourceRoot":"","sources":["../../../src/health/readinessCheck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * SMI-740: Readiness Check with Dependency Checks
3
+ *
4
+ * Provides a comprehensive readiness check that verifies:
5
+ * - Database connectivity
6
+ * - Cache status
7
+ * - External service availability
8
+ *
9
+ * Returns 503 if any critical dependency fails.
10
+ */
11
+ /**
12
+ * Readiness Check Handler
13
+ *
14
+ * Performs deep health checks including database connectivity,
15
+ * cache status, and other dependencies.
16
+ */
17
+ export class ReadinessCheck {
18
+ database;
19
+ cacheCheck;
20
+ customChecks;
21
+ checkTimeout;
22
+ constructor(config = {}) {
23
+ this.database = config.database ?? null;
24
+ this.cacheCheck = config.cacheCheck ?? null;
25
+ this.customChecks = (config.customChecks ?? []).map((c) => ({
26
+ ...c,
27
+ critical: c.critical ?? true,
28
+ }));
29
+ this.checkTimeout = config.checkTimeout ?? 5000;
30
+ }
31
+ /**
32
+ * Set the database instance
33
+ */
34
+ setDatabase(db) {
35
+ this.database = db;
36
+ }
37
+ /**
38
+ * Set the cache check function
39
+ */
40
+ setCacheCheck(check) {
41
+ this.cacheCheck = check;
42
+ }
43
+ /**
44
+ * Add a custom dependency check
45
+ */
46
+ addCheck(name, check, critical = true) {
47
+ this.customChecks.push({ name, check, critical });
48
+ }
49
+ /**
50
+ * Perform full readiness check
51
+ *
52
+ * Checks all dependencies and returns overall readiness status.
53
+ */
54
+ async check() {
55
+ const startTime = performance.now();
56
+ const checks = [];
57
+ let allCriticalOk = true;
58
+ // Check database
59
+ const dbCheck = await this.checkDatabase();
60
+ checks.push(dbCheck);
61
+ if (dbCheck.status === 'unhealthy') {
62
+ allCriticalOk = false;
63
+ }
64
+ // Check cache
65
+ const cacheCheckResult = await this.checkCache();
66
+ checks.push(cacheCheckResult);
67
+ if (cacheCheckResult.status === 'unhealthy') {
68
+ allCriticalOk = false;
69
+ }
70
+ // Run custom checks
71
+ for (const customCheck of this.customChecks) {
72
+ const result = await this.runCustomCheck(customCheck);
73
+ checks.push(result);
74
+ if (result.status === 'unhealthy' && customCheck.critical) {
75
+ allCriticalOk = false;
76
+ }
77
+ }
78
+ const totalDuration = performance.now() - startTime;
79
+ return {
80
+ ready: allCriticalOk,
81
+ statusCode: allCriticalOk ? 200 : 503,
82
+ timestamp: new Date().toISOString(),
83
+ checks,
84
+ totalDuration: Math.round(totalDuration * 100) / 100,
85
+ };
86
+ }
87
+ /**
88
+ * Check database connectivity
89
+ */
90
+ async checkDatabase() {
91
+ const startTime = performance.now();
92
+ if (!this.database) {
93
+ return {
94
+ name: 'database',
95
+ status: 'degraded',
96
+ details: { reason: 'Database not configured' },
97
+ };
98
+ }
99
+ try {
100
+ // Perform a simple query to check connectivity
101
+ const result = await this.withTimeout(async () => {
102
+ // Use a simple query that should always work
103
+ const stmt = this.database.prepare('SELECT 1 as health_check');
104
+ return stmt.get();
105
+ }, this.checkTimeout);
106
+ const responseTime = performance.now() - startTime;
107
+ if (result) {
108
+ return {
109
+ name: 'database',
110
+ status: 'ok',
111
+ responseTime: Math.round(responseTime * 100) / 100,
112
+ details: { type: 'sqlite' },
113
+ };
114
+ }
115
+ else {
116
+ return {
117
+ name: 'database',
118
+ status: 'unhealthy',
119
+ responseTime: Math.round(responseTime * 100) / 100,
120
+ error: 'Query returned no result',
121
+ };
122
+ }
123
+ }
124
+ catch (error) {
125
+ const responseTime = performance.now() - startTime;
126
+ return {
127
+ name: 'database',
128
+ status: 'unhealthy',
129
+ responseTime: Math.round(responseTime * 100) / 100,
130
+ error: error instanceof Error ? error.message : 'Unknown error',
131
+ };
132
+ }
133
+ }
134
+ /**
135
+ * Check cache status
136
+ */
137
+ async checkCache() {
138
+ const startTime = performance.now();
139
+ if (!this.cacheCheck) {
140
+ return {
141
+ name: 'cache',
142
+ status: 'ok',
143
+ details: { reason: 'Cache check not configured, assuming healthy' },
144
+ };
145
+ }
146
+ try {
147
+ const result = await this.withTimeout(this.cacheCheck, this.checkTimeout);
148
+ const responseTime = performance.now() - startTime;
149
+ return {
150
+ name: 'cache',
151
+ status: result ? 'ok' : 'unhealthy',
152
+ responseTime: Math.round(responseTime * 100) / 100,
153
+ };
154
+ }
155
+ catch (error) {
156
+ const responseTime = performance.now() - startTime;
157
+ return {
158
+ name: 'cache',
159
+ status: 'unhealthy',
160
+ responseTime: Math.round(responseTime * 100) / 100,
161
+ error: error instanceof Error ? error.message : 'Unknown error',
162
+ };
163
+ }
164
+ }
165
+ /**
166
+ * Run a custom check
167
+ */
168
+ async runCustomCheck(customCheck) {
169
+ const startTime = performance.now();
170
+ try {
171
+ const result = await this.withTimeout(customCheck.check, this.checkTimeout);
172
+ const responseTime = performance.now() - startTime;
173
+ return {
174
+ name: customCheck.name,
175
+ status: result.ok ? 'ok' : 'unhealthy',
176
+ responseTime: Math.round(responseTime * 100) / 100,
177
+ details: result.details,
178
+ };
179
+ }
180
+ catch (error) {
181
+ const responseTime = performance.now() - startTime;
182
+ return {
183
+ name: customCheck.name,
184
+ status: 'unhealthy',
185
+ responseTime: Math.round(responseTime * 100) / 100,
186
+ error: error instanceof Error ? error.message : 'Unknown error',
187
+ };
188
+ }
189
+ }
190
+ /**
191
+ * Execute a function with timeout
192
+ */
193
+ async withTimeout(fn, timeoutMs) {
194
+ return new Promise((resolve, reject) => {
195
+ const timer = setTimeout(() => {
196
+ reject(new Error(`Check timed out after ${timeoutMs}ms`));
197
+ }, timeoutMs);
198
+ fn()
199
+ .then((result) => {
200
+ clearTimeout(timer);
201
+ resolve(result);
202
+ })
203
+ .catch((error) => {
204
+ clearTimeout(timer);
205
+ reject(error);
206
+ });
207
+ });
208
+ }
209
+ /**
210
+ * Quick readiness check (boolean result)
211
+ */
212
+ async isReady() {
213
+ const result = await this.check();
214
+ return result.ready;
215
+ }
216
+ }
217
+ // Default readiness check instance
218
+ let defaultReadinessCheck = null;
219
+ /**
220
+ * Get the default readiness check instance
221
+ */
222
+ export function getReadinessCheck() {
223
+ if (!defaultReadinessCheck) {
224
+ defaultReadinessCheck = new ReadinessCheck();
225
+ }
226
+ return defaultReadinessCheck;
227
+ }
228
+ /**
229
+ * Create a new readiness check instance with custom configuration
230
+ */
231
+ export function createReadinessCheck(config) {
232
+ return new ReadinessCheck(config);
233
+ }
234
+ /**
235
+ * Perform a quick readiness check using the default instance
236
+ */
237
+ export async function checkReadiness() {
238
+ return getReadinessCheck().check();
239
+ }
240
+ /**
241
+ * Configure the default readiness check
242
+ */
243
+ export function configureReadinessCheck(config) {
244
+ const check = getReadinessCheck();
245
+ if (config.database !== undefined) {
246
+ check.setDatabase(config.database);
247
+ }
248
+ if (config.cacheCheck !== undefined) {
249
+ check.setCacheCheck(config.cacheCheck);
250
+ }
251
+ if (config.customChecks) {
252
+ for (const custom of config.customChecks) {
253
+ check.addCheck(custom.name, custom.check, custom.critical);
254
+ }
255
+ }
256
+ }
257
+ /**
258
+ * Format readiness response for HTTP
259
+ */
260
+ export function formatReadinessResponse(response) {
261
+ return {
262
+ statusCode: response.statusCode,
263
+ body: response,
264
+ };
265
+ }
266
+ //# sourceMappingURL=readinessCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readinessCheck.js","sourceRoot":"","sources":["../../../src/health/readinessCheck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Skillsmith MCP Server
4
+ * Provides skill discovery, installation, and management tools
5
+ *
6
+ * @see SMI-792: Database initialization with tool context
7
+ * @see SMI-XXXX: First-run integration and documentation delivery
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}