@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.
- 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 +209 -0
- package/dist/server/http-transport.d.ts +29 -0
- package/dist/server/http-transport.d.ts.map +1 -0
- package/dist/server/http-transport.js +75 -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 +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-summary.tool.d.ts","sourceRoot":"","sources":["../../src/tools/dashboard-summary.tool.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAUpE,eAAO,MAAM,uBAAuB,EAAE,eA0LrC,CAAC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { buildAreaMap, buildAiReadinessReport, buildCoverageReport, buildDriftReport, buildQualityReport, buildReleaseReadiness, buildSafetyAudit, evaluatePolicy, listConstructs, listDevSessionsDetailed, listFeatureBundles, listPlaybooks, } from '@shrkcrft/inspector';
|
|
2
|
+
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
3
|
+
import * as nodePath from 'node:path';
|
|
4
|
+
// DX#4 — derive audit view from ALL_TOOLS at runtime.
|
|
5
|
+
import { ALL_TOOLS } from "./all-tools.js";
|
|
6
|
+
export const getDashboardSummaryTool = {
|
|
7
|
+
name: 'get_dashboard_summary',
|
|
8
|
+
description: 'Compact dashboard summary aggregating quality, safety, readiness, coverage, drift, packs, sessions, bundles, command-safety totals, and recommended next commands. Read-only.',
|
|
9
|
+
inputSchema: {
|
|
10
|
+
type: 'object',
|
|
11
|
+
properties: {
|
|
12
|
+
includeRecentSessions: { type: 'boolean' },
|
|
13
|
+
includeRecentBundles: { type: 'boolean' },
|
|
14
|
+
maxItems: { type: 'number' },
|
|
15
|
+
},
|
|
16
|
+
additionalProperties: false,
|
|
17
|
+
},
|
|
18
|
+
async handler(input, ctx) {
|
|
19
|
+
const inspection = ctx.inspection;
|
|
20
|
+
const inp = input;
|
|
21
|
+
const maxItems = typeof inp.maxItems === 'number' ? inp.maxItems : 5;
|
|
22
|
+
const readiness = (() => {
|
|
23
|
+
try {
|
|
24
|
+
return buildAiReadinessReport(inspection);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return { score: 0, grade: 'unknown' };
|
|
28
|
+
}
|
|
29
|
+
})();
|
|
30
|
+
const coverage = (() => {
|
|
31
|
+
try {
|
|
32
|
+
return buildCoverageReport(inspection);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return { overall: 0, categories: [] };
|
|
36
|
+
}
|
|
37
|
+
})();
|
|
38
|
+
let drift;
|
|
39
|
+
try {
|
|
40
|
+
drift = buildDriftReport(inspection);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
drift = { findings: [], counts: { error: 0, warning: 0, info: 0 } };
|
|
44
|
+
}
|
|
45
|
+
const areas = buildAreaMap(inspection);
|
|
46
|
+
const bundles = listFeatureBundles(ctx.cwd);
|
|
47
|
+
const sessions = listDevSessionsDetailed(ctx.cwd);
|
|
48
|
+
const constructs = listConstructs(inspection);
|
|
49
|
+
const playbooks = listPlaybooks(inspection);
|
|
50
|
+
let quality = null;
|
|
51
|
+
try {
|
|
52
|
+
const q = await buildQualityReport({ inspection, config: {} });
|
|
53
|
+
quality = {
|
|
54
|
+
score: q.score,
|
|
55
|
+
overall: q.overall,
|
|
56
|
+
blockers: q.blockers,
|
|
57
|
+
warnings: q.warnings,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
quality = null;
|
|
62
|
+
}
|
|
63
|
+
let policySummary = null;
|
|
64
|
+
try {
|
|
65
|
+
const p = await evaluatePolicy(inspection);
|
|
66
|
+
policySummary = {
|
|
67
|
+
registrations: p.registrations.length,
|
|
68
|
+
checks: p.checks.length,
|
|
69
|
+
passed: p.summary.passed,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
policySummary = null;
|
|
74
|
+
}
|
|
75
|
+
const safety = buildSafetyAudit({
|
|
76
|
+
inspection,
|
|
77
|
+
catalog: [],
|
|
78
|
+
mcpTools: ALL_TOOLS.map((t) => ({ name: t.name, description: t.description })),
|
|
79
|
+
planSecretEnv: 'SHARKCRAFT_PLAN_SECRET',
|
|
80
|
+
planSecretConfigured: typeof process.env['SHARKCRAFT_PLAN_SECRET'] === 'string' &&
|
|
81
|
+
process.env['SHARKCRAFT_PLAN_SECRET'].length > 0,
|
|
82
|
+
});
|
|
83
|
+
const reportSiteDir = nodePath.join(ctx.cwd, '.sharkcraft', 'reports', 'site');
|
|
84
|
+
const siteAvailable = existsSync(reportSiteDir);
|
|
85
|
+
// Include release-readiness verdict + smoke-report summary when available.
|
|
86
|
+
let releaseReadinessSummary = null;
|
|
87
|
+
try {
|
|
88
|
+
const rr = await buildReleaseReadiness(inspection, {});
|
|
89
|
+
releaseReadinessSummary = {
|
|
90
|
+
ready: rr.ready,
|
|
91
|
+
blockers: rr.blockers.length,
|
|
92
|
+
warnings: rr.warnings.length,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
releaseReadinessSummary = null;
|
|
97
|
+
}
|
|
98
|
+
const smokeReportFile = nodePath.join(ctx.cwd, '.sharkcraft', 'reports', 'release-smoke.json');
|
|
99
|
+
let smokeSummary = null;
|
|
100
|
+
if (existsSync(smokeReportFile)) {
|
|
101
|
+
try {
|
|
102
|
+
const parsed = JSON.parse(readFileSync(smokeReportFile, 'utf8'));
|
|
103
|
+
const mtimeMs = statSync(smokeReportFile).mtimeMs;
|
|
104
|
+
const len = Array.isArray(parsed.scenarios)
|
|
105
|
+
? parsed.scenarios.length
|
|
106
|
+
: Number(parsed.scenarios?.length ?? 0);
|
|
107
|
+
smokeSummary = {
|
|
108
|
+
passed: parsed.passed === true,
|
|
109
|
+
scenarios: len,
|
|
110
|
+
ageMs: Date.now() - mtimeMs,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
smokeSummary = null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const next = [];
|
|
118
|
+
if (!quality || quality.overall === 'fail')
|
|
119
|
+
next.push('shrk quality');
|
|
120
|
+
if (drift.counts.error > 0)
|
|
121
|
+
next.push('shrk drift');
|
|
122
|
+
if (bundles.some((b) => b.status === 'planned' || b.status === 'partially-applied')) {
|
|
123
|
+
const id = bundles.find((b) => b.status !== 'applied' && b.status !== 'validated')?.id;
|
|
124
|
+
if (id)
|
|
125
|
+
next.push(`shrk bundle status ${id}`);
|
|
126
|
+
}
|
|
127
|
+
if (!siteAvailable)
|
|
128
|
+
next.push('shrk report site');
|
|
129
|
+
if (constructs.length === 0)
|
|
130
|
+
next.push('shrk constructs infer');
|
|
131
|
+
if (playbooks.length === 0)
|
|
132
|
+
next.push('shrk playbooks list');
|
|
133
|
+
const data = {
|
|
134
|
+
schema: 'sharkcraft.dashboard-summary/v2',
|
|
135
|
+
generatedAt: new Date().toISOString(),
|
|
136
|
+
quality,
|
|
137
|
+
safety: {
|
|
138
|
+
mcpAnyWritable: safety.mcp.anyWritable,
|
|
139
|
+
writesSource: safety.commands.writesSource.length,
|
|
140
|
+
writesDrafts: safety.commands.writesDrafts.length,
|
|
141
|
+
writesSession: safety.commands.writesSession.length,
|
|
142
|
+
runsShell: safety.commands.runsShell.length,
|
|
143
|
+
readOnly: safety.commands.readOnly.length,
|
|
144
|
+
},
|
|
145
|
+
readiness: { score: readiness.score, grade: readiness.grade },
|
|
146
|
+
coverage: { overall: coverage.overall, categories: coverage.categories.length },
|
|
147
|
+
drift: drift.counts,
|
|
148
|
+
areas: areas.areas.length,
|
|
149
|
+
bundles: bundles.length,
|
|
150
|
+
sessions: sessions.length,
|
|
151
|
+
constructs: constructs.length,
|
|
152
|
+
playbooks: playbooks.length,
|
|
153
|
+
packs: {
|
|
154
|
+
total: inspection.packs.validPacks.length,
|
|
155
|
+
invalid: inspection.packs.invalidPacks?.length ?? 0,
|
|
156
|
+
},
|
|
157
|
+
policy: policySummary,
|
|
158
|
+
mcpTools: { total: ALL_TOOLS.length, anyWritable: safety.mcp.anyWritable },
|
|
159
|
+
reportSite: { available: siteAvailable, dir: reportSiteDir },
|
|
160
|
+
releaseReadiness: releaseReadinessSummary,
|
|
161
|
+
releaseSmoke: smokeSummary,
|
|
162
|
+
nextCommands: next.slice(0, maxItems),
|
|
163
|
+
};
|
|
164
|
+
if (inp.includeRecentSessions) {
|
|
165
|
+
data['recentSessions'] = sessions.slice(0, maxItems).map((s) => ({
|
|
166
|
+
id: s.id,
|
|
167
|
+
phase: s.phase,
|
|
168
|
+
task: s.task,
|
|
169
|
+
nextAction: s.nextAction,
|
|
170
|
+
}));
|
|
171
|
+
}
|
|
172
|
+
if (inp.includeRecentBundles) {
|
|
173
|
+
data['recentBundles'] = bundles.slice(0, maxItems).map((b) => ({
|
|
174
|
+
id: b.id,
|
|
175
|
+
task: b.task,
|
|
176
|
+
status: b.status,
|
|
177
|
+
risk: b.riskLevel,
|
|
178
|
+
}));
|
|
179
|
+
}
|
|
180
|
+
return { data };
|
|
181
|
+
},
|
|
182
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IToolDefinition } from '../server/tool-definition.js';
|
|
2
|
+
/**
|
|
3
|
+
* MCP tool: preview what a dev session would contain WITHOUT creating it.
|
|
4
|
+
* Returns the task packet + the exact CLI command the human should run.
|
|
5
|
+
*
|
|
6
|
+
* Read-only by contract — MCP never writes.
|
|
7
|
+
*/
|
|
8
|
+
export declare const startDevSessionPreviewTool: IToolDefinition;
|
|
9
|
+
export declare const getDevSessionTool: IToolDefinition;
|
|
10
|
+
export declare const getDevStatusTool: IToolDefinition;
|
|
11
|
+
export declare const getDevNextActionTool: IToolDefinition;
|
|
12
|
+
export declare const getDevReportTool: IToolDefinition;
|
|
13
|
+
export declare const listDevSessionsTool: IToolDefinition;
|
|
14
|
+
//# sourceMappingURL=dev-session.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-session.tool.d.ts","sourceRoot":"","sources":["../../src/tools/dev-session.tool.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,eAsCxC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,eA+B/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAmC9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAkBlC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAsB9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAQjC,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { buildTaskPacket, computeDevNextAction, listDevSessions, renderDevSessionFinalReport, scanDevSession, } from '@shrkcrft/inspector';
|
|
2
|
+
/**
|
|
3
|
+
* MCP tool: preview what a dev session would contain WITHOUT creating it.
|
|
4
|
+
* Returns the task packet + the exact CLI command the human should run.
|
|
5
|
+
*
|
|
6
|
+
* Read-only by contract — MCP never writes.
|
|
7
|
+
*/
|
|
8
|
+
export const startDevSessionPreviewTool = {
|
|
9
|
+
name: 'start_dev_session_preview',
|
|
10
|
+
description: 'Preview what `shrk dev start "<task>"` would produce, WITHOUT creating the session. ' +
|
|
11
|
+
'Returns the task packet (recommended pipeline + templates + rules + verification commands + ' +
|
|
12
|
+
'forbidden actions) and the exact CLI command the human should run. MCP never writes.',
|
|
13
|
+
inputSchema: {
|
|
14
|
+
type: 'object',
|
|
15
|
+
properties: {
|
|
16
|
+
task: { type: 'string' },
|
|
17
|
+
maxTokens: { type: 'number', minimum: 100, maximum: 20000 },
|
|
18
|
+
},
|
|
19
|
+
required: ['task'],
|
|
20
|
+
additionalProperties: false,
|
|
21
|
+
},
|
|
22
|
+
async handler(input, ctx) {
|
|
23
|
+
const task = String(input.task ?? '').trim();
|
|
24
|
+
if (!task)
|
|
25
|
+
return { isError: true, text: 'task is required' };
|
|
26
|
+
const maxTokens = Number(input.maxTokens ?? 3500);
|
|
27
|
+
const packet = buildTaskPacket(ctx.inspection, task, { maxTokens });
|
|
28
|
+
return {
|
|
29
|
+
data: {
|
|
30
|
+
task,
|
|
31
|
+
recommendedPipeline: packet.recommendedPipelines[0] ?? null,
|
|
32
|
+
recommendedPipelines: packet.recommendedPipelines,
|
|
33
|
+
selectedTemplates: packet.relevantTemplates.slice(0, 5).map((t) => ({ id: t.id, name: t.name })),
|
|
34
|
+
relevantRules: packet.relevantRules.slice(0, 5).map((r) => ({ id: r.id, title: r.title })),
|
|
35
|
+
forbiddenActions: packet.forbiddenActions,
|
|
36
|
+
verificationCommands: packet.verificationCommands,
|
|
37
|
+
humanReviewPoints: packet.humanReviewPoints,
|
|
38
|
+
suggestedGen: packet.suggestedGen ?? null,
|
|
39
|
+
cliCommand: `shrk dev start "${task.replace(/"/g, '\\"')}"`,
|
|
40
|
+
note: 'This preview does NOT create a session. Run the cliCommand above to create one ' +
|
|
41
|
+
'under .sharkcraft/sessions/. MCP is read-only by contract.',
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
export const getDevSessionTool = {
|
|
47
|
+
name: 'get_dev_session',
|
|
48
|
+
description: 'Read one dev session by id. Returns task, phase, plans, applied plans, validations, ' +
|
|
49
|
+
'reports, and computed next action. Read-only.',
|
|
50
|
+
inputSchema: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: { id: { type: 'string' } },
|
|
53
|
+
required: ['id'],
|
|
54
|
+
additionalProperties: false,
|
|
55
|
+
},
|
|
56
|
+
handler(input, ctx) {
|
|
57
|
+
const id = String(input.id ?? '');
|
|
58
|
+
if (!id)
|
|
59
|
+
return { isError: true, text: 'id is required' };
|
|
60
|
+
const load = scanDevSession(ctx.cwd, id);
|
|
61
|
+
if (!load)
|
|
62
|
+
return { isError: true, text: `No session "${id}".` };
|
|
63
|
+
const next = computeDevNextAction(load);
|
|
64
|
+
return {
|
|
65
|
+
data: {
|
|
66
|
+
id: load.id,
|
|
67
|
+
dir: load.dir,
|
|
68
|
+
task: load.task,
|
|
69
|
+
legacy: load.legacy,
|
|
70
|
+
state: load.state,
|
|
71
|
+
plansOnDisk: load.plansOnDisk,
|
|
72
|
+
reportsOnDisk: load.reportsOnDisk,
|
|
73
|
+
intentFiles: load.intentFiles,
|
|
74
|
+
nextAction: next,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
export const getDevStatusTool = {
|
|
80
|
+
name: 'get_dev_status',
|
|
81
|
+
description: 'Get the high-level status of a dev session: phase, plan counts, validation status, ' +
|
|
82
|
+
'and the next recommended action. Read-only.',
|
|
83
|
+
inputSchema: {
|
|
84
|
+
type: 'object',
|
|
85
|
+
properties: { id: { type: 'string' } },
|
|
86
|
+
required: ['id'],
|
|
87
|
+
additionalProperties: false,
|
|
88
|
+
},
|
|
89
|
+
handler(input, ctx) {
|
|
90
|
+
const id = String(input.id ?? '');
|
|
91
|
+
if (!id)
|
|
92
|
+
return { isError: true, text: 'id is required' };
|
|
93
|
+
const load = scanDevSession(ctx.cwd, id);
|
|
94
|
+
if (!load)
|
|
95
|
+
return { isError: true, text: `No session "${id}".` };
|
|
96
|
+
const next = computeDevNextAction(load);
|
|
97
|
+
return {
|
|
98
|
+
data: {
|
|
99
|
+
id: load.id,
|
|
100
|
+
task: load.task,
|
|
101
|
+
legacy: load.legacy,
|
|
102
|
+
phase: load.state?.phase ?? null,
|
|
103
|
+
plansCount: load.state?.plans.length ?? load.plansOnDisk.length,
|
|
104
|
+
intentsCount: load.intentFiles.length,
|
|
105
|
+
reviewedCount: load.state?.plans.filter((p) => p.status === 'reviewed').length ??
|
|
106
|
+
load.reportsOnDisk.filter((r) => r.startsWith('plan-review-')).length,
|
|
107
|
+
validationsCount: load.state?.validations.length ?? 0,
|
|
108
|
+
appliedCount: load.state?.appliedPlans.length ?? 0,
|
|
109
|
+
warnings: load.state?.warnings ?? [],
|
|
110
|
+
nextAction: next,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
export const getDevNextActionTool = {
|
|
116
|
+
name: 'get_dev_next_action',
|
|
117
|
+
description: 'Compute the safe next CLI command for an existing dev session: dev plan, plan review, ' +
|
|
118
|
+
'apply, dev validate, or dev report. Read-only.',
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: 'object',
|
|
121
|
+
properties: { id: { type: 'string' } },
|
|
122
|
+
required: ['id'],
|
|
123
|
+
additionalProperties: false,
|
|
124
|
+
},
|
|
125
|
+
handler(input, ctx) {
|
|
126
|
+
const id = String(input.id ?? '');
|
|
127
|
+
if (!id)
|
|
128
|
+
return { isError: true, text: 'id is required' };
|
|
129
|
+
const load = scanDevSession(ctx.cwd, id);
|
|
130
|
+
if (!load)
|
|
131
|
+
return { isError: true, text: `No session "${id}".` };
|
|
132
|
+
return { data: computeDevNextAction(load) };
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
export const getDevReportTool = {
|
|
136
|
+
name: 'get_dev_report',
|
|
137
|
+
description: 'Render the dev session final report (Markdown) WITHOUT writing it. Use shrk dev report ' +
|
|
138
|
+
'<id> to persist. Read-only.',
|
|
139
|
+
inputSchema: {
|
|
140
|
+
type: 'object',
|
|
141
|
+
properties: { id: { type: 'string' } },
|
|
142
|
+
required: ['id'],
|
|
143
|
+
additionalProperties: false,
|
|
144
|
+
},
|
|
145
|
+
handler(input, ctx) {
|
|
146
|
+
const id = String(input.id ?? '');
|
|
147
|
+
if (!id)
|
|
148
|
+
return { isError: true, text: 'id is required' };
|
|
149
|
+
const load = scanDevSession(ctx.cwd, id);
|
|
150
|
+
if (!load)
|
|
151
|
+
return { isError: true, text: `No session "${id}".` };
|
|
152
|
+
const next = computeDevNextAction(load);
|
|
153
|
+
const md = renderDevSessionFinalReport(load, {
|
|
154
|
+
nextActionLine: `${next.action} — \`${next.command}\``,
|
|
155
|
+
});
|
|
156
|
+
return { data: { id: load.id, markdown: md, nextAction: next } };
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
export const listDevSessionsTool = {
|
|
160
|
+
name: 'list_dev_sessions',
|
|
161
|
+
description: 'List all dev session ids under .sharkcraft/sessions/. Read-only.',
|
|
162
|
+
inputSchema: { type: 'object', properties: {}, additionalProperties: false },
|
|
163
|
+
handler(_input, ctx) {
|
|
164
|
+
const ids = listDevSessions(ctx.cwd);
|
|
165
|
+
return { data: { sessions: ids.map((id) => ({ id })) } };
|
|
166
|
+
},
|
|
167
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.tool.d.ts","sourceRoot":"","sources":["../../src/tools/diagnostics.tool.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,wBAAwB,EAAE,eA+BtC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAOjC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { buildDiagnosticByCode, getDiagnosticEntry, listDiagnostics, } from '@shrkcrft/inspector';
|
|
2
|
+
export const getDiagnosticForCodeTool = {
|
|
3
|
+
name: 'get_diagnostic_for_code',
|
|
4
|
+
description: 'Look up a structured SharkCraft failure diagnostic by code. Provide optional context for the placeholders. Returns problem / likelyCause / nextCommand / docsLink. Read-only.',
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: 'object',
|
|
7
|
+
required: ['code'],
|
|
8
|
+
properties: {
|
|
9
|
+
code: { type: 'string' },
|
|
10
|
+
context: { type: 'object' },
|
|
11
|
+
},
|
|
12
|
+
additionalProperties: false,
|
|
13
|
+
},
|
|
14
|
+
handler(input) {
|
|
15
|
+
const code = String(input['code'] ?? '');
|
|
16
|
+
const entry = getDiagnosticEntry(code);
|
|
17
|
+
if (!entry) {
|
|
18
|
+
return {
|
|
19
|
+
isError: true,
|
|
20
|
+
error: {
|
|
21
|
+
code: 'unknown-diagnostic',
|
|
22
|
+
message: `Unknown diagnostic code "${code}".`,
|
|
23
|
+
details: { known: listDiagnostics().map((e) => e.code) },
|
|
24
|
+
},
|
|
25
|
+
data: { schema: 'sharkcraft.diagnostic-registry/v1', known: listDiagnostics() },
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const ctx = input['context'] ?? {};
|
|
29
|
+
const diagnostic = buildDiagnosticByCode(entry.code, ctx);
|
|
30
|
+
return { data: diagnostic };
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
export const listDiagnosticsTool = {
|
|
34
|
+
name: 'list_diagnostics',
|
|
35
|
+
description: 'List every known SharkCraft failure diagnostic. Read-only.',
|
|
36
|
+
inputSchema: { type: 'object', additionalProperties: false },
|
|
37
|
+
handler() {
|
|
38
|
+
return { data: { schema: 'sharkcraft.diagnostic-registry/v1', entries: listDiagnostics() } };
|
|
39
|
+
},
|
|
40
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-check.tool.d.ts","sourceRoot":"","sources":["../../src/tools/docs-check.tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,gBAAgB,EAAE,eAO9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAOlC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { buildDocsCheck, buildExamplesCheck } from '@shrkcrft/inspector';
|
|
2
|
+
export const getDocsCheckTool = {
|
|
3
|
+
name: 'get_docs_check',
|
|
4
|
+
description: 'Verify docs/ and README content. Read-only.',
|
|
5
|
+
inputSchema: { type: 'object', additionalProperties: false },
|
|
6
|
+
handler(_input, ctx) {
|
|
7
|
+
return { data: buildDocsCheck(ctx.cwd) };
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
export const getExamplesCheckTool = {
|
|
11
|
+
name: 'get_examples_check',
|
|
12
|
+
description: 'Verify examples/ tree. Read-only.',
|
|
13
|
+
inputSchema: { type: 'object', additionalProperties: false },
|
|
14
|
+
handler(_input, ctx) {
|
|
15
|
+
return { data: buildExamplesCheck(ctx.cwd) };
|
|
16
|
+
},
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-packs.tool.d.ts","sourceRoot":"","sources":["../../src/tools/doctor-packs.tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,eAAe,EAAE,eA6B7B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { buildPackDoctorReport } from '@shrkcrft/inspector';
|
|
2
|
+
export const doctorPacksTool = {
|
|
3
|
+
name: 'doctor_packs',
|
|
4
|
+
description: 'Validate pack discovery: invalid manifests, missing contribution files, empty contributions, duplicate ids, template/pipeline quality, action-hint coverage, and (optionally) signatures. Mirrors `shrk packs doctor`.',
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: 'object',
|
|
7
|
+
properties: {
|
|
8
|
+
requireSignatures: {
|
|
9
|
+
type: 'boolean',
|
|
10
|
+
description: 'If true, treat unsigned packs as warnings.',
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
additionalProperties: false,
|
|
14
|
+
},
|
|
15
|
+
async handler(input, ctx) {
|
|
16
|
+
const requireSignatures = input.requireSignatures === true;
|
|
17
|
+
const report = buildPackDoctorReport(ctx.inspection, { requireSignatures });
|
|
18
|
+
return {
|
|
19
|
+
data: {
|
|
20
|
+
passed: report.passed,
|
|
21
|
+
packsChecked: report.packsChecked,
|
|
22
|
+
summary: report.summary,
|
|
23
|
+
discoveredPackCount: ctx.inspection.packs.discoveredPacks.length,
|
|
24
|
+
validPackCount: ctx.inspection.packs.validPacks.length,
|
|
25
|
+
invalidPackCount: ctx.inspection.packs.invalidPacks.length,
|
|
26
|
+
issues: report.issues,
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explain-generation-target.tool.d.ts","sourceRoot":"","sources":["../../src/tools/explain-generation-target.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE,eAAO,MAAM,2BAA2B,EAAE,eAgDzC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { resolveTargetPath } from '@shrkcrft/templates';
|
|
2
|
+
import { buildNameVariables } from '@shrkcrft/generator';
|
|
3
|
+
export const explainGenerationTargetTool = {
|
|
4
|
+
name: 'explain_generation_target',
|
|
5
|
+
description: 'Explain where a generated file would go and why (based on the template and the closest path convention).',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
templateId: { type: 'string' },
|
|
10
|
+
name: { type: 'string' },
|
|
11
|
+
variables: { type: 'object', additionalProperties: { type: 'string' } },
|
|
12
|
+
task: { type: 'string' },
|
|
13
|
+
},
|
|
14
|
+
required: ['templateId'],
|
|
15
|
+
additionalProperties: false,
|
|
16
|
+
},
|
|
17
|
+
async handler(input, ctx) {
|
|
18
|
+
const t = ctx.inspection.templateRegistry.get(String(input.templateId));
|
|
19
|
+
if (!t)
|
|
20
|
+
return { isError: true, text: `No template with id "${input.templateId}"` };
|
|
21
|
+
const nameVars = typeof input.name === 'string' ? buildNameVariables(input.name) : {};
|
|
22
|
+
const values = { ...nameVars, ...(input.variables ?? {}) };
|
|
23
|
+
const resolved = resolveTargetPath(t, values, ctx.inspection.projectRoot);
|
|
24
|
+
const task = typeof input.task === 'string' ? input.task : `generate ${t.id}`;
|
|
25
|
+
const bestPath = ctx.inspection.pathService.findBestForTask(task);
|
|
26
|
+
return {
|
|
27
|
+
data: {
|
|
28
|
+
template: { id: t.id, name: t.name, description: t.description },
|
|
29
|
+
resolved: resolved
|
|
30
|
+
? {
|
|
31
|
+
rawPath: resolved.rawPath,
|
|
32
|
+
absolutePath: resolved.absolutePath,
|
|
33
|
+
isInsideProject: resolved.isInsideProject,
|
|
34
|
+
}
|
|
35
|
+
: null,
|
|
36
|
+
bestPathConvention: bestPath
|
|
37
|
+
? {
|
|
38
|
+
id: bestPath.convention.id,
|
|
39
|
+
title: bestPath.convention.title,
|
|
40
|
+
path: bestPath.convention.metadata?.path ?? '',
|
|
41
|
+
reason: bestPath.reason,
|
|
42
|
+
score: bestPath.score,
|
|
43
|
+
}
|
|
44
|
+
: null,
|
|
45
|
+
notes: t.postGenerationNotes ?? [],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-bundle.tool.d.ts","sourceRoot":"","sources":["../../src/tools/feature-bundle.tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,eAAO,MAAM,sBAAsB,EAAE,eAiBpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAelC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { listFeatureBundles, readFeatureBundle, } from '@shrkcrft/inspector';
|
|
2
|
+
export const listFeatureBundlesTool = {
|
|
3
|
+
name: 'list_feature_bundles',
|
|
4
|
+
description: 'List feature workflow bundles stored under .sharkcraft/bundles. Read-only.',
|
|
5
|
+
inputSchema: { type: 'object', properties: {}, additionalProperties: false },
|
|
6
|
+
handler(_input, ctx) {
|
|
7
|
+
const all = listFeatureBundles(ctx.cwd);
|
|
8
|
+
return {
|
|
9
|
+
data: all.map((b) => ({
|
|
10
|
+
id: b.id,
|
|
11
|
+
task: b.task,
|
|
12
|
+
status: b.status,
|
|
13
|
+
risk: b.riskLevel,
|
|
14
|
+
plans: b.plans.length,
|
|
15
|
+
nextAction: b.nextAction,
|
|
16
|
+
})),
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
export const getFeatureBundleTool = {
|
|
21
|
+
name: 'get_feature_bundle',
|
|
22
|
+
description: 'Read a feature workflow bundle by id. Read-only.',
|
|
23
|
+
inputSchema: {
|
|
24
|
+
type: 'object',
|
|
25
|
+
properties: { id: { type: 'string' } },
|
|
26
|
+
required: ['id'],
|
|
27
|
+
additionalProperties: false,
|
|
28
|
+
},
|
|
29
|
+
handler(input, ctx) {
|
|
30
|
+
const id = String(input['id'] ?? '');
|
|
31
|
+
const b = readFeatureBundle(ctx.cwd, id);
|
|
32
|
+
if (!b)
|
|
33
|
+
return { isError: true, text: `No bundle "${id}".` };
|
|
34
|
+
return { data: b };
|
|
35
|
+
},
|
|
36
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-action-hints.tool.d.ts","sourceRoot":"","sources":["../../src/tools/get-action-hints.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQpE,eAAO,MAAM,kBAAkB,EAAE,eAyChC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { aggregateActionHints, aggregatedHintsToText, KnowledgeIndex, } from '@shrkcrft/knowledge';
|
|
2
|
+
export const getActionHintsTool = {
|
|
3
|
+
name: 'get_action_hints',
|
|
4
|
+
description: 'Aggregate action hints (CLI commands, MCP tools, preferred flow, forbidden actions, verification commands, related templates / path conventions, human review markers) from knowledge entries relevant to a task. Use this when you need a single answer to "what should I do next?".',
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: 'object',
|
|
7
|
+
properties: {
|
|
8
|
+
task: { type: 'string', description: 'Natural-language task description.' },
|
|
9
|
+
entryIds: {
|
|
10
|
+
type: 'array',
|
|
11
|
+
items: { type: 'string' },
|
|
12
|
+
description: 'Optional explicit list of knowledge entry ids to aggregate from. Skips the relevance search.',
|
|
13
|
+
},
|
|
14
|
+
limit: { type: 'integer', minimum: 1, default: 10 },
|
|
15
|
+
},
|
|
16
|
+
additionalProperties: false,
|
|
17
|
+
},
|
|
18
|
+
async handler(input, ctx) {
|
|
19
|
+
const explicitIds = input.entryIds ?? [];
|
|
20
|
+
let entries = [];
|
|
21
|
+
if (explicitIds.length) {
|
|
22
|
+
for (const id of explicitIds) {
|
|
23
|
+
const entry = ctx.inspection.index.get(id);
|
|
24
|
+
if (entry)
|
|
25
|
+
entries.push(entry);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (typeof input.task === 'string' && input.task.length > 0) {
|
|
29
|
+
const limit = typeof input.limit === 'number' ? input.limit : 10;
|
|
30
|
+
const idx = new KnowledgeIndex(ctx.inspection.knowledgeEntries);
|
|
31
|
+
const results = idx.search({ query: input.task, limit });
|
|
32
|
+
entries = results.map((r) => r.entry);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
entries = ctx.inspection.knowledgeEntries.slice();
|
|
36
|
+
}
|
|
37
|
+
const hints = aggregateActionHints(entries);
|
|
38
|
+
return {
|
|
39
|
+
data: hints,
|
|
40
|
+
text: aggregatedHintsToText(hints),
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-agent-instructions.tool.d.ts","sourceRoot":"","sources":["../../src/tools/get-agent-instructions.tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,eAAO,MAAM,wBAAwB,EAAE,eAOtC,CAAC"}
|