@shrkcrft/mcp-server 0.1.0-alpha.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 (501) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/index.d.ts +8 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +6 -0
  6. package/dist/main.d.ts +3 -0
  7. package/dist/main.d.ts.map +1 -0
  8. package/dist/main.js +43 -0
  9. package/dist/resources/build-resource-list.d.ts +14 -0
  10. package/dist/resources/build-resource-list.d.ts.map +1 -0
  11. package/dist/resources/build-resource-list.js +56 -0
  12. package/dist/resources/index.d.ts +4 -0
  13. package/dist/resources/index.d.ts.map +1 -0
  14. package/dist/resources/index.js +3 -0
  15. package/dist/resources/read-resource.d.ts +16 -0
  16. package/dist/resources/read-resource.d.ts.map +1 -0
  17. package/dist/resources/read-resource.js +97 -0
  18. package/dist/resources/resource-uris.d.ts +14 -0
  19. package/dist/resources/resource-uris.d.ts.map +1 -0
  20. package/dist/resources/resource-uris.js +38 -0
  21. package/dist/server/create-mcp-server.d.ts +55 -0
  22. package/dist/server/create-mcp-server.d.ts.map +1 -0
  23. package/dist/server/create-mcp-server.js +209 -0
  24. package/dist/server/http-transport.d.ts +29 -0
  25. package/dist/server/http-transport.d.ts.map +1 -0
  26. package/dist/server/http-transport.js +75 -0
  27. package/dist/server/mcp-server-config.d.ts +10 -0
  28. package/dist/server/mcp-server-config.d.ts.map +1 -0
  29. package/dist/server/mcp-server-config.js +3 -0
  30. package/dist/server/sharkcraft-watcher.d.ts +18 -0
  31. package/dist/server/sharkcraft-watcher.d.ts.map +1 -0
  32. package/dist/server/sharkcraft-watcher.js +60 -0
  33. package/dist/server/tool-definition.d.ts +56 -0
  34. package/dist/server/tool-definition.d.ts.map +1 -0
  35. package/dist/server/tool-definition.js +1 -0
  36. package/dist/server/tool-input-validators.d.ts +18 -0
  37. package/dist/server/tool-input-validators.d.ts.map +1 -0
  38. package/dist/server/tool-input-validators.js +115 -0
  39. package/dist/tools/acceptance-replay.tool.d.ts +3 -0
  40. package/dist/tools/acceptance-replay.tool.d.ts.map +1 -0
  41. package/dist/tools/acceptance-replay.tool.js +53 -0
  42. package/dist/tools/adoption-checkpoint.tool.d.ts +3 -0
  43. package/dist/tools/adoption-checkpoint.tool.d.ts.map +1 -0
  44. package/dist/tools/adoption-checkpoint.tool.js +49 -0
  45. package/dist/tools/agent-brief-chunks.tool.d.ts +6 -0
  46. package/dist/tools/agent-brief-chunks.tool.d.ts.map +1 -0
  47. package/dist/tools/agent-brief-chunks.tool.js +326 -0
  48. package/dist/tools/agent-brief.tool.d.ts +3 -0
  49. package/dist/tools/agent-brief.tool.d.ts.map +1 -0
  50. package/dist/tools/agent-brief.tool.js +44 -0
  51. package/dist/tools/all-tools.d.ts +3 -0
  52. package/dist/tools/all-tools.d.ts.map +1 -0
  53. package/dist/tools/all-tools.js +403 -0
  54. package/dist/tools/architecture-map.tool.d.ts +3 -0
  55. package/dist/tools/architecture-map.tool.d.ts.map +1 -0
  56. package/dist/tools/architecture-map.tool.js +22 -0
  57. package/dist/tools/area-explore.tool.d.ts +3 -0
  58. package/dist/tools/area-explore.tool.d.ts.map +1 -0
  59. package/dist/tools/area-explore.tool.js +32 -0
  60. package/dist/tools/area-map.tool.d.ts +3 -0
  61. package/dist/tools/area-map.tool.d.ts.map +1 -0
  62. package/dist/tools/area-map.tool.js +9 -0
  63. package/dist/tools/bundle-diff.tool.d.ts +3 -0
  64. package/dist/tools/bundle-diff.tool.d.ts.map +1 -0
  65. package/dist/tools/bundle-diff.tool.js +37 -0
  66. package/dist/tools/bundle-replay.tool.d.ts +3 -0
  67. package/dist/tools/bundle-replay.tool.d.ts.map +1 -0
  68. package/dist/tools/bundle-replay.tool.js +19 -0
  69. package/dist/tools/change-intent.tool.d.ts +3 -0
  70. package/dist/tools/change-intent.tool.d.ts.map +1 -0
  71. package/dist/tools/change-intent.tool.js +18 -0
  72. package/dist/tools/check-boundaries.tool.d.ts +3 -0
  73. package/dist/tools/check-boundaries.tool.d.ts.map +1 -0
  74. package/dist/tools/check-boundaries.tool.js +37 -0
  75. package/dist/tools/ci-permissions-fix.tool.d.ts +3 -0
  76. package/dist/tools/ci-permissions-fix.tool.d.ts.map +1 -0
  77. package/dist/tools/ci-permissions-fix.tool.js +32 -0
  78. package/dist/tools/ci-permissions.tool.d.ts +3 -0
  79. package/dist/tools/ci-permissions.tool.d.ts.map +1 -0
  80. package/dist/tools/ci-permissions.tool.js +26 -0
  81. package/dist/tools/ci-scaffold-preview.tool.d.ts +3 -0
  82. package/dist/tools/ci-scaffold-preview.tool.d.ts.map +1 -0
  83. package/dist/tools/ci-scaffold-preview.tool.js +63 -0
  84. package/dist/tools/command-catalog.tool.d.ts +27 -0
  85. package/dist/tools/command-catalog.tool.d.ts.map +1 -0
  86. package/dist/tools/command-catalog.tool.js +147 -0
  87. package/dist/tools/construct-adoption-diff.tool.d.ts +3 -0
  88. package/dist/tools/construct-adoption-diff.tool.d.ts.map +1 -0
  89. package/dist/tools/construct-adoption-diff.tool.js +26 -0
  90. package/dist/tools/construct-adoption.tool.d.ts +4 -0
  91. package/dist/tools/construct-adoption.tool.d.ts.map +1 -0
  92. package/dist/tools/construct-adoption.tool.js +37 -0
  93. package/dist/tools/construct-inference.tool.d.ts +3 -0
  94. package/dist/tools/construct-inference.tool.d.ts.map +1 -0
  95. package/dist/tools/construct-inference.tool.js +26 -0
  96. package/dist/tools/constructs.tool.d.ts +7 -0
  97. package/dist/tools/constructs.tool.d.ts.map +1 -0
  98. package/dist/tools/constructs.tool.js +79 -0
  99. package/dist/tools/create-generation-plan.tool.d.ts +3 -0
  100. package/dist/tools/create-generation-plan.tool.d.ts.map +1 -0
  101. package/dist/tools/create-generation-plan.tool.js +48 -0
  102. package/dist/tools/create-pipeline-plan.tool.d.ts +3 -0
  103. package/dist/tools/create-pipeline-plan.tool.d.ts.map +1 -0
  104. package/dist/tools/create-pipeline-plan.tool.js +41 -0
  105. package/dist/tools/dashboard-summary.tool.d.ts +3 -0
  106. package/dist/tools/dashboard-summary.tool.d.ts.map +1 -0
  107. package/dist/tools/dashboard-summary.tool.js +182 -0
  108. package/dist/tools/dev-session.tool.d.ts +14 -0
  109. package/dist/tools/dev-session.tool.d.ts.map +1 -0
  110. package/dist/tools/dev-session.tool.js +167 -0
  111. package/dist/tools/diagnostics.tool.d.ts +4 -0
  112. package/dist/tools/diagnostics.tool.d.ts.map +1 -0
  113. package/dist/tools/diagnostics.tool.js +40 -0
  114. package/dist/tools/docs-check.tool.d.ts +4 -0
  115. package/dist/tools/docs-check.tool.d.ts.map +1 -0
  116. package/dist/tools/docs-check.tool.js +17 -0
  117. package/dist/tools/doctor-packs.tool.d.ts +3 -0
  118. package/dist/tools/doctor-packs.tool.d.ts.map +1 -0
  119. package/dist/tools/doctor-packs.tool.js +30 -0
  120. package/dist/tools/explain-generation-target.tool.d.ts +3 -0
  121. package/dist/tools/explain-generation-target.tool.d.ts.map +1 -0
  122. package/dist/tools/explain-generation-target.tool.js +49 -0
  123. package/dist/tools/feature-bundle.tool.d.ts +4 -0
  124. package/dist/tools/feature-bundle.tool.d.ts.map +1 -0
  125. package/dist/tools/feature-bundle.tool.js +36 -0
  126. package/dist/tools/get-action-hints.tool.d.ts +3 -0
  127. package/dist/tools/get-action-hints.tool.d.ts.map +1 -0
  128. package/dist/tools/get-action-hints.tool.js +43 -0
  129. package/dist/tools/get-agent-instructions.tool.d.ts +3 -0
  130. package/dist/tools/get-agent-instructions.tool.d.ts.map +1 -0
  131. package/dist/tools/get-agent-instructions.tool.js +9 -0
  132. package/dist/tools/get-ai-readiness-report.tool.d.ts +3 -0
  133. package/dist/tools/get-ai-readiness-report.tool.d.ts.map +1 -0
  134. package/dist/tools/get-ai-readiness-report.tool.js +10 -0
  135. package/dist/tools/get-architecture-constraints.tool.d.ts +3 -0
  136. package/dist/tools/get-architecture-constraints.tool.d.ts.map +1 -0
  137. package/dist/tools/get-architecture-constraints.tool.js +20 -0
  138. package/dist/tools/get-boundary-rule.tool.d.ts +3 -0
  139. package/dist/tools/get-boundary-rule.tool.d.ts.map +1 -0
  140. package/dist/tools/get-boundary-rule.tool.js +22 -0
  141. package/dist/tools/get-coverage-report.tool.d.ts +3 -0
  142. package/dist/tools/get-coverage-report.tool.d.ts.map +1 -0
  143. package/dist/tools/get-coverage-report.tool.js +9 -0
  144. package/dist/tools/get-current-tasks.tool.d.ts +3 -0
  145. package/dist/tools/get-current-tasks.tool.d.ts.map +1 -0
  146. package/dist/tools/get-current-tasks.tool.js +19 -0
  147. package/dist/tools/get-drift-report.tool.d.ts +3 -0
  148. package/dist/tools/get-drift-report.tool.d.ts.map +1 -0
  149. package/dist/tools/get-drift-report.tool.js +16 -0
  150. package/dist/tools/get-graph-node.tool.d.ts +3 -0
  151. package/dist/tools/get-graph-node.tool.d.ts.map +1 -0
  152. package/dist/tools/get-graph-node.tool.js +23 -0
  153. package/dist/tools/get-import-graph-summary.tool.d.ts +3 -0
  154. package/dist/tools/get-import-graph-summary.tool.d.ts.map +1 -0
  155. package/dist/tools/get-import-graph-summary.tool.js +10 -0
  156. package/dist/tools/get-knowledge-graph.tool.d.ts +3 -0
  157. package/dist/tools/get-knowledge-graph.tool.d.ts.map +1 -0
  158. package/dist/tools/get-knowledge-graph.tool.js +10 -0
  159. package/dist/tools/get-knowledge.tool.d.ts +3 -0
  160. package/dist/tools/get-knowledge.tool.d.ts.map +1 -0
  161. package/dist/tools/get-knowledge.tool.js +18 -0
  162. package/dist/tools/get-pack.tool.d.ts +3 -0
  163. package/dist/tools/get-pack.tool.d.ts.map +1 -0
  164. package/dist/tools/get-pack.tool.js +33 -0
  165. package/dist/tools/get-path-convention.tool.d.ts +3 -0
  166. package/dist/tools/get-path-convention.tool.d.ts.map +1 -0
  167. package/dist/tools/get-path-convention.tool.js +17 -0
  168. package/dist/tools/get-pipeline-context.tool.d.ts +3 -0
  169. package/dist/tools/get-pipeline-context.tool.d.ts.map +1 -0
  170. package/dist/tools/get-pipeline-context.tool.js +48 -0
  171. package/dist/tools/get-pipeline.tool.d.ts +3 -0
  172. package/dist/tools/get-pipeline.tool.d.ts.map +1 -0
  173. package/dist/tools/get-pipeline.tool.js +17 -0
  174. package/dist/tools/get-preset.tool.d.ts +3 -0
  175. package/dist/tools/get-preset.tool.d.ts.map +1 -0
  176. package/dist/tools/get-preset.tool.js +22 -0
  177. package/dist/tools/get-project-overview.tool.d.ts +3 -0
  178. package/dist/tools/get-project-overview.tool.d.ts.map +1 -0
  179. package/dist/tools/get-project-overview.tool.js +10 -0
  180. package/dist/tools/get-relevant-context.tool.d.ts +3 -0
  181. package/dist/tools/get-relevant-context.tool.d.ts.map +1 -0
  182. package/dist/tools/get-relevant-context.tool.js +55 -0
  183. package/dist/tools/get-relevant-rules.tool.d.ts +3 -0
  184. package/dist/tools/get-relevant-rules.tool.d.ts.map +1 -0
  185. package/dist/tools/get-relevant-rules.tool.js +37 -0
  186. package/dist/tools/get-repository-commands.tool.d.ts +3 -0
  187. package/dist/tools/get-repository-commands.tool.d.ts.map +1 -0
  188. package/dist/tools/get-repository-commands.tool.js +22 -0
  189. package/dist/tools/get-review-packet.tool.d.ts +3 -0
  190. package/dist/tools/get-review-packet.tool.d.ts.map +1 -0
  191. package/dist/tools/get-review-packet.tool.js +26 -0
  192. package/dist/tools/get-rule.tool.d.ts +3 -0
  193. package/dist/tools/get-rule.tool.d.ts.map +1 -0
  194. package/dist/tools/get-rule.tool.js +18 -0
  195. package/dist/tools/get-security-guidelines.tool.d.ts +3 -0
  196. package/dist/tools/get-security-guidelines.tool.d.ts.map +1 -0
  197. package/dist/tools/get-security-guidelines.tool.js +23 -0
  198. package/dist/tools/get-sessions.tool.d.ts +4 -0
  199. package/dist/tools/get-sessions.tool.d.ts.map +1 -0
  200. package/dist/tools/get-sessions.tool.js +41 -0
  201. package/dist/tools/get-task-packet.tool.d.ts +3 -0
  202. package/dist/tools/get-task-packet.tool.d.ts.map +1 -0
  203. package/dist/tools/get-task-packet.tool.js +48 -0
  204. package/dist/tools/get-template.tool.d.ts +3 -0
  205. package/dist/tools/get-template.tool.d.ts.map +1 -0
  206. package/dist/tools/get-template.tool.js +29 -0
  207. package/dist/tools/get-testing-guidelines.tool.d.ts +3 -0
  208. package/dist/tools/get-testing-guidelines.tool.d.ts.map +1 -0
  209. package/dist/tools/get-testing-guidelines.tool.js +22 -0
  210. package/dist/tools/graph-why.tool.d.ts +3 -0
  211. package/dist/tools/graph-why.tool.d.ts.map +1 -0
  212. package/dist/tools/graph-why.tool.js +25 -0
  213. package/dist/tools/impact-analysis.tool.d.ts +3 -0
  214. package/dist/tools/impact-analysis.tool.d.ts.map +1 -0
  215. package/dist/tools/impact-analysis.tool.js +43 -0
  216. package/dist/tools/import-graph-analysis.tool.d.ts +3 -0
  217. package/dist/tools/import-graph-analysis.tool.d.ts.map +1 -0
  218. package/dist/tools/import-graph-analysis.tool.js +9 -0
  219. package/dist/tools/index.d.ts +10 -0
  220. package/dist/tools/index.d.ts.map +1 -0
  221. package/dist/tools/index.js +9 -0
  222. package/dist/tools/inspect-packs.tool.d.ts +3 -0
  223. package/dist/tools/inspect-packs.tool.d.ts.map +1 -0
  224. package/dist/tools/inspect-packs.tool.js +31 -0
  225. package/dist/tools/inspect-sharkcraft-setup.tool.d.ts +3 -0
  226. package/dist/tools/inspect-sharkcraft-setup.tool.d.ts.map +1 -0
  227. package/dist/tools/inspect-sharkcraft-setup.tool.js +10 -0
  228. package/dist/tools/inspect-workspace.tool.d.ts +3 -0
  229. package/dist/tools/inspect-workspace.tool.d.ts.map +1 -0
  230. package/dist/tools/inspect-workspace.tool.js +23 -0
  231. package/dist/tools/install-smoke.tool.d.ts +3 -0
  232. package/dist/tools/install-smoke.tool.d.ts.map +1 -0
  233. package/dist/tools/install-smoke.tool.js +15 -0
  234. package/dist/tools/list-boundary-rules.tool.d.ts +3 -0
  235. package/dist/tools/list-boundary-rules.tool.d.ts.map +1 -0
  236. package/dist/tools/list-boundary-rules.tool.js +20 -0
  237. package/dist/tools/list-knowledge.tool.d.ts +3 -0
  238. package/dist/tools/list-knowledge.tool.d.ts.map +1 -0
  239. package/dist/tools/list-knowledge.tool.js +46 -0
  240. package/dist/tools/list-packs.tool.d.ts +3 -0
  241. package/dist/tools/list-packs.tool.d.ts.map +1 -0
  242. package/dist/tools/list-packs.tool.js +19 -0
  243. package/dist/tools/list-path-conventions.tool.d.ts +3 -0
  244. package/dist/tools/list-path-conventions.tool.d.ts.map +1 -0
  245. package/dist/tools/list-path-conventions.tool.js +20 -0
  246. package/dist/tools/list-pipelines.tool.d.ts +3 -0
  247. package/dist/tools/list-pipelines.tool.d.ts.map +1 -0
  248. package/dist/tools/list-pipelines.tool.js +19 -0
  249. package/dist/tools/list-presets.tool.d.ts +3 -0
  250. package/dist/tools/list-presets.tool.d.ts.map +1 -0
  251. package/dist/tools/list-presets.tool.js +26 -0
  252. package/dist/tools/list-rules.tool.d.ts +3 -0
  253. package/dist/tools/list-rules.tool.d.ts.map +1 -0
  254. package/dist/tools/list-rules.tool.js +19 -0
  255. package/dist/tools/list-templates.tool.d.ts +3 -0
  256. package/dist/tools/list-templates.tool.d.ts.map +1 -0
  257. package/dist/tools/list-templates.tool.js +19 -0
  258. package/dist/tools/onboard-adoption-diff.tool.d.ts +3 -0
  259. package/dist/tools/onboard-adoption-diff.tool.d.ts.map +1 -0
  260. package/dist/tools/onboard-adoption-diff.tool.js +29 -0
  261. package/dist/tools/onboarding.tool.d.ts +7 -0
  262. package/dist/tools/onboarding.tool.d.ts.map +1 -0
  263. package/dist/tools/onboarding.tool.js +253 -0
  264. package/dist/tools/orchestration.tool.d.ts +4 -0
  265. package/dist/tools/orchestration.tool.d.ts.map +1 -0
  266. package/dist/tools/orchestration.tool.js +57 -0
  267. package/dist/tools/ownership.tool.d.ts +4 -0
  268. package/dist/tools/ownership.tool.d.ts.map +1 -0
  269. package/dist/tools/ownership.tool.js +31 -0
  270. package/dist/tools/pack-compat.tool.d.ts +3 -0
  271. package/dist/tools/pack-compat.tool.d.ts.map +1 -0
  272. package/dist/tools/pack-compat.tool.js +27 -0
  273. package/dist/tools/pack-doctor-release.tool.d.ts +3 -0
  274. package/dist/tools/pack-doctor-release.tool.d.ts.map +1 -0
  275. package/dist/tools/pack-doctor-release.tool.js +21 -0
  276. package/dist/tools/pack-release-check.tool.d.ts +3 -0
  277. package/dist/tools/pack-release-check.tool.d.ts.map +1 -0
  278. package/dist/tools/pack-release-check.tool.js +17 -0
  279. package/dist/tools/playbook-script.tool.d.ts +3 -0
  280. package/dist/tools/playbook-script.tool.d.ts.map +1 -0
  281. package/dist/tools/playbook-script.tool.js +25 -0
  282. package/dist/tools/playbooks.tool.d.ts +5 -0
  283. package/dist/tools/playbooks.tool.d.ts.map +1 -0
  284. package/dist/tools/playbooks.tool.js +43 -0
  285. package/dist/tools/policy-report.tool.d.ts +3 -0
  286. package/dist/tools/policy-report.tool.d.ts.map +1 -0
  287. package/dist/tools/policy-report.tool.js +10 -0
  288. package/dist/tools/preview-knowledge-propose.tool.d.ts +3 -0
  289. package/dist/tools/preview-knowledge-propose.tool.d.ts.map +1 -0
  290. package/dist/tools/preview-knowledge-propose.tool.js +44 -0
  291. package/dist/tools/preview-preset-application.tool.d.ts +3 -0
  292. package/dist/tools/preview-preset-application.tool.d.ts.map +1 -0
  293. package/dist/tools/preview-preset-application.tool.js +64 -0
  294. package/dist/tools/quality-baseline-diff.tool.d.ts +3 -0
  295. package/dist/tools/quality-baseline-diff.tool.d.ts.map +1 -0
  296. package/dist/tools/quality-baseline-diff.tool.js +18 -0
  297. package/dist/tools/quality-baseline.tool.d.ts +3 -0
  298. package/dist/tools/quality-baseline.tool.d.ts.map +1 -0
  299. package/dist/tools/quality-baseline.tool.js +22 -0
  300. package/dist/tools/quality-report.tool.d.ts +3 -0
  301. package/dist/tools/quality-report.tool.d.ts.map +1 -0
  302. package/dist/tools/quality-report.tool.js +62 -0
  303. package/dist/tools/r18-extras.tool.d.ts +15 -0
  304. package/dist/tools/r18-extras.tool.d.ts.map +1 -0
  305. package/dist/tools/r18-extras.tool.js +209 -0
  306. package/dist/tools/r19-extras.tool.d.ts +10 -0
  307. package/dist/tools/r19-extras.tool.d.ts.map +1 -0
  308. package/dist/tools/r19-extras.tool.js +117 -0
  309. package/dist/tools/r20-extras.tool.d.ts +4 -0
  310. package/dist/tools/r20-extras.tool.d.ts.map +1 -0
  311. package/dist/tools/r20-extras.tool.js +65 -0
  312. package/dist/tools/r22-extras.tool.d.ts +4 -0
  313. package/dist/tools/r22-extras.tool.d.ts.map +1 -0
  314. package/dist/tools/r22-extras.tool.js +42 -0
  315. package/dist/tools/r23-extras.tool.d.ts +10 -0
  316. package/dist/tools/r23-extras.tool.d.ts.map +1 -0
  317. package/dist/tools/r23-extras.tool.js +239 -0
  318. package/dist/tools/r24-extras.tool.d.ts +9 -0
  319. package/dist/tools/r24-extras.tool.d.ts.map +1 -0
  320. package/dist/tools/r24-extras.tool.js +144 -0
  321. package/dist/tools/r25-extras.tool.d.ts +11 -0
  322. package/dist/tools/r25-extras.tool.d.ts.map +1 -0
  323. package/dist/tools/r25-extras.tool.js +186 -0
  324. package/dist/tools/r26-ingest.tool.d.ts +10 -0
  325. package/dist/tools/r26-ingest.tool.d.ts.map +1 -0
  326. package/dist/tools/r26-ingest.tool.js +174 -0
  327. package/dist/tools/r26-task-context.tool.d.ts +5 -0
  328. package/dist/tools/r26-task-context.tool.d.ts.map +1 -0
  329. package/dist/tools/r26-task-context.tool.js +121 -0
  330. package/dist/tools/r27-polyglot.tool.d.ts +7 -0
  331. package/dist/tools/r27-polyglot.tool.d.ts.map +1 -0
  332. package/dist/tools/r27-polyglot.tool.js +139 -0
  333. package/dist/tools/r28-changed-boundary.tool.d.ts +3 -0
  334. package/dist/tools/r28-changed-boundary.tool.d.ts.map +1 -0
  335. package/dist/tools/r28-changed-boundary.tool.js +77 -0
  336. package/dist/tools/r28-helpers.tool.d.ts +5 -0
  337. package/dist/tools/r28-helpers.tool.d.ts.map +1 -0
  338. package/dist/tools/r28-helpers.tool.js +72 -0
  339. package/dist/tools/r28-pack-author.tool.d.ts +4 -0
  340. package/dist/tools/r28-pack-author.tool.d.ts.map +1 -0
  341. package/dist/tools/r28-pack-author.tool.js +67 -0
  342. package/dist/tools/r28-plugin-lifecycle.tool.d.ts +4 -0
  343. package/dist/tools/r28-plugin-lifecycle.tool.d.ts.map +1 -0
  344. package/dist/tools/r28-plugin-lifecycle.tool.js +94 -0
  345. package/dist/tools/r28-registry-lifecycle.tool.d.ts +3 -0
  346. package/dist/tools/r28-registry-lifecycle.tool.d.ts.map +1 -0
  347. package/dist/tools/r28-registry-lifecycle.tool.js +29 -0
  348. package/dist/tools/r28-runner-policy.tool.d.ts +3 -0
  349. package/dist/tools/r28-runner-policy.tool.d.ts.map +1 -0
  350. package/dist/tools/r28-runner-policy.tool.js +16 -0
  351. package/dist/tools/r29-doctor-suppressions.tool.d.ts +4 -0
  352. package/dist/tools/r29-doctor-suppressions.tool.d.ts.map +1 -0
  353. package/dist/tools/r29-doctor-suppressions.tool.js +66 -0
  354. package/dist/tools/r29-feedback.tool.d.ts +3 -0
  355. package/dist/tools/r29-feedback.tool.d.ts.map +1 -0
  356. package/dist/tools/r29-feedback.tool.js +26 -0
  357. package/dist/tools/r29-knowledge-rename.tool.d.ts +3 -0
  358. package/dist/tools/r29-knowledge-rename.tool.d.ts.map +1 -0
  359. package/dist/tools/r29-knowledge-rename.tool.js +51 -0
  360. package/dist/tools/r29-knowledge-stale.tool.d.ts +4 -0
  361. package/dist/tools/r29-knowledge-stale.tool.d.ts.map +1 -0
  362. package/dist/tools/r29-knowledge-stale.tool.js +68 -0
  363. package/dist/tools/r29-query-resolver.tool.d.ts +4 -0
  364. package/dist/tools/r29-query-resolver.tool.d.ts.map +1 -0
  365. package/dist/tools/r29-query-resolver.tool.js +38 -0
  366. package/dist/tools/r29-template-drift.tool.d.ts +3 -0
  367. package/dist/tools/r29-template-drift.tool.d.ts.map +1 -0
  368. package/dist/tools/r29-template-drift.tool.js +29 -0
  369. package/dist/tools/r30-feedback-rules.tool.d.ts +4 -0
  370. package/dist/tools/r30-feedback-rules.tool.d.ts.map +1 -0
  371. package/dist/tools/r30-feedback-rules.tool.js +47 -0
  372. package/dist/tools/r30-fuzzy-impact.tool.d.ts +3 -0
  373. package/dist/tools/r30-fuzzy-impact.tool.d.ts.map +1 -0
  374. package/dist/tools/r30-fuzzy-impact.tool.js +44 -0
  375. package/dist/tools/r31-changes-pr-ci.tool.d.ts +5 -0
  376. package/dist/tools/r31-changes-pr-ci.tool.d.ts.map +1 -0
  377. package/dist/tools/r31-changes-pr-ci.tool.js +82 -0
  378. package/dist/tools/r31-command-discovery.tool.d.ts +5 -0
  379. package/dist/tools/r31-command-discovery.tool.d.ts.map +1 -0
  380. package/dist/tools/r31-command-discovery.tool.js +126 -0
  381. package/dist/tools/r31-fix-preview.tool.d.ts +4 -0
  382. package/dist/tools/r31-fix-preview.tool.d.ts.map +1 -0
  383. package/dist/tools/r31-fix-preview.tool.js +58 -0
  384. package/dist/tools/r31-ranker-explain.tool.d.ts +4 -0
  385. package/dist/tools/r31-ranker-explain.tool.d.ts.map +1 -0
  386. package/dist/tools/r31-ranker-explain.tool.js +69 -0
  387. package/dist/tools/r31-scaffold-coverage.tool.d.ts +3 -0
  388. package/dist/tools/r31-scaffold-coverage.tool.d.ts.map +1 -0
  389. package/dist/tools/r31-scaffold-coverage.tool.js +31 -0
  390. package/dist/tools/r32-profiles.tool.d.ts +8 -0
  391. package/dist/tools/r32-profiles.tool.d.ts.map +1 -0
  392. package/dist/tools/r32-profiles.tool.js +107 -0
  393. package/dist/tools/r32-project-coupling.tool.d.ts +3 -0
  394. package/dist/tools/r32-project-coupling.tool.d.ts.map +1 -0
  395. package/dist/tools/r32-project-coupling.tool.js +38 -0
  396. package/dist/tools/r33-agent-task-prep.tool.d.ts +3 -0
  397. package/dist/tools/r33-agent-task-prep.tool.d.ts.map +1 -0
  398. package/dist/tools/r33-agent-task-prep.tool.js +34 -0
  399. package/dist/tools/r33-conventions.tool.d.ts +5 -0
  400. package/dist/tools/r33-conventions.tool.d.ts.map +1 -0
  401. package/dist/tools/r33-conventions.tool.js +48 -0
  402. package/dist/tools/r33-dev-cycle-ci-predict.tool.d.ts +4 -0
  403. package/dist/tools/r33-dev-cycle-ci-predict.tool.d.ts.map +1 -0
  404. package/dist/tools/r33-dev-cycle-ci-predict.tool.js +44 -0
  405. package/dist/tools/r33-pack-contributions.tool.d.ts +4 -0
  406. package/dist/tools/r33-pack-contributions.tool.d.ts.map +1 -0
  407. package/dist/tools/r33-pack-contributions.tool.js +42 -0
  408. package/dist/tools/r33-pack-signature.tool.d.ts +3 -0
  409. package/dist/tools/r33-pack-signature.tool.d.ts.map +1 -0
  410. package/dist/tools/r33-pack-signature.tool.js +12 -0
  411. package/dist/tools/r33-routing-helpers.tool.d.ts +6 -0
  412. package/dist/tools/r33-routing-helpers.tool.d.ts.map +1 -0
  413. package/dist/tools/r33-routing-helpers.tool.js +63 -0
  414. package/dist/tools/r33-self-config.tool.d.ts +4 -0
  415. package/dist/tools/r33-self-config.tool.d.ts.map +1 -0
  416. package/dist/tools/r33-self-config.tool.js +20 -0
  417. package/dist/tools/r34-search-unified.tool.d.ts +3 -0
  418. package/dist/tools/r34-search-unified.tool.d.ts.map +1 -0
  419. package/dist/tools/r34-search-unified.tool.js +38 -0
  420. package/dist/tools/r35-registration-hints.tool.d.ts +5 -0
  421. package/dist/tools/r35-registration-hints.tool.d.ts.map +1 -0
  422. package/dist/tools/r35-registration-hints.tool.js +69 -0
  423. package/dist/tools/r57-specs.tool.d.ts +12 -0
  424. package/dist/tools/r57-specs.tool.d.ts.map +1 -0
  425. package/dist/tools/r57-specs.tool.js +115 -0
  426. package/dist/tools/r58-grounding.tool.d.ts +14 -0
  427. package/dist/tools/r58-grounding.tool.d.ts.map +1 -0
  428. package/dist/tools/r58-grounding.tool.js +135 -0
  429. package/dist/tools/recommend-presets.tool.d.ts +3 -0
  430. package/dist/tools/recommend-presets.tool.d.ts.map +1 -0
  431. package/dist/tools/recommend-presets.tool.js +31 -0
  432. package/dist/tools/release-readiness.tool.d.ts +3 -0
  433. package/dist/tools/release-readiness.tool.d.ts.map +1 -0
  434. package/dist/tools/release-readiness.tool.js +28 -0
  435. package/dist/tools/release-smoke.tool.d.ts +3 -0
  436. package/dist/tools/release-smoke.tool.d.ts.map +1 -0
  437. package/dist/tools/release-smoke.tool.js +22 -0
  438. package/dist/tools/render-template-preview.tool.d.ts +3 -0
  439. package/dist/tools/render-template-preview.tool.d.ts.map +1 -0
  440. package/dist/tools/render-template-preview.tool.js +40 -0
  441. package/dist/tools/report-site-preview.tool.d.ts +3 -0
  442. package/dist/tools/report-site-preview.tool.d.ts.map +1 -0
  443. package/dist/tools/report-site-preview.tool.js +28 -0
  444. package/dist/tools/repository-map.tool.d.ts +3 -0
  445. package/dist/tools/repository-map.tool.d.ts.map +1 -0
  446. package/dist/tools/repository-map.tool.js +17 -0
  447. package/dist/tools/repository-stats.tool.d.ts +3 -0
  448. package/dist/tools/repository-stats.tool.d.ts.map +1 -0
  449. package/dist/tools/repository-stats.tool.js +28 -0
  450. package/dist/tools/review-generation-plan.tool.d.ts +3 -0
  451. package/dist/tools/review-generation-plan.tool.d.ts.map +1 -0
  452. package/dist/tools/review-generation-plan.tool.js +24 -0
  453. package/dist/tools/review-packet-v2.tool.d.ts +3 -0
  454. package/dist/tools/review-packet-v2.tool.d.ts.map +1 -0
  455. package/dist/tools/review-packet-v2.tool.js +27 -0
  456. package/dist/tools/run-agent-test.tool.d.ts +4 -0
  457. package/dist/tools/run-agent-test.tool.d.ts.map +1 -0
  458. package/dist/tools/run-agent-test.tool.js +28 -0
  459. package/dist/tools/run-context-test.tool.d.ts +4 -0
  460. package/dist/tools/run-context-test.tool.d.ts.map +1 -0
  461. package/dist/tools/run-context-test.tool.js +28 -0
  462. package/dist/tools/runtime-reports.tool.d.ts +9 -0
  463. package/dist/tools/runtime-reports.tool.d.ts.map +1 -0
  464. package/dist/tools/runtime-reports.tool.js +175 -0
  465. package/dist/tools/safety-audit.tool.d.ts +3 -0
  466. package/dist/tools/safety-audit.tool.d.ts.map +1 -0
  467. package/dist/tools/safety-audit.tool.js +42 -0
  468. package/dist/tools/scaffold-patterns.tool.d.ts +5 -0
  469. package/dist/tools/scaffold-patterns.tool.d.ts.map +1 -0
  470. package/dist/tools/scaffold-patterns.tool.js +59 -0
  471. package/dist/tools/schema-inventory.tool.d.ts +3 -0
  472. package/dist/tools/schema-inventory.tool.d.ts.map +1 -0
  473. package/dist/tools/schema-inventory.tool.js +23 -0
  474. package/dist/tools/search-knowledge.tool.d.ts +3 -0
  475. package/dist/tools/search-knowledge.tool.d.ts.map +1 -0
  476. package/dist/tools/search-knowledge.tool.js +42 -0
  477. package/dist/tools/search-path-conventions.tool.d.ts +3 -0
  478. package/dist/tools/search-path-conventions.tool.d.ts.map +1 -0
  479. package/dist/tools/search-path-conventions.tool.js +30 -0
  480. package/dist/tools/search-templates.tool.d.ts +3 -0
  481. package/dist/tools/search-templates.tool.d.ts.map +1 -0
  482. package/dist/tools/search-templates.tool.js +21 -0
  483. package/dist/tools/search-tuning-explain.tool.d.ts +3 -0
  484. package/dist/tools/search-tuning-explain.tool.d.ts.map +1 -0
  485. package/dist/tools/search-tuning-explain.tool.js +17 -0
  486. package/dist/tools/search-tuning.tool.d.ts +3 -0
  487. package/dist/tools/search-tuning.tool.d.ts.map +1 -0
  488. package/dist/tools/search-tuning.tool.js +10 -0
  489. package/dist/tools/search.tool.d.ts +3 -0
  490. package/dist/tools/search.tool.d.ts.map +1 -0
  491. package/dist/tools/search.tool.js +45 -0
  492. package/dist/tools/self-audit.tool.d.ts +3 -0
  493. package/dist/tools/self-audit.tool.d.ts.map +1 -0
  494. package/dist/tools/self-audit.tool.js +28 -0
  495. package/dist/tools/start-here.tool.d.ts +4 -0
  496. package/dist/tools/start-here.tool.d.ts.map +1 -0
  497. package/dist/tools/start-here.tool.js +27 -0
  498. package/dist/tools/test-impact.tool.d.ts +3 -0
  499. package/dist/tools/test-impact.tool.d.ts.map +1 -0
  500. package/dist/tools/test-impact.tool.js +23 -0
  501. package/package.json +66 -0
@@ -0,0 +1,29 @@
1
+ import type { Server as McpServer } from '@modelcontextprotocol/sdk/server/index.js';
2
+ export interface StartHttpServerOptions {
3
+ /** McpServer (NOT yet connected). */
4
+ server: McpServer;
5
+ /** Bind host. Default '127.0.0.1' (loopback only). */
6
+ host?: string;
7
+ /** Bind port. Default 0 (kernel-assigned ephemeral). */
8
+ port?: number;
9
+ /** Path that accepts MCP traffic. Default '/mcp'. */
10
+ path?: string;
11
+ /**
12
+ * Stateful by default — the transport generates a session id and clients
13
+ * must echo it. Set false for stateless mode.
14
+ */
15
+ stateful?: boolean;
16
+ /** stderr logger. */
17
+ log?: (line: string) => void;
18
+ }
19
+ export interface HttpServerHandle {
20
+ /** Full URL clients should POST to (host:port + path). */
21
+ url: string;
22
+ /** The host the server is actually bound to. */
23
+ host: string;
24
+ /** The port the server is actually bound to (resolved when port=0). */
25
+ port: number;
26
+ close: () => Promise<void>;
27
+ }
28
+ export declare function startHttpServer(options: StartHttpServerOptions): Promise<HttpServerHandle>;
29
+ //# sourceMappingURL=http-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/server/http-transport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,MAAM,EAAE,SAAS,CAAC;IAClB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAsBD,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuDhG"}
@@ -0,0 +1,75 @@
1
+ import { createServer } from 'node:http';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
4
+ async function readBody(req) {
5
+ const chunks = [];
6
+ for await (const chunk of req) {
7
+ chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
8
+ }
9
+ if (chunks.length === 0)
10
+ return undefined;
11
+ const text = Buffer.concat(chunks).toString('utf8');
12
+ try {
13
+ return JSON.parse(text);
14
+ }
15
+ catch {
16
+ return undefined;
17
+ }
18
+ }
19
+ function writeJson(res, status, body) {
20
+ res.statusCode = status;
21
+ res.setHeader('content-type', 'application/json');
22
+ res.end(JSON.stringify(body));
23
+ }
24
+ export async function startHttpServer(options) {
25
+ const host = options.host ?? '127.0.0.1';
26
+ const requestedPort = options.port ?? 0;
27
+ const path = options.path ?? '/mcp';
28
+ const stateful = options.stateful ?? true;
29
+ const log = options.log ?? (() => undefined);
30
+ const transport = new StreamableHTTPServerTransport({
31
+ sessionIdGenerator: stateful ? () => randomUUID() : undefined,
32
+ });
33
+ await options.server.connect(transport);
34
+ const http = createServer(async (req, res) => {
35
+ if (!req.url) {
36
+ writeJson(res, 400, { error: 'missing url' });
37
+ return;
38
+ }
39
+ if (req.method === 'GET' && req.url === '/healthz') {
40
+ writeJson(res, 200, { ok: true, transport: 'streamable-http', stateful });
41
+ return;
42
+ }
43
+ const url = new URL(req.url, `http://${host}:${requestedPort || 80}`);
44
+ if (url.pathname !== path) {
45
+ writeJson(res, 404, { error: `not found: ${url.pathname}` });
46
+ return;
47
+ }
48
+ try {
49
+ const parsedBody = req.method === 'POST' ? await readBody(req) : undefined;
50
+ await transport.handleRequest(req, res, parsedBody);
51
+ }
52
+ catch (e) {
53
+ log(`[mcp:http] handleRequest threw: ${e.message}`);
54
+ if (!res.headersSent) {
55
+ writeJson(res, 500, { error: e.message });
56
+ }
57
+ else {
58
+ res.end();
59
+ }
60
+ }
61
+ });
62
+ await new Promise((resolve) => http.listen(requestedPort, host, resolve));
63
+ const address = http.address();
64
+ const actualPort = address?.port ?? requestedPort;
65
+ log(`[mcp:http] listening on http://${host}:${actualPort}${path} (stateful=${stateful})`);
66
+ return {
67
+ url: `http://${host}:${actualPort}${path}`,
68
+ host,
69
+ port: actualPort,
70
+ close: async () => {
71
+ await transport.close().catch(() => undefined);
72
+ await new Promise((resolve, reject) => http.close((err) => (err ? reject(err) : resolve())));
73
+ },
74
+ };
75
+ }
@@ -0,0 +1,10 @@
1
+ export interface IMcpServerConfig {
2
+ name: string;
3
+ version: string;
4
+ cwd: string;
5
+ verbose?: boolean;
6
+ }
7
+ export declare const MCP_SERVER_NAME = "sharkcraft";
8
+ export declare const MCP_SERVER_VERSION = "0.1.0";
9
+ export declare const MCP_PROTOCOL_VERSION = "2024-11-05";
10
+ //# sourceMappingURL=mcp-server-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server-config.d.ts","sourceRoot":"","sources":["../../src/server/mcp-server-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,oBAAoB,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const MCP_SERVER_NAME = 'sharkcraft';
2
+ export const MCP_SERVER_VERSION = '0.1.0';
3
+ export const MCP_PROTOCOL_VERSION = '2024-11-05';
@@ -0,0 +1,18 @@
1
+ export interface StartWatcherOptions {
2
+ cwd: string;
3
+ /** Debounce window in ms. Default 200. */
4
+ debounceMs?: number;
5
+ onChange: (changedPath: string) => void | Promise<void>;
6
+ log?: (line: string) => void;
7
+ }
8
+ export interface IWatcherHandle {
9
+ stop: () => void;
10
+ }
11
+ /**
12
+ * Watches `<cwd>/sharkcraft/` (recursive on macOS/Linux/Windows where supported).
13
+ * Coalesces bursty events through a debounce. On any change, invokes onChange
14
+ * once with the most-recent path. If `sharkcraft/` does not exist, the watcher
15
+ * is a no-op (but still returns a stop()).
16
+ */
17
+ export declare function startSharkcraftWatcher(options: StartWatcherOptions): IWatcherHandle;
18
+ //# sourceMappingURL=sharkcraft-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharkcraft-watcher.d.ts","sourceRoot":"","sources":["../../src/server/sharkcraft-watcher.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAkDnF"}
@@ -0,0 +1,60 @@
1
+ import { existsSync, watch } from 'node:fs';
2
+ import * as nodePath from 'node:path';
3
+ /**
4
+ * Watches `<cwd>/sharkcraft/` (recursive on macOS/Linux/Windows where supported).
5
+ * Coalesces bursty events through a debounce. On any change, invokes onChange
6
+ * once with the most-recent path. If `sharkcraft/` does not exist, the watcher
7
+ * is a no-op (but still returns a stop()).
8
+ */
9
+ export function startSharkcraftWatcher(options) {
10
+ const debounceMs = options.debounceMs ?? 200;
11
+ const log = options.log ?? (() => undefined);
12
+ const sharkcraftDir = nodePath.join(options.cwd, 'sharkcraft');
13
+ if (!existsSync(sharkcraftDir)) {
14
+ log(`no sharkcraft/ directory at ${sharkcraftDir} — watcher disabled`);
15
+ return { stop: () => undefined };
16
+ }
17
+ let pendingTimer = null;
18
+ let lastPath = '';
19
+ let stopped = false;
20
+ function schedule(path) {
21
+ if (stopped)
22
+ return;
23
+ lastPath = path;
24
+ if (pendingTimer)
25
+ clearTimeout(pendingTimer);
26
+ pendingTimer = setTimeout(() => {
27
+ pendingTimer = null;
28
+ Promise.resolve(options.onChange(lastPath)).catch((e) => {
29
+ log(`onChange threw: ${e.message}`);
30
+ });
31
+ }, debounceMs);
32
+ }
33
+ let watcher = null;
34
+ try {
35
+ watcher = watch(sharkcraftDir, { recursive: true }, (event, filename) => {
36
+ if (stopped)
37
+ return;
38
+ const filePath = filename ? nodePath.join(sharkcraftDir, filename.toString()) : sharkcraftDir;
39
+ log(`event=${event} ${filePath}`);
40
+ schedule(filePath);
41
+ });
42
+ log(`watching ${sharkcraftDir}`);
43
+ }
44
+ catch (e) {
45
+ log(`failed to start watcher: ${e.message}`);
46
+ }
47
+ return {
48
+ stop: () => {
49
+ stopped = true;
50
+ if (pendingTimer)
51
+ clearTimeout(pendingTimer);
52
+ try {
53
+ watcher?.close();
54
+ }
55
+ catch {
56
+ // ignore
57
+ }
58
+ },
59
+ };
60
+ }
@@ -0,0 +1,56 @@
1
+ import type { ISharkcraftInspection } from '@shrkcrft/inspector';
2
+ export interface IToolJsonSchema {
3
+ type: 'object';
4
+ properties?: Record<string, unknown>;
5
+ required?: string[];
6
+ additionalProperties?: boolean;
7
+ }
8
+ export interface IToolContext {
9
+ inspection: ISharkcraftInspection;
10
+ cwd: string;
11
+ }
12
+ export interface IToolDefinition {
13
+ name: string;
14
+ description: string;
15
+ inputSchema: IToolJsonSchema;
16
+ handler: (input: Record<string, unknown>, context: IToolContext) => Promise<IToolResponse> | IToolResponse;
17
+ /**
18
+ * Optional CLI sibling command this tool mirrors. Used by the
19
+ * tier-gating layer: if the sibling is experimental and not enabled
20
+ * in the project's surface config, the MCP tool returns the same
21
+ * structured not-enabled error the CLI does.
22
+ *
23
+ * Tools without a CLI sibling (bootstrap MCP-only tools like
24
+ * `get_command_catalog` or `inspect_workspace`) leave this absent
25
+ * and are always callable.
26
+ */
27
+ cliCommand?: string;
28
+ }
29
+ /**
30
+ * Result of the MCP-side tier gate. `null` = callable, otherwise
31
+ * structured info for the not-enabled response.
32
+ */
33
+ export interface IMcpGateDecision {
34
+ command: string;
35
+ reason?: string;
36
+ }
37
+ export type McpGateResolver = (tool: IToolDefinition) => IMcpGateDecision | null;
38
+ export interface IToolError {
39
+ /** Stable machine-readable error code (e.g. `cache-miss`, `not-found`). */
40
+ code: string;
41
+ /** Human-readable summary. */
42
+ message: string;
43
+ /** Optional structured details (recovery hints, suggested next calls). */
44
+ details?: unknown;
45
+ }
46
+ export interface IToolResponse {
47
+ /** Text representation. */
48
+ text?: string;
49
+ /** Structured JSON output (for clients that prefer it). */
50
+ data?: unknown;
51
+ /** True if the tool should be reported as an error. */
52
+ isError?: boolean;
53
+ /** Optional structured error block — set together with `isError: true`. */
54
+ error?: IToolError;
55
+ }
56
+ //# sourceMappingURL=tool-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-definition.d.ts","sourceRoot":"","sources":["../../src/server/tool-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,qBAAqB,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;IAC3G;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,gBAAgB,GAAG,IAAI,CAAC;AAEjF,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ export declare const TOOL_INPUT_SCHEMAS: Readonly<Record<string, z.ZodTypeAny>>;
3
+ export interface IToolValidationFailure {
4
+ toolName: string;
5
+ message: string;
6
+ issues: {
7
+ path: string;
8
+ message: string;
9
+ }[];
10
+ }
11
+ export declare function validateToolInput(toolName: string, input: unknown): {
12
+ ok: true;
13
+ data: unknown;
14
+ } | {
15
+ ok: false;
16
+ failure: IToolValidationFailure;
17
+ };
18
+ //# sourceMappingURL=tool-input-validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-input-validators.d.ts","sourceRoot":"","sources":["../../src/server/tool-input-validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwFxB,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAgBpE,CAAC;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7C;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,GACb;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,sBAAsB,CAAA;CAAE,CAkB9E"}
@@ -0,0 +1,115 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schemas for MCP tool inputs that have structured arguments. The schemas
4
+ * are intentionally narrow: they exist to give MCP clients clear errors when
5
+ * arguments are malformed, not to replicate the JSON Schema we advertise.
6
+ */
7
+ const createGenerationPlanSchema = z
8
+ .object({
9
+ templateId: z.string().min(1, 'templateId is required'),
10
+ name: z.string().optional(),
11
+ variables: z.record(z.string(), z.string()).optional(),
12
+ })
13
+ .strict();
14
+ const renderTemplatePreviewSchema = createGenerationPlanSchema;
15
+ const explainGenerationTargetSchema = z
16
+ .object({
17
+ templateId: z.string().min(1, 'templateId is required'),
18
+ name: z.string().optional(),
19
+ variables: z.record(z.string(), z.string()).optional(),
20
+ task: z.string().optional(),
21
+ })
22
+ .strict();
23
+ const getKnowledgeSchema = z.object({ id: z.string().min(1) }).strict();
24
+ const getRuleSchema = z.object({ id: z.string().min(1) }).strict();
25
+ const getPathConventionSchema = z.object({ id: z.string().min(1) }).strict();
26
+ const getTemplateSchema = z.object({ id: z.string().min(1) }).strict();
27
+ const searchTemplatesSchema = z.object({ query: z.string() }).strict();
28
+ const getRelevantContextSchema = z
29
+ .object({
30
+ task: z.string().min(1, 'task is required'),
31
+ framework: z.string().optional(),
32
+ area: z.string().optional(),
33
+ tags: z.array(z.string()).optional(),
34
+ scope: z.array(z.string()).optional(),
35
+ maxTokens: z.number().int().min(100).optional(),
36
+ includeExamples: z.boolean().optional(),
37
+ includeTemplates: z.boolean().optional(),
38
+ includeRules: z.boolean().optional(),
39
+ includePaths: z.boolean().optional(),
40
+ includeDocs: z.boolean().optional(),
41
+ })
42
+ .strict();
43
+ const getRelevantRulesSchema = z
44
+ .object({
45
+ task: z.string().min(1, 'task is required'),
46
+ scope: z.array(z.string()).optional(),
47
+ tags: z.array(z.string()).optional(),
48
+ appliesWhen: z.array(z.string()).optional(),
49
+ limit: z.number().int().min(1).optional(),
50
+ })
51
+ .strict();
52
+ const getActionHintsSchema = z
53
+ .object({
54
+ task: z.string().optional(),
55
+ entryIds: z.array(z.string()).optional(),
56
+ limit: z.number().int().min(1).optional(),
57
+ })
58
+ .strict();
59
+ const getPipelineSchema = z.object({ id: z.string().min(1) }).strict();
60
+ const getPackSchema = z.object({ packageName: z.string().min(1) }).strict();
61
+ const createPipelinePlanSchema = z
62
+ .object({
63
+ id: z.string().min(1),
64
+ task: z.string().min(1),
65
+ inputs: z.record(z.string(), z.string()).optional(),
66
+ includeOptional: z.array(z.string()).optional(),
67
+ includeScript: z.boolean().optional(),
68
+ })
69
+ .strict();
70
+ const getPipelineContextSchema = z
71
+ .object({
72
+ id: z.string().min(1, 'id is required'),
73
+ task: z.string().min(1, 'task is required'),
74
+ maxTokens: z.number().int().min(100).optional(),
75
+ scope: z.array(z.string()).optional(),
76
+ })
77
+ .strict();
78
+ export const TOOL_INPUT_SCHEMAS = Object.freeze({
79
+ create_generation_plan: createGenerationPlanSchema,
80
+ render_template_preview: renderTemplatePreviewSchema,
81
+ explain_generation_target: explainGenerationTargetSchema,
82
+ get_knowledge: getKnowledgeSchema,
83
+ get_rule: getRuleSchema,
84
+ get_path_convention: getPathConventionSchema,
85
+ get_template: getTemplateSchema,
86
+ search_templates: searchTemplatesSchema,
87
+ get_relevant_context: getRelevantContextSchema,
88
+ get_relevant_rules: getRelevantRulesSchema,
89
+ get_action_hints: getActionHintsSchema,
90
+ get_pipeline: getPipelineSchema,
91
+ get_pipeline_context: getPipelineContextSchema,
92
+ get_pack: getPackSchema,
93
+ create_pipeline_plan: createPipelinePlanSchema,
94
+ });
95
+ export function validateToolInput(toolName, input) {
96
+ const schema = TOOL_INPUT_SCHEMAS[toolName];
97
+ if (!schema)
98
+ return { ok: true, data: input };
99
+ const parsed = schema.safeParse(input);
100
+ if (parsed.success)
101
+ return { ok: true, data: parsed.data };
102
+ return {
103
+ ok: false,
104
+ failure: {
105
+ toolName,
106
+ message: parsed.error.issues
107
+ .map((iss) => `${iss.path.join('.') || '<root>'}: ${iss.message}`)
108
+ .join('; '),
109
+ issues: parsed.error.issues.map((iss) => ({
110
+ path: iss.path.join('.'),
111
+ message: iss.message,
112
+ })),
113
+ },
114
+ };
115
+ }
@@ -0,0 +1,3 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const getAcceptanceReplayTool: IToolDefinition;
3
+ //# sourceMappingURL=acceptance-replay.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceptance-replay.tool.d.ts","sourceRoot":"","sources":["../../src/tools/acceptance-replay.tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,uBAAuB,EAAE,eAsDrC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { buildAcceptanceReplay, buildChangesSummary, ReplayProfile, } from '@shrkcrft/inspector';
2
+ export const getAcceptanceReplayTool = {
3
+ name: 'get_acceptance_replay',
4
+ description: 'Acceptance-command replay: given a change set, lists previous validation commands to re-run, with reasons. Read-only — does NOT execute the commands.',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ since: { type: 'string', description: 'Diff base (git ref / tag).' },
9
+ staged: { type: 'boolean' },
10
+ files: { type: 'array', items: { type: 'string' } },
11
+ profile: { type: 'string', enum: ['changed-only', 'standard', 'strict'] },
12
+ roundLabel: { type: 'string' },
13
+ },
14
+ additionalProperties: false,
15
+ },
16
+ async handler(input, ctx) {
17
+ const since = typeof input.since === 'string'
18
+ ? input.since
19
+ : undefined;
20
+ const staged = input.staged === true;
21
+ const filesIn = input.files;
22
+ const files = Array.isArray(filesIn)
23
+ ? filesIn.filter((x) => typeof x === 'string')
24
+ : undefined;
25
+ const profileRaw = typeof input.profile === 'string'
26
+ ? input.profile
27
+ : 'changed-only';
28
+ const profile = profileRaw === 'standard'
29
+ ? ReplayProfile.Standard
30
+ : profileRaw === 'strict'
31
+ ? ReplayProfile.Strict
32
+ : ReplayProfile.ChangedOnly;
33
+ const roundLabel = typeof input.roundLabel === 'string'
34
+ ? input.roundLabel
35
+ : undefined;
36
+ const opts = {};
37
+ if (since)
38
+ opts.since = since;
39
+ if (staged)
40
+ opts.staged = true;
41
+ if (files && files.length > 0)
42
+ opts.files = files;
43
+ if (roundLabel)
44
+ opts.roundLabel = roundLabel;
45
+ const summary = await buildChangesSummary(ctx.inspection, opts);
46
+ const data = buildAcceptanceReplay({
47
+ summary,
48
+ profile,
49
+ ...(roundLabel ? { roundLabel } : {}),
50
+ });
51
+ return { data };
52
+ },
53
+ };
@@ -0,0 +1,3 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const getAdoptionCheckpointStatusTool: IToolDefinition;
3
+ //# sourceMappingURL=adoption-checkpoint.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adoption-checkpoint.tool.d.ts","sourceRoot":"","sources":["../../src/tools/adoption-checkpoint.tool.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,+BAA+B,EAAE,eA+C7C,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { buildConstructAdoptionDiff, buildOnboardAdoptionDiff, evaluateAdoptionCheckpoint, hashDiffBody, loadConstructs, readAdoptionCheckpoint, renderConstructAdoptionDiff, renderOnboardAdoptionDiff, } from '@shrkcrft/inspector';
2
+ export const getAdoptionCheckpointStatusTool = {
3
+ name: 'get_adoption_checkpoint_status',
4
+ description: 'Read the adoption checkpoint (onboard or construct) and report whether targets/drafts/diff hash still match. Read-only.',
5
+ inputSchema: {
6
+ type: 'object',
7
+ required: ['kind'],
8
+ properties: {
9
+ kind: { type: 'string', enum: ['onboard', 'construct'] },
10
+ },
11
+ additionalProperties: false,
12
+ },
13
+ async handler(input, ctx) {
14
+ const kindRaw = typeof input['kind'] === 'string' ? input['kind'] : 'onboard';
15
+ if (kindRaw !== 'onboard' && kindRaw !== 'construct') {
16
+ return {
17
+ isError: true,
18
+ text: `Unknown kind "${kindRaw}". Use onboard|construct.`,
19
+ error: { code: 'invalid-kind', message: `Unknown kind "${kindRaw}".` },
20
+ };
21
+ }
22
+ const read = readAdoptionCheckpoint(ctx.cwd, kindRaw);
23
+ let evaluation = null;
24
+ if (read.checkpoint) {
25
+ if (kindRaw === 'construct') {
26
+ await loadConstructs(ctx.inspection);
27
+ const diff = await buildConstructAdoptionDiff(ctx.inspection);
28
+ const canonical = renderConstructAdoptionDiff(diff, 'json');
29
+ evaluation = evaluateAdoptionCheckpoint(ctx.cwd, read.checkpoint, hashDiffBody(canonical));
30
+ }
31
+ else {
32
+ const diff = buildOnboardAdoptionDiff(ctx.inspection);
33
+ const canonical = renderOnboardAdoptionDiff(diff, 'json');
34
+ evaluation = evaluateAdoptionCheckpoint(ctx.cwd, read.checkpoint, hashDiffBody(canonical));
35
+ }
36
+ }
37
+ return {
38
+ data: {
39
+ kind: kindRaw,
40
+ path: read.path,
41
+ exists: read.exists,
42
+ checkpoint: read.checkpoint,
43
+ ...(evaluation
44
+ ? { status: evaluation.status, reasons: evaluation.reasons, changedTargets: evaluation.changedTargets, changedDrafts: evaluation.changedDrafts }
45
+ : { status: 'missing', reasons: ['no checkpoint on disk yet'] }),
46
+ },
47
+ };
48
+ },
49
+ };
@@ -0,0 +1,6 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const startAgentBriefChunksTool: IToolDefinition;
3
+ export declare const getAgentBriefChunkIndexTool: IToolDefinition;
4
+ export declare const getAgentBriefChunkTool: IToolDefinition;
5
+ export declare function _resetAgentBriefChunkCache(): void;
6
+ //# sourceMappingURL=agent-brief-chunks.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-brief-chunks.tool.d.ts","sourceRoot":"","sources":["../../src/tools/agent-brief-chunks.tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AA4EpE,eAAO,MAAM,yBAAyB,EAAE,eAuHvC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,eAmEzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAoFpC,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}