@shrkcrft/inspector 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/acceptance-replay.d.ts +63 -0
- package/dist/acceptance-replay.d.ts.map +1 -0
- package/dist/acceptance-replay.js +240 -0
- package/dist/action-hint-diagnostics.d.ts +32 -0
- package/dist/action-hint-diagnostics.d.ts.map +1 -0
- package/dist/action-hint-diagnostics.js +133 -0
- package/dist/adoption-check.d.ts +28 -0
- package/dist/adoption-check.d.ts.map +1 -0
- package/dist/adoption-check.js +181 -0
- package/dist/adoption-checkpoint.d.ts +97 -0
- package/dist/adoption-checkpoint.d.ts.map +1 -0
- package/dist/adoption-checkpoint.js +209 -0
- package/dist/adoption-merge-preview.d.ts +28 -0
- package/dist/adoption-merge-preview.d.ts.map +1 -0
- package/dist/adoption-merge-preview.js +254 -0
- package/dist/adoption-report-renderer.d.ts +33 -0
- package/dist/adoption-report-renderer.d.ts.map +1 -0
- package/dist/adoption-report-renderer.js +257 -0
- package/dist/adoption-state.d.ts +100 -0
- package/dist/adoption-state.d.ts.map +1 -0
- package/dist/adoption-state.js +296 -0
- package/dist/adoption-three-way.d.ts +46 -0
- package/dist/adoption-three-way.d.ts.map +1 -0
- package/dist/adoption-three-way.js +181 -0
- package/dist/agent-brief.d.ts +77 -0
- package/dist/agent-brief.d.ts.map +1 -0
- package/dist/agent-brief.js +490 -0
- package/dist/agent-contract-gate.d.ts +108 -0
- package/dist/agent-contract-gate.d.ts.map +1 -0
- package/dist/agent-contract-gate.js +412 -0
- package/dist/agent-contract-templates.d.ts +63 -0
- package/dist/agent-contract-templates.d.ts.map +1 -0
- package/dist/agent-contract-templates.js +346 -0
- package/dist/agent-contract.d.ts +65 -0
- package/dist/agent-contract.d.ts.map +1 -0
- package/dist/agent-contract.js +555 -0
- package/dist/agent-handoff.d.ts +123 -0
- package/dist/agent-handoff.d.ts.map +1 -0
- package/dist/agent-handoff.js +470 -0
- package/dist/agent-instructions.d.ts +2 -0
- package/dist/agent-instructions.d.ts.map +1 -0
- package/dist/agent-instructions.js +21 -0
- package/dist/agent-orchestration.d.ts +61 -0
- package/dist/agent-orchestration.d.ts.map +1 -0
- package/dist/agent-orchestration.js +285 -0
- package/dist/agent-task-prep.d.ts +31 -0
- package/dist/agent-task-prep.d.ts.map +1 -0
- package/dist/agent-task-prep.js +73 -0
- package/dist/ai-readiness.d.ts +30 -0
- package/dist/ai-readiness.d.ts.map +1 -0
- package/dist/ai-readiness.js +279 -0
- package/dist/api-report.d.ts +51 -0
- package/dist/api-report.d.ts.map +1 -0
- package/dist/api-report.js +254 -0
- package/dist/apply-dispatch-trace.d.ts +93 -0
- package/dist/apply-dispatch-trace.d.ts.map +1 -0
- package/dist/apply-dispatch-trace.js +283 -0
- package/dist/apply-gate-result.d.ts +52 -0
- package/dist/apply-gate-result.d.ts.map +1 -0
- package/dist/apply-gate-result.js +44 -0
- package/dist/architecture-map.d.ts +118 -0
- package/dist/architecture-map.d.ts.map +1 -0
- package/dist/architecture-map.js +543 -0
- package/dist/area-explore.d.ts +75 -0
- package/dist/area-explore.d.ts.map +1 -0
- package/dist/area-explore.js +438 -0
- package/dist/area-map.d.ts +43 -0
- package/dist/area-map.d.ts.map +1 -0
- package/dist/area-map.js +197 -0
- package/dist/asset-provenance.d.ts +123 -0
- package/dist/asset-provenance.d.ts.map +1 -0
- package/dist/asset-provenance.js +209 -0
- package/dist/barrel-operations.d.ts +45 -0
- package/dist/barrel-operations.d.ts.map +1 -0
- package/dist/barrel-operations.js +159 -0
- package/dist/boundaries-changed-only.d.ts +62 -0
- package/dist/boundaries-changed-only.d.ts.map +1 -0
- package/dist/boundaries-changed-only.js +97 -0
- package/dist/boundary-suggestions.d.ts +20 -0
- package/dist/boundary-suggestions.d.ts.map +1 -0
- package/dist/boundary-suggestions.js +51 -0
- package/dist/bundle-diff.d.ts +98 -0
- package/dist/bundle-diff.d.ts.map +1 -0
- package/dist/bundle-diff.js +531 -0
- package/dist/bundle-replay.d.ts +68 -0
- package/dist/bundle-replay.d.ts.map +1 -0
- package/dist/bundle-replay.js +273 -0
- package/dist/bundle-validate-html.d.ts +11 -0
- package/dist/bundle-validate-html.d.ts.map +1 -0
- package/dist/bundle-validate-html.js +60 -0
- package/dist/change-intent.d.ts +36 -0
- package/dist/change-intent.d.ts.map +1 -0
- package/dist/change-intent.js +259 -0
- package/dist/changed-preflight.d.ts +59 -0
- package/dist/changed-preflight.d.ts.map +1 -0
- package/dist/changed-preflight.js +358 -0
- package/dist/changed-scope.d.ts +112 -0
- package/dist/changed-scope.d.ts.map +1 -0
- package/dist/changed-scope.js +172 -0
- package/dist/changes-summary.d.ts +87 -0
- package/dist/changes-summary.d.ts.map +1 -0
- package/dist/changes-summary.js +323 -0
- package/dist/check-result-v1.d.ts +90 -0
- package/dist/check-result-v1.d.ts.map +1 -0
- package/dist/check-result-v1.js +335 -0
- package/dist/ci-integrity-report.d.ts +38 -0
- package/dist/ci-integrity-report.d.ts.map +1 -0
- package/dist/ci-integrity-report.js +324 -0
- package/dist/ci-permissions-fix.d.ts +38 -0
- package/dist/ci-permissions-fix.d.ts.map +1 -0
- package/dist/ci-permissions-fix.js +201 -0
- package/dist/ci-permissions.d.ts +51 -0
- package/dist/ci-permissions.d.ts.map +1 -0
- package/dist/ci-permissions.js +431 -0
- package/dist/ci-predict.d.ts +42 -0
- package/dist/ci-predict.d.ts.map +1 -0
- package/dist/ci-predict.js +300 -0
- package/dist/ci-scaffold.d.ts +47 -0
- package/dist/ci-scaffold.d.ts.map +1 -0
- package/dist/ci-scaffold.js +638 -0
- package/dist/codemod-assist.d.ts +97 -0
- package/dist/codemod-assist.d.ts.map +1 -0
- package/dist/codemod-assist.js +261 -0
- package/dist/command-recommender.d.ts +25 -0
- package/dist/command-recommender.d.ts.map +1 -0
- package/dist/command-recommender.js +145 -0
- package/dist/command-suggester.d.ts +61 -0
- package/dist/command-suggester.d.ts.map +1 -0
- package/dist/command-suggester.js +159 -0
- package/dist/command-taxonomy.d.ts +38 -0
- package/dist/command-taxonomy.d.ts.map +1 -0
- package/dist/command-taxonomy.js +164 -0
- package/dist/compliance-evidence.d.ts +58 -0
- package/dist/compliance-evidence.d.ts.map +1 -0
- package/dist/compliance-evidence.js +260 -0
- package/dist/compliance-profiles.d.ts +42 -0
- package/dist/compliance-profiles.d.ts.map +1 -0
- package/dist/compliance-profiles.js +171 -0
- package/dist/construct-adoption-diff.d.ts +55 -0
- package/dist/construct-adoption-diff.d.ts.map +1 -0
- package/dist/construct-adoption-diff.js +331 -0
- package/dist/construct-adoption.d.ts +71 -0
- package/dist/construct-adoption.d.ts.map +1 -0
- package/dist/construct-adoption.js +331 -0
- package/dist/construct-inference.d.ts +44 -0
- package/dist/construct-inference.d.ts.map +1 -0
- package/dist/construct-inference.js +391 -0
- package/dist/construct-registry.d.ts +32 -0
- package/dist/construct-registry.d.ts.map +1 -0
- package/dist/construct-registry.js +198 -0
- package/dist/contract-file-rule.d.ts +37 -0
- package/dist/contract-file-rule.d.ts.map +1 -0
- package/dist/contract-file-rule.js +99 -0
- package/dist/contract-template-registry.d.ts +28 -0
- package/dist/contract-template-registry.d.ts.map +1 -0
- package/dist/contract-template-registry.js +161 -0
- package/dist/contradictions.d.ts +52 -0
- package/dist/contradictions.d.ts.map +1 -0
- package/dist/contradictions.js +391 -0
- package/dist/convention-registry.d.ts +44 -0
- package/dist/convention-registry.d.ts.map +1 -0
- package/dist/convention-registry.js +195 -0
- package/dist/coverage-report.d.ts +25 -0
- package/dist/coverage-report.d.ts.map +1 -0
- package/dist/coverage-report.js +190 -0
- package/dist/custom-checks.d.ts +146 -0
- package/dist/custom-checks.d.ts.map +1 -0
- package/dist/custom-checks.js +260 -0
- package/dist/dashboard/dashboard-data.d.ts +59 -0
- package/dist/dashboard/dashboard-data.d.ts.map +1 -0
- package/dist/dashboard/dashboard-data.js +653 -0
- package/dist/dashboard-export.d.ts +67 -0
- package/dist/dashboard-export.d.ts.map +1 -0
- package/dist/dashboard-export.js +203 -0
- package/dist/decision-records.d.ts +47 -0
- package/dist/decision-records.d.ts.map +1 -0
- package/dist/decision-records.js +255 -0
- package/dist/demo-package.d.ts +49 -0
- package/dist/demo-package.d.ts.map +1 -0
- package/dist/demo-package.js +305 -0
- package/dist/demo-script.d.ts +25 -0
- package/dist/demo-script.d.ts.map +1 -0
- package/dist/demo-script.js +198 -0
- package/dist/demo-workflow.d.ts +28 -0
- package/dist/demo-workflow.d.ts.map +1 -0
- package/dist/demo-workflow.js +178 -0
- package/dist/dev-cycle.d.ts +41 -0
- package/dist/dev-cycle.d.ts.map +1 -0
- package/dist/dev-cycle.js +94 -0
- package/dist/dev-session-html.d.ts +13 -0
- package/dist/dev-session-html.d.ts.map +1 -0
- package/dist/dev-session-html.js +223 -0
- package/dist/dev-session-report.d.ts +11 -0
- package/dist/dev-session-report.d.ts.map +1 -0
- package/dist/dev-session-report.js +206 -0
- package/dist/dev-session.d.ts +257 -0
- package/dist/dev-session.d.ts.map +1 -0
- package/dist/dev-session.js +568 -0
- package/dist/diagnostics-suggest.d.ts +17 -0
- package/dist/diagnostics-suggest.d.ts.map +1 -0
- package/dist/diagnostics-suggest.js +69 -0
- package/dist/docs-check.d.ts +40 -0
- package/dist/docs-check.d.ts.map +1 -0
- package/dist/docs-check.js +221 -0
- package/dist/doctor-acknowledgements.d.ts +69 -0
- package/dist/doctor-acknowledgements.d.ts.map +1 -0
- package/dist/doctor-acknowledgements.js +150 -0
- package/dist/doctor-result.d.ts +51 -0
- package/dist/doctor-result.d.ts.map +1 -0
- package/dist/doctor-result.js +7 -0
- package/dist/doctor-suppressions.d.ts +91 -0
- package/dist/doctor-suppressions.d.ts.map +1 -0
- package/dist/doctor-suppressions.js +238 -0
- package/dist/drift-baseline.d.ts +29 -0
- package/dist/drift-baseline.d.ts.map +1 -0
- package/dist/drift-baseline.js +80 -0
- package/dist/drift.d.ts +38 -0
- package/dist/drift.d.ts.map +1 -0
- package/dist/drift.js +107 -0
- package/dist/entrypoint-matrix.d.ts +61 -0
- package/dist/entrypoint-matrix.d.ts.map +1 -0
- package/dist/entrypoint-matrix.js +221 -0
- package/dist/examples-check.d.ts +36 -0
- package/dist/examples-check.d.ts.map +1 -0
- package/dist/examples-check.js +168 -0
- package/dist/execution-graph.d.ts +98 -0
- package/dist/execution-graph.d.ts.map +1 -0
- package/dist/execution-graph.js +484 -0
- package/dist/export-bundle.d.ts +10 -0
- package/dist/export-bundle.d.ts.map +1 -0
- package/dist/export-bundle.js +90 -0
- package/dist/failure-diagnostics.d.ts +63 -0
- package/dist/failure-diagnostics.d.ts.map +1 -0
- package/dist/failure-diagnostics.js +243 -0
- package/dist/feature-bundle.d.ts +111 -0
- package/dist/feature-bundle.d.ts.map +1 -0
- package/dist/feature-bundle.js +211 -0
- package/dist/feedback-actions-v2.d.ts +65 -0
- package/dist/feedback-actions-v2.d.ts.map +1 -0
- package/dist/feedback-actions-v2.js +183 -0
- package/dist/feedback-ingestion.d.ts +96 -0
- package/dist/feedback-ingestion.d.ts.map +1 -0
- package/dist/feedback-ingestion.js +400 -0
- package/dist/fix-preview.d.ts +82 -0
- package/dist/fix-preview.d.ts.map +1 -0
- package/dist/fix-preview.js +365 -0
- package/dist/fuzzy-impact.d.ts +50 -0
- package/dist/fuzzy-impact.d.ts.map +1 -0
- package/dist/fuzzy-impact.js +446 -0
- package/dist/generated-code.d.ts +97 -0
- package/dist/generated-code.d.ts.map +1 -0
- package/dist/generated-code.js +395 -0
- package/dist/git-helpers.d.ts +26 -0
- package/dist/git-helpers.d.ts.map +1 -0
- package/dist/git-helpers.js +110 -0
- package/dist/golden-output.d.ts +33 -0
- package/dist/golden-output.d.ts.map +1 -0
- package/dist/golden-output.js +92 -0
- package/dist/grounding/build-grounding.d.ts +53 -0
- package/dist/grounding/build-grounding.d.ts.map +1 -0
- package/dist/grounding/build-grounding.js +51 -0
- package/dist/grounding/nx-projects.d.ts +29 -0
- package/dist/grounding/nx-projects.d.ts.map +1 -0
- package/dist/grounding/nx-projects.js +109 -0
- package/dist/grounding/validate-extracted-plan.d.ts +20 -0
- package/dist/grounding/validate-extracted-plan.d.ts.map +1 -0
- package/dist/grounding/validate-extracted-plan.js +127 -0
- package/dist/healing-plan.d.ts +33 -0
- package/dist/healing-plan.d.ts.map +1 -0
- package/dist/healing-plan.js +346 -0
- package/dist/helper-registry.d.ts +90 -0
- package/dist/helper-registry.d.ts.map +1 -0
- package/dist/helper-registry.js +529 -0
- package/dist/impact-analysis.d.ts +150 -0
- package/dist/impact-analysis.d.ts.map +1 -0
- package/dist/impact-analysis.js +697 -0
- package/dist/impact-graph-render.d.ts +51 -0
- package/dist/impact-graph-render.d.ts.map +1 -0
- package/dist/impact-graph-render.js +139 -0
- package/dist/impact-graph.d.ts +17 -0
- package/dist/impact-graph.d.ts.map +1 -0
- package/dist/impact-graph.js +119 -0
- package/dist/impact-render.d.ts +22 -0
- package/dist/impact-render.d.ts.map +1 -0
- package/dist/impact-render.js +413 -0
- package/dist/import-graph-analysis.d.ts +28 -0
- package/dist/import-graph-analysis.d.ts.map +1 -0
- package/dist/import-graph-analysis.js +193 -0
- package/dist/import-hygiene.d.ts +93 -0
- package/dist/import-hygiene.d.ts.map +1 -0
- package/dist/import-hygiene.js +366 -0
- package/dist/index.d.ts +223 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +233 -0
- package/dist/ingest-adoption.d.ts +50 -0
- package/dist/ingest-adoption.d.ts.map +1 -0
- package/dist/ingest-adoption.js +183 -0
- package/dist/ingest-apply.d.ts +80 -0
- package/dist/ingest-apply.d.ts.map +1 -0
- package/dist/ingest-apply.js +227 -0
- package/dist/ingest-body-extractor.d.ts +28 -0
- package/dist/ingest-body-extractor.d.ts.map +1 -0
- package/dist/ingest-body-extractor.js +129 -0
- package/dist/ingest-drafts.d.ts +16 -0
- package/dist/ingest-drafts.d.ts.map +1 -0
- package/dist/ingest-drafts.js +482 -0
- package/dist/inspector-cache.d.ts +41 -0
- package/dist/inspector-cache.d.ts.map +1 -0
- package/dist/inspector-cache.js +104 -0
- package/dist/install-smoke.d.ts +44 -0
- package/dist/install-smoke.d.ts.map +1 -0
- package/dist/install-smoke.js +31 -0
- package/dist/knowledge-authoring.d.ts +151 -0
- package/dist/knowledge-authoring.d.ts.map +1 -0
- package/dist/knowledge-authoring.js +586 -0
- package/dist/knowledge-graph.d.ts +76 -0
- package/dist/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge-graph.js +336 -0
- package/dist/knowledge-lint.d.ts +97 -0
- package/dist/knowledge-lint.d.ts.map +1 -0
- package/dist/knowledge-lint.js +302 -0
- package/dist/knowledge-rename.d.ts +38 -0
- package/dist/knowledge-rename.d.ts.map +1 -0
- package/dist/knowledge-rename.js +88 -0
- package/dist/knowledge-stale.d.ts +124 -0
- package/dist/knowledge-stale.d.ts.map +1 -0
- package/dist/knowledge-stale.js +892 -0
- package/dist/languages/command-inference.d.ts +27 -0
- package/dist/languages/command-inference.d.ts.map +1 -0
- package/dist/languages/command-inference.js +214 -0
- package/dist/languages/dependency-scan.d.ts +33 -0
- package/dist/languages/dependency-scan.d.ts.map +1 -0
- package/dist/languages/dependency-scan.js +343 -0
- package/dist/languages/index.d.ts +14 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +13 -0
- package/dist/languages/language-boundaries.d.ts +30 -0
- package/dist/languages/language-boundaries.d.ts.map +1 -0
- package/dist/languages/language-boundaries.js +176 -0
- package/dist/languages/language-cache.d.ts +54 -0
- package/dist/languages/language-cache.d.ts.map +1 -0
- package/dist/languages/language-cache.js +236 -0
- package/dist/languages/language-detection.d.ts +30 -0
- package/dist/languages/language-detection.d.ts.map +1 -0
- package/dist/languages/language-detection.js +584 -0
- package/dist/languages/language-id.d.ts +15 -0
- package/dist/languages/language-id.d.ts.map +1 -0
- package/dist/languages/language-id.js +15 -0
- package/dist/languages/language-runner.d.ts +90 -0
- package/dist/languages/language-runner.d.ts.map +1 -0
- package/dist/languages/language-runner.js +346 -0
- package/dist/languages/polyglot-boundary.d.ts +80 -0
- package/dist/languages/polyglot-boundary.d.ts.map +1 -0
- package/dist/languages/polyglot-boundary.js +373 -0
- package/dist/languages/polyglot-ci.d.ts +25 -0
- package/dist/languages/polyglot-ci.d.ts.map +1 -0
- package/dist/languages/polyglot-ci.js +278 -0
- package/dist/languages/test-impact.d.ts +19 -0
- package/dist/languages/test-impact.d.ts.map +1 -0
- package/dist/languages/test-impact.js +157 -0
- package/dist/loader-diagnostics.d.ts +40 -0
- package/dist/loader-diagnostics.d.ts.map +1 -0
- package/dist/loader-diagnostics.js +49 -0
- package/dist/memory-diff.d.ts +60 -0
- package/dist/memory-diff.d.ts.map +1 -0
- package/dist/memory-diff.js +302 -0
- package/dist/migration-profile-registry.d.ts +26 -0
- package/dist/migration-profile-registry.d.ts.map +1 -0
- package/dist/migration-profile-registry.js +135 -0
- package/dist/migration-readiness.d.ts +101 -0
- package/dist/migration-readiness.d.ts.map +1 -0
- package/dist/migration-readiness.js +253 -0
- package/dist/monorepo-onboarding.d.ts +51 -0
- package/dist/monorepo-onboarding.d.ts.map +1 -0
- package/dist/monorepo-onboarding.js +235 -0
- package/dist/onboarding-adoption-diff.d.ts +53 -0
- package/dist/onboarding-adoption-diff.d.ts.map +1 -0
- package/dist/onboarding-adoption-diff.js +285 -0
- package/dist/onboarding-adoption.d.ts +136 -0
- package/dist/onboarding-adoption.d.ts.map +1 -0
- package/dist/onboarding-adoption.js +702 -0
- package/dist/onboarding-agent-import.d.ts +40 -0
- package/dist/onboarding-agent-import.d.ts.map +1 -0
- package/dist/onboarding-agent-import.js +114 -0
- package/dist/onboarding-diff.d.ts +39 -0
- package/dist/onboarding-diff.d.ts.map +1 -0
- package/dist/onboarding-diff.js +240 -0
- package/dist/onboarding-drafts.d.ts +28 -0
- package/dist/onboarding-drafts.d.ts.map +1 -0
- package/dist/onboarding-drafts.js +234 -0
- package/dist/onboarding-report.d.ts +8 -0
- package/dist/onboarding-report.d.ts.map +1 -0
- package/dist/onboarding-report.js +239 -0
- package/dist/onboarding.d.ts +134 -0
- package/dist/onboarding.d.ts.map +1 -0
- package/dist/onboarding.js +729 -0
- package/dist/ownership.d.ts +38 -0
- package/dist/ownership.d.ts.map +1 -0
- package/dist/ownership.js +102 -0
- package/dist/pack-author-ux.d.ts +58 -0
- package/dist/pack-author-ux.d.ts.map +1 -0
- package/dist/pack-author-ux.js +219 -0
- package/dist/pack-author.d.ts +94 -0
- package/dist/pack-author.d.ts.map +1 -0
- package/dist/pack-author.js +208 -0
- package/dist/pack-compatibility.d.ts +21 -0
- package/dist/pack-compatibility.d.ts.map +1 -0
- package/dist/pack-compatibility.js +114 -0
- package/dist/pack-contributions-inventory.d.ts +121 -0
- package/dist/pack-contributions-inventory.d.ts.map +1 -0
- package/dist/pack-contributions-inventory.js +732 -0
- package/dist/pack-docs.d.ts +11 -0
- package/dist/pack-docs.d.ts.map +1 -0
- package/dist/pack-docs.js +101 -0
- package/dist/pack-doctor.d.ts +50 -0
- package/dist/pack-doctor.d.ts.map +1 -0
- package/dist/pack-doctor.js +302 -0
- package/dist/pack-helper-registry.d.ts +29 -0
- package/dist/pack-helper-registry.d.ts.map +1 -0
- package/dist/pack-helper-registry.js +144 -0
- package/dist/pack-pending.d.ts +68 -0
- package/dist/pack-pending.d.ts.map +1 -0
- package/dist/pack-pending.js +189 -0
- package/dist/pack-quality-score.d.ts +44 -0
- package/dist/pack-quality-score.d.ts.map +1 -0
- package/dist/pack-quality-score.js +155 -0
- package/dist/pack-release-check.d.ts +24 -0
- package/dist/pack-release-check.d.ts.map +1 -0
- package/dist/pack-release-check.js +258 -0
- package/dist/pack-signature-status.d.ts +72 -0
- package/dist/pack-signature-status.d.ts.map +1 -0
- package/dist/pack-signature-status.js +222 -0
- package/dist/pack-symbol-compat.d.ts +60 -0
- package/dist/pack-symbol-compat.d.ts.map +1 -0
- package/dist/pack-symbol-compat.js +371 -0
- package/dist/pack-test-runner.d.ts +59 -0
- package/dist/pack-test-runner.d.ts.map +1 -0
- package/dist/pack-test-runner.js +211 -0
- package/dist/pipeline-command-dictionary.d.ts +2 -0
- package/dist/pipeline-command-dictionary.d.ts.map +1 -0
- package/dist/pipeline-command-dictionary.js +20 -0
- package/dist/pipeline-lint.d.ts +30 -0
- package/dist/pipeline-lint.d.ts.map +1 -0
- package/dist/pipeline-lint.js +134 -0
- package/dist/plan-dependency-graph.d.ts +25 -0
- package/dist/plan-dependency-graph.d.ts.map +1 -0
- package/dist/plan-dependency-graph.js +195 -0
- package/dist/plan-review.d.ts +64 -0
- package/dist/plan-review.d.ts.map +1 -0
- package/dist/plan-review.js +242 -0
- package/dist/plan-simulation.d.ts +108 -0
- package/dist/plan-simulation.d.ts.map +1 -0
- package/dist/plan-simulation.js +767 -0
- package/dist/playbook-registry.d.ts +25 -0
- package/dist/playbook-registry.d.ts.map +1 -0
- package/dist/playbook-registry.js +148 -0
- package/dist/playbook-script.d.ts +60 -0
- package/dist/playbook-script.d.ts.map +1 -0
- package/dist/playbook-script.js +161 -0
- package/dist/plugin-lifecycle-profile-registry.d.ts +52 -0
- package/dist/plugin-lifecycle-profile-registry.d.ts.map +1 -0
- package/dist/plugin-lifecycle-profile-registry.js +202 -0
- package/dist/plugin-lifecycle.d.ts +132 -0
- package/dist/plugin-lifecycle.d.ts.map +1 -0
- package/dist/plugin-lifecycle.js +477 -0
- package/dist/policy-engine.d.ts +101 -0
- package/dist/policy-engine.d.ts.map +1 -0
- package/dist/policy-engine.js +321 -0
- package/dist/policy-override-audit.d.ts +18 -0
- package/dist/policy-override-audit.d.ts.map +1 -0
- package/dist/policy-override-audit.js +54 -0
- package/dist/policy-overrides.d.ts +35 -0
- package/dist/policy-overrides.d.ts.map +1 -0
- package/dist/policy-overrides.js +84 -0
- package/dist/policy-test.d.ts +83 -0
- package/dist/policy-test.d.ts.map +1 -0
- package/dist/policy-test.js +342 -0
- package/dist/pr-summary.d.ts +34 -0
- package/dist/pr-summary.d.ts.map +1 -0
- package/dist/pr-summary.js +220 -0
- package/dist/product-coherence.d.ts +21 -0
- package/dist/product-coherence.d.ts.map +1 -0
- package/dist/product-coherence.js +158 -0
- package/dist/profile-registry.d.ts +42 -0
- package/dist/profile-registry.d.ts.map +1 -0
- package/dist/profile-registry.js +104 -0
- package/dist/project-coupling-audit.d.ts +64 -0
- package/dist/project-coupling-audit.d.ts.map +1 -0
- package/dist/project-coupling-audit.js +282 -0
- package/dist/project-overview.d.ts +14 -0
- package/dist/project-overview.d.ts.map +1 -0
- package/dist/project-overview.js +27 -0
- package/dist/propose-knowledge.d.ts +64 -0
- package/dist/propose-knowledge.d.ts.map +1 -0
- package/dist/propose-knowledge.js +367 -0
- package/dist/quality-baseline.d.ts +123 -0
- package/dist/quality-baseline.d.ts.map +1 -0
- package/dist/quality-baseline.js +433 -0
- package/dist/quality-html.d.ts +7 -0
- package/dist/quality-html.d.ts.map +1 -0
- package/dist/quality-html.js +64 -0
- package/dist/quality-report.d.ts +49 -0
- package/dist/quality-report.d.ts.map +1 -0
- package/dist/quality-report.js +296 -0
- package/dist/query-resolver.d.ts +38 -0
- package/dist/query-resolver.d.ts.map +1 -0
- package/dist/query-resolver.js +163 -0
- package/dist/ranker-explainability.d.ts +91 -0
- package/dist/ranker-explainability.d.ts.map +1 -0
- package/dist/ranker-explainability.js +550 -0
- package/dist/reference-lookup.d.ts +8 -0
- package/dist/reference-lookup.d.ts.map +1 -0
- package/dist/reference-lookup.js +18 -0
- package/dist/registration-hint-registry.d.ts +55 -0
- package/dist/registration-hint-registry.d.ts.map +1 -0
- package/dist/registration-hint-registry.js +327 -0
- package/dist/registry-lifecycle.d.ts +47 -0
- package/dist/registry-lifecycle.d.ts.map +1 -0
- package/dist/registry-lifecycle.js +214 -0
- package/dist/release-readiness.d.ts +64 -0
- package/dist/release-readiness.d.ts.map +1 -0
- package/dist/release-readiness.js +456 -0
- package/dist/release-smoke.d.ts +138 -0
- package/dist/release-smoke.d.ts.map +1 -0
- package/dist/release-smoke.js +459 -0
- package/dist/release-train.d.ts +33 -0
- package/dist/release-train.d.ts.map +1 -0
- package/dist/release-train.js +104 -0
- package/dist/repo-memory.d.ts +95 -0
- package/dist/repo-memory.d.ts.map +1 -0
- package/dist/repo-memory.js +614 -0
- package/dist/report-site.d.ts +92 -0
- package/dist/report-site.d.ts.map +1 -0
- package/dist/report-site.js +658 -0
- package/dist/reposet.d.ts +56 -0
- package/dist/reposet.d.ts.map +1 -0
- package/dist/reposet.js +160 -0
- package/dist/repository-intelligence.d.ts +145 -0
- package/dist/repository-intelligence.d.ts.map +1 -0
- package/dist/repository-intelligence.js +729 -0
- package/dist/repository-knowledge-model.d.ts +218 -0
- package/dist/repository-knowledge-model.d.ts.map +1 -0
- package/dist/repository-knowledge-model.js +939 -0
- package/dist/repository-map.d.ts +72 -0
- package/dist/repository-map.d.ts.map +1 -0
- package/dist/repository-map.js +332 -0
- package/dist/repository-stats.d.ts +66 -0
- package/dist/repository-stats.d.ts.map +1 -0
- package/dist/repository-stats.js +329 -0
- package/dist/review-comment-renderer.d.ts +59 -0
- package/dist/review-comment-renderer.d.ts.map +1 -0
- package/dist/review-comment-renderer.js +181 -0
- package/dist/review-comment-v2.d.ts +9 -0
- package/dist/review-comment-v2.d.ts.map +1 -0
- package/dist/review-comment-v2.js +178 -0
- package/dist/review-html.d.ts +13 -0
- package/dist/review-html.d.ts.map +1 -0
- package/dist/review-html.js +79 -0
- package/dist/review-packet-v2.d.ts +29 -0
- package/dist/review-packet-v2.d.ts.map +1 -0
- package/dist/review-packet-v2.js +71 -0
- package/dist/review-packet-v3.d.ts +22 -0
- package/dist/review-packet-v3.d.ts.map +1 -0
- package/dist/review-packet-v3.js +181 -0
- package/dist/review-packet.d.ts +49 -0
- package/dist/review-packet.d.ts.map +1 -0
- package/dist/review-packet.js +129 -0
- package/dist/risk-signals.d.ts +28 -0
- package/dist/risk-signals.d.ts.map +1 -0
- package/dist/risk-signals.js +68 -0
- package/dist/role-views.d.ts +50 -0
- package/dist/role-views.d.ts.map +1 -0
- package/dist/role-views.js +334 -0
- package/dist/rounds.d.ts +52 -0
- package/dist/rounds.d.ts.map +1 -0
- package/dist/rounds.js +172 -0
- package/dist/rule-drift.d.ts +42 -0
- package/dist/rule-drift.d.ts.map +1 -0
- package/dist/rule-drift.js +148 -0
- package/dist/rule-quality.d.ts +73 -0
- package/dist/rule-quality.d.ts.map +1 -0
- package/dist/rule-quality.js +356 -0
- package/dist/rule-scaffold.d.ts +71 -0
- package/dist/rule-scaffold.d.ts.map +1 -0
- package/dist/rule-scaffold.js +258 -0
- package/dist/safety-audit-deep.d.ts +38 -0
- package/dist/safety-audit-deep.d.ts.map +1 -0
- package/dist/safety-audit-deep.js +162 -0
- package/dist/safety-audit.d.ts +91 -0
- package/dist/safety-audit.d.ts.map +1 -0
- package/dist/safety-audit.js +138 -0
- package/dist/safety-html.d.ts +7 -0
- package/dist/safety-html.d.ts.map +1 -0
- package/dist/safety-html.js +70 -0
- package/dist/scaffold-coverage.d.ts +46 -0
- package/dist/scaffold-coverage.d.ts.map +1 -0
- package/dist/scaffold-coverage.js +273 -0
- package/dist/scaffold-patterns.d.ts +38 -0
- package/dist/scaffold-patterns.d.ts.map +1 -0
- package/dist/scaffold-patterns.js +282 -0
- package/dist/schema-inventory.d.ts +55 -0
- package/dist/schema-inventory.d.ts.map +1 -0
- package/dist/schema-inventory.js +301 -0
- package/dist/search-index.d.ts +75 -0
- package/dist/search-index.d.ts.map +1 -0
- package/dist/search-index.js +531 -0
- package/dist/search-tuning-explain.d.ts +68 -0
- package/dist/search-tuning-explain.d.ts.map +1 -0
- package/dist/search-tuning-explain.js +207 -0
- package/dist/search-tuning-registry.d.ts +54 -0
- package/dist/search-tuning-registry.d.ts.map +1 -0
- package/dist/search-tuning-registry.js +303 -0
- package/dist/self-audit.d.ts +59 -0
- package/dist/self-audit.d.ts.map +1 -0
- package/dist/self-audit.js +192 -0
- package/dist/self-config-doctor-v2.d.ts +57 -0
- package/dist/self-config-doctor-v2.d.ts.map +1 -0
- package/dist/self-config-doctor-v2.js +653 -0
- package/dist/self-config-doctor.d.ts +47 -0
- package/dist/self-config-doctor.d.ts.map +1 -0
- package/dist/self-config-doctor.js +432 -0
- package/dist/sharkcraft-inspector.d.ts +73 -0
- package/dist/sharkcraft-inspector.d.ts.map +1 -0
- package/dist/sharkcraft-inspector.js +745 -0
- package/dist/spec/spec-cross-validate.d.ts +17 -0
- package/dist/spec/spec-cross-validate.d.ts.map +1 -0
- package/dist/spec/spec-cross-validate.js +53 -0
- package/dist/spec/spec-discovery.d.ts +27 -0
- package/dist/spec/spec-discovery.d.ts.map +1 -0
- package/dist/spec/spec-discovery.js +78 -0
- package/dist/spec/spec-review.d.ts +36 -0
- package/dist/spec/spec-review.d.ts.map +1 -0
- package/dist/spec/spec-review.js +37 -0
- package/dist/stability-map.d.ts +62 -0
- package/dist/stability-map.d.ts.map +1 -0
- package/dist/stability-map.js +404 -0
- package/dist/start-here.d.ts +49 -0
- package/dist/start-here.d.ts.map +1 -0
- package/dist/start-here.js +259 -0
- package/dist/surface-profile-detect.d.ts +42 -0
- package/dist/surface-profile-detect.d.ts.map +1 -0
- package/dist/surface-profile-detect.js +76 -0
- package/dist/symbol-index.d.ts +108 -0
- package/dist/symbol-index.d.ts.map +1 -0
- package/dist/symbol-index.js +483 -0
- package/dist/task-decompose.d.ts +38 -0
- package/dist/task-decompose.d.ts.map +1 -0
- package/dist/task-decompose.js +154 -0
- package/dist/task-packet.d.ts +104 -0
- package/dist/task-packet.d.ts.map +1 -0
- package/dist/task-packet.js +156 -0
- package/dist/task-ranker.d.ts +51 -0
- package/dist/task-ranker.d.ts.map +1 -0
- package/dist/task-ranker.js +410 -0
- package/dist/task-risk.d.ts +84 -0
- package/dist/task-risk.d.ts.map +1 -0
- package/dist/task-risk.js +731 -0
- package/dist/task-routing-hint-registry.d.ts +36 -0
- package/dist/task-routing-hint-registry.d.ts.map +1 -0
- package/dist/task-routing-hint-registry.js +186 -0
- package/dist/template-authoring.d.ts +113 -0
- package/dist/template-authoring.d.ts.map +1 -0
- package/dist/template-authoring.js +521 -0
- package/dist/template-body-inference-v2.d.ts +19 -0
- package/dist/template-body-inference-v2.d.ts.map +1 -0
- package/dist/template-body-inference-v2.js +468 -0
- package/dist/template-body-inference.d.ts +59 -0
- package/dist/template-body-inference.d.ts.map +1 -0
- package/dist/template-body-inference.js +277 -0
- package/dist/template-drift.d.ts +39 -0
- package/dist/template-drift.d.ts.map +1 -0
- package/dist/template-drift.js +353 -0
- package/dist/template-lint.d.ts +31 -0
- package/dist/template-lint.d.ts.map +1 -0
- package/dist/template-lint.js +113 -0
- package/dist/test-definitions.d.ts +41 -0
- package/dist/test-definitions.d.ts.map +1 -0
- package/dist/test-definitions.js +6 -0
- package/dist/test-impact.d.ts +30 -0
- package/dist/test-impact.d.ts.map +1 -0
- package/dist/test-impact.js +173 -0
- package/dist/test-runner.d.ts +87 -0
- package/dist/test-runner.d.ts.map +1 -0
- package/dist/test-runner.js +560 -0
- package/dist/uncertainty-report.d.ts +46 -0
- package/dist/uncertainty-report.d.ts.map +1 -0
- package/dist/uncertainty-report.js +108 -0
- package/dist/uncertainty.d.ts +38 -0
- package/dist/uncertainty.d.ts.map +1 -0
- package/dist/uncertainty.js +115 -0
- package/dist/universal-search.d.ts +64 -0
- package/dist/universal-search.d.ts.map +1 -0
- package/dist/universal-search.js +347 -0
- package/dist/upgrade-advisor.d.ts +22 -0
- package/dist/upgrade-advisor.d.ts.map +1 -0
- package/dist/upgrade-advisor.js +109 -0
- package/dist/why-file.d.ts +75 -0
- package/dist/why-file.d.ts.map +1 -0
- package/dist/why-file.js +202 -0
- package/dist/workflow-simulation.d.ts +46 -0
- package/dist/workflow-simulation.d.ts.map +1 -0
- package/dist/workflow-simulation.js +154 -0
- package/package.json +66 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule authoring scaffold.
|
|
3
|
+
*
|
|
4
|
+
* Pure, deterministic generator that returns a rule scaffold (TS source +
|
|
5
|
+
* JSON manifest + a markdown explainer) so an agent does not have to
|
|
6
|
+
* guess the schema fields. Preview-only: this module never writes — the
|
|
7
|
+
* CLI adapter materialises the preview under `.sharkcraft/fixes/`.
|
|
8
|
+
*
|
|
9
|
+
* Hard rules:
|
|
10
|
+
* - No mutation of `sharkcraft/rules.ts`.
|
|
11
|
+
* - Generated content must reference real, deterministic schema fields.
|
|
12
|
+
* - Advisory rules opt out of `verificationCommands` requirements via
|
|
13
|
+
* `metadata: { advisory: true }`.
|
|
14
|
+
*/
|
|
15
|
+
export const RULE_SCAFFOLD_SCHEMA = 'sharkcraft.rule-scaffold/v1';
|
|
16
|
+
export var RuleScaffoldKind;
|
|
17
|
+
(function (RuleScaffoldKind) {
|
|
18
|
+
RuleScaffoldKind["Architecture"] = "architecture";
|
|
19
|
+
RuleScaffoldKind["Safety"] = "safety";
|
|
20
|
+
RuleScaffoldKind["Style"] = "style";
|
|
21
|
+
RuleScaffoldKind["Governance"] = "governance";
|
|
22
|
+
RuleScaffoldKind["Migration"] = "migration";
|
|
23
|
+
RuleScaffoldKind["Testing"] = "testing";
|
|
24
|
+
RuleScaffoldKind["Advisory"] = "advisory";
|
|
25
|
+
})(RuleScaffoldKind || (RuleScaffoldKind = {}));
|
|
26
|
+
const ID_RE = /^[a-z][a-z0-9]*(\.[a-z0-9-]+)+$/;
|
|
27
|
+
function deriveTitle(id) {
|
|
28
|
+
const tail = id.split('.').slice(-1)[0] ?? id;
|
|
29
|
+
return tail
|
|
30
|
+
.split('-')
|
|
31
|
+
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
32
|
+
.join(' ');
|
|
33
|
+
}
|
|
34
|
+
function defaultsForKind(kind) {
|
|
35
|
+
switch (kind) {
|
|
36
|
+
case RuleScaffoldKind.Safety:
|
|
37
|
+
return {
|
|
38
|
+
priority: 'critical',
|
|
39
|
+
tags: ['safety'],
|
|
40
|
+
appliesWhen: ['generate-code', 'review-code', 'agent-action'],
|
|
41
|
+
forbiddenActions: ['Bypass the safety guard.'],
|
|
42
|
+
verification: ['shrk safety audit --deep'],
|
|
43
|
+
advisory: false,
|
|
44
|
+
};
|
|
45
|
+
case RuleScaffoldKind.Architecture:
|
|
46
|
+
return {
|
|
47
|
+
priority: 'high',
|
|
48
|
+
tags: ['architecture', 'boundaries'],
|
|
49
|
+
appliesWhen: ['generate-code', 'create-feature', 'review-code'],
|
|
50
|
+
forbiddenActions: ['Cross the declared layer boundary.'],
|
|
51
|
+
verification: ['shrk check boundaries'],
|
|
52
|
+
advisory: false,
|
|
53
|
+
};
|
|
54
|
+
case RuleScaffoldKind.Style:
|
|
55
|
+
return {
|
|
56
|
+
priority: 'medium',
|
|
57
|
+
tags: ['style'],
|
|
58
|
+
appliesWhen: ['generate-code', 'review-code'],
|
|
59
|
+
forbiddenActions: [],
|
|
60
|
+
verification: ['bun x tsc -p tsconfig.base.json --noEmit'],
|
|
61
|
+
advisory: false,
|
|
62
|
+
};
|
|
63
|
+
case RuleScaffoldKind.Governance:
|
|
64
|
+
return {
|
|
65
|
+
priority: 'high',
|
|
66
|
+
tags: ['governance'],
|
|
67
|
+
appliesWhen: ['agent-action', 'review-code'],
|
|
68
|
+
forbiddenActions: ['Skip the governance gate.'],
|
|
69
|
+
verification: ['shrk doctor', 'shrk safety audit --deep'],
|
|
70
|
+
advisory: false,
|
|
71
|
+
};
|
|
72
|
+
case RuleScaffoldKind.Migration:
|
|
73
|
+
return {
|
|
74
|
+
priority: 'medium',
|
|
75
|
+
tags: ['migration'],
|
|
76
|
+
appliesWhen: ['generate-code', 'create-feature'],
|
|
77
|
+
forbiddenActions: ['Land partial migrations without a plan.'],
|
|
78
|
+
verification: ['shrk audit project-coupling audit --fail-on engine'],
|
|
79
|
+
advisory: false,
|
|
80
|
+
};
|
|
81
|
+
case RuleScaffoldKind.Testing:
|
|
82
|
+
return {
|
|
83
|
+
priority: 'high',
|
|
84
|
+
tags: ['testing'],
|
|
85
|
+
appliesWhen: ['generate-test', 'create-feature', 'review-code'],
|
|
86
|
+
forbiddenActions: ['Disable a test instead of fixing the cause.'],
|
|
87
|
+
verification: ['bun test'],
|
|
88
|
+
advisory: false,
|
|
89
|
+
};
|
|
90
|
+
case RuleScaffoldKind.Advisory:
|
|
91
|
+
default:
|
|
92
|
+
return {
|
|
93
|
+
priority: 'medium',
|
|
94
|
+
tags: ['advisory'],
|
|
95
|
+
appliesWhen: ['review-code'],
|
|
96
|
+
forbiddenActions: [],
|
|
97
|
+
verification: [],
|
|
98
|
+
advisory: true,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function tsArrayLiteral(items) {
|
|
103
|
+
if (items.length === 0)
|
|
104
|
+
return '[]';
|
|
105
|
+
return '[\n' + items.map((s) => ` ${JSON.stringify(s)},`).join('\n') + '\n ]';
|
|
106
|
+
}
|
|
107
|
+
function buildTsBody(input, defaults) {
|
|
108
|
+
const id = input.id;
|
|
109
|
+
const title = input.title ?? deriveTitle(id);
|
|
110
|
+
const priority = input.priority ?? defaults.priority;
|
|
111
|
+
const rationale = (input.rationale ?? `Document why "${id}" matters in one paragraph.`).trim();
|
|
112
|
+
const tags = defaults.tags.slice();
|
|
113
|
+
const appliesWhen = defaults.appliesWhen.slice();
|
|
114
|
+
const forbidden = (input.forbiddenActions && input.forbiddenActions.length > 0
|
|
115
|
+
? input.forbiddenActions
|
|
116
|
+
: defaults.forbiddenActions).slice();
|
|
117
|
+
const verification = (input.verificationCommands && input.verificationCommands.length > 0
|
|
118
|
+
? input.verificationCommands
|
|
119
|
+
: defaults.verification).slice();
|
|
120
|
+
const examples = [];
|
|
121
|
+
if (input.goodExample) {
|
|
122
|
+
examples.push(` { title: 'Good', code: ${JSON.stringify(input.goodExample)}, language: 'typescript' },`);
|
|
123
|
+
}
|
|
124
|
+
if (input.badExample) {
|
|
125
|
+
examples.push(` { title: 'Bad', code: ${JSON.stringify(input.badExample)}, language: 'typescript' },`);
|
|
126
|
+
}
|
|
127
|
+
const examplesBlock = examples.length > 0 ? `\n examples: [\n${examples.join('\n')}\n ],` : '';
|
|
128
|
+
const ownerBlock = input.owner
|
|
129
|
+
? `\n source: { origin: ${JSON.stringify(input.owner)}, loader: 'sharkcraft' },`
|
|
130
|
+
: '';
|
|
131
|
+
const advisoryBlock = defaults.advisory ? `\n metadata: { advisory: true },` : '';
|
|
132
|
+
const verificationLine = verification.length > 0 ? `\n verificationCommands: ${tsArrayLiteral(verification)},` : '';
|
|
133
|
+
const forbiddenLine = forbidden.length > 0 ? `\n forbiddenActions: ${tsArrayLiteral(forbidden)},` : '';
|
|
134
|
+
return `import { defineRule } from '@shrkcrft/rules';
|
|
135
|
+
import { KnowledgePriority } from '@shrkcrft/knowledge';
|
|
136
|
+
|
|
137
|
+
// Generated by \`shrk rules scaffold --id ${id}\`. Preview-only — review,
|
|
138
|
+
// then move into \`sharkcraft/rules.ts\` (or your pack's rules file).
|
|
139
|
+
export const ${idToConst(id)} = defineRule({
|
|
140
|
+
id: ${JSON.stringify(id)},
|
|
141
|
+
title: ${JSON.stringify(title)},
|
|
142
|
+
priority: KnowledgePriority.${capitalize(priority)},
|
|
143
|
+
scope: ${tsArrayLiteral([id.split('.')[0] ?? 'project'])},
|
|
144
|
+
tags: ${tsArrayLiteral(tags)},
|
|
145
|
+
appliesWhen: ${tsArrayLiteral(appliesWhen)},
|
|
146
|
+
content: ${JSON.stringify(rationale)},${examplesBlock}${ownerBlock}${advisoryBlock}
|
|
147
|
+
actionHints: {${forbiddenLine}${verificationLine}
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
`;
|
|
151
|
+
}
|
|
152
|
+
function buildJsonManifest(input, defaults) {
|
|
153
|
+
const obj = {
|
|
154
|
+
schema: RULE_SCAFFOLD_SCHEMA,
|
|
155
|
+
id: input.id,
|
|
156
|
+
title: input.title ?? deriveTitle(input.id),
|
|
157
|
+
kind: input.kind,
|
|
158
|
+
priority: input.priority ?? defaults.priority,
|
|
159
|
+
advisory: defaults.advisory,
|
|
160
|
+
tags: defaults.tags,
|
|
161
|
+
appliesWhen: defaults.appliesWhen,
|
|
162
|
+
rationale: input.rationale ?? '',
|
|
163
|
+
forbiddenActions: input.forbiddenActions ?? defaults.forbiddenActions,
|
|
164
|
+
verificationCommands: input.verificationCommands ?? defaults.verification,
|
|
165
|
+
examples: {
|
|
166
|
+
good: input.goodExample ?? null,
|
|
167
|
+
bad: input.badExample ?? null,
|
|
168
|
+
},
|
|
169
|
+
owner: input.owner ?? null,
|
|
170
|
+
};
|
|
171
|
+
return JSON.stringify(obj, null, 2) + '\n';
|
|
172
|
+
}
|
|
173
|
+
function buildExplainer(input, defaults) {
|
|
174
|
+
const advisoryNote = defaults.advisory
|
|
175
|
+
? '- This rule is **advisory**: `shrk rules doctor` will not require `verificationCommands`.\n'
|
|
176
|
+
: '- This rule is enforceable: `shrk rules doctor` will require `verificationCommands` and `forbiddenActions`.\n';
|
|
177
|
+
return `# Rule scaffold — ${input.id}
|
|
178
|
+
|
|
179
|
+
This is a **preview** generated by \`shrk rules scaffold\`. Nothing has
|
|
180
|
+
been written into \`sharkcraft/rules.ts\`. Move the TypeScript scaffold
|
|
181
|
+
into the right rules file, fill in the rationale and verification
|
|
182
|
+
commands, then run the validations below.
|
|
183
|
+
|
|
184
|
+
## Next commands
|
|
185
|
+
|
|
186
|
+
1. Edit the scaffold under \`.sharkcraft/fixes/\` or copy it into
|
|
187
|
+
\`sharkcraft/rules.ts\`.
|
|
188
|
+
2. \`shrk rules doctor --id ${input.id}\` — checks the new rule for
|
|
189
|
+
missing actionHints / verificationCommands / forbiddenActions.
|
|
190
|
+
3. \`shrk doctor\` — confirms the workspace still loads cleanly.
|
|
191
|
+
|
|
192
|
+
## Notes
|
|
193
|
+
|
|
194
|
+
${advisoryNote}- Kind: \`${input.kind}\`
|
|
195
|
+
- Default tags: ${defaults.tags.map((t) => '`' + t + '`').join(', ') || '_(none)_'}
|
|
196
|
+
- Default appliesWhen: ${defaults.appliesWhen.map((t) => '`' + t + '`').join(', ') || '_(none)_'}
|
|
197
|
+
|
|
198
|
+
## Owner
|
|
199
|
+
|
|
200
|
+
${input.owner ? '`' + input.owner + '`' : '_(unset — set with `--owner <name>`)_'}
|
|
201
|
+
`;
|
|
202
|
+
}
|
|
203
|
+
function idToConst(id) {
|
|
204
|
+
return id
|
|
205
|
+
.split(/[.\-]/)
|
|
206
|
+
.map((p, i) => (i === 0 ? p : p.charAt(0).toUpperCase() + p.slice(1)))
|
|
207
|
+
.join('');
|
|
208
|
+
}
|
|
209
|
+
function capitalize(s) {
|
|
210
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
211
|
+
}
|
|
212
|
+
function fileSafeId(id) {
|
|
213
|
+
return id.replace(/[^a-zA-Z0-9]+/g, '-');
|
|
214
|
+
}
|
|
215
|
+
export function buildRuleScaffold(input) {
|
|
216
|
+
const warnings = [];
|
|
217
|
+
if (!ID_RE.test(input.id)) {
|
|
218
|
+
warnings.push(`id "${input.id}" does not match the recommended pattern <namespace>.<kebab-id>; got "${input.id}".`);
|
|
219
|
+
}
|
|
220
|
+
const defaults = defaultsForKind(input.kind);
|
|
221
|
+
if (!defaults.advisory && (input.verificationCommands?.length ?? 0) === 0 && defaults.verification.length === 0) {
|
|
222
|
+
warnings.push('Enforceable rules should declare verificationCommands. Default kind suggestion was empty — fill before adopting.');
|
|
223
|
+
}
|
|
224
|
+
if (!input.rationale) {
|
|
225
|
+
warnings.push('No rationale provided; the scaffold contains a placeholder line.');
|
|
226
|
+
}
|
|
227
|
+
const safeId = fileSafeId(input.id);
|
|
228
|
+
const tsScaffold = {
|
|
229
|
+
path: `.sharkcraft/fixes/rule-${safeId}.preview.ts`,
|
|
230
|
+
body: buildTsBody(input, defaults),
|
|
231
|
+
language: 'typescript',
|
|
232
|
+
};
|
|
233
|
+
const jsonManifest = {
|
|
234
|
+
path: `.sharkcraft/fixes/rule-${safeId}.preview.json`,
|
|
235
|
+
body: buildJsonManifest(input, defaults),
|
|
236
|
+
language: 'json',
|
|
237
|
+
};
|
|
238
|
+
const explainer = {
|
|
239
|
+
path: `.sharkcraft/fixes/rule-${safeId}.preview.md`,
|
|
240
|
+
body: buildExplainer(input, defaults),
|
|
241
|
+
language: 'markdown',
|
|
242
|
+
};
|
|
243
|
+
const nextCommands = [
|
|
244
|
+
`shrk rules doctor --id ${input.id}`,
|
|
245
|
+
'shrk doctor',
|
|
246
|
+
];
|
|
247
|
+
return {
|
|
248
|
+
schema: RULE_SCAFFOLD_SCHEMA,
|
|
249
|
+
generatedAt: new Date().toISOString(),
|
|
250
|
+
ruleId: input.id,
|
|
251
|
+
kind: input.kind,
|
|
252
|
+
tsScaffold,
|
|
253
|
+
jsonManifest,
|
|
254
|
+
explainer,
|
|
255
|
+
warnings,
|
|
256
|
+
nextCommands,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
|
|
2
|
+
/**
|
|
3
|
+
* Schema bumped to v2: adds `infoOnlyFindings` so an agent can read
|
|
4
|
+
* the dev-sig disposition without parsing checks[].
|
|
5
|
+
*/
|
|
6
|
+
export declare const SAFETY_AUDIT_DEEP_SCHEMA = "sharkcraft.safety-audit-deep/v2";
|
|
7
|
+
export interface ISafetyAuditDeepCheck {
|
|
8
|
+
id: string;
|
|
9
|
+
severity: 'info' | 'warning' | 'error';
|
|
10
|
+
message: string;
|
|
11
|
+
evidence?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ISafetyAuditDeepReport {
|
|
14
|
+
schema: typeof SAFETY_AUDIT_DEEP_SCHEMA;
|
|
15
|
+
generatedAt: string;
|
|
16
|
+
reportSiteExternalJs: readonly string[];
|
|
17
|
+
demoDestructiveLines: readonly string[];
|
|
18
|
+
ciGeneratedWorkflowPermissions: readonly {
|
|
19
|
+
file: string;
|
|
20
|
+
permissions: string;
|
|
21
|
+
}[];
|
|
22
|
+
/** Packs whose latest signature is a dev signature (subset of valid packs). */
|
|
23
|
+
devSignedPacks: readonly {
|
|
24
|
+
packageName: string;
|
|
25
|
+
packageVersion: string;
|
|
26
|
+
signedAt?: string;
|
|
27
|
+
}[];
|
|
28
|
+
checks: readonly ISafetyAuditDeepCheck[];
|
|
29
|
+
/**
|
|
30
|
+
* Count of info-level findings. The verdict (`passed`) ignores
|
|
31
|
+
* info findings by design; this field surfaces them next to the verdict
|
|
32
|
+
* so the text rendering can be honest without an agent parsing checks[].
|
|
33
|
+
*/
|
|
34
|
+
infoOnlyFindings: number;
|
|
35
|
+
passed: boolean;
|
|
36
|
+
}
|
|
37
|
+
export declare function buildSafetyAuditDeep(inspection: ISharkcraftInspection): Promise<ISafetyAuditDeepReport>;
|
|
38
|
+
//# sourceMappingURL=safety-audit-deep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety-audit-deep.d.ts","sourceRoot":"","sources":["../src/safety-audit-deep.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,oCAAoC,CAAC;AAE1E,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,wBAAwB,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,8BAA8B,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjF,+EAA+E;IAC/E,cAAc,EAAE,SAAS;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9F,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACzC;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAkDD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,sBAAsB,CAAC,CA2FjC"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep safety audit.
|
|
3
|
+
*
|
|
4
|
+
* Augments the existing buildSafetyAudit output with read-only
|
|
5
|
+
* structural checks: report site external JS scan, demo destructive
|
|
6
|
+
* lines, CI permissions summary, release readiness state.
|
|
7
|
+
*
|
|
8
|
+
* Includes dev-signed pack enumeration. Dev signatures verify locally
|
|
9
|
+
* (`shrk packs sign --dev`) but are never release-trusted — `safety
|
|
10
|
+
* audit --deep` surfaces them so a release engineer sees them.
|
|
11
|
+
*
|
|
12
|
+
* The deep audit is purely additive — it does not change the canonical
|
|
13
|
+
* safety audit output, it returns an extended object.
|
|
14
|
+
*/
|
|
15
|
+
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
16
|
+
import * as nodePath from 'node:path';
|
|
17
|
+
import { buildPackSignatureStatusReport } from "./pack-signature-status.js";
|
|
18
|
+
/**
|
|
19
|
+
* Schema bumped to v2: adds `infoOnlyFindings` so an agent can read
|
|
20
|
+
* the dev-sig disposition without parsing checks[].
|
|
21
|
+
*/
|
|
22
|
+
export const SAFETY_AUDIT_DEEP_SCHEMA = 'sharkcraft.safety-audit-deep/v2';
|
|
23
|
+
const DESTRUCTIVE_RE = [/\brm\s+-rf\b/, /\bdd\s+if=/, /\bmkfs\b/];
|
|
24
|
+
const EXTERNAL_JS_RE = [/<script\s+[^>]*src=["']https?:/i, /from\s+['"]https?:/i];
|
|
25
|
+
function scanFile(file, patterns) {
|
|
26
|
+
try {
|
|
27
|
+
const lines = readFileSync(file, 'utf8').split('\n');
|
|
28
|
+
const hits = [];
|
|
29
|
+
for (let i = 0; i < lines.length; i++) {
|
|
30
|
+
const line = lines[i] ?? '';
|
|
31
|
+
for (const p of patterns) {
|
|
32
|
+
if (p.test(line)) {
|
|
33
|
+
hits.push({ line: i + 1, text: line });
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return hits;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function walkPattern(dir, ext, max) {
|
|
45
|
+
const out = [];
|
|
46
|
+
const stack = [dir];
|
|
47
|
+
while (stack.length && out.length < max) {
|
|
48
|
+
const cur = stack.pop();
|
|
49
|
+
let entries = [];
|
|
50
|
+
try {
|
|
51
|
+
entries = readdirSync(cur);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
for (const f of entries) {
|
|
57
|
+
if (f.startsWith('.') || f === 'node_modules' || f === 'dist')
|
|
58
|
+
continue;
|
|
59
|
+
const full = nodePath.join(cur, f);
|
|
60
|
+
try {
|
|
61
|
+
const st = statSync(full);
|
|
62
|
+
if (st.isDirectory())
|
|
63
|
+
stack.push(full);
|
|
64
|
+
else if (full.endsWith(ext))
|
|
65
|
+
out.push(full);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return out;
|
|
73
|
+
}
|
|
74
|
+
export async function buildSafetyAuditDeep(inspection) {
|
|
75
|
+
const projectRoot = inspection.projectRoot;
|
|
76
|
+
const checks = [];
|
|
77
|
+
// 1. Report site external JS scan — scan the generator file.
|
|
78
|
+
const reportSitePath = nodePath.join(projectRoot, 'packages/inspector/src/report-site.ts');
|
|
79
|
+
const externalHits = existsSync(reportSitePath) ? scanFile(reportSitePath, EXTERNAL_JS_RE) : [];
|
|
80
|
+
const reportSiteExternalJs = externalHits.map((h) => `report-site.ts:${h.line}`);
|
|
81
|
+
if (externalHits.length > 0) {
|
|
82
|
+
checks.push({
|
|
83
|
+
id: 'report-site-external-js',
|
|
84
|
+
severity: 'warning',
|
|
85
|
+
message: `Report site source references external JS (${externalHits.length} hit(s)).`,
|
|
86
|
+
evidence: externalHits.map((h) => `${h.line}: ${h.text.trim()}`).join('\n'),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
// 2. Demo destructive lines — scan docs/demo/ and demo-script output files.
|
|
90
|
+
const demoDir = nodePath.join(projectRoot, 'docs/demo');
|
|
91
|
+
const demoFiles = existsSync(demoDir) ? walkPattern(demoDir, '.sh', 50).concat(walkPattern(demoDir, '.md', 50)) : [];
|
|
92
|
+
const destructive = [];
|
|
93
|
+
for (const f of demoFiles) {
|
|
94
|
+
const hits = scanFile(f, DESTRUCTIVE_RE);
|
|
95
|
+
for (const h of hits)
|
|
96
|
+
destructive.push(`${nodePath.relative(projectRoot, f)}:${h.line}`);
|
|
97
|
+
}
|
|
98
|
+
if (destructive.length > 0) {
|
|
99
|
+
checks.push({
|
|
100
|
+
id: 'demo-destructive-lines',
|
|
101
|
+
severity: 'error',
|
|
102
|
+
message: `Found ${destructive.length} destructive line(s) in docs/demo/.`,
|
|
103
|
+
evidence: destructive.join('\n'),
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
// 3. CI generated workflow permissions — best-effort scan for .github/workflows.
|
|
107
|
+
const ciPerms = [];
|
|
108
|
+
const workflowsDir = nodePath.join(projectRoot, '.github/workflows');
|
|
109
|
+
if (existsSync(workflowsDir)) {
|
|
110
|
+
const yml = walkPattern(workflowsDir, '.yml', 50).concat(walkPattern(workflowsDir, '.yaml', 50));
|
|
111
|
+
for (const f of yml) {
|
|
112
|
+
try {
|
|
113
|
+
const t = readFileSync(f, 'utf8');
|
|
114
|
+
const m = /^permissions\s*:\s*([\s\S]*?)(?=\n\S|$)/m.exec(t);
|
|
115
|
+
ciPerms.push({ file: nodePath.relative(projectRoot, f), permissions: m ? (m[1] ?? '').trim() : '(none)' });
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Dev-signed packs. One info-level line per dev-signed pack so a
|
|
123
|
+
// release engineer running `safety audit --deep` sees them without
|
|
124
|
+
// having to run a separate `packs signature-status`.
|
|
125
|
+
let devSignedPacks = [];
|
|
126
|
+
try {
|
|
127
|
+
const sigReport = buildPackSignatureStatusReport(inspection);
|
|
128
|
+
devSignedPacks = sigReport.packs
|
|
129
|
+
.filter((p) => p.dev === true)
|
|
130
|
+
.map((p) => ({
|
|
131
|
+
packageName: p.packageName,
|
|
132
|
+
packageVersion: p.packageVersion,
|
|
133
|
+
...(p.signatureSignedAt ? { signedAt: p.signatureSignedAt } : {}),
|
|
134
|
+
}));
|
|
135
|
+
for (const d of devSignedPacks) {
|
|
136
|
+
checks.push({
|
|
137
|
+
id: `dev-signed-pack:${d.packageName}`,
|
|
138
|
+
severity: 'info',
|
|
139
|
+
message: `Pack ${d.packageName}@${d.packageVersion} carries a dev signature.` +
|
|
140
|
+
' Dev signatures verify locally but are NOT release-trusted — re-sign with' +
|
|
141
|
+
' SHARKCRAFT_PACK_SECRET before tagging.',
|
|
142
|
+
...(d.signedAt ? { evidence: `signed-at: ${d.signedAt}` } : {}),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Best-effort — pack discovery failure shouldn't break the audit.
|
|
148
|
+
}
|
|
149
|
+
const passed = checks.every((c) => c.severity !== 'error');
|
|
150
|
+
const infoOnlyFindings = checks.filter((c) => c.severity === 'info').length;
|
|
151
|
+
return {
|
|
152
|
+
schema: SAFETY_AUDIT_DEEP_SCHEMA,
|
|
153
|
+
generatedAt: new Date().toISOString(),
|
|
154
|
+
reportSiteExternalJs,
|
|
155
|
+
demoDestructiveLines: destructive,
|
|
156
|
+
ciGeneratedWorkflowPermissions: ciPerms,
|
|
157
|
+
devSignedPacks,
|
|
158
|
+
checks,
|
|
159
|
+
infoOnlyFindings,
|
|
160
|
+
passed,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
|
|
2
|
+
export interface ISafetyAuditCommand {
|
|
3
|
+
command: string;
|
|
4
|
+
description: string;
|
|
5
|
+
category: string;
|
|
6
|
+
safetyLevel: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ISafetyAuditMcpTool {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
/** Whether the tool could ever cause a write. SharkCraft's contract is `false`. */
|
|
12
|
+
canWrite: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface ISafetyAuditVerification {
|
|
15
|
+
id: string;
|
|
16
|
+
command: string;
|
|
17
|
+
trusted: boolean;
|
|
18
|
+
source: 'local' | 'pack';
|
|
19
|
+
packPackageName?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ISafetyAuditPack {
|
|
22
|
+
packageName: string;
|
|
23
|
+
packageVersion: string;
|
|
24
|
+
valid: boolean;
|
|
25
|
+
signatureStatus: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ISafetyAuditReport {
|
|
28
|
+
commands: {
|
|
29
|
+
writesSource: readonly ISafetyAuditCommand[];
|
|
30
|
+
writesDrafts: readonly ISafetyAuditCommand[];
|
|
31
|
+
writesSession: readonly ISafetyAuditCommand[];
|
|
32
|
+
runsShell: readonly ISafetyAuditCommand[];
|
|
33
|
+
requiresReview: readonly ISafetyAuditCommand[];
|
|
34
|
+
readOnly: readonly ISafetyAuditCommand[];
|
|
35
|
+
};
|
|
36
|
+
mcp: {
|
|
37
|
+
tools: readonly ISafetyAuditMcpTool[];
|
|
38
|
+
/** True if any MCP tool has canWrite=true. SharkCraft never flips this. */
|
|
39
|
+
anyWritable: boolean;
|
|
40
|
+
};
|
|
41
|
+
verifications: {
|
|
42
|
+
trusted: readonly ISafetyAuditVerification[];
|
|
43
|
+
pack: readonly ISafetyAuditVerification[];
|
|
44
|
+
untrusted: readonly ISafetyAuditVerification[];
|
|
45
|
+
};
|
|
46
|
+
packs: {
|
|
47
|
+
discovered: number;
|
|
48
|
+
signedAndVerified: number;
|
|
49
|
+
signedNotVerified: number;
|
|
50
|
+
unsigned: number;
|
|
51
|
+
invalid: number;
|
|
52
|
+
items: readonly ISafetyAuditPack[];
|
|
53
|
+
};
|
|
54
|
+
planSigning: {
|
|
55
|
+
secretConfigured: boolean;
|
|
56
|
+
secretEnv: string;
|
|
57
|
+
};
|
|
58
|
+
recommendations: readonly string[];
|
|
59
|
+
}
|
|
60
|
+
export interface IBuildSafetyAuditInput {
|
|
61
|
+
inspection: ISharkcraftInspection;
|
|
62
|
+
/** CLI-side command catalog. Pass the same array that backs `shrk commands`. */
|
|
63
|
+
catalog: readonly {
|
|
64
|
+
command: string;
|
|
65
|
+
description: string;
|
|
66
|
+
category: string;
|
|
67
|
+
safetyLevel: string;
|
|
68
|
+
writesFiles: boolean;
|
|
69
|
+
writesSource: boolean;
|
|
70
|
+
runsShell: boolean;
|
|
71
|
+
requiresReview: boolean;
|
|
72
|
+
mcpAvailable: boolean;
|
|
73
|
+
}[];
|
|
74
|
+
/** MCP tool definitions (name + description). */
|
|
75
|
+
mcpTools: readonly {
|
|
76
|
+
name: string;
|
|
77
|
+
description: string;
|
|
78
|
+
}[];
|
|
79
|
+
/** Plan signing secret env var name. */
|
|
80
|
+
planSecretEnv?: string;
|
|
81
|
+
/** Pre-resolved presence of the plan secret in the environment. */
|
|
82
|
+
planSecretConfigured?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Build a deterministic safety audit report from an inspection + the CLI
|
|
86
|
+
* command catalog + the MCP tool list. Pure — no IO. The catalog/tool
|
|
87
|
+
* inputs are passed in to avoid creating a CLI → MCP-server import
|
|
88
|
+
* dependency.
|
|
89
|
+
*/
|
|
90
|
+
export declare function buildSafetyAudit(input: IBuildSafetyAuditInput): ISafetyAuditReport;
|
|
91
|
+
//# sourceMappingURL=safety-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety-audit.d.ts","sourceRoot":"","sources":["../src/safety-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE;QACR,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;QAC7C,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;QAC7C,aAAa,EAAE,SAAS,mBAAmB,EAAE,CAAC;QAC9C,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;QAC1C,cAAc,EAAE,SAAS,mBAAmB,EAAE,CAAC;QAC/C,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;KAC1C,CAAC;IACF,GAAG,EAAE;QACH,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;QACtC,2EAA2E;QAC3E,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,aAAa,EAAE;QACb,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;QAC7C,IAAI,EAAE,SAAS,wBAAwB,EAAE,CAAC;QAC1C,SAAS,EAAE,SAAS,wBAAwB,EAAE,CAAC;KAChD,CAAC;IACF,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;KACpC,CAAC;IACF,WAAW,EAAE;QACX,gBAAgB,EAAE,OAAO,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,qBAAqB,CAAC;IAClC,gFAAgF;IAChF,OAAO,EAAE,SAAS;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,OAAO,CAAC;KACvB,EAAE,CAAC;IACJ,iDAAiD;IACjD,QAAQ,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3D,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,GAAG,kBAAkB,CA8IlF"}
|