@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,174 @@
1
+ import * as nodePath from 'node:path';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
+ import { buildContradictionReport, buildGeneratedCodeReport, buildIngestAdoptionPlan, buildRepositoryKnowledgeModel, buildStabilityMap, IngestDepth, IngestSection, } from '@shrkcrft/inspector';
4
+ function nextHint(cmd) {
5
+ return `Next: \`${cmd}\` (CLI is the only write path).`;
6
+ }
7
+ function parseDepth(raw) {
8
+ if (typeof raw !== 'string')
9
+ return IngestDepth.Standard;
10
+ const lower = raw.toLowerCase();
11
+ for (const d of Object.values(IngestDepth))
12
+ if (d === lower)
13
+ return d;
14
+ return IngestDepth.Standard;
15
+ }
16
+ function parseSections(raw) {
17
+ if (!Array.isArray(raw))
18
+ return undefined;
19
+ const out = [];
20
+ for (const s of raw) {
21
+ if (typeof s !== 'string')
22
+ continue;
23
+ for (const v of Object.values(IngestSection)) {
24
+ if (v === s)
25
+ out.push(v);
26
+ }
27
+ }
28
+ return out.length > 0 ? out : undefined;
29
+ }
30
+ export const createRepositoryIngestionPlanTool = {
31
+ name: 'create_repository_ingestion_plan',
32
+ description: 'Build a SharkCraft repository knowledge model (read-only). Returns the model + a next-command hint. MCP never writes; pass --write-drafts to the CLI to materialise drafts under sharkcraft/ingestion/.',
33
+ inputSchema: {
34
+ type: 'object',
35
+ additionalProperties: false,
36
+ properties: {
37
+ depth: { type: 'string' },
38
+ include: { type: 'array', items: { type: 'string' } },
39
+ exclude: { type: 'array', items: { type: 'string' } },
40
+ presets: { type: 'array', items: { type: 'string' } },
41
+ task: { type: 'string' },
42
+ },
43
+ },
44
+ async handler(input, ctx) {
45
+ const model = await buildRepositoryKnowledgeModel({
46
+ inspection: ctx.inspection,
47
+ depth: parseDepth(input.depth),
48
+ selectedSections: parseSections(input.include),
49
+ excludedSections: parseSections(input.exclude),
50
+ forcedPresetIds: Array.isArray(input.presets) ? input.presets.filter((p) => typeof p === 'string') : undefined,
51
+ ...(typeof input.task === 'string' ? { task: input.task } : {}),
52
+ });
53
+ return {
54
+ text: nextHint('shrk ingest repository --write-drafts'),
55
+ data: model,
56
+ };
57
+ },
58
+ };
59
+ export const getRepositoryKnowledgeModelTool = {
60
+ name: 'get_repository_knowledge_model',
61
+ description: 'Return the previously-saved repository knowledge model (`sharkcraft/ingestion/repository-knowledge-model.json`). Read-only.',
62
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
63
+ handler(_input, ctx) {
64
+ const file = nodePath.join(ctx.cwd, 'sharkcraft', 'ingestion', 'repository-knowledge-model.json');
65
+ if (!existsSync(file)) {
66
+ return {
67
+ isError: true,
68
+ error: { code: 'not-found', message: 'No saved knowledge model. Run `shrk ingest repository --write-drafts` first.' },
69
+ };
70
+ }
71
+ try {
72
+ const body = JSON.parse(readFileSync(file, 'utf8'));
73
+ return {
74
+ text: nextHint('shrk ingest report --format markdown'),
75
+ data: body,
76
+ };
77
+ }
78
+ catch (err) {
79
+ return {
80
+ isError: true,
81
+ error: { code: 'parse-failed', message: err.message },
82
+ };
83
+ }
84
+ },
85
+ };
86
+ export const getRepositoryIngestionStatusTool = {
87
+ name: 'get_repository_ingestion_status',
88
+ description: 'Report whether ingest drafts/adoption files exist on disk. Read-only.',
89
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
90
+ handler(_input, ctx) {
91
+ const base = nodePath.join(ctx.cwd, 'sharkcraft', 'ingestion');
92
+ const modelExists = existsSync(nodePath.join(base, 'repository-knowledge-model.json'));
93
+ const adoptionExists = existsSync(nodePath.join(base, 'adoption', 'ingest-adoption-state.json'));
94
+ return {
95
+ text: nextHint('shrk ingest status'),
96
+ data: {
97
+ ingestDirExists: existsSync(base),
98
+ modelExists,
99
+ adoptionExists,
100
+ },
101
+ };
102
+ },
103
+ };
104
+ export const getRepositoryIngestionReportTool = {
105
+ name: 'get_repository_ingestion_report',
106
+ description: 'Return a markdown summary of the saved repository knowledge model. Read-only.',
107
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
108
+ async handler(_input, ctx) {
109
+ const file = nodePath.join(ctx.cwd, 'sharkcraft', 'ingestion', 'REPOSITORY_KNOWLEDGE_MODEL.md');
110
+ if (!existsSync(file)) {
111
+ return {
112
+ isError: true,
113
+ error: { code: 'not-found', message: 'No saved report — run `shrk ingest repository --write-drafts` first.' },
114
+ };
115
+ }
116
+ return {
117
+ text: nextHint('shrk ingest report --format markdown'),
118
+ data: { markdown: readFileSync(file, 'utf8') },
119
+ };
120
+ },
121
+ };
122
+ export const getContradictionReportTool = {
123
+ name: 'get_contradiction_report',
124
+ description: 'Detect documentation/code contradictions (missing paths, deprecated CLI usage, missing commands). Read-only.',
125
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
126
+ async handler(_input, ctx) {
127
+ const report = buildContradictionReport({ inspection: ctx.inspection });
128
+ return {
129
+ text: nextHint('shrk contradictions --format markdown'),
130
+ data: report,
131
+ };
132
+ },
133
+ };
134
+ export const getGeneratedCodeReportTool = {
135
+ name: 'get_generated_code_report',
136
+ description: 'Classify generated vs hand-written files; surface protect/policy recommendations. Read-only.',
137
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
138
+ async handler(_input, ctx) {
139
+ const report = buildGeneratedCodeReport({ inspection: ctx.inspection });
140
+ return {
141
+ text: nextHint('shrk generated report --format markdown'),
142
+ data: report,
143
+ };
144
+ },
145
+ };
146
+ export const getStabilityMapTool = {
147
+ name: 'get_stability_map',
148
+ description: 'Classify repo areas as stable/experimental/deprecated/legacy/generated/internal/public-api/high-risk. Read-only.',
149
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
150
+ async handler(_input, ctx) {
151
+ const generated = buildGeneratedCodeReport({ inspection: ctx.inspection });
152
+ const map = buildStabilityMap({
153
+ inspection: ctx.inspection,
154
+ generatedRoots: generated.generatedRoots.map((r) => r.path),
155
+ });
156
+ return {
157
+ text: nextHint('shrk stability map --format markdown'),
158
+ data: map,
159
+ };
160
+ },
161
+ };
162
+ export const getIngestAdoptionPreviewTool = {
163
+ name: 'get_ingest_adoption_preview',
164
+ description: 'Preview the ingest-adoption plan (safe-append / manual-review / low-confidence / already-covered / generated-protected). Read-only.',
165
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
166
+ async handler(_input, ctx) {
167
+ const model = await buildRepositoryKnowledgeModel({ inspection: ctx.inspection });
168
+ const plan = buildIngestAdoptionPlan({ model });
169
+ return {
170
+ text: nextHint('shrk ingest adopt --write-patch'),
171
+ data: plan,
172
+ };
173
+ },
174
+ };
@@ -0,0 +1,5 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const understandTaskTool: IToolDefinition;
3
+ export declare const getTaskContextTool: IToolDefinition;
4
+ export declare const validateChangeContextTool: IToolDefinition;
5
+ //# sourceMappingURL=r26-task-context.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r26-task-context.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r26-task-context.tool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,eAAO,MAAM,kBAAkB,EAAE,eA4ChC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAgChC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,eAqCvC,CAAC"}
@@ -0,0 +1,121 @@
1
+ import * as nodePath from 'node:path';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
+ import { buildContradictionReport, buildGeneratedCodeReport, buildRepositoryKnowledgeModel, buildTaskPacket, buildTaskRiskReport, classifyChangeIntent, getChangedFiles, isGitRepo, } from '@shrkcrft/inspector';
4
+ function nextHint(cmd) {
5
+ return `Next: \`${cmd}\` (CLI is the only write path).`;
6
+ }
7
+ export const understandTaskTool = {
8
+ name: 'understand_task',
9
+ description: 'Return task-specific context (intent + relevant rules + likely files + risks + recommended commands). **Prefer `prepare_agent_task` for first task grounding** — it bundles this with safety notes + next-safe-action. Read-only.',
10
+ inputSchema: {
11
+ type: 'object',
12
+ additionalProperties: false,
13
+ properties: {
14
+ task: { type: 'string' },
15
+ presets: { type: 'array', items: { type: 'string' } },
16
+ },
17
+ required: ['task'],
18
+ },
19
+ async handler(input, ctx) {
20
+ const task = typeof input.task === 'string' ? input.task : '';
21
+ if (!task) {
22
+ return { isError: true, error: { code: 'bad-input', message: 'task is required' } };
23
+ }
24
+ const packet = buildTaskPacket(ctx.inspection, task);
25
+ const intent = await classifyChangeIntent(task, ctx.inspection);
26
+ const risk = await buildTaskRiskReport(task, ctx.inspection);
27
+ const presets = Array.isArray(input.presets) ? input.presets.filter((s) => typeof s === 'string') : undefined;
28
+ const model = await buildRepositoryKnowledgeModel({
29
+ inspection: ctx.inspection,
30
+ task,
31
+ forcedPresetIds: presets,
32
+ });
33
+ return {
34
+ text: nextHint('shrk understand-task "<task>"'),
35
+ data: {
36
+ task,
37
+ intent,
38
+ relevantRules: packet.relevantRules.map((r) => ({ id: r.id, title: r.title })),
39
+ relevantPaths: packet.relevantPaths.map((p) => ({ id: p.id, title: p.title })),
40
+ relevantTemplates: packet.relevantTemplates.map((t) => ({ id: t.id })),
41
+ risks: risk.reasons.map((r) => r.message),
42
+ riskLevel: risk.riskLevel,
43
+ requiredValidations: packet.recommendedCliCommands,
44
+ recommendedPipelineId: packet.recommendedPipelines[0]?.pipelineId ?? null,
45
+ modelPresetIds: model.presets.map((p) => p.preset.id),
46
+ transformationalIntents: model.transformationalIntents,
47
+ },
48
+ };
49
+ },
50
+ };
51
+ export const getTaskContextTool = {
52
+ name: 'get_task_context',
53
+ description: 'Return the most recently saved task context bundle (under .sharkcraft/context/). Read-only.',
54
+ inputSchema: {
55
+ type: 'object',
56
+ additionalProperties: false,
57
+ properties: { task: { type: 'string' } },
58
+ },
59
+ handler(input, ctx) {
60
+ const baseDir = nodePath.join(ctx.cwd, '.sharkcraft', 'context');
61
+ const statusFile = nodePath.join(baseDir, 'status.json');
62
+ if (!existsSync(statusFile)) {
63
+ return { isError: true, error: { code: 'not-found', message: 'No task context yet — run `shrk context build --task "..."` first.' } };
64
+ }
65
+ const status = JSON.parse(readFileSync(statusFile, 'utf8'));
66
+ const taskSlug = typeof input.task === 'string'
67
+ ? input.task.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/(^-+|-+$)/g, '').slice(0, 60)
68
+ : status.lastTask
69
+ ? status.lastTask.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/(^-+|-+$)/g, '').slice(0, 60)
70
+ : '';
71
+ if (!taskSlug) {
72
+ return { isError: true, error: { code: 'not-found', message: 'No task slug to look up.' } };
73
+ }
74
+ const jsonFile = nodePath.join(baseDir, 'task-contexts', `${taskSlug}.json`);
75
+ if (!existsSync(jsonFile)) {
76
+ return { isError: true, error: { code: 'not-found', message: `No bundle for ${taskSlug}` } };
77
+ }
78
+ return {
79
+ text: nextHint('shrk context build --task "<task>"'),
80
+ data: JSON.parse(readFileSync(jsonFile, 'utf8')),
81
+ };
82
+ },
83
+ };
84
+ export const validateChangeContextTool = {
85
+ name: 'validate_change_context',
86
+ description: 'Inspect a proposed/staged change for boundary violations, generated-code edits, missing tests, doc contradictions. Read-only.',
87
+ inputSchema: {
88
+ type: 'object',
89
+ additionalProperties: false,
90
+ properties: {
91
+ files: { type: 'array', items: { type: 'string' } },
92
+ since: { type: 'string' },
93
+ staged: { type: 'boolean' },
94
+ },
95
+ },
96
+ async handler(input, ctx) {
97
+ const filesIn = Array.isArray(input.files) ? input.files.filter((f) => typeof f === 'string') : [];
98
+ const since = typeof input.since === 'string' ? input.since : undefined;
99
+ const staged = input.staged === true;
100
+ let changed = filesIn;
101
+ if (changed.length === 0 && isGitRepo(ctx.cwd)) {
102
+ changed = getChangedFiles(ctx.cwd, { staged, ...(since ? { since } : {}) });
103
+ }
104
+ const contradictions = buildContradictionReport({ inspection: ctx.inspection });
105
+ const generated = buildGeneratedCodeReport({ inspection: ctx.inspection });
106
+ const generatedPaths = new Set(generated.generatedFiles.map((f) => f.path));
107
+ const boundaryHits = changed.filter((f) => /(^|\/)packages\/[^\/]+\/src\/index\.(ts|tsx|js)$/.test(f));
108
+ const generatedHits = changed.filter((f) => generatedPaths.has(f) || f.endsWith('.d.ts'));
109
+ const docContradictions = contradictions.findings.filter((c) => changed.includes(c.source));
110
+ return {
111
+ text: nextHint('shrk validate-change --staged'),
112
+ data: {
113
+ changedFiles: changed,
114
+ boundaryHits,
115
+ generatedHits,
116
+ docContradictions: docContradictions.map((c) => ({ source: c.source, line: c.line, message: c.message })),
117
+ verdict: boundaryHits.length === 0 && generatedHits.length === 0 ? 'pass' : 'review',
118
+ },
119
+ };
120
+ },
121
+ };
@@ -0,0 +1,7 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const getPolyglotBoundaryReportTool: IToolDefinition;
3
+ export declare const previewIngestAdoptionPlanTool: IToolDefinition;
4
+ export declare const getLanguageRunPlanTool: IToolDefinition;
5
+ export declare const getLanguageCacheStatusTool: IToolDefinition;
6
+ export declare const getLanguageProfilesLiveTool: IToolDefinition;
7
+ //# sourceMappingURL=r27-polyglot.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r27-polyglot.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r27-polyglot.tool.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,eAAO,MAAM,6BAA6B,EAAE,eAwB3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,eAoC3C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eA6BpC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,eAmBxC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,eAQzC,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Polyglot boundary / adoption MCP tools. Read-only.
3
+ *
4
+ * - get_polyglot_boundary_report
5
+ * - preview_ingest_adoption_plan (returns the plan only — apply is CLI-only)
6
+ * - get_language_run_plan (returns a dry-run plan — execute is CLI-only)
7
+ * - get_language_cache_status
8
+ *
9
+ * Every tool returns data + a next-command hint. No tool ever writes.
10
+ */
11
+ import { readFileSync } from 'node:fs';
12
+ import { buildIngestAdoptionPlan, buildIngestApplyPlan, buildLanguageRunPlan, buildPolyglotBoundaryReport, buildRepositoryKnowledgeModel, detectLanguageProfiles, getLanguageCacheStatus, IngestAdoptionStatus, } from '@shrkcrft/inspector';
13
+ function nextHint(cmd) {
14
+ return `Next: \`${cmd}\` (CLI is the only write path).`;
15
+ }
16
+ export const getPolyglotBoundaryReportTool = {
17
+ name: 'get_polyglot_boundary_report',
18
+ description: 'Polyglot boundary enforcement report (Java/C#/Python/Go/Rust). Returns rules, edges, violations, suggestedFixes. Read-only.',
19
+ inputSchema: {
20
+ type: 'object',
21
+ additionalProperties: false,
22
+ properties: {
23
+ language: { type: 'string' },
24
+ limit: { type: 'number' },
25
+ },
26
+ },
27
+ handler(input, ctx) {
28
+ const lang = typeof input.language === 'string' ? input.language : undefined;
29
+ const limit = typeof input.limit === 'number' ? input.limit : undefined;
30
+ const report = buildPolyglotBoundaryReport({
31
+ projectRoot: ctx.cwd,
32
+ ...(lang && lang !== 'all' ? { languages: [lang] } : {}),
33
+ ...(limit ? { limit } : {}),
34
+ });
35
+ return {
36
+ text: nextHint(`shrk check boundaries --polyglot${lang && lang !== 'all' ? ' --language ' + lang : ''}`),
37
+ data: report,
38
+ };
39
+ },
40
+ };
41
+ export const previewIngestAdoptionPlanTool = {
42
+ name: 'preview_ingest_adoption_plan',
43
+ description: 'Preview an ingest adoption apply plan. Read-only — returns the plan body only. To actually apply, run the CLI with the same flags.',
44
+ inputSchema: {
45
+ type: 'object',
46
+ additionalProperties: false,
47
+ properties: {
48
+ include: { type: 'array', items: { type: 'string' } },
49
+ includeManualReview: { type: 'boolean' },
50
+ },
51
+ },
52
+ async handler(input, ctx) {
53
+ const model = await buildRepositoryKnowledgeModel({ inspection: ctx.inspection });
54
+ const adoption = buildIngestAdoptionPlan({ model });
55
+ const includeArr = Array.isArray(input.include) ? input.include.map(String) : ['safe-append'];
56
+ const include = includeArr
57
+ .map((s) => s)
58
+ .filter((s) => Object.values(IngestAdoptionStatus).includes(s));
59
+ const result = buildIngestApplyPlan({
60
+ plan: adoption,
61
+ include: include.length > 0 ? include : [IngestAdoptionStatus.SafeAppend],
62
+ includeManualReview: input.includeManualReview === true,
63
+ });
64
+ return {
65
+ text: nextHint('shrk ingest adopt plan --include safe-append --output sharkcraft/ingestion/adoption/ingest-adopt-plan.json'),
66
+ data: {
67
+ plan: result.plan,
68
+ skipped: result.skipped,
69
+ fileBodyPreviews: Object.keys(result.files).slice(0, 12).reduce((acc, k) => {
70
+ const body = result.files[k] ?? '';
71
+ acc[k] = body.slice(0, 600);
72
+ return acc;
73
+ }, {}),
74
+ },
75
+ };
76
+ },
77
+ };
78
+ export const getLanguageRunPlanTool = {
79
+ name: 'get_language_run_plan',
80
+ description: 'Plan a per-language test/build/lint command set. Returns the dry-run plan; execution is CLI-only via `shrk languages run --execute`.',
81
+ inputSchema: {
82
+ type: 'object',
83
+ additionalProperties: false,
84
+ properties: {
85
+ category: { type: 'string' },
86
+ language: { type: 'string' },
87
+ commandId: { type: 'string' },
88
+ allTests: { type: 'boolean' },
89
+ allowInstall: { type: 'boolean' },
90
+ },
91
+ },
92
+ handler(input, ctx) {
93
+ const plan = buildLanguageRunPlan({
94
+ projectRoot: ctx.cwd,
95
+ category: typeof input.category === 'string' ? input.category : 'test',
96
+ ...(typeof input.language === 'string' ? { language: input.language } : {}),
97
+ ...(typeof input.commandId === 'string' ? { commandId: input.commandId } : {}),
98
+ allTests: input.allTests === true,
99
+ allowInstall: input.allowInstall === true,
100
+ execute: false,
101
+ });
102
+ return {
103
+ text: nextHint('shrk languages run --execute' + (input.allowInstall === true ? ' --allow-install' : '')),
104
+ data: plan,
105
+ };
106
+ },
107
+ };
108
+ export const getLanguageCacheStatusTool = {
109
+ name: 'get_language_cache_status',
110
+ description: 'Status of the local language profile cache (`.sharkcraft/languages/cache.json`). Read-only.',
111
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
112
+ handler(_input, ctx) {
113
+ // SharkCraft version is best-effort — read package.json if present.
114
+ let version = '0.1.0';
115
+ try {
116
+ const pkg = JSON.parse(readFileSync(`${ctx.cwd}/package.json`, 'utf8'));
117
+ if (typeof pkg.version === 'string')
118
+ version = pkg.version;
119
+ }
120
+ catch {
121
+ // ignore
122
+ }
123
+ const status = getLanguageCacheStatus(ctx.cwd, version);
124
+ return {
125
+ text: nextHint(status.fresh ? 'shrk languages detect --cache' : 'shrk languages detect --cache --refresh-cache'),
126
+ data: status,
127
+ };
128
+ },
129
+ };
130
+ // Reuse for completeness — detect on-demand without cache.
131
+ export const getLanguageProfilesLiveTool = {
132
+ name: 'get_language_profiles_live',
133
+ description: 'Live language detection (TS/JS/Java/C#/Python/Go/Rust). Pure read-only walk; no cache.',
134
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
135
+ handler(_input, ctx) {
136
+ const report = detectLanguageProfiles(ctx.cwd);
137
+ return { text: nextHint('shrk languages detect --cache'), data: report };
138
+ },
139
+ };
@@ -0,0 +1,3 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const getChangedBoundaryReportTool: IToolDefinition;
3
+ //# sourceMappingURL=r28-changed-boundary.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r28-changed-boundary.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r28-changed-boundary.tool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,eAAO,MAAM,4BAA4B,EAAE,eAiE1C,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Read-only MCP tool: get_changed_boundary_report.
3
+ *
4
+ * Returns the boundary engine output filtered to changes introduced by a
5
+ * specific set of files (working tree, staged, since <ref>, or explicit list).
6
+ * The tool never writes — applying a fix is CLI-only.
7
+ */
8
+ import { evaluateBoundaries, scanImports, summarizeImports } from '@shrkcrft/boundaries';
9
+ import { buildPolyglotBoundaryReport, filterViolationsToChangedScope, } from '@shrkcrft/inspector';
10
+ function nextHint(cmd) {
11
+ return `Next: \`${cmd}\` (CLI is the only write path).`;
12
+ }
13
+ export const getChangedBoundaryReportTool = {
14
+ name: 'get_changed_boundary_report',
15
+ description: 'Run the boundary engine (TS + polyglot) and return only the violations introduced or touched by the supplied scope (working tree, staged, since <ref>, or explicit files). Read-only.',
16
+ inputSchema: {
17
+ type: 'object',
18
+ additionalProperties: false,
19
+ properties: {
20
+ since: { type: 'string', description: 'Compare against the given ref (HEAD, origin/main, SHA).' },
21
+ staged: { type: 'boolean' },
22
+ files: { type: 'array', items: { type: 'string' } },
23
+ polyglot: { type: 'boolean', description: 'Include polyglot engine output.' },
24
+ },
25
+ },
26
+ async handler(input, ctx) {
27
+ const since = typeof input.since === 'string' ? input.since : undefined;
28
+ const staged = input.staged === true;
29
+ const files = Array.isArray(input.files) ? input.files : [];
30
+ const polyglot = input.polyglot === true;
31
+ const projectRoot = ctx.cwd;
32
+ const scopeOpts = {
33
+ projectRoot,
34
+ ...(files.length > 0 ? { files } : {}),
35
+ ...(staged ? { staged: true } : {}),
36
+ ...(since ? { since } : {}),
37
+ ...(!since && !staged && files.length === 0 ? { includeWorktree: true } : {}),
38
+ };
39
+ const rules = ctx.inspection.boundaryRegistry.list();
40
+ const tsEval = rules.length === 0
41
+ ? null
42
+ : evaluateBoundaries(scanImports({ projectRoot }), rules, {});
43
+ const tsFiltered = tsEval
44
+ ? filterViolationsToChangedScope(tsEval.violations, scopeOpts)
45
+ : null;
46
+ const polyglotReport = polyglot ? buildPolyglotBoundaryReport({ projectRoot }) : null;
47
+ const polyglotFiltered = polyglotReport
48
+ ? filterViolationsToChangedScope(polyglotReport.violations, scopeOpts)
49
+ : null;
50
+ return {
51
+ text: nextHint('shrk check boundaries --changed-only' + (polyglot ? ' --polyglot' : '')),
52
+ data: {
53
+ schema: 'sharkcraft.changed-boundary-report/v1',
54
+ mode: tsFiltered?.mode ?? polyglotFiltered?.mode ?? null,
55
+ changedFiles: tsFiltered?.changedFiles ?? polyglotFiltered?.changedFiles ?? [],
56
+ typescript: tsFiltered
57
+ ? {
58
+ total: tsEval?.violations.length ?? 0,
59
+ included: tsFiltered.includedViolations,
60
+ ignoredLegacyCount: tsFiltered.ignoredLegacyCount,
61
+ ignoredLegacyByRule: tsFiltered.ignoredLegacyByRule,
62
+ }
63
+ : null,
64
+ polyglot: polyglotFiltered && polyglotReport
65
+ ? {
66
+ total: polyglotReport.violations.length,
67
+ included: polyglotFiltered.includedViolations,
68
+ ignoredLegacyCount: polyglotFiltered.ignoredLegacyCount,
69
+ ignoredLegacyByRule: polyglotFiltered.ignoredLegacyByRule,
70
+ languages: polyglotReport.languages,
71
+ }
72
+ : null,
73
+ graphSummary: rules.length > 0 ? summarizeImports(scanImports({ projectRoot })) : null,
74
+ },
75
+ };
76
+ },
77
+ };
@@ -0,0 +1,5 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const listHelpersTool: IToolDefinition;
3
+ export declare const getHelperTool: IToolDefinition;
4
+ export declare const previewHelperPlanTool: IToolDefinition;
5
+ //# sourceMappingURL=r28-helpers.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r28-helpers.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r28-helpers.tool.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,eAAO,MAAM,eAAe,EAAE,eAU7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAoB3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eA2BnC,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Read-only helper previews.
3
+ *
4
+ * list_helpers
5
+ * get_helper
6
+ * preview_helper_plan
7
+ */
8
+ import { buildHelperPlan, HELPERS } from '@shrkcrft/inspector';
9
+ function nextHint(cmd) {
10
+ return `Next: \`${cmd}\` (CLI is the only write path).`;
11
+ }
12
+ export const listHelpersTool = {
13
+ name: 'list_helpers',
14
+ description: 'List available helpers from the helper registry. Read-only.',
15
+ inputSchema: { type: 'object', additionalProperties: false, properties: {} },
16
+ handler() {
17
+ return {
18
+ text: nextHint('shrk helper list'),
19
+ data: HELPERS,
20
+ };
21
+ },
22
+ };
23
+ export const getHelperTool = {
24
+ name: 'get_helper',
25
+ description: 'Get a helper definition (variables, safety flags). Read-only.',
26
+ inputSchema: {
27
+ type: 'object',
28
+ additionalProperties: false,
29
+ required: ['id'],
30
+ properties: { id: { type: 'string' } },
31
+ },
32
+ handler(input) {
33
+ const id = String(input.id ?? '');
34
+ const def = HELPERS.find((h) => h.id === id);
35
+ if (!def) {
36
+ return { text: `Unknown helper id: ${id}`, data: null };
37
+ }
38
+ return {
39
+ text: nextHint(`shrk helper get ${id}`),
40
+ data: def,
41
+ };
42
+ },
43
+ };
44
+ export const previewHelperPlanTool = {
45
+ name: 'preview_helper_plan',
46
+ description: 'Preview a helper plan. Read-only — returns the plan, never writes.',
47
+ inputSchema: {
48
+ type: 'object',
49
+ additionalProperties: false,
50
+ required: ['id'],
51
+ properties: {
52
+ id: { type: 'string' },
53
+ vars: { type: 'object', additionalProperties: { type: 'string' } },
54
+ },
55
+ },
56
+ handler(input, ctx) {
57
+ const id = String(input.id ?? '');
58
+ const vars = (input.vars && typeof input.vars === 'object'
59
+ ? input.vars
60
+ : {});
61
+ try {
62
+ const plan = buildHelperPlan({ helperId: id, projectRoot: ctx.cwd, vars });
63
+ return {
64
+ text: nextHint(`shrk helper plan ${id} --var ${Object.entries(vars).map(([k, v]) => `${k}=${v}`).join(' ')}`),
65
+ data: plan,
66
+ };
67
+ }
68
+ catch (e) {
69
+ return { text: `${e.message}`, data: null };
70
+ }
71
+ },
72
+ };
@@ -0,0 +1,4 @@
1
+ import type { IToolDefinition } from '../server/tool-definition.js';
2
+ export declare const getPackDevStatusTool: IToolDefinition;
3
+ export declare const previewPackTestsTool: IToolDefinition;
4
+ //# sourceMappingURL=r28-pack-author.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r28-pack-author.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r28-pack-author.tool.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAOpE,eAAO,MAAM,oBAAoB,EAAE,eA6BlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eA0BlC,CAAC"}