@shrkcrft/mcp-server 0.1.0-alpha.2
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.
- package/LICENSE +21 -0
- package/README.md +15 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +43 -0
- package/dist/resources/build-resource-list.d.ts +14 -0
- package/dist/resources/build-resource-list.d.ts.map +1 -0
- package/dist/resources/build-resource-list.js +56 -0
- package/dist/resources/index.d.ts +4 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +3 -0
- package/dist/resources/read-resource.d.ts +16 -0
- package/dist/resources/read-resource.d.ts.map +1 -0
- package/dist/resources/read-resource.js +97 -0
- package/dist/resources/resource-uris.d.ts +14 -0
- package/dist/resources/resource-uris.d.ts.map +1 -0
- package/dist/resources/resource-uris.js +38 -0
- package/dist/server/create-mcp-server.d.ts +55 -0
- package/dist/server/create-mcp-server.d.ts.map +1 -0
- package/dist/server/create-mcp-server.js +203 -0
- package/dist/server/http-transport.d.ts +24 -0
- package/dist/server/http-transport.d.ts.map +1 -0
- package/dist/server/http-transport.js +71 -0
- package/dist/server/mcp-server-config.d.ts +10 -0
- package/dist/server/mcp-server-config.d.ts.map +1 -0
- package/dist/server/mcp-server-config.js +3 -0
- package/dist/server/sharkcraft-watcher.d.ts +18 -0
- package/dist/server/sharkcraft-watcher.d.ts.map +1 -0
- package/dist/server/sharkcraft-watcher.js +60 -0
- package/dist/server/tool-definition.d.ts +56 -0
- package/dist/server/tool-definition.d.ts.map +1 -0
- package/dist/server/tool-definition.js +1 -0
- package/dist/server/tool-input-validators.d.ts +18 -0
- package/dist/server/tool-input-validators.d.ts.map +1 -0
- package/dist/server/tool-input-validators.js +115 -0
- package/dist/tools/acceptance-replay.tool.d.ts +3 -0
- package/dist/tools/acceptance-replay.tool.d.ts.map +1 -0
- package/dist/tools/acceptance-replay.tool.js +53 -0
- package/dist/tools/adoption-checkpoint.tool.d.ts +3 -0
- package/dist/tools/adoption-checkpoint.tool.d.ts.map +1 -0
- package/dist/tools/adoption-checkpoint.tool.js +49 -0
- package/dist/tools/agent-brief-chunks.tool.d.ts +6 -0
- package/dist/tools/agent-brief-chunks.tool.d.ts.map +1 -0
- package/dist/tools/agent-brief-chunks.tool.js +326 -0
- package/dist/tools/agent-brief.tool.d.ts +3 -0
- package/dist/tools/agent-brief.tool.d.ts.map +1 -0
- package/dist/tools/agent-brief.tool.js +44 -0
- package/dist/tools/all-tools.d.ts +3 -0
- package/dist/tools/all-tools.d.ts.map +1 -0
- package/dist/tools/all-tools.js +403 -0
- package/dist/tools/architecture-map.tool.d.ts +3 -0
- package/dist/tools/architecture-map.tool.d.ts.map +1 -0
- package/dist/tools/architecture-map.tool.js +22 -0
- package/dist/tools/area-explore.tool.d.ts +3 -0
- package/dist/tools/area-explore.tool.d.ts.map +1 -0
- package/dist/tools/area-explore.tool.js +32 -0
- package/dist/tools/area-map.tool.d.ts +3 -0
- package/dist/tools/area-map.tool.d.ts.map +1 -0
- package/dist/tools/area-map.tool.js +9 -0
- package/dist/tools/bundle-diff.tool.d.ts +3 -0
- package/dist/tools/bundle-diff.tool.d.ts.map +1 -0
- package/dist/tools/bundle-diff.tool.js +37 -0
- package/dist/tools/bundle-replay.tool.d.ts +3 -0
- package/dist/tools/bundle-replay.tool.d.ts.map +1 -0
- package/dist/tools/bundle-replay.tool.js +19 -0
- package/dist/tools/change-intent.tool.d.ts +3 -0
- package/dist/tools/change-intent.tool.d.ts.map +1 -0
- package/dist/tools/change-intent.tool.js +18 -0
- package/dist/tools/check-boundaries.tool.d.ts +3 -0
- package/dist/tools/check-boundaries.tool.d.ts.map +1 -0
- package/dist/tools/check-boundaries.tool.js +37 -0
- package/dist/tools/ci-permissions-fix.tool.d.ts +3 -0
- package/dist/tools/ci-permissions-fix.tool.d.ts.map +1 -0
- package/dist/tools/ci-permissions-fix.tool.js +32 -0
- package/dist/tools/ci-permissions.tool.d.ts +3 -0
- package/dist/tools/ci-permissions.tool.d.ts.map +1 -0
- package/dist/tools/ci-permissions.tool.js +26 -0
- package/dist/tools/ci-scaffold-preview.tool.d.ts +3 -0
- package/dist/tools/ci-scaffold-preview.tool.d.ts.map +1 -0
- package/dist/tools/ci-scaffold-preview.tool.js +63 -0
- package/dist/tools/command-catalog.tool.d.ts +27 -0
- package/dist/tools/command-catalog.tool.d.ts.map +1 -0
- package/dist/tools/command-catalog.tool.js +147 -0
- package/dist/tools/construct-adoption-diff.tool.d.ts +3 -0
- package/dist/tools/construct-adoption-diff.tool.d.ts.map +1 -0
- package/dist/tools/construct-adoption-diff.tool.js +26 -0
- package/dist/tools/construct-adoption.tool.d.ts +4 -0
- package/dist/tools/construct-adoption.tool.d.ts.map +1 -0
- package/dist/tools/construct-adoption.tool.js +37 -0
- package/dist/tools/construct-inference.tool.d.ts +3 -0
- package/dist/tools/construct-inference.tool.d.ts.map +1 -0
- package/dist/tools/construct-inference.tool.js +26 -0
- package/dist/tools/constructs.tool.d.ts +7 -0
- package/dist/tools/constructs.tool.d.ts.map +1 -0
- package/dist/tools/constructs.tool.js +79 -0
- package/dist/tools/create-generation-plan.tool.d.ts +3 -0
- package/dist/tools/create-generation-plan.tool.d.ts.map +1 -0
- package/dist/tools/create-generation-plan.tool.js +48 -0
- package/dist/tools/create-pipeline-plan.tool.d.ts +3 -0
- package/dist/tools/create-pipeline-plan.tool.d.ts.map +1 -0
- package/dist/tools/create-pipeline-plan.tool.js +41 -0
- package/dist/tools/dashboard-summary.tool.d.ts +3 -0
- package/dist/tools/dashboard-summary.tool.d.ts.map +1 -0
- package/dist/tools/dashboard-summary.tool.js +182 -0
- package/dist/tools/dev-session.tool.d.ts +14 -0
- package/dist/tools/dev-session.tool.d.ts.map +1 -0
- package/dist/tools/dev-session.tool.js +167 -0
- package/dist/tools/diagnostics.tool.d.ts +4 -0
- package/dist/tools/diagnostics.tool.d.ts.map +1 -0
- package/dist/tools/diagnostics.tool.js +40 -0
- package/dist/tools/docs-check.tool.d.ts +4 -0
- package/dist/tools/docs-check.tool.d.ts.map +1 -0
- package/dist/tools/docs-check.tool.js +17 -0
- package/dist/tools/doctor-packs.tool.d.ts +3 -0
- package/dist/tools/doctor-packs.tool.d.ts.map +1 -0
- package/dist/tools/doctor-packs.tool.js +30 -0
- package/dist/tools/explain-generation-target.tool.d.ts +3 -0
- package/dist/tools/explain-generation-target.tool.d.ts.map +1 -0
- package/dist/tools/explain-generation-target.tool.js +49 -0
- package/dist/tools/feature-bundle.tool.d.ts +4 -0
- package/dist/tools/feature-bundle.tool.d.ts.map +1 -0
- package/dist/tools/feature-bundle.tool.js +36 -0
- package/dist/tools/get-action-hints.tool.d.ts +3 -0
- package/dist/tools/get-action-hints.tool.d.ts.map +1 -0
- package/dist/tools/get-action-hints.tool.js +43 -0
- package/dist/tools/get-agent-instructions.tool.d.ts +3 -0
- package/dist/tools/get-agent-instructions.tool.d.ts.map +1 -0
- package/dist/tools/get-agent-instructions.tool.js +9 -0
- package/dist/tools/get-ai-readiness-report.tool.d.ts +3 -0
- package/dist/tools/get-ai-readiness-report.tool.d.ts.map +1 -0
- package/dist/tools/get-ai-readiness-report.tool.js +10 -0
- package/dist/tools/get-architecture-constraints.tool.d.ts +3 -0
- package/dist/tools/get-architecture-constraints.tool.d.ts.map +1 -0
- package/dist/tools/get-architecture-constraints.tool.js +20 -0
- package/dist/tools/get-boundary-rule.tool.d.ts +3 -0
- package/dist/tools/get-boundary-rule.tool.d.ts.map +1 -0
- package/dist/tools/get-boundary-rule.tool.js +22 -0
- package/dist/tools/get-coverage-report.tool.d.ts +3 -0
- package/dist/tools/get-coverage-report.tool.d.ts.map +1 -0
- package/dist/tools/get-coverage-report.tool.js +9 -0
- package/dist/tools/get-current-tasks.tool.d.ts +3 -0
- package/dist/tools/get-current-tasks.tool.d.ts.map +1 -0
- package/dist/tools/get-current-tasks.tool.js +19 -0
- package/dist/tools/get-drift-report.tool.d.ts +3 -0
- package/dist/tools/get-drift-report.tool.d.ts.map +1 -0
- package/dist/tools/get-drift-report.tool.js +16 -0
- package/dist/tools/get-graph-node.tool.d.ts +3 -0
- package/dist/tools/get-graph-node.tool.d.ts.map +1 -0
- package/dist/tools/get-graph-node.tool.js +23 -0
- package/dist/tools/get-import-graph-summary.tool.d.ts +3 -0
- package/dist/tools/get-import-graph-summary.tool.d.ts.map +1 -0
- package/dist/tools/get-import-graph-summary.tool.js +10 -0
- package/dist/tools/get-knowledge-graph.tool.d.ts +3 -0
- package/dist/tools/get-knowledge-graph.tool.d.ts.map +1 -0
- package/dist/tools/get-knowledge-graph.tool.js +10 -0
- package/dist/tools/get-knowledge.tool.d.ts +3 -0
- package/dist/tools/get-knowledge.tool.d.ts.map +1 -0
- package/dist/tools/get-knowledge.tool.js +18 -0
- package/dist/tools/get-pack.tool.d.ts +3 -0
- package/dist/tools/get-pack.tool.d.ts.map +1 -0
- package/dist/tools/get-pack.tool.js +33 -0
- package/dist/tools/get-path-convention.tool.d.ts +3 -0
- package/dist/tools/get-path-convention.tool.d.ts.map +1 -0
- package/dist/tools/get-path-convention.tool.js +17 -0
- package/dist/tools/get-pipeline-context.tool.d.ts +3 -0
- package/dist/tools/get-pipeline-context.tool.d.ts.map +1 -0
- package/dist/tools/get-pipeline-context.tool.js +48 -0
- package/dist/tools/get-pipeline.tool.d.ts +3 -0
- package/dist/tools/get-pipeline.tool.d.ts.map +1 -0
- package/dist/tools/get-pipeline.tool.js +17 -0
- package/dist/tools/get-preset.tool.d.ts +3 -0
- package/dist/tools/get-preset.tool.d.ts.map +1 -0
- package/dist/tools/get-preset.tool.js +22 -0
- package/dist/tools/get-project-overview.tool.d.ts +3 -0
- package/dist/tools/get-project-overview.tool.d.ts.map +1 -0
- package/dist/tools/get-project-overview.tool.js +10 -0
- package/dist/tools/get-relevant-context.tool.d.ts +3 -0
- package/dist/tools/get-relevant-context.tool.d.ts.map +1 -0
- package/dist/tools/get-relevant-context.tool.js +55 -0
- package/dist/tools/get-relevant-rules.tool.d.ts +3 -0
- package/dist/tools/get-relevant-rules.tool.d.ts.map +1 -0
- package/dist/tools/get-relevant-rules.tool.js +37 -0
- package/dist/tools/get-repository-commands.tool.d.ts +3 -0
- package/dist/tools/get-repository-commands.tool.d.ts.map +1 -0
- package/dist/tools/get-repository-commands.tool.js +22 -0
- package/dist/tools/get-review-packet.tool.d.ts +3 -0
- package/dist/tools/get-review-packet.tool.d.ts.map +1 -0
- package/dist/tools/get-review-packet.tool.js +26 -0
- package/dist/tools/get-rule.tool.d.ts +3 -0
- package/dist/tools/get-rule.tool.d.ts.map +1 -0
- package/dist/tools/get-rule.tool.js +18 -0
- package/dist/tools/get-security-guidelines.tool.d.ts +3 -0
- package/dist/tools/get-security-guidelines.tool.d.ts.map +1 -0
- package/dist/tools/get-security-guidelines.tool.js +23 -0
- package/dist/tools/get-sessions.tool.d.ts +4 -0
- package/dist/tools/get-sessions.tool.d.ts.map +1 -0
- package/dist/tools/get-sessions.tool.js +41 -0
- package/dist/tools/get-task-packet.tool.d.ts +3 -0
- package/dist/tools/get-task-packet.tool.d.ts.map +1 -0
- package/dist/tools/get-task-packet.tool.js +48 -0
- package/dist/tools/get-template.tool.d.ts +3 -0
- package/dist/tools/get-template.tool.d.ts.map +1 -0
- package/dist/tools/get-template.tool.js +29 -0
- package/dist/tools/get-testing-guidelines.tool.d.ts +3 -0
- package/dist/tools/get-testing-guidelines.tool.d.ts.map +1 -0
- package/dist/tools/get-testing-guidelines.tool.js +22 -0
- package/dist/tools/graph-why.tool.d.ts +3 -0
- package/dist/tools/graph-why.tool.d.ts.map +1 -0
- package/dist/tools/graph-why.tool.js +25 -0
- package/dist/tools/impact-analysis.tool.d.ts +3 -0
- package/dist/tools/impact-analysis.tool.d.ts.map +1 -0
- package/dist/tools/impact-analysis.tool.js +43 -0
- package/dist/tools/import-graph-analysis.tool.d.ts +3 -0
- package/dist/tools/import-graph-analysis.tool.d.ts.map +1 -0
- package/dist/tools/import-graph-analysis.tool.js +9 -0
- package/dist/tools/index.d.ts +10 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +9 -0
- package/dist/tools/inspect-packs.tool.d.ts +3 -0
- package/dist/tools/inspect-packs.tool.d.ts.map +1 -0
- package/dist/tools/inspect-packs.tool.js +31 -0
- package/dist/tools/inspect-sharkcraft-setup.tool.d.ts +3 -0
- package/dist/tools/inspect-sharkcraft-setup.tool.d.ts.map +1 -0
- package/dist/tools/inspect-sharkcraft-setup.tool.js +10 -0
- package/dist/tools/inspect-workspace.tool.d.ts +3 -0
- package/dist/tools/inspect-workspace.tool.d.ts.map +1 -0
- package/dist/tools/inspect-workspace.tool.js +23 -0
- package/dist/tools/install-smoke.tool.d.ts +3 -0
- package/dist/tools/install-smoke.tool.d.ts.map +1 -0
- package/dist/tools/install-smoke.tool.js +15 -0
- package/dist/tools/list-boundary-rules.tool.d.ts +3 -0
- package/dist/tools/list-boundary-rules.tool.d.ts.map +1 -0
- package/dist/tools/list-boundary-rules.tool.js +20 -0
- package/dist/tools/list-knowledge.tool.d.ts +3 -0
- package/dist/tools/list-knowledge.tool.d.ts.map +1 -0
- package/dist/tools/list-knowledge.tool.js +46 -0
- package/dist/tools/list-packs.tool.d.ts +3 -0
- package/dist/tools/list-packs.tool.d.ts.map +1 -0
- package/dist/tools/list-packs.tool.js +19 -0
- package/dist/tools/list-path-conventions.tool.d.ts +3 -0
- package/dist/tools/list-path-conventions.tool.d.ts.map +1 -0
- package/dist/tools/list-path-conventions.tool.js +20 -0
- package/dist/tools/list-pipelines.tool.d.ts +3 -0
- package/dist/tools/list-pipelines.tool.d.ts.map +1 -0
- package/dist/tools/list-pipelines.tool.js +19 -0
- package/dist/tools/list-presets.tool.d.ts +3 -0
- package/dist/tools/list-presets.tool.d.ts.map +1 -0
- package/dist/tools/list-presets.tool.js +26 -0
- package/dist/tools/list-rules.tool.d.ts +3 -0
- package/dist/tools/list-rules.tool.d.ts.map +1 -0
- package/dist/tools/list-rules.tool.js +19 -0
- package/dist/tools/list-templates.tool.d.ts +3 -0
- package/dist/tools/list-templates.tool.d.ts.map +1 -0
- package/dist/tools/list-templates.tool.js +19 -0
- package/dist/tools/onboard-adoption-diff.tool.d.ts +3 -0
- package/dist/tools/onboard-adoption-diff.tool.d.ts.map +1 -0
- package/dist/tools/onboard-adoption-diff.tool.js +29 -0
- package/dist/tools/onboarding.tool.d.ts +7 -0
- package/dist/tools/onboarding.tool.d.ts.map +1 -0
- package/dist/tools/onboarding.tool.js +253 -0
- package/dist/tools/orchestration.tool.d.ts +4 -0
- package/dist/tools/orchestration.tool.d.ts.map +1 -0
- package/dist/tools/orchestration.tool.js +57 -0
- package/dist/tools/ownership.tool.d.ts +4 -0
- package/dist/tools/ownership.tool.d.ts.map +1 -0
- package/dist/tools/ownership.tool.js +31 -0
- package/dist/tools/pack-compat.tool.d.ts +3 -0
- package/dist/tools/pack-compat.tool.d.ts.map +1 -0
- package/dist/tools/pack-compat.tool.js +27 -0
- package/dist/tools/pack-doctor-release.tool.d.ts +3 -0
- package/dist/tools/pack-doctor-release.tool.d.ts.map +1 -0
- package/dist/tools/pack-doctor-release.tool.js +21 -0
- package/dist/tools/pack-release-check.tool.d.ts +3 -0
- package/dist/tools/pack-release-check.tool.d.ts.map +1 -0
- package/dist/tools/pack-release-check.tool.js +17 -0
- package/dist/tools/playbook-script.tool.d.ts +3 -0
- package/dist/tools/playbook-script.tool.d.ts.map +1 -0
- package/dist/tools/playbook-script.tool.js +25 -0
- package/dist/tools/playbooks.tool.d.ts +5 -0
- package/dist/tools/playbooks.tool.d.ts.map +1 -0
- package/dist/tools/playbooks.tool.js +43 -0
- package/dist/tools/policy-report.tool.d.ts +3 -0
- package/dist/tools/policy-report.tool.d.ts.map +1 -0
- package/dist/tools/policy-report.tool.js +10 -0
- package/dist/tools/preview-knowledge-propose.tool.d.ts +3 -0
- package/dist/tools/preview-knowledge-propose.tool.d.ts.map +1 -0
- package/dist/tools/preview-knowledge-propose.tool.js +44 -0
- package/dist/tools/preview-preset-application.tool.d.ts +3 -0
- package/dist/tools/preview-preset-application.tool.d.ts.map +1 -0
- package/dist/tools/preview-preset-application.tool.js +64 -0
- package/dist/tools/quality-baseline-diff.tool.d.ts +3 -0
- package/dist/tools/quality-baseline-diff.tool.d.ts.map +1 -0
- package/dist/tools/quality-baseline-diff.tool.js +18 -0
- package/dist/tools/quality-baseline.tool.d.ts +3 -0
- package/dist/tools/quality-baseline.tool.d.ts.map +1 -0
- package/dist/tools/quality-baseline.tool.js +22 -0
- package/dist/tools/quality-report.tool.d.ts +3 -0
- package/dist/tools/quality-report.tool.d.ts.map +1 -0
- package/dist/tools/quality-report.tool.js +62 -0
- package/dist/tools/r18-extras.tool.d.ts +15 -0
- package/dist/tools/r18-extras.tool.d.ts.map +1 -0
- package/dist/tools/r18-extras.tool.js +209 -0
- package/dist/tools/r19-extras.tool.d.ts +10 -0
- package/dist/tools/r19-extras.tool.d.ts.map +1 -0
- package/dist/tools/r19-extras.tool.js +117 -0
- package/dist/tools/r20-extras.tool.d.ts +4 -0
- package/dist/tools/r20-extras.tool.d.ts.map +1 -0
- package/dist/tools/r20-extras.tool.js +65 -0
- package/dist/tools/r22-extras.tool.d.ts +4 -0
- package/dist/tools/r22-extras.tool.d.ts.map +1 -0
- package/dist/tools/r22-extras.tool.js +42 -0
- package/dist/tools/r23-extras.tool.d.ts +10 -0
- package/dist/tools/r23-extras.tool.d.ts.map +1 -0
- package/dist/tools/r23-extras.tool.js +239 -0
- package/dist/tools/r24-extras.tool.d.ts +9 -0
- package/dist/tools/r24-extras.tool.d.ts.map +1 -0
- package/dist/tools/r24-extras.tool.js +144 -0
- package/dist/tools/r25-extras.tool.d.ts +11 -0
- package/dist/tools/r25-extras.tool.d.ts.map +1 -0
- package/dist/tools/r25-extras.tool.js +186 -0
- package/dist/tools/r26-ingest.tool.d.ts +10 -0
- package/dist/tools/r26-ingest.tool.d.ts.map +1 -0
- package/dist/tools/r26-ingest.tool.js +174 -0
- package/dist/tools/r26-task-context.tool.d.ts +5 -0
- package/dist/tools/r26-task-context.tool.d.ts.map +1 -0
- package/dist/tools/r26-task-context.tool.js +121 -0
- package/dist/tools/r27-polyglot.tool.d.ts +7 -0
- package/dist/tools/r27-polyglot.tool.d.ts.map +1 -0
- package/dist/tools/r27-polyglot.tool.js +139 -0
- package/dist/tools/r28-changed-boundary.tool.d.ts +3 -0
- package/dist/tools/r28-changed-boundary.tool.d.ts.map +1 -0
- package/dist/tools/r28-changed-boundary.tool.js +77 -0
- package/dist/tools/r28-helpers.tool.d.ts +5 -0
- package/dist/tools/r28-helpers.tool.d.ts.map +1 -0
- package/dist/tools/r28-helpers.tool.js +72 -0
- package/dist/tools/r28-pack-author.tool.d.ts +4 -0
- package/dist/tools/r28-pack-author.tool.d.ts.map +1 -0
- package/dist/tools/r28-pack-author.tool.js +67 -0
- package/dist/tools/r28-plugin-lifecycle.tool.d.ts +4 -0
- package/dist/tools/r28-plugin-lifecycle.tool.d.ts.map +1 -0
- package/dist/tools/r28-plugin-lifecycle.tool.js +94 -0
- package/dist/tools/r28-registry-lifecycle.tool.d.ts +3 -0
- package/dist/tools/r28-registry-lifecycle.tool.d.ts.map +1 -0
- package/dist/tools/r28-registry-lifecycle.tool.js +29 -0
- package/dist/tools/r28-runner-policy.tool.d.ts +3 -0
- package/dist/tools/r28-runner-policy.tool.d.ts.map +1 -0
- package/dist/tools/r28-runner-policy.tool.js +16 -0
- package/dist/tools/r29-doctor-suppressions.tool.d.ts +4 -0
- package/dist/tools/r29-doctor-suppressions.tool.d.ts.map +1 -0
- package/dist/tools/r29-doctor-suppressions.tool.js +66 -0
- package/dist/tools/r29-feedback.tool.d.ts +3 -0
- package/dist/tools/r29-feedback.tool.d.ts.map +1 -0
- package/dist/tools/r29-feedback.tool.js +26 -0
- package/dist/tools/r29-knowledge-rename.tool.d.ts +3 -0
- package/dist/tools/r29-knowledge-rename.tool.d.ts.map +1 -0
- package/dist/tools/r29-knowledge-rename.tool.js +51 -0
- package/dist/tools/r29-knowledge-stale.tool.d.ts +4 -0
- package/dist/tools/r29-knowledge-stale.tool.d.ts.map +1 -0
- package/dist/tools/r29-knowledge-stale.tool.js +68 -0
- package/dist/tools/r29-query-resolver.tool.d.ts +4 -0
- package/dist/tools/r29-query-resolver.tool.d.ts.map +1 -0
- package/dist/tools/r29-query-resolver.tool.js +38 -0
- package/dist/tools/r29-template-drift.tool.d.ts +3 -0
- package/dist/tools/r29-template-drift.tool.d.ts.map +1 -0
- package/dist/tools/r29-template-drift.tool.js +29 -0
- package/dist/tools/r30-feedback-rules.tool.d.ts +4 -0
- package/dist/tools/r30-feedback-rules.tool.d.ts.map +1 -0
- package/dist/tools/r30-feedback-rules.tool.js +47 -0
- package/dist/tools/r30-fuzzy-impact.tool.d.ts +3 -0
- package/dist/tools/r30-fuzzy-impact.tool.d.ts.map +1 -0
- package/dist/tools/r30-fuzzy-impact.tool.js +44 -0
- package/dist/tools/r31-changes-pr-ci.tool.d.ts +5 -0
- package/dist/tools/r31-changes-pr-ci.tool.d.ts.map +1 -0
- package/dist/tools/r31-changes-pr-ci.tool.js +82 -0
- package/dist/tools/r31-command-discovery.tool.d.ts +5 -0
- package/dist/tools/r31-command-discovery.tool.d.ts.map +1 -0
- package/dist/tools/r31-command-discovery.tool.js +126 -0
- package/dist/tools/r31-fix-preview.tool.d.ts +4 -0
- package/dist/tools/r31-fix-preview.tool.d.ts.map +1 -0
- package/dist/tools/r31-fix-preview.tool.js +58 -0
- package/dist/tools/r31-ranker-explain.tool.d.ts +4 -0
- package/dist/tools/r31-ranker-explain.tool.d.ts.map +1 -0
- package/dist/tools/r31-ranker-explain.tool.js +69 -0
- package/dist/tools/r31-scaffold-coverage.tool.d.ts +3 -0
- package/dist/tools/r31-scaffold-coverage.tool.d.ts.map +1 -0
- package/dist/tools/r31-scaffold-coverage.tool.js +31 -0
- package/dist/tools/r32-profiles.tool.d.ts +8 -0
- package/dist/tools/r32-profiles.tool.d.ts.map +1 -0
- package/dist/tools/r32-profiles.tool.js +107 -0
- package/dist/tools/r32-project-coupling.tool.d.ts +3 -0
- package/dist/tools/r32-project-coupling.tool.d.ts.map +1 -0
- package/dist/tools/r32-project-coupling.tool.js +38 -0
- package/dist/tools/r33-agent-task-prep.tool.d.ts +3 -0
- package/dist/tools/r33-agent-task-prep.tool.d.ts.map +1 -0
- package/dist/tools/r33-agent-task-prep.tool.js +34 -0
- package/dist/tools/r33-conventions.tool.d.ts +5 -0
- package/dist/tools/r33-conventions.tool.d.ts.map +1 -0
- package/dist/tools/r33-conventions.tool.js +48 -0
- package/dist/tools/r33-dev-cycle-ci-predict.tool.d.ts +4 -0
- package/dist/tools/r33-dev-cycle-ci-predict.tool.d.ts.map +1 -0
- package/dist/tools/r33-dev-cycle-ci-predict.tool.js +44 -0
- package/dist/tools/r33-pack-contributions.tool.d.ts +4 -0
- package/dist/tools/r33-pack-contributions.tool.d.ts.map +1 -0
- package/dist/tools/r33-pack-contributions.tool.js +42 -0
- package/dist/tools/r33-pack-signature.tool.d.ts +3 -0
- package/dist/tools/r33-pack-signature.tool.d.ts.map +1 -0
- package/dist/tools/r33-pack-signature.tool.js +12 -0
- package/dist/tools/r33-routing-helpers.tool.d.ts +6 -0
- package/dist/tools/r33-routing-helpers.tool.d.ts.map +1 -0
- package/dist/tools/r33-routing-helpers.tool.js +63 -0
- package/dist/tools/r33-self-config.tool.d.ts +4 -0
- package/dist/tools/r33-self-config.tool.d.ts.map +1 -0
- package/dist/tools/r33-self-config.tool.js +20 -0
- package/dist/tools/r34-search-unified.tool.d.ts +3 -0
- package/dist/tools/r34-search-unified.tool.d.ts.map +1 -0
- package/dist/tools/r34-search-unified.tool.js +38 -0
- package/dist/tools/r35-registration-hints.tool.d.ts +5 -0
- package/dist/tools/r35-registration-hints.tool.d.ts.map +1 -0
- package/dist/tools/r35-registration-hints.tool.js +69 -0
- package/dist/tools/r57-specs.tool.d.ts +12 -0
- package/dist/tools/r57-specs.tool.d.ts.map +1 -0
- package/dist/tools/r57-specs.tool.js +115 -0
- package/dist/tools/r58-grounding.tool.d.ts +14 -0
- package/dist/tools/r58-grounding.tool.d.ts.map +1 -0
- package/dist/tools/r58-grounding.tool.js +135 -0
- package/dist/tools/recommend-presets.tool.d.ts +3 -0
- package/dist/tools/recommend-presets.tool.d.ts.map +1 -0
- package/dist/tools/recommend-presets.tool.js +31 -0
- package/dist/tools/release-readiness.tool.d.ts +3 -0
- package/dist/tools/release-readiness.tool.d.ts.map +1 -0
- package/dist/tools/release-readiness.tool.js +28 -0
- package/dist/tools/release-smoke.tool.d.ts +3 -0
- package/dist/tools/release-smoke.tool.d.ts.map +1 -0
- package/dist/tools/release-smoke.tool.js +22 -0
- package/dist/tools/render-template-preview.tool.d.ts +3 -0
- package/dist/tools/render-template-preview.tool.d.ts.map +1 -0
- package/dist/tools/render-template-preview.tool.js +40 -0
- package/dist/tools/report-site-preview.tool.d.ts +3 -0
- package/dist/tools/report-site-preview.tool.d.ts.map +1 -0
- package/dist/tools/report-site-preview.tool.js +28 -0
- package/dist/tools/repository-map.tool.d.ts +3 -0
- package/dist/tools/repository-map.tool.d.ts.map +1 -0
- package/dist/tools/repository-map.tool.js +17 -0
- package/dist/tools/repository-stats.tool.d.ts +3 -0
- package/dist/tools/repository-stats.tool.d.ts.map +1 -0
- package/dist/tools/repository-stats.tool.js +28 -0
- package/dist/tools/review-generation-plan.tool.d.ts +3 -0
- package/dist/tools/review-generation-plan.tool.d.ts.map +1 -0
- package/dist/tools/review-generation-plan.tool.js +24 -0
- package/dist/tools/review-packet-v2.tool.d.ts +3 -0
- package/dist/tools/review-packet-v2.tool.d.ts.map +1 -0
- package/dist/tools/review-packet-v2.tool.js +27 -0
- package/dist/tools/run-agent-test.tool.d.ts +4 -0
- package/dist/tools/run-agent-test.tool.d.ts.map +1 -0
- package/dist/tools/run-agent-test.tool.js +28 -0
- package/dist/tools/run-context-test.tool.d.ts +4 -0
- package/dist/tools/run-context-test.tool.d.ts.map +1 -0
- package/dist/tools/run-context-test.tool.js +28 -0
- package/dist/tools/runtime-reports.tool.d.ts +9 -0
- package/dist/tools/runtime-reports.tool.d.ts.map +1 -0
- package/dist/tools/runtime-reports.tool.js +175 -0
- package/dist/tools/safety-audit.tool.d.ts +3 -0
- package/dist/tools/safety-audit.tool.d.ts.map +1 -0
- package/dist/tools/safety-audit.tool.js +42 -0
- package/dist/tools/scaffold-patterns.tool.d.ts +5 -0
- package/dist/tools/scaffold-patterns.tool.d.ts.map +1 -0
- package/dist/tools/scaffold-patterns.tool.js +59 -0
- package/dist/tools/schema-inventory.tool.d.ts +3 -0
- package/dist/tools/schema-inventory.tool.d.ts.map +1 -0
- package/dist/tools/schema-inventory.tool.js +23 -0
- package/dist/tools/search-knowledge.tool.d.ts +3 -0
- package/dist/tools/search-knowledge.tool.d.ts.map +1 -0
- package/dist/tools/search-knowledge.tool.js +42 -0
- package/dist/tools/search-path-conventions.tool.d.ts +3 -0
- package/dist/tools/search-path-conventions.tool.d.ts.map +1 -0
- package/dist/tools/search-path-conventions.tool.js +30 -0
- package/dist/tools/search-templates.tool.d.ts +3 -0
- package/dist/tools/search-templates.tool.d.ts.map +1 -0
- package/dist/tools/search-templates.tool.js +21 -0
- package/dist/tools/search-tuning-explain.tool.d.ts +3 -0
- package/dist/tools/search-tuning-explain.tool.d.ts.map +1 -0
- package/dist/tools/search-tuning-explain.tool.js +17 -0
- package/dist/tools/search-tuning.tool.d.ts +3 -0
- package/dist/tools/search-tuning.tool.d.ts.map +1 -0
- package/dist/tools/search-tuning.tool.js +10 -0
- package/dist/tools/search.tool.d.ts +3 -0
- package/dist/tools/search.tool.d.ts.map +1 -0
- package/dist/tools/search.tool.js +45 -0
- package/dist/tools/self-audit.tool.d.ts +3 -0
- package/dist/tools/self-audit.tool.d.ts.map +1 -0
- package/dist/tools/self-audit.tool.js +28 -0
- package/dist/tools/start-here.tool.d.ts +4 -0
- package/dist/tools/start-here.tool.d.ts.map +1 -0
- package/dist/tools/start-here.tool.js +27 -0
- package/dist/tools/test-impact.tool.d.ts +3 -0
- package/dist/tools/test-impact.tool.d.ts.map +1 -0
- package/dist/tools/test-impact.tool.js +23 -0
- package/package.json +67 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only MCP tool for fuzzy impact resolution.
|
|
3
|
+
*
|
|
4
|
+
* Returns the same `IFuzzyImpactResolution` shape the CLI computes. Never
|
|
5
|
+
* runs the impact engine itself — the human/agent runs `shrk impact
|
|
6
|
+
* <query>` on the CLI.
|
|
7
|
+
*/
|
|
8
|
+
import { resolveFuzzyImpact, warmConstructCache } from '@shrkcrft/inspector';
|
|
9
|
+
function nextHint(cmd) {
|
|
10
|
+
return `Next: \`${cmd}\` (CLI is the only write path).`;
|
|
11
|
+
}
|
|
12
|
+
export const getFuzzyImpactReportTool = {
|
|
13
|
+
name: 'get_fuzzy_impact_report',
|
|
14
|
+
description: 'Resolve a free-form impact query against files / constructs / plugin keys / symbols / templates / helpers / playbooks / knowledge / commands. Returns the resolution + alternatives + suggested follow-up commands. Read-only.',
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
additionalProperties: false,
|
|
18
|
+
required: ['query'],
|
|
19
|
+
properties: {
|
|
20
|
+
query: { type: 'string' },
|
|
21
|
+
limit: { type: 'number' },
|
|
22
|
+
resolveOnly: { type: 'boolean' },
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
async handler(input, ctx) {
|
|
26
|
+
const query = String(input.query ?? '');
|
|
27
|
+
try {
|
|
28
|
+
await warmConstructCache(ctx.inspection);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// best-effort
|
|
32
|
+
}
|
|
33
|
+
const limit = typeof input.limit === 'number' ? input.limit : undefined;
|
|
34
|
+
const resolveOnly = Boolean(input.resolveOnly);
|
|
35
|
+
const resolution = resolveFuzzyImpact(ctx.inspection, query, {
|
|
36
|
+
...(limit ? { limit } : {}),
|
|
37
|
+
resolveOnly,
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
text: nextHint(`shrk impact ${query}${resolveOnly ? ' --resolve-only' : ''}`),
|
|
41
|
+
data: resolution,
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IToolDefinition } from '../server/tool-definition.js';
|
|
2
|
+
export declare const getChangesSummaryTool: IToolDefinition;
|
|
3
|
+
export declare const getPrSummaryPreviewTool: IToolDefinition;
|
|
4
|
+
export declare const getCiIntegrityReportTool: IToolDefinition;
|
|
5
|
+
//# sourceMappingURL=r31-changes-pr-ci.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r31-changes-pr-ci.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r31-changes-pr-ci.tool.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAYpE,eAAO,MAAM,qBAAqB,EAAE,eAgBnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,eAkCrC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,eAoBtC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only MCP tools for changes summary, PR summary, CI integrity.
|
|
3
|
+
*/
|
|
4
|
+
import { buildChangesSummary, buildCiIntegrityReport, buildPrSummary, } from '@shrkcrft/inspector';
|
|
5
|
+
const DIFF_INPUT_SCHEMA = {
|
|
6
|
+
type: 'object',
|
|
7
|
+
additionalProperties: false,
|
|
8
|
+
properties: {
|
|
9
|
+
since: { type: 'string' },
|
|
10
|
+
staged: { type: 'boolean' },
|
|
11
|
+
files: { type: 'array', items: { type: 'string' } },
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
export const getChangesSummaryTool = {
|
|
15
|
+
name: 'get_changes_summary',
|
|
16
|
+
description: 'Grouped changes summary over --since / --staged / --files. Returns area breakdown + risk verdict + suggested validation commands. Read-only.',
|
|
17
|
+
inputSchema: DIFF_INPUT_SCHEMA,
|
|
18
|
+
async handler(input, ctx) {
|
|
19
|
+
const opts = {};
|
|
20
|
+
if (typeof input.since === 'string')
|
|
21
|
+
opts.since = input.since;
|
|
22
|
+
if (input.staged === true)
|
|
23
|
+
opts.staged = true;
|
|
24
|
+
if (Array.isArray(input.files))
|
|
25
|
+
opts.files = input.files;
|
|
26
|
+
const report = await buildChangesSummary(ctx.inspection, opts);
|
|
27
|
+
return {
|
|
28
|
+
text: 'Next: `shrk changes summary --since <ref>` (CLI is the only write path).',
|
|
29
|
+
data: report,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
export const getPrSummaryPreviewTool = {
|
|
34
|
+
name: 'get_pr_summary_preview',
|
|
35
|
+
description: 'Render a PR description preview from the working-tree changes + reports under .sharkcraft/reports. Read-only.',
|
|
36
|
+
inputSchema: {
|
|
37
|
+
type: 'object',
|
|
38
|
+
additionalProperties: false,
|
|
39
|
+
properties: {
|
|
40
|
+
since: { type: 'string' },
|
|
41
|
+
staged: { type: 'boolean' },
|
|
42
|
+
files: { type: 'array', items: { type: 'string' } },
|
|
43
|
+
maxItems: { type: 'number' },
|
|
44
|
+
reportsDir: { type: 'string' },
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
async handler(input, ctx) {
|
|
48
|
+
const opts = {};
|
|
49
|
+
if (typeof input.since === 'string')
|
|
50
|
+
opts.since = input.since;
|
|
51
|
+
if (input.staged === true)
|
|
52
|
+
opts.staged = true;
|
|
53
|
+
if (Array.isArray(input.files))
|
|
54
|
+
opts.files = input.files;
|
|
55
|
+
if (typeof input.maxItems === 'number')
|
|
56
|
+
opts.maxItems = input.maxItems;
|
|
57
|
+
if (typeof input.reportsDir === 'string')
|
|
58
|
+
opts.reportsDir = input.reportsDir;
|
|
59
|
+
const report = await buildPrSummary(ctx.inspection, opts);
|
|
60
|
+
return {
|
|
61
|
+
text: 'Next: `shrk pr summary --since <ref>` (CLI writes only when --output is passed).',
|
|
62
|
+
data: report,
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
export const getCiIntegrityReportTool = {
|
|
67
|
+
name: 'get_ci_integrity_report',
|
|
68
|
+
description: 'Aggregate the JSON reports under .sharkcraft/reports into a single CI integrity verdict. Read-only.',
|
|
69
|
+
inputSchema: {
|
|
70
|
+
type: 'object',
|
|
71
|
+
additionalProperties: false,
|
|
72
|
+
properties: { reportsDir: { type: 'string' } },
|
|
73
|
+
},
|
|
74
|
+
async handler(input, ctx) {
|
|
75
|
+
const reportsDir = typeof input.reportsDir === 'string' ? input.reportsDir : undefined;
|
|
76
|
+
const report = buildCiIntegrityReport(ctx.inspection.projectRoot, reportsDir ? { reportsDir } : {});
|
|
77
|
+
return {
|
|
78
|
+
text: 'Next: `shrk ci report --format markdown` (CLI is the only write path).',
|
|
79
|
+
data: report,
|
|
80
|
+
};
|
|
81
|
+
},
|
|
82
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IToolDefinition } from '../server/tool-definition.js';
|
|
2
|
+
export declare const suggestCommandsTool: IToolDefinition;
|
|
3
|
+
export declare const searchCommandsTool: IToolDefinition;
|
|
4
|
+
export declare const explainCommandTool: IToolDefinition;
|
|
5
|
+
//# sourceMappingURL=r31-command-discovery.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r31-command-discovery.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r31-command-discovery.tool.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAgCpE,eAAO,MAAM,mBAAmB,EAAE,eAsBjC,CAAC;AA8BF,eAAO,MAAM,kBAAkB,EAAE,eA+BhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAShC,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only MCP tools for command discovery.
|
|
3
|
+
*
|
|
4
|
+
* `suggest_commands` — fuzzy-tolerant suggestions for a partial command.
|
|
5
|
+
* `search_commands` — substring + keyword search across the catalog.
|
|
6
|
+
*
|
|
7
|
+
* Both are read-only. MCP does not execute the suggested commands.
|
|
8
|
+
*/
|
|
9
|
+
import { explainCommand, suggestCommands, } from '@shrkcrft/inspector';
|
|
10
|
+
import { COMMAND_CATALOG_EXPORT } from "./command-catalog.tool.js";
|
|
11
|
+
const COMMAND_CATALOG = COMMAND_CATALOG_EXPORT.map((e) => ({
|
|
12
|
+
command: e.command,
|
|
13
|
+
description: e.description,
|
|
14
|
+
category: e.category,
|
|
15
|
+
safetyLevel: e.safetyLevel,
|
|
16
|
+
writesFiles: e.writesFiles,
|
|
17
|
+
writesSource: e.writesSource,
|
|
18
|
+
runsShell: e.runsShell,
|
|
19
|
+
requiresReview: e.requiresReview,
|
|
20
|
+
mcpAvailable: e.mcpAvailable,
|
|
21
|
+
aliases: e.aliases,
|
|
22
|
+
}));
|
|
23
|
+
const INPUT_SCHEMA = {
|
|
24
|
+
type: 'object',
|
|
25
|
+
additionalProperties: false,
|
|
26
|
+
required: ['query'],
|
|
27
|
+
properties: {
|
|
28
|
+
query: { type: 'string', description: 'Partial command, typo, or keyword.' },
|
|
29
|
+
limit: { type: 'number', description: 'Cap results. Default 10.' },
|
|
30
|
+
safeOnly: { type: 'boolean', description: 'Exclude commands that write source.' },
|
|
31
|
+
mcpSafeOnly: { type: 'boolean', description: 'Only include commands callable via MCP.' },
|
|
32
|
+
category: { type: 'string', description: 'Filter to a single category.' },
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
function next(hint) {
|
|
36
|
+
return `Next: \`${hint}\` (CLI is the only write path).`;
|
|
37
|
+
}
|
|
38
|
+
export const suggestCommandsTool = {
|
|
39
|
+
name: 'suggest_commands',
|
|
40
|
+
description: 'Typo-tolerant suggestions for a partial command (e.g. "knowlege" → "knowledge"). Read-only. Results are annotated with `tier` and `gatedDefault`; experimental commands need `shrk surface enable <cmd>` before they can be called.',
|
|
41
|
+
inputSchema: INPUT_SCHEMA,
|
|
42
|
+
async handler(input) {
|
|
43
|
+
const query = String(input.query ?? '');
|
|
44
|
+
const limit = typeof input.limit === 'number' ? input.limit : 10;
|
|
45
|
+
const safeOnly = !!input.safeOnly;
|
|
46
|
+
const mcpSafeOnly = !!input.mcpSafeOnly;
|
|
47
|
+
const category = typeof input.category === 'string' ? input.category : undefined;
|
|
48
|
+
const result = suggestCommands(COMMAND_CATALOG, query, {
|
|
49
|
+
limit,
|
|
50
|
+
safeOnly,
|
|
51
|
+
mcpSafeOnly,
|
|
52
|
+
...(category ? { category } : {}),
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
text: next(`shrk commands suggest "${query}"`),
|
|
56
|
+
data: annotateSuggestResult(result),
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Annotate suggestCommands output with tier info from
|
|
62
|
+
* the catalog snapshot. The snapshot doesn't know the project's
|
|
63
|
+
* surface config, so `gatedDefault: true` means "tier=experimental
|
|
64
|
+
* in the static catalog; the host CLI may have enabled it via
|
|
65
|
+
* surface.enabled[]." Agents should check `get_command_catalog` (or
|
|
66
|
+
* the host's `shrk surface list`) to confirm before invocation.
|
|
67
|
+
*/
|
|
68
|
+
function annotateSuggestResult(result) {
|
|
69
|
+
const r = result;
|
|
70
|
+
const suggestions = (r.suggestions ?? []).map((s) => {
|
|
71
|
+
const entry = COMMAND_CATALOG.find((c) => c.command === s.command);
|
|
72
|
+
const tier = entry?.tier ?? 'extended';
|
|
73
|
+
return {
|
|
74
|
+
...s,
|
|
75
|
+
tier,
|
|
76
|
+
gatedDefault: tier === 'experimental',
|
|
77
|
+
...(tier === 'experimental' ? { enableHint: `shrk surface enable ${s.command} --write` } : {}),
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
return {
|
|
81
|
+
...result,
|
|
82
|
+
suggestions,
|
|
83
|
+
gatingHint: 'Tier values are best-effort from the static catalog. Confirm with `get_command_catalog` or `shrk surface list` in the host project before invoking experimental commands.',
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export const searchCommandsTool = {
|
|
87
|
+
name: 'search_commands',
|
|
88
|
+
description: 'Search the command catalog by substring or keyword. Returns matching commands with safety + MCP availability metadata. Read-only.',
|
|
89
|
+
inputSchema: INPUT_SCHEMA,
|
|
90
|
+
async handler(input) {
|
|
91
|
+
const query = String(input.query ?? '').toLowerCase();
|
|
92
|
+
const limit = typeof input.limit === 'number' ? input.limit : 25;
|
|
93
|
+
const safeOnly = !!input.safeOnly;
|
|
94
|
+
const mcpSafeOnly = !!input.mcpSafeOnly;
|
|
95
|
+
const category = typeof input.category === 'string' ? input.category : undefined;
|
|
96
|
+
let filtered = COMMAND_CATALOG.filter((c) => !query ||
|
|
97
|
+
c.command.toLowerCase().includes(query) ||
|
|
98
|
+
c.description.toLowerCase().includes(query) ||
|
|
99
|
+
c.aliases.some((a) => a.toLowerCase().includes(query)));
|
|
100
|
+
if (safeOnly)
|
|
101
|
+
filtered = filtered.filter((c) => !c.writesSource);
|
|
102
|
+
if (mcpSafeOnly)
|
|
103
|
+
filtered = filtered.filter((c) => c.mcpAvailable);
|
|
104
|
+
if (category)
|
|
105
|
+
filtered = filtered.filter((c) => c.category === category);
|
|
106
|
+
return {
|
|
107
|
+
text: next(`shrk commands search "${query}"`),
|
|
108
|
+
data: {
|
|
109
|
+
schema: 'sharkcraft.command-search/v1',
|
|
110
|
+
query,
|
|
111
|
+
count: filtered.length,
|
|
112
|
+
results: filtered.slice(0, limit),
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
export const explainCommandTool = {
|
|
118
|
+
name: 'explain_command',
|
|
119
|
+
description: 'Explain a command — exact catalog entry + near matches. Read-only.',
|
|
120
|
+
inputSchema: INPUT_SCHEMA,
|
|
121
|
+
async handler(input) {
|
|
122
|
+
const query = String(input.query ?? '');
|
|
123
|
+
const report = explainCommand(COMMAND_CATALOG, query);
|
|
124
|
+
return { text: next(`shrk commands explain "${query}"`), data: report };
|
|
125
|
+
},
|
|
126
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r31-fix-preview.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r31-fix-preview.tool.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,cAAc,EAAE,eAkC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAU9B,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only MCP tools for the fix-preview system.
|
|
3
|
+
*
|
|
4
|
+
* `preview_fix` — return structured fix suggestions for a kind subset.
|
|
5
|
+
* `list_fix_kinds` — return the supported fix kinds.
|
|
6
|
+
*
|
|
7
|
+
* Read-only. No source mutations. The CLI is the only path that writes
|
|
8
|
+
* previews (and only under `.sharkcraft/fixes/`).
|
|
9
|
+
*/
|
|
10
|
+
import { buildFixPreview, FixKind, listFixKinds } from '@shrkcrft/inspector';
|
|
11
|
+
export const previewFixTool = {
|
|
12
|
+
name: 'preview_fix',
|
|
13
|
+
description: 'Return fix-preview suggestions for action hints / stale knowledge / template drift. Read-only.',
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: 'object',
|
|
16
|
+
additionalProperties: false,
|
|
17
|
+
properties: {
|
|
18
|
+
kinds: {
|
|
19
|
+
type: 'array',
|
|
20
|
+
items: { type: 'string' },
|
|
21
|
+
description: 'Subset of fix kinds (action-hints, knowledge-stale, template-drift).',
|
|
22
|
+
},
|
|
23
|
+
target: { type: 'string', description: 'Optional target id filter.' },
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
async handler(input, ctx) {
|
|
27
|
+
const kindsRaw = Array.isArray(input.kinds) ? input.kinds : [];
|
|
28
|
+
const kinds = [];
|
|
29
|
+
for (const k of kindsRaw) {
|
|
30
|
+
if (k === 'action-hints')
|
|
31
|
+
kinds.push(FixKind.ActionHints);
|
|
32
|
+
if (k === 'knowledge-stale')
|
|
33
|
+
kinds.push(FixKind.KnowledgeStale);
|
|
34
|
+
if (k === 'template-drift')
|
|
35
|
+
kinds.push(FixKind.TemplateDrift);
|
|
36
|
+
}
|
|
37
|
+
const report = buildFixPreview(ctx.inspection, kinds.length > 0 ? { kinds } : {});
|
|
38
|
+
const target = typeof input.target === 'string' ? input.target : undefined;
|
|
39
|
+
const suggestions = target
|
|
40
|
+
? report.suggestions.filter((s) => s.targetId === target)
|
|
41
|
+
: report.suggestions;
|
|
42
|
+
return {
|
|
43
|
+
text: 'Next: `shrk fix preview` (preview-only). To write, add `--write-preview` (writes only under .sharkcraft/fixes).',
|
|
44
|
+
data: { ...report, suggestions },
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
export const listFixKindsTool = {
|
|
49
|
+
name: 'list_fix_kinds',
|
|
50
|
+
description: 'List supported fix kinds for `shrk fix preview` (read-only).',
|
|
51
|
+
inputSchema: { type: 'object', additionalProperties: false, properties: {} },
|
|
52
|
+
async handler() {
|
|
53
|
+
return {
|
|
54
|
+
text: 'Next: `shrk fix list`',
|
|
55
|
+
data: { schema: 'sharkcraft.fix-kinds/v1', kinds: listFixKinds() },
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r31-ranker-explain.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r31-ranker-explain.tool.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAyBpE,eAAO,MAAM,wBAAwB,EAAE,eAoBtC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAoBjC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only MCP tools for ranker explainability.
|
|
3
|
+
*
|
|
4
|
+
* `get_ranker_explanation` answers "why was id X included for task Y?".
|
|
5
|
+
* `get_ranker_why_not` answers "why wasn't id X included for task Y?".
|
|
6
|
+
*
|
|
7
|
+
* Both are read-only. No writes; the CLI is the only write path.
|
|
8
|
+
*/
|
|
9
|
+
import { explainRankerDecision } from '@shrkcrft/inspector';
|
|
10
|
+
function nextHint(id, task, whyNot) {
|
|
11
|
+
const cmd = whyNot ? 'why-not' : 'why';
|
|
12
|
+
const t = task ? ` --for-task "${task}"` : '';
|
|
13
|
+
return `Next: \`shrk ${cmd} ${id}${t}\` (CLI is the only write path).`;
|
|
14
|
+
}
|
|
15
|
+
const REQUEST_SCHEMA = {
|
|
16
|
+
type: 'object',
|
|
17
|
+
additionalProperties: false,
|
|
18
|
+
required: ['id'],
|
|
19
|
+
properties: {
|
|
20
|
+
id: { type: 'string', description: 'Target id to explain.' },
|
|
21
|
+
task: { type: 'string', description: 'Free-form task description.' },
|
|
22
|
+
query: { type: 'string', description: 'Free-form search query.' },
|
|
23
|
+
kind: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'Optional kind hint (knowledge|template|rule|helper|playbook|construct|policy|command|path|preset|pipeline).',
|
|
26
|
+
},
|
|
27
|
+
topN: { type: 'number', description: 'Top-N considered for inclusion. Default 10.' },
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export const getRankerExplanationTool = {
|
|
31
|
+
name: 'get_ranker_explanation',
|
|
32
|
+
description: 'Explain how the deterministic ranker scored an id for a given task or query. Returns matched/missing signals, score, rank, outranked-by, suggested metadata fixes. Read-only.',
|
|
33
|
+
inputSchema: REQUEST_SCHEMA,
|
|
34
|
+
async handler(input, ctx) {
|
|
35
|
+
const id = String(input.id ?? '');
|
|
36
|
+
const task = typeof input.task === 'string' ? input.task : undefined;
|
|
37
|
+
const query = typeof input.query === 'string' ? input.query : undefined;
|
|
38
|
+
const kindRaw = typeof input.kind === 'string' ? input.kind : undefined;
|
|
39
|
+
const topN = typeof input.topN === 'number' ? input.topN : 10;
|
|
40
|
+
const request = {
|
|
41
|
+
id,
|
|
42
|
+
...(task ? { task } : {}),
|
|
43
|
+
...(query ? { query } : {}),
|
|
44
|
+
...(kindRaw ? { kind: kindRaw } : {}),
|
|
45
|
+
};
|
|
46
|
+
const report = explainRankerDecision(ctx.inspection, request, { whyNot: false, topN });
|
|
47
|
+
return { text: nextHint(id, task, false), data: report };
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
export const getRankerWhyNotTool = {
|
|
51
|
+
name: 'get_ranker_why_not',
|
|
52
|
+
description: 'Explain why the deterministic ranker did NOT include an id for a given task or query. Returns nearest ids when the target is missing entirely. Read-only.',
|
|
53
|
+
inputSchema: REQUEST_SCHEMA,
|
|
54
|
+
async handler(input, ctx) {
|
|
55
|
+
const id = String(input.id ?? '');
|
|
56
|
+
const task = typeof input.task === 'string' ? input.task : undefined;
|
|
57
|
+
const query = typeof input.query === 'string' ? input.query : undefined;
|
|
58
|
+
const kindRaw = typeof input.kind === 'string' ? input.kind : undefined;
|
|
59
|
+
const topN = typeof input.topN === 'number' ? input.topN : 10;
|
|
60
|
+
const request = {
|
|
61
|
+
id,
|
|
62
|
+
...(task ? { task } : {}),
|
|
63
|
+
...(query ? { query } : {}),
|
|
64
|
+
...(kindRaw ? { kind: kindRaw } : {}),
|
|
65
|
+
};
|
|
66
|
+
const report = explainRankerDecision(ctx.inspection, request, { whyNot: true, topN });
|
|
67
|
+
return { text: nextHint(id, task, true), data: report };
|
|
68
|
+
},
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r31-scaffold-coverage.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r31-scaffold-coverage.tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,6BAA6B,EAAE,eA2B3C,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only MCP tool for scaffold coverage gaps.
|
|
3
|
+
*/
|
|
4
|
+
import { buildScaffoldCoverageReport } from '@shrkcrft/inspector';
|
|
5
|
+
export const getScaffoldCoverageReportTool = {
|
|
6
|
+
name: 'get_scaffold_coverage_report',
|
|
7
|
+
description: 'Coverage-gap analysis for a task/domain across knowledge/rules/paths/templates/scaffold-patterns/playbooks/helpers/validation-commands. Read-only.',
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
additionalProperties: false,
|
|
11
|
+
properties: {
|
|
12
|
+
task: { type: 'string' },
|
|
13
|
+
domain: { type: 'string' },
|
|
14
|
+
topN: { type: 'number' },
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
async handler(input, ctx) {
|
|
18
|
+
const task = typeof input.task === 'string' ? input.task : undefined;
|
|
19
|
+
const domain = typeof input.domain === 'string' ? input.domain : undefined;
|
|
20
|
+
const topN = typeof input.topN === 'number' ? input.topN : 8;
|
|
21
|
+
const report = await buildScaffoldCoverageReport(ctx.inspection, {
|
|
22
|
+
...(task ? { task } : {}),
|
|
23
|
+
...(domain ? { domain } : {}),
|
|
24
|
+
topN,
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
text: `Next: \`shrk coverage scaffolds --task "${task ?? domain ?? '<task>'}"\``,
|
|
28
|
+
data: report,
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IToolDefinition } from '../server/tool-definition.js';
|
|
2
|
+
export declare const listProfilesTool: IToolDefinition;
|
|
3
|
+
export declare const getProfileTool: IToolDefinition;
|
|
4
|
+
export declare const getProfilesDoctorTool: IToolDefinition;
|
|
5
|
+
export declare const listPluginLifecycleProfilesTool: IToolDefinition;
|
|
6
|
+
export declare const getPluginLifecycleProfileTool: IToolDefinition;
|
|
7
|
+
export declare const getPluginLifecycleProfileDoctorTool: IToolDefinition;
|
|
8
|
+
//# sourceMappingURL=r32-profiles.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r32-profiles.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r32-profiles.tool.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,gBAAgB,EAAE,eAe9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAsB5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eAOnC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,eAO7C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,eAmB3C,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,eAqBjD,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only MCP tools for profiles + lifecycle profiles.
|
|
3
|
+
*
|
|
4
|
+
* Engine never writes from MCP. These tools surface pack-contributed and
|
|
5
|
+
* locally configured profiles so an agent can decide which one to pass to
|
|
6
|
+
* `shrk plugin rename|remove --profile <id>` (the human runs the CLI).
|
|
7
|
+
*/
|
|
8
|
+
import { checkPluginLifecycleProfileHealth, findProfile, listProfileIssues, listProfiles, listPluginLifecycleProfiles, ProfileKind, } from '@shrkcrft/inspector';
|
|
9
|
+
export const listProfilesTool = {
|
|
10
|
+
name: 'list_profiles',
|
|
11
|
+
description: 'List all pack-contributed and locally configured profiles. Read-only.',
|
|
12
|
+
inputSchema: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
additionalProperties: false,
|
|
15
|
+
properties: { kind: { type: 'string' } },
|
|
16
|
+
},
|
|
17
|
+
async handler(input, ctx) {
|
|
18
|
+
const kindArg = typeof input.kind === 'string' ? input.kind : undefined;
|
|
19
|
+
const kind = kindArg && Object.values(ProfileKind).includes(kindArg)
|
|
20
|
+
? kindArg
|
|
21
|
+
: undefined;
|
|
22
|
+
return { data: await listProfiles(ctx.inspection, kind ? { kind } : {}) };
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
export const getProfileTool = {
|
|
26
|
+
name: 'get_profile',
|
|
27
|
+
description: 'Get one profile by id (and optional kind). Read-only.',
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
additionalProperties: false,
|
|
31
|
+
required: ['id'],
|
|
32
|
+
properties: { id: { type: 'string' }, kind: { type: 'string' } },
|
|
33
|
+
},
|
|
34
|
+
async handler(input, ctx) {
|
|
35
|
+
const id = typeof input.id === 'string' ? input.id : '';
|
|
36
|
+
if (!id)
|
|
37
|
+
return { isError: true, error: { code: 'invalid-input', message: 'id is required.' } };
|
|
38
|
+
const kindArg = typeof input.kind === 'string' ? input.kind : undefined;
|
|
39
|
+
const kind = kindArg && Object.values(ProfileKind).includes(kindArg)
|
|
40
|
+
? kindArg
|
|
41
|
+
: undefined;
|
|
42
|
+
const entry = await findProfile(ctx.inspection, id, kind);
|
|
43
|
+
if (!entry) {
|
|
44
|
+
return { isError: true, error: { code: 'not-found', message: `Unknown profile id "${id}"${kind ? ` (kind=${kind})` : ''}.` } };
|
|
45
|
+
}
|
|
46
|
+
return { data: entry };
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
export const getProfilesDoctorTool = {
|
|
50
|
+
name: 'get_profiles_doctor',
|
|
51
|
+
description: 'Profile registry doctor — surface load issues across all profile kinds. Read-only.',
|
|
52
|
+
inputSchema: { type: 'object', additionalProperties: false, properties: {} },
|
|
53
|
+
async handler(_input, ctx) {
|
|
54
|
+
return { data: { issues: await listProfileIssues(ctx.inspection) } };
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
export const listPluginLifecycleProfilesTool = {
|
|
58
|
+
name: 'list_plugin_lifecycle_profiles',
|
|
59
|
+
description: 'List registered plugin lifecycle profiles. Read-only.',
|
|
60
|
+
inputSchema: { type: 'object', additionalProperties: false, properties: {} },
|
|
61
|
+
async handler(_input, ctx) {
|
|
62
|
+
return { data: await listPluginLifecycleProfiles(ctx.inspection) };
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
export const getPluginLifecycleProfileTool = {
|
|
66
|
+
name: 'get_plugin_lifecycle_profile',
|
|
67
|
+
description: 'Get one plugin lifecycle profile by id. Read-only.',
|
|
68
|
+
inputSchema: {
|
|
69
|
+
type: 'object',
|
|
70
|
+
additionalProperties: false,
|
|
71
|
+
required: ['id'],
|
|
72
|
+
properties: { id: { type: 'string' } },
|
|
73
|
+
},
|
|
74
|
+
async handler(input, ctx) {
|
|
75
|
+
const id = typeof input.id === 'string' ? input.id : '';
|
|
76
|
+
if (!id)
|
|
77
|
+
return { isError: true, error: { code: 'invalid-input', message: 'id is required.' } };
|
|
78
|
+
const entries = await listPluginLifecycleProfiles(ctx.inspection);
|
|
79
|
+
const entry = entries.find((e) => e.profile.id === id);
|
|
80
|
+
if (!entry) {
|
|
81
|
+
return { isError: true, error: { code: 'not-found', message: `Unknown lifecycle profile "${id}".` } };
|
|
82
|
+
}
|
|
83
|
+
return { data: entry };
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
export const getPluginLifecycleProfileDoctorTool = {
|
|
87
|
+
name: 'get_plugin_lifecycle_profile_doctor',
|
|
88
|
+
description: 'Health check for plugin lifecycle profiles. Read-only.',
|
|
89
|
+
inputSchema: {
|
|
90
|
+
type: 'object',
|
|
91
|
+
additionalProperties: false,
|
|
92
|
+
properties: { id: { type: 'string' } },
|
|
93
|
+
},
|
|
94
|
+
async handler(input, ctx) {
|
|
95
|
+
const id = typeof input.id === 'string' ? input.id : undefined;
|
|
96
|
+
const entries = await listPluginLifecycleProfiles(ctx.inspection);
|
|
97
|
+
const targets = id ? entries.filter((e) => e.profile.id === id) : entries;
|
|
98
|
+
if (id && targets.length === 0) {
|
|
99
|
+
return { isError: true, error: { code: 'not-found', message: `Unknown lifecycle profile "${id}".` } };
|
|
100
|
+
}
|
|
101
|
+
const health = {};
|
|
102
|
+
for (const e of targets) {
|
|
103
|
+
health[e.profile.id] = checkPluginLifecycleProfileHealth(ctx.cwd, e.profile);
|
|
104
|
+
}
|
|
105
|
+
return { data: { health } };
|
|
106
|
+
},
|
|
107
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r32-project-coupling.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r32-project-coupling.tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,4BAA4B,EAAE,eAkC1C,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only project-specific coupling audit.
|
|
3
|
+
*/
|
|
4
|
+
import { auditProjectCoupling } from '@shrkcrft/inspector';
|
|
5
|
+
export const getProjectCouplingReportTool = {
|
|
6
|
+
name: 'get_project_coupling_report',
|
|
7
|
+
description: 'Scan the workspace for project-specific tokens (caller-supplied identifiers like legacy library paths or key-table names) and report each occurrence with a recommended externalization target. Read-only.',
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
additionalProperties: false,
|
|
11
|
+
required: ['tokens'],
|
|
12
|
+
properties: {
|
|
13
|
+
tokens: { type: 'array' },
|
|
14
|
+
scanRoots: { type: 'array' },
|
|
15
|
+
excludeRoots: { type: 'array' },
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
async handler(input, ctx) {
|
|
19
|
+
const raw = input.tokens;
|
|
20
|
+
const tokens = Array.isArray(raw) ? raw.filter((t) => typeof t === 'string') : [];
|
|
21
|
+
if (tokens.length === 0) {
|
|
22
|
+
return { isError: true, error: { code: 'invalid-input', message: 'tokens must be a non-empty array of strings.' } };
|
|
23
|
+
}
|
|
24
|
+
const scanRoots = Array.isArray(input.scanRoots)
|
|
25
|
+
? input.scanRoots.filter((r) => typeof r === 'string')
|
|
26
|
+
: undefined;
|
|
27
|
+
const excludeRoots = Array.isArray(input.excludeRoots)
|
|
28
|
+
? input.excludeRoots.filter((r) => typeof r === 'string')
|
|
29
|
+
: undefined;
|
|
30
|
+
const report = auditProjectCoupling({
|
|
31
|
+
projectRoot: ctx.cwd,
|
|
32
|
+
tokens,
|
|
33
|
+
...(scanRoots ? { scanRoots } : {}),
|
|
34
|
+
...(excludeRoots ? { excludeRoots } : {}),
|
|
35
|
+
});
|
|
36
|
+
return { data: report };
|
|
37
|
+
},
|
|
38
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r33-agent-task-prep.tool.d.ts","sourceRoot":"","sources":["../../src/tools/r33-agent-task-prep.tool.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,oBAAoB,EAAE,eA0BlC,CAAC"}
|