@shrkcrft/inspector 0.1.0-alpha.30 → 0.1.0-alpha.31
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/dist/acceptance-replay.js +1 -1
- package/dist/agent-contract-templates.js +6 -6
- package/dist/agent-contract.d.ts.map +1 -1
- package/dist/agent-contract.js +13 -8
- package/dist/agent-orchestration.js +2 -2
- package/dist/agent-task-prep.d.ts +16 -0
- package/dist/agent-task-prep.d.ts.map +1 -1
- package/dist/agent-task-prep.js +51 -4
- package/dist/ai-readiness.d.ts.map +1 -1
- package/dist/ai-readiness.js +21 -3
- package/dist/architecture-map.d.ts +16 -0
- package/dist/architecture-map.d.ts.map +1 -1
- package/dist/architecture-map.js +42 -26
- package/dist/area-explore.d.ts +2 -2
- package/dist/area-explore.d.ts.map +1 -1
- package/dist/area-explore.js +36 -16
- package/dist/area-map.d.ts +56 -11
- package/dist/area-map.d.ts.map +1 -1
- package/dist/area-map.js +106 -25
- package/dist/asset-doctor-proposed-exit.d.ts +21 -0
- package/dist/asset-doctor-proposed-exit.d.ts.map +1 -0
- package/dist/asset-doctor-proposed-exit.js +22 -0
- package/dist/asset-provenance.js +1 -1
- package/dist/boundaries-changed-only.d.ts +24 -1
- package/dist/boundaries-changed-only.d.ts.map +1 -1
- package/dist/boundaries-changed-only.js +12 -2
- package/dist/boundary-check-options.model.d.ts +40 -0
- package/dist/boundary-check-options.model.d.ts.map +1 -0
- package/dist/boundary-check-options.model.js +1 -0
- package/dist/boundary-check-result.model.d.ts +89 -0
- package/dist/boundary-check-result.model.d.ts.map +1 -0
- package/dist/boundary-check-result.model.js +1 -0
- package/dist/boundary-configuration-status.d.ts +38 -0
- package/dist/boundary-configuration-status.d.ts.map +1 -0
- package/dist/boundary-configuration-status.js +118 -0
- package/dist/boundary-configuration-status.model.d.ts +37 -0
- package/dist/boundary-configuration-status.model.d.ts.map +1 -0
- package/dist/boundary-configuration-status.model.js +1 -0
- package/dist/boundary-load-issue.model.d.ts +30 -0
- package/dist/boundary-load-issue.model.d.ts.map +1 -0
- package/dist/boundary-load-issue.model.js +1 -0
- package/dist/boundary-rule-check.model.d.ts +44 -0
- package/dist/boundary-rule-check.model.d.ts.map +1 -0
- package/dist/boundary-rule-check.model.js +1 -0
- package/dist/boundary-rule-invalidation.model.d.ts +31 -0
- package/dist/boundary-rule-invalidation.model.d.ts.map +1 -0
- package/dist/boundary-rule-invalidation.model.js +1 -0
- package/dist/boundary-rule-set-diff.model.d.ts +75 -0
- package/dist/boundary-rule-set-diff.model.d.ts.map +1 -0
- package/dist/boundary-rule-set-diff.model.js +1 -0
- package/dist/boundary-rule-sources.d.ts +28 -0
- package/dist/boundary-rule-sources.d.ts.map +1 -0
- package/dist/boundary-rule-sources.js +110 -0
- package/dist/boundary-stale-exception-finding.model.d.ts +12 -0
- package/dist/boundary-stale-exception-finding.model.d.ts.map +1 -0
- package/dist/boundary-stale-exception-finding.model.js +1 -0
- package/dist/boundary-unit-liveness.d.ts +35 -0
- package/dist/boundary-unit-liveness.d.ts.map +1 -0
- package/dist/boundary-unit-liveness.js +71 -0
- package/dist/change-intent.d.ts +3 -0
- package/dist/change-intent.d.ts.map +1 -1
- package/dist/change-intent.js +61 -27
- package/dist/changes-summary.d.ts.map +1 -1
- package/dist/changes-summary.js +19 -9
- package/dist/ci-integrity-report.js +1 -1
- package/dist/ci-predict.d.ts.map +1 -1
- package/dist/ci-predict.js +38 -5
- package/dist/code-intelligence-doctor.d.ts +6 -0
- package/dist/code-intelligence-doctor.d.ts.map +1 -1
- package/dist/code-intelligence-doctor.js +22 -7
- package/dist/command-recommender.d.ts +45 -2
- package/dist/command-recommender.d.ts.map +1 -1
- package/dist/command-recommender.js +41 -263
- package/dist/command-resolution-status.d.ts +44 -0
- package/dist/command-resolution-status.d.ts.map +1 -0
- package/dist/command-resolution-status.js +44 -0
- package/dist/command-safety-level.d.ts +15 -0
- package/dist/command-safety-level.d.ts.map +1 -0
- package/dist/command-safety-level.js +43 -0
- package/dist/command-taxonomy.js +1 -1
- package/dist/compliance-evidence.js +1 -1
- package/dist/compliance-profiles.js +1 -1
- package/dist/construct-registry.d.ts +40 -0
- package/dist/construct-registry.d.ts.map +1 -1
- package/dist/construct-registry.js +186 -82
- package/dist/context-tuning.d.ts +4 -0
- package/dist/context-tuning.d.ts.map +1 -1
- package/dist/context-tuning.js +10 -7
- package/dist/contract-template-registry.d.ts +10 -0
- package/dist/contract-template-registry.d.ts.map +1 -1
- package/dist/contract-template-registry.js +59 -33
- package/dist/contribution-kind.d.ts +52 -0
- package/dist/contribution-kind.d.ts.map +1 -0
- package/dist/contribution-kind.js +52 -0
- package/dist/contribution-load-failures.d.ts +106 -0
- package/dist/contribution-load-failures.d.ts.map +1 -0
- package/dist/contribution-load-failures.js +575 -0
- package/dist/contributions-report.d.ts +28 -0
- package/dist/contributions-report.d.ts.map +1 -0
- package/dist/contributions-report.js +242 -0
- package/dist/convention-registry.d.ts +22 -0
- package/dist/convention-registry.d.ts.map +1 -1
- package/dist/convention-registry.js +79 -39
- package/dist/coverage-report.d.ts.map +1 -1
- package/dist/coverage-report.js +6 -6
- package/dist/custom-checks.d.ts +60 -1
- package/dist/custom-checks.d.ts.map +1 -1
- package/dist/custom-checks.js +159 -6
- package/dist/dashboard/dashboard-data.d.ts +6 -0
- package/dist/dashboard/dashboard-data.d.ts.map +1 -1
- package/dist/dashboard/dashboard-data.js +99 -8
- package/dist/dashboard/dashboard-knowledge.d.ts.map +1 -1
- package/dist/dashboard/dashboard-knowledge.js +14 -2
- package/dist/decision-records.d.ts +20 -0
- package/dist/decision-records.d.ts.map +1 -1
- package/dist/decision-records.js +68 -20
- package/dist/declared-cross-references.d.ts +61 -0
- package/dist/declared-cross-references.d.ts.map +1 -0
- package/dist/declared-cross-references.js +550 -0
- package/dist/declared-gate-plane-rules.d.ts +24 -0
- package/dist/declared-gate-plane-rules.d.ts.map +1 -0
- package/dist/declared-gate-plane-rules.js +39 -0
- package/dist/declared-reference-coverage.d.ts +27 -0
- package/dist/declared-reference-coverage.d.ts.map +1 -0
- package/dist/declared-reference-coverage.js +50 -0
- package/dist/declared-xref-status.d.ts +19 -0
- package/dist/declared-xref-status.d.ts.map +1 -0
- package/dist/declared-xref-status.js +19 -0
- package/dist/delegate-pack-recipes.d.ts +13 -2
- package/dist/delegate-pack-recipes.d.ts.map +1 -1
- package/dist/delegate-pack-recipes.js +45 -14
- package/dist/demo-package.js +2 -2
- package/dist/demo-script.js +2 -2
- package/dist/demo-workflow.js +3 -3
- package/dist/dev-cycle.js +1 -1
- package/dist/dev-session.js +1 -1
- package/dist/doc-references.d.ts +23 -2
- package/dist/doc-references.d.ts.map +1 -1
- package/dist/doc-references.js +96 -17
- package/dist/doctor-result.d.ts +8 -0
- package/dist/doctor-result.d.ts.map +1 -1
- package/dist/doctor-verdict-kind.d.ts +19 -0
- package/dist/doctor-verdict-kind.d.ts.map +1 -0
- package/dist/doctor-verdict-kind.js +19 -0
- package/dist/doctor-verdict.d.ts +18 -0
- package/dist/doctor-verdict.d.ts.map +1 -0
- package/dist/doctor-verdict.js +28 -0
- package/dist/drift.d.ts +17 -0
- package/dist/drift.d.ts.map +1 -1
- package/dist/drift.js +40 -10
- package/dist/entrypoint-matrix.d.ts.map +1 -1
- package/dist/entrypoint-matrix.js +4 -1
- package/dist/feedback-ingestion.d.ts +28 -2
- package/dist/feedback-ingestion.d.ts.map +1 -1
- package/dist/feedback-ingestion.js +68 -19
- package/dist/fix-preview.d.ts.map +1 -1
- package/dist/fix-preview.js +9 -5
- package/dist/framework-extractor-outcomes.d.ts +27 -0
- package/dist/framework-extractor-outcomes.d.ts.map +1 -0
- package/dist/framework-extractor-outcomes.js +83 -0
- package/dist/fuzzy-impact.js +1 -1
- package/dist/healing-plan.d.ts.map +1 -1
- package/dist/healing-plan.js +3 -4
- package/dist/helper-catalog.d.ts +25 -0
- package/dist/helper-catalog.d.ts.map +1 -0
- package/dist/helper-catalog.js +91 -0
- package/dist/helper-registry.d.ts.map +1 -1
- package/dist/helper-registry.js +17 -1
- package/dist/helper-view.d.ts +33 -0
- package/dist/helper-view.d.ts.map +1 -0
- package/dist/helper-view.js +1 -0
- package/dist/i-asset-doctor-flags.d.ts +16 -0
- package/dist/i-asset-doctor-flags.d.ts.map +1 -0
- package/dist/i-asset-doctor-flags.js +1 -0
- package/dist/i-command-resolution.d.ts +22 -0
- package/dist/i-command-resolution.d.ts.map +1 -0
- package/dist/i-command-resolution.js +1 -0
- package/dist/i-command-resolve-options.d.ts +24 -0
- package/dist/i-command-resolve-options.d.ts.map +1 -0
- package/dist/i-command-resolve-options.js +1 -0
- package/dist/i-command-safety.d.ts +13 -0
- package/dist/i-command-safety.d.ts.map +1 -0
- package/dist/i-command-safety.js +1 -0
- package/dist/i-contribution-accepted-entry.d.ts +18 -0
- package/dist/i-contribution-accepted-entry.d.ts.map +1 -0
- package/dist/i-contribution-accepted-entry.js +1 -0
- package/dist/i-contribution-entry-rejection.d.ts +21 -0
- package/dist/i-contribution-entry-rejection.d.ts.map +1 -0
- package/dist/i-contribution-entry-rejection.js +1 -0
- package/dist/i-contribution-file-issue.d.ts +18 -0
- package/dist/i-contribution-file-issue.d.ts.map +1 -0
- package/dist/i-contribution-file-issue.js +1 -0
- package/dist/i-contribution-file-report.d.ts +40 -0
- package/dist/i-contribution-file-report.d.ts.map +1 -0
- package/dist/i-contribution-file-report.js +1 -0
- package/dist/i-contribution-file-validation.d.ts +24 -0
- package/dist/i-contribution-file-validation.d.ts.map +1 -0
- package/dist/i-contribution-file-validation.js +1 -0
- package/dist/i-contributions-report.d.ts +31 -0
- package/dist/i-contributions-report.d.ts.map +1 -0
- package/dist/i-contributions-report.js +1 -0
- package/dist/i-declared-xref-field.d.ts +25 -0
- package/dist/i-declared-xref-field.d.ts.map +1 -0
- package/dist/i-declared-xref-field.js +1 -0
- package/dist/i-declared-xref-issue.d.ts +25 -0
- package/dist/i-declared-xref-issue.d.ts.map +1 -0
- package/dist/i-declared-xref-issue.js +1 -0
- package/dist/i-declared-xref-report.d.ts +48 -0
- package/dist/i-declared-xref-report.d.ts.map +1 -0
- package/dist/i-declared-xref-report.js +1 -0
- package/dist/i-declared-xref-row.d.ts +29 -0
- package/dist/i-declared-xref-row.d.ts.map +1 -0
- package/dist/i-declared-xref-row.js +1 -0
- package/dist/i-doctor-verdict.d.ts +10 -0
- package/dist/i-doctor-verdict.d.ts.map +1 -0
- package/dist/i-doctor-verdict.js +1 -0
- package/dist/i-kind-outcomes.d.ts +13 -0
- package/dist/i-kind-outcomes.d.ts.map +1 -0
- package/dist/i-kind-outcomes.js +1 -0
- package/dist/i-pack-doctor-verdict.d.ts +15 -0
- package/dist/i-pack-doctor-verdict.d.ts.map +1 -0
- package/dist/i-pack-doctor-verdict.js +1 -0
- package/dist/i-probed-id-field.d.ts +17 -0
- package/dist/i-probed-id-field.d.ts.map +1 -0
- package/dist/i-probed-id-field.js +1 -0
- package/dist/i-reference-kind-declaration.d.ts +38 -0
- package/dist/i-reference-kind-declaration.d.ts.map +1 -0
- package/dist/i-reference-kind-declaration.js +1 -0
- package/dist/i-reference-warm-options.d.ts +21 -0
- package/dist/i-reference-warm-options.d.ts.map +1 -0
- package/dist/i-reference-warm-options.js +1 -0
- package/dist/i-registry-outcomes.d.ts +16 -0
- package/dist/i-registry-outcomes.d.ts.map +1 -0
- package/dist/i-registry-outcomes.js +1 -0
- package/dist/i-scaffold-pattern-doctor-report.d.ts +35 -0
- package/dist/i-scaffold-pattern-doctor-report.d.ts.map +1 -0
- package/dist/i-scaffold-pattern-doctor-report.js +1 -0
- package/dist/i-search-tuning-key-probe.d.ts +30 -0
- package/dist/i-search-tuning-key-probe.d.ts.map +1 -0
- package/dist/i-search-tuning-key-probe.js +1 -0
- package/dist/i-search-tuning-lint-issue.d.ts +61 -0
- package/dist/i-search-tuning-lint-issue.d.ts.map +1 -0
- package/dist/i-search-tuning-lint-issue.js +1 -0
- package/dist/i-search-tuning-lint-report.d.ts +38 -0
- package/dist/i-search-tuning-lint-report.d.ts.map +1 -0
- package/dist/i-search-tuning-lint-report.js +1 -0
- package/dist/i-unresolvable-reference-scan.d.ts +14 -0
- package/dist/i-unresolvable-reference-scan.d.ts.map +1 -0
- package/dist/i-unresolvable-reference-scan.js +1 -0
- package/dist/i-unresolvable-reference.d.ts +29 -0
- package/dist/i-unresolvable-reference.d.ts.map +1 -0
- package/dist/i-unresolvable-reference.js +1 -0
- package/dist/i-workspace-profile-payload.d.ts +12 -0
- package/dist/i-workspace-profile-payload.d.ts.map +1 -0
- package/dist/i-workspace-profile-payload.js +1 -0
- package/dist/impact-analysis.d.ts +15 -0
- package/dist/impact-analysis.d.ts.map +1 -1
- package/dist/impact-analysis.js +58 -13
- package/dist/impact-render.d.ts.map +1 -1
- package/dist/impact-render.js +22 -0
- package/dist/import-hygiene.d.ts +35 -1
- package/dist/import-hygiene.d.ts.map +1 -1
- package/dist/import-hygiene.js +107 -13
- package/dist/index.d.ts +141 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +172 -0
- package/dist/inspection-discovery.d.ts +45 -0
- package/dist/inspection-discovery.d.ts.map +1 -0
- package/dist/inspection-discovery.js +70 -0
- package/dist/knowledge-advisory-code.d.ts +17 -0
- package/dist/knowledge-advisory-code.d.ts.map +1 -0
- package/dist/knowledge-advisory-code.js +17 -0
- package/dist/knowledge-aged-entry.d.ts +10 -0
- package/dist/knowledge-aged-entry.d.ts.map +1 -0
- package/dist/knowledge-aged-entry.js +1 -0
- package/dist/knowledge-authoring.d.ts +24 -1
- package/dist/knowledge-authoring.d.ts.map +1 -1
- package/dist/knowledge-authoring.js +46 -7
- package/dist/knowledge-entry-verdict-record.d.ts +22 -0
- package/dist/knowledge-entry-verdict-record.d.ts.map +1 -0
- package/dist/knowledge-entry-verdict-record.js +1 -0
- package/dist/knowledge-entry-verdict.d.ts +17 -0
- package/dist/knowledge-entry-verdict.d.ts.map +1 -0
- package/dist/knowledge-entry-verdict.js +17 -0
- package/dist/knowledge-graph.d.ts +6 -0
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +18 -7
- package/dist/knowledge-kind-bucket.d.ts +19 -0
- package/dist/knowledge-kind-bucket.d.ts.map +1 -0
- package/dist/knowledge-kind-bucket.js +1 -0
- package/dist/knowledge-load-failure.d.ts +23 -0
- package/dist/knowledge-load-failure.d.ts.map +1 -0
- package/dist/knowledge-load-failure.js +1 -0
- package/dist/knowledge-reference-kind-bucket.d.ts +11 -0
- package/dist/knowledge-reference-kind-bucket.d.ts.map +1 -0
- package/dist/knowledge-reference-kind-bucket.js +1 -0
- package/dist/knowledge-stale-advisory.d.ts +14 -0
- package/dist/knowledge-stale-advisory.d.ts.map +1 -0
- package/dist/knowledge-stale-advisory.js +1 -0
- package/dist/knowledge-stale-coverage.d.ts +19 -0
- package/dist/knowledge-stale-coverage.d.ts.map +1 -0
- package/dist/knowledge-stale-coverage.js +1 -0
- package/dist/knowledge-stale-gate-flags.d.ts +33 -0
- package/dist/knowledge-stale-gate-flags.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-flags.js +1 -0
- package/dist/knowledge-stale-gate-input.d.ts +46 -0
- package/dist/knowledge-stale-gate-input.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-input.js +1 -0
- package/dist/knowledge-stale-gate-result.d.ts +33 -0
- package/dist/knowledge-stale-gate-result.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-result.js +1 -0
- package/dist/knowledge-stale-gate-rule.d.ts +33 -0
- package/dist/knowledge-stale-gate-rule.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-rule.js +1 -0
- package/dist/knowledge-stale-gate-violation.d.ts +13 -0
- package/dist/knowledge-stale-gate-violation.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-violation.js +1 -0
- package/dist/knowledge-stale-gate.d.ts +83 -0
- package/dist/knowledge-stale-gate.d.ts.map +1 -0
- package/dist/knowledge-stale-gate.js +429 -0
- package/dist/knowledge-stale-quality-gate.d.ts +26 -0
- package/dist/knowledge-stale-quality-gate.d.ts.map +1 -0
- package/dist/knowledge-stale-quality-gate.js +110 -0
- package/dist/knowledge-stale.d.ts +122 -9
- package/dist/knowledge-stale.d.ts.map +1 -1
- package/dist/knowledge-stale.js +996 -291
- package/dist/knowledge-unverifiable-reason.d.ts +12 -0
- package/dist/knowledge-unverifiable-reason.d.ts.map +1 -0
- package/dist/knowledge-unverifiable-reason.js +12 -0
- package/dist/loader-diagnostics.d.ts +14 -2
- package/dist/loader-diagnostics.d.ts.map +1 -1
- package/dist/match-terms.d.ts +48 -0
- package/dist/match-terms.d.ts.map +1 -0
- package/dist/match-terms.js +155 -0
- package/dist/migration-profile-registry.d.ts +10 -0
- package/dist/migration-profile-registry.d.ts.map +1 -1
- package/dist/migration-profile-registry.js +57 -34
- package/dist/migration-readiness.d.ts.map +1 -1
- package/dist/migration-readiness.js +1 -3
- package/dist/nearest-id.d.ts +10 -26
- package/dist/nearest-id.d.ts.map +1 -1
- package/dist/nearest-id.js +9 -59
- package/dist/pack-asset-freshness.d.ts +65 -0
- package/dist/pack-asset-freshness.d.ts.map +1 -0
- package/dist/pack-asset-freshness.js +340 -0
- package/dist/pack-author-ux.d.ts +24 -3
- package/dist/pack-author-ux.d.ts.map +1 -1
- package/dist/pack-author-ux.js +87 -93
- package/dist/pack-contributions-inventory.d.ts +79 -39
- package/dist/pack-contributions-inventory.d.ts.map +1 -1
- package/dist/pack-contributions-inventory.js +443 -286
- package/dist/pack-doctor-verdict.d.ts +29 -0
- package/dist/pack-doctor-verdict.d.ts.map +1 -0
- package/dist/pack-doctor-verdict.js +45 -0
- package/dist/pack-doctor.d.ts +74 -1
- package/dist/pack-doctor.d.ts.map +1 -1
- package/dist/pack-doctor.js +281 -1
- package/dist/pack-helper-plan.d.ts +24 -0
- package/dist/pack-helper-plan.d.ts.map +1 -0
- package/dist/pack-helper-plan.js +77 -0
- package/dist/pack-helper-registry.d.ts +14 -0
- package/dist/pack-helper-registry.d.ts.map +1 -1
- package/dist/pack-helper-registry.js +76 -37
- package/dist/pack-manifest-reader.d.ts +8 -0
- package/dist/pack-manifest-reader.d.ts.map +1 -0
- package/dist/pack-manifest-reader.js +79 -0
- package/dist/pack-release-check.d.ts +14 -1
- package/dist/pack-release-check.d.ts.map +1 -1
- package/dist/pack-release-check.js +23 -1
- package/dist/pack-signature-status.d.ts +18 -6
- package/dist/pack-signature-status.d.ts.map +1 -1
- package/dist/pack-signature-status.js +59 -105
- package/dist/pack-test-runner.d.ts +27 -5
- package/dist/pack-test-runner.d.ts.map +1 -1
- package/dist/pack-test-runner.js +91 -35
- package/dist/pack-typecheck.d.ts +8 -0
- package/dist/pack-typecheck.d.ts.map +1 -0
- package/dist/pack-typecheck.js +76 -0
- package/dist/plan-review.d.ts +2 -0
- package/dist/plan-review.d.ts.map +1 -1
- package/dist/plan-review.js +17 -5
- package/dist/plan-simulation.d.ts.map +1 -1
- package/dist/plan-simulation.js +16 -5
- package/dist/playbook-load-issue.d.ts +16 -0
- package/dist/playbook-load-issue.d.ts.map +1 -0
- package/dist/playbook-load-issue.js +1 -0
- package/dist/playbook-registry.d.ts +32 -1
- package/dist/playbook-registry.d.ts.map +1 -1
- package/dist/playbook-registry.js +144 -55
- package/dist/policy-declaration.d.ts +18 -0
- package/dist/policy-declaration.d.ts.map +1 -0
- package/dist/policy-declaration.js +1 -0
- package/dist/policy-engine.d.ts +8 -0
- package/dist/policy-engine.d.ts.map +1 -1
- package/dist/policy-engine.js +26 -9
- package/dist/policy-overrides.d.ts.map +1 -1
- package/dist/policy-overrides.js +4 -4
- package/dist/policy-registry.d.ts +27 -0
- package/dist/policy-registry.d.ts.map +1 -1
- package/dist/policy-registry.js +87 -20
- package/dist/probed-id-fields.d.ts +21 -0
- package/dist/probed-id-fields.d.ts.map +1 -0
- package/dist/probed-id-fields.js +25 -0
- package/dist/probed-id-source.d.ts +11 -0
- package/dist/probed-id-source.d.ts.map +1 -0
- package/dist/probed-id-source.js +11 -0
- package/dist/profile-registry.d.ts +25 -2
- package/dist/profile-registry.d.ts.map +1 -1
- package/dist/profile-registry.js +59 -6
- package/dist/quality-gate-examination.d.ts +15 -0
- package/dist/quality-gate-examination.d.ts.map +1 -0
- package/dist/quality-gate-examination.js +15 -0
- package/dist/quality-gate-row-status.d.ts +19 -0
- package/dist/quality-gate-row-status.d.ts.map +1 -0
- package/dist/quality-gate-row-status.js +28 -0
- package/dist/quality-gate-status.d.ts +16 -0
- package/dist/quality-gate-status.d.ts.map +1 -0
- package/dist/quality-gate-status.js +16 -0
- package/dist/quality-html.d.ts.map +1 -1
- package/dist/quality-html.js +14 -3
- package/dist/quality-report-coverage.d.ts +26 -0
- package/dist/quality-report-coverage.d.ts.map +1 -0
- package/dist/quality-report-coverage.js +48 -0
- package/dist/quality-report.d.ts +28 -1
- package/dist/quality-report.d.ts.map +1 -1
- package/dist/quality-report.js +263 -35
- package/dist/query-intent-kind.d.ts +18 -0
- package/dist/query-intent-kind.d.ts.map +1 -0
- package/dist/query-intent-kind.js +18 -0
- package/dist/query-intent-result.d.ts +23 -0
- package/dist/query-intent-result.d.ts.map +1 -0
- package/dist/query-intent-result.js +1 -0
- package/dist/query-intent.d.ts +18 -0
- package/dist/query-intent.d.ts.map +1 -0
- package/dist/query-intent.js +336 -0
- package/dist/query-resolver.d.ts +18 -0
- package/dist/query-resolver.d.ts.map +1 -1
- package/dist/query-resolver.js +7 -4
- package/dist/ranked-recommendations.d.ts +36 -0
- package/dist/ranked-recommendations.d.ts.map +1 -0
- package/dist/ranked-recommendations.js +1 -0
- package/dist/ranker-explainability.d.ts.map +1 -1
- package/dist/ranker-explainability.js +38 -10
- package/dist/recommend-recipe.d.ts +17 -0
- package/dist/recommend-recipe.d.ts.map +1 -0
- package/dist/recommend-recipe.js +1 -0
- package/dist/recommend-recipes.d.ts +9 -0
- package/dist/recommend-recipes.d.ts.map +1 -0
- package/dist/recommend-recipes.js +106 -0
- package/dist/recommendation-candidate.d.ts +30 -0
- package/dist/recommendation-candidate.d.ts.map +1 -0
- package/dist/recommendation-candidate.js +1 -0
- package/dist/recommendation-confidence.d.ts +27 -0
- package/dist/recommendation-confidence.d.ts.map +1 -0
- package/dist/recommendation-confidence.js +1 -0
- package/dist/recommendation-ranking-options.d.ts +24 -0
- package/dist/recommendation-ranking-options.d.ts.map +1 -0
- package/dist/recommendation-ranking-options.js +1 -0
- package/dist/recommendation-ranking.d.ts +50 -0
- package/dist/recommendation-ranking.d.ts.map +1 -0
- package/dist/recommendation-ranking.js +527 -0
- package/dist/recommendation-source.d.ts +23 -0
- package/dist/recommendation-source.d.ts.map +1 -0
- package/dist/recommendation-source.js +23 -0
- package/dist/recommendation-suppression.d.ts +14 -0
- package/dist/recommendation-suppression.d.ts.map +1 -0
- package/dist/recommendation-suppression.js +14 -0
- package/dist/reference-asset-kind.d.ts +14 -0
- package/dist/reference-asset-kind.d.ts.map +1 -0
- package/dist/reference-asset-kind.js +14 -0
- package/dist/reference-content-check.d.ts +32 -0
- package/dist/reference-content-check.d.ts.map +1 -0
- package/dist/reference-content-check.js +143 -0
- package/dist/reference-failure.d.ts +31 -0
- package/dist/reference-failure.d.ts.map +1 -0
- package/dist/reference-failure.js +31 -0
- package/dist/reference-id-status.d.ts +15 -0
- package/dist/reference-id-status.d.ts.map +1 -0
- package/dist/reference-id-status.js +15 -0
- package/dist/reference-kind-declarations.d.ts +42 -0
- package/dist/reference-kind-declarations.d.ts.map +1 -0
- package/dist/reference-kind-declarations.js +142 -0
- package/dist/reference-lookup.d.ts +6 -0
- package/dist/reference-lookup.d.ts.map +1 -1
- package/dist/reference-lookup.js +13 -5
- package/dist/reference-registry.d.ts +109 -11
- package/dist/reference-registry.d.ts.map +1 -1
- package/dist/reference-registry.js +186 -30
- package/dist/reference-subject.d.ts +20 -0
- package/dist/reference-subject.d.ts.map +1 -0
- package/dist/reference-subject.js +1 -0
- package/dist/registration-hint-discovery-status.d.ts +25 -0
- package/dist/registration-hint-discovery-status.d.ts.map +1 -0
- package/dist/registration-hint-discovery-status.js +25 -0
- package/dist/registration-hint-registry.d.ts +80 -0
- package/dist/registration-hint-registry.d.ts.map +1 -1
- package/dist/registration-hint-registry.js +356 -138
- package/dist/registry-lifecycle.d.ts +200 -19
- package/dist/registry-lifecycle.d.ts.map +1 -1
- package/dist/registry-lifecycle.js +526 -136
- package/dist/release-readiness.d.ts.map +1 -1
- package/dist/release-readiness.js +10 -7
- package/dist/release-smoke.d.ts.map +1 -1
- package/dist/release-smoke.js +11 -7
- package/dist/report-site.d.ts.map +1 -1
- package/dist/report-site.js +25 -7
- package/dist/repository-intelligence.d.ts.map +1 -1
- package/dist/repository-intelligence.js +3 -2
- package/dist/repository-knowledge-model.d.ts.map +1 -1
- package/dist/repository-knowledge-model.js +18 -5
- package/dist/resolve-project-config.d.ts +64 -0
- package/dist/resolve-project-config.d.ts.map +1 -1
- package/dist/resolve-project-config.js +240 -32
- package/dist/reuse/compute-reuse-coverage.d.ts +29 -0
- package/dist/reuse/compute-reuse-coverage.d.ts.map +1 -0
- package/dist/reuse/compute-reuse-coverage.js +198 -0
- package/dist/reuse/rank-reuse-candidates.d.ts +38 -0
- package/dist/reuse/rank-reuse-candidates.d.ts.map +1 -0
- package/dist/reuse/rank-reuse-candidates.js +212 -0
- package/dist/reuse/rank-reuse-options.d.ts +20 -0
- package/dist/reuse/rank-reuse-options.d.ts.map +1 -0
- package/dist/reuse/rank-reuse-options.js +1 -0
- package/dist/reuse/rank-reuse-suggestions.d.ts +15 -0
- package/dist/reuse/rank-reuse-suggestions.d.ts.map +1 -0
- package/dist/reuse/rank-reuse-suggestions.js +31 -0
- package/dist/reuse/resolve-curated-reuse.d.ts +43 -0
- package/dist/reuse/resolve-curated-reuse.d.ts.map +1 -0
- package/dist/reuse/resolve-curated-reuse.js +115 -0
- package/dist/reuse/reuse-candidate.d.ts +29 -0
- package/dist/reuse/reuse-candidate.d.ts.map +1 -0
- package/dist/reuse/reuse-candidate.js +1 -0
- package/dist/reuse/reuse-coverage-report.d.ts +74 -0
- package/dist/reuse/reuse-coverage-report.d.ts.map +1 -0
- package/dist/reuse/reuse-coverage-report.js +1 -0
- package/dist/reuse/reuse-curated-coverage.d.ts +36 -0
- package/dist/reuse/reuse-curated-coverage.d.ts.map +1 -0
- package/dist/reuse/reuse-curated-coverage.js +1 -0
- package/dist/reuse/reuse-curated-resolution.d.ts +36 -0
- package/dist/reuse/reuse-curated-resolution.d.ts.map +1 -0
- package/dist/reuse/reuse-curated-resolution.js +1 -0
- package/dist/reuse/reuse-curated-status.d.ts +21 -0
- package/dist/reuse/reuse-curated-status.d.ts.map +1 -0
- package/dist/reuse/reuse-curated-status.js +21 -0
- package/dist/reuse/reuse-match-detail.d.ts +15 -0
- package/dist/reuse/reuse-match-detail.d.ts.map +1 -0
- package/dist/reuse/reuse-match-detail.js +1 -0
- package/dist/reuse/reuse-ranking.d.ts +37 -0
- package/dist/reuse/reuse-ranking.d.ts.map +1 -0
- package/dist/reuse/reuse-ranking.js +1 -0
- package/dist/reuse/reuse-suggestion.d.ts +19 -0
- package/dist/reuse/reuse-suggestion.d.ts.map +1 -0
- package/dist/reuse/reuse-suggestion.js +1 -0
- package/dist/reuse/reuse-symbol-lookup.d.ts +28 -0
- package/dist/reuse/reuse-symbol-lookup.d.ts.map +1 -0
- package/dist/reuse/reuse-symbol-lookup.js +1 -0
- package/dist/reuse/reuse-tokenize.d.ts +11 -0
- package/dist/reuse/reuse-tokenize.d.ts.map +1 -0
- package/dist/reuse/reuse-tokenize.js +26 -0
- package/dist/reuse/score-reuse-name.d.ts +16 -0
- package/dist/reuse/score-reuse-name.d.ts.map +1 -0
- package/dist/reuse/score-reuse-name.js +35 -0
- package/dist/reuse/score-reuse-primitive.d.ts +33 -0
- package/dist/reuse/score-reuse-primitive.d.ts.map +1 -0
- package/dist/reuse/score-reuse-primitive.js +92 -0
- package/dist/review-packet.d.ts +2 -0
- package/dist/review-packet.d.ts.map +1 -1
- package/dist/review-packet.js +13 -6
- package/dist/role-views.d.ts.map +1 -1
- package/dist/role-views.js +16 -16
- package/dist/routing-recommends-channels.d.ts +24 -0
- package/dist/routing-recommends-channels.d.ts.map +1 -0
- package/dist/routing-recommends-channels.js +19 -0
- package/dist/run-boundary-check.d.ts +118 -0
- package/dist/run-boundary-check.d.ts.map +1 -0
- package/dist/run-boundary-check.js +592 -0
- package/dist/safety-audit.js +1 -1
- package/dist/scaffold-coverage.js +1 -1
- package/dist/scaffold-pattern-doctor-report.d.ts +19 -0
- package/dist/scaffold-pattern-doctor-report.d.ts.map +1 -0
- package/dist/scaffold-pattern-doctor-report.js +54 -0
- package/dist/scaffold-patterns.d.ts +75 -1
- package/dist/scaffold-patterns.d.ts.map +1 -1
- package/dist/scaffold-patterns.js +375 -84
- package/dist/schema-inventory.d.ts.map +1 -1
- package/dist/schema-inventory.js +4 -3
- package/dist/search-document-id.d.ts +52 -0
- package/dist/search-document-id.d.ts.map +1 -0
- package/dist/search-document-id.js +72 -0
- package/dist/search-document-prefix.d.ts +7 -0
- package/dist/search-document-prefix.d.ts.map +1 -0
- package/dist/search-document-prefix.js +1 -0
- package/dist/search-index.d.ts.map +1 -1
- package/dist/search-index.js +20 -23
- package/dist/search-tuning-explain.d.ts +6 -0
- package/dist/search-tuning-explain.d.ts.map +1 -1
- package/dist/search-tuning-explain.js +19 -17
- package/dist/search-tuning-key-probes.d.ts +16 -0
- package/dist/search-tuning-key-probes.d.ts.map +1 -0
- package/dist/search-tuning-key-probes.js +65 -0
- package/dist/search-tuning-key-resolution.d.ts +25 -0
- package/dist/search-tuning-key-resolution.d.ts.map +1 -0
- package/dist/search-tuning-key-resolution.js +1 -0
- package/dist/search-tuning-key-resolver.d.ts +4 -0
- package/dist/search-tuning-key-resolver.d.ts.map +1 -0
- package/dist/search-tuning-key-resolver.js +107 -0
- package/dist/search-tuning-key-status.d.ts +24 -0
- package/dist/search-tuning-key-status.d.ts.map +1 -0
- package/dist/search-tuning-key-status.js +24 -0
- package/dist/search-tuning-lint.d.ts +9 -0
- package/dist/search-tuning-lint.d.ts.map +1 -0
- package/dist/search-tuning-lint.js +468 -0
- package/dist/search-tuning-registry.d.ts +43 -0
- package/dist/search-tuning-registry.d.ts.map +1 -1
- package/dist/search-tuning-registry.js +214 -49
- package/dist/self-audit.d.ts +12 -0
- package/dist/self-audit.d.ts.map +1 -1
- package/dist/self-audit.js +36 -10
- package/dist/self-config-doctor-v2.d.ts +145 -3
- package/dist/self-config-doctor-v2.d.ts.map +1 -1
- package/dist/self-config-doctor-v2.js +1304 -181
- package/dist/self-config-doctor.d.ts +20 -1
- package/dist/self-config-doctor.d.ts.map +1 -1
- package/dist/self-config-doctor.js +53 -280
- package/dist/settled-unit-states.d.ts +9 -0
- package/dist/settled-unit-states.d.ts.map +1 -0
- package/dist/settled-unit-states.js +14 -0
- package/dist/sharkcraft-inspector.d.ts +34 -0
- package/dist/sharkcraft-inspector.d.ts.map +1 -1
- package/dist/sharkcraft-inspector.js +273 -26
- package/dist/spec/spec-evidence.d.ts.map +1 -1
- package/dist/spec/spec-evidence.js +14 -20
- package/dist/split-identifier.d.ts +21 -0
- package/dist/split-identifier.d.ts.map +1 -0
- package/dist/split-identifier.js +27 -0
- package/dist/start-here.d.ts.map +1 -1
- package/dist/start-here.js +1 -2
- package/dist/substitute-placeholders.d.ts +8 -0
- package/dist/substitute-placeholders.d.ts.map +1 -0
- package/dist/substitute-placeholders.js +9 -0
- package/dist/symbol-index.d.ts +33 -0
- package/dist/symbol-index.d.ts.map +1 -1
- package/dist/symbol-index.js +241 -3
- package/dist/symbol-member-entry.d.ts +26 -0
- package/dist/symbol-member-entry.d.ts.map +1 -0
- package/dist/symbol-member-entry.js +1 -0
- package/dist/symbol-member-kind.d.ts +14 -0
- package/dist/symbol-member-kind.d.ts.map +1 -0
- package/dist/symbol-member-kind.js +14 -0
- package/dist/task-packet.d.ts.map +1 -1
- package/dist/task-packet.js +52 -9
- package/dist/task-ranker.d.ts +8 -0
- package/dist/task-ranker.d.ts.map +1 -1
- package/dist/task-ranker.js +25 -13
- package/dist/task-risk.js +1 -1
- package/dist/task-routing-hint-registry.d.ts +20 -1
- package/dist/task-routing-hint-registry.d.ts.map +1 -1
- package/dist/task-routing-hint-registry.js +186 -42
- package/dist/template-drift.d.ts.map +1 -1
- package/dist/template-drift.js +30 -9
- package/dist/template-lint.d.ts.map +1 -1
- package/dist/template-lint.js +160 -2
- package/dist/term-query.d.ts +10 -0
- package/dist/term-query.d.ts.map +1 -0
- package/dist/term-query.js +1 -0
- package/dist/test-definitions.d.ts +6 -3
- package/dist/test-definitions.d.ts.map +1 -1
- package/dist/test-runner.d.ts +95 -10
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +309 -308
- package/dist/tuning-query-tokens.d.ts +29 -0
- package/dist/tuning-query-tokens.d.ts.map +1 -0
- package/dist/tuning-query-tokens.js +51 -0
- package/dist/typecheck-files.d.ts +36 -0
- package/dist/typecheck-files.d.ts.map +1 -0
- package/dist/typecheck-files.js +158 -0
- package/dist/uncertainty.js +1 -1
- package/dist/universal-search.d.ts.map +1 -1
- package/dist/universal-search.js +5 -3
- package/dist/unregistered-exports.d.ts +19 -0
- package/dist/unregistered-exports.d.ts.map +1 -0
- package/dist/unregistered-exports.js +141 -0
- package/dist/unresolvable-reason.d.ts +11 -0
- package/dist/unresolvable-reason.d.ts.map +1 -0
- package/dist/unresolvable-reason.js +11 -0
- package/dist/upgrade-advisor.d.ts.map +1 -1
- package/dist/upgrade-advisor.js +16 -9
- package/dist/validate-contribution-file.d.ts +4 -0
- package/dist/validate-contribution-file.d.ts.map +1 -0
- package/dist/validate-contribution-file.js +228 -0
- package/dist/why-file.d.ts +3 -0
- package/dist/why-file.d.ts.map +1 -1
- package/dist/why-file.js +7 -3
- package/package.json +17 -17
package/dist/pack-author-ux.js
CHANGED
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
* Pack-author developer UX.
|
|
3
3
|
*
|
|
4
4
|
* - buildPackDevStatus({ packPath, consumerPath }) — what the consumer sees:
|
|
5
|
-
* source vs node_modules vs symlink,
|
|
6
|
-
*
|
|
5
|
+
* source vs node_modules vs symlink, signature + compiled-build freshness
|
|
6
|
+
* (from THE pack-asset freshness authority — content digests, never mtimes),
|
|
7
|
+
* and the contribution FILES the manifest declares.
|
|
7
8
|
* - planPackWatchCommand({ packPath, command }) — pure helper that returns
|
|
8
9
|
* the resolved watch command and the file globs to observe (no spawning
|
|
9
10
|
* happens here — the CLI command spawns the child).
|
|
10
11
|
*/
|
|
11
|
-
import { existsSync, lstatSync,
|
|
12
|
-
import {
|
|
12
|
+
import { existsSync, lstatSync, readFileSync } from 'node:fs';
|
|
13
|
+
import { basename, join, resolve } from 'node:path';
|
|
14
|
+
import { countContributions } from '@shrkcrft/packs';
|
|
15
|
+
import { describePackAssetFreshness, detectPackAssetFreshness, } from "./pack-asset-freshness.js";
|
|
16
|
+
import { readPackManifest } from "./pack-manifest-reader.js";
|
|
13
17
|
const WATCHED_GLOBS = Object.freeze([
|
|
14
18
|
'src/assets/**/*.ts',
|
|
15
19
|
'package.json',
|
|
@@ -18,6 +22,18 @@ const WATCHED_GLOBS = Object.freeze([
|
|
|
18
22
|
'README.md',
|
|
19
23
|
'SECURITY.md',
|
|
20
24
|
]);
|
|
25
|
+
const ZERO_COUNTS = Object.freeze({
|
|
26
|
+
rules: 0,
|
|
27
|
+
paths: 0,
|
|
28
|
+
templates: 0,
|
|
29
|
+
pipelines: 0,
|
|
30
|
+
presets: 0,
|
|
31
|
+
boundaries: 0,
|
|
32
|
+
knowledge: 0,
|
|
33
|
+
playbooks: 0,
|
|
34
|
+
constructs: 0,
|
|
35
|
+
docsFiles: 0,
|
|
36
|
+
});
|
|
21
37
|
function readJsonSafe(p) {
|
|
22
38
|
try {
|
|
23
39
|
return JSON.parse(readFileSync(p, 'utf8'));
|
|
@@ -26,41 +42,6 @@ function readJsonSafe(p) {
|
|
|
26
42
|
return null;
|
|
27
43
|
}
|
|
28
44
|
}
|
|
29
|
-
function countTsExports(absFile) {
|
|
30
|
-
if (!existsSync(absFile))
|
|
31
|
-
return 0;
|
|
32
|
-
const txt = readFileSync(absFile, 'utf8');
|
|
33
|
-
// Count default array entries: lines like ` pluginContract,` at brace depth 1.
|
|
34
|
-
const m = txt.match(/^export default \[([\s\S]*?)\];/m);
|
|
35
|
-
if (m && m[1]) {
|
|
36
|
-
return m[1].split(',').filter((s) => s.trim().length > 0).length;
|
|
37
|
-
}
|
|
38
|
-
// Fallback: count named exports.
|
|
39
|
-
const named = txt.match(/^export const /gm);
|
|
40
|
-
return named ? named.length : 0;
|
|
41
|
-
}
|
|
42
|
-
function walkSourceAssetMtimes(packPath) {
|
|
43
|
-
const root = join(packPath, 'src', 'assets');
|
|
44
|
-
let newestMtimeMs = 0;
|
|
45
|
-
const out = [];
|
|
46
|
-
if (!existsSync(root))
|
|
47
|
-
return { newestMtimeMs, files: out };
|
|
48
|
-
const walk = (dir) => {
|
|
49
|
-
for (const e of readdirSync(dir, { withFileTypes: true })) {
|
|
50
|
-
const p = join(dir, e.name);
|
|
51
|
-
if (e.isDirectory())
|
|
52
|
-
walk(p);
|
|
53
|
-
else if (e.isFile() && e.name.endsWith('.ts')) {
|
|
54
|
-
const st = statSync(p);
|
|
55
|
-
out.push(p);
|
|
56
|
-
if (st.mtimeMs > newestMtimeMs)
|
|
57
|
-
newestMtimeMs = st.mtimeMs;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
walk(root);
|
|
62
|
-
return { newestMtimeMs, files: out };
|
|
63
|
-
}
|
|
64
45
|
function detectConsumerSource(packPath, consumerPath) {
|
|
65
46
|
// Read consumer package.json to find pack name.
|
|
66
47
|
const pkgPath = join(packPath, 'package.json');
|
|
@@ -86,7 +67,7 @@ function detectConsumerSource(packPath, consumerPath) {
|
|
|
86
67
|
return 'self';
|
|
87
68
|
return 'source';
|
|
88
69
|
}
|
|
89
|
-
export function buildPackDevStatus(input) {
|
|
70
|
+
export async function buildPackDevStatus(input) {
|
|
90
71
|
const { packPath } = input;
|
|
91
72
|
const warnings = [];
|
|
92
73
|
if (!existsSync(packPath)) {
|
|
@@ -100,79 +81,86 @@ export function buildPackDevStatus(input) {
|
|
|
100
81
|
consumerSeesPackFrom: 'not-installed',
|
|
101
82
|
signatureStaleness: 'unknown',
|
|
102
83
|
staleAssets: [],
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
pipelines: 0,
|
|
108
|
-
presets: 0,
|
|
109
|
-
boundaries: 0,
|
|
110
|
-
knowledge: 0,
|
|
111
|
-
playbooks: 0,
|
|
112
|
-
constructs: 0,
|
|
113
|
-
docsFiles: 0,
|
|
114
|
-
},
|
|
84
|
+
buildStaleness: 'unknown',
|
|
85
|
+
staleArtifacts: [],
|
|
86
|
+
contributionCounts: ZERO_COUNTS,
|
|
87
|
+
freshness: null,
|
|
115
88
|
warnings: [`Pack path does not exist: ${packPath}`],
|
|
116
89
|
nextCommandHint: 'shrk packs new <name>',
|
|
117
90
|
};
|
|
118
91
|
}
|
|
119
|
-
const manifestPath = join(packPath, 'manifest.json');
|
|
120
|
-
const signedManifestPath = join(packPath, 'sharkcraft.plugin.signed.json');
|
|
121
92
|
const pkg = readJsonSafe(join(packPath, 'package.json'));
|
|
93
|
+
const loaded = await readPackManifest(packPath);
|
|
94
|
+
const { manifestPath, signedManifestPath } = loaded;
|
|
95
|
+
if (loaded.error)
|
|
96
|
+
warnings.push(`Cannot read the pack manifest: ${loaded.error}. Freshness NOT verified.`);
|
|
97
|
+
const manifest = loaded.manifest;
|
|
98
|
+
const c = countContributions(manifest?.contributions);
|
|
122
99
|
const contributionCounts = {
|
|
123
|
-
rules:
|
|
124
|
-
paths:
|
|
125
|
-
templates:
|
|
126
|
-
pipelines:
|
|
127
|
-
presets:
|
|
128
|
-
boundaries:
|
|
129
|
-
knowledge:
|
|
130
|
-
playbooks:
|
|
131
|
-
constructs:
|
|
132
|
-
docsFiles: 0,
|
|
100
|
+
rules: c['ruleFiles'] ?? 0,
|
|
101
|
+
paths: (c['pathFiles'] ?? 0) + (c['pathConventionFiles'] ?? 0),
|
|
102
|
+
templates: c['templateFiles'] ?? 0,
|
|
103
|
+
pipelines: c['pipelineFiles'] ?? 0,
|
|
104
|
+
presets: c['presetFiles'] ?? 0,
|
|
105
|
+
boundaries: c['boundaryFiles'] ?? 0,
|
|
106
|
+
knowledge: c['knowledgeFiles'] ?? 0,
|
|
107
|
+
playbooks: c['playbookFiles'] ?? 0,
|
|
108
|
+
constructs: c['constructFiles'] ?? 0,
|
|
109
|
+
docsFiles: c['docsFiles'] ?? 0,
|
|
133
110
|
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
111
|
+
const freshness = manifest
|
|
112
|
+
? detectPackAssetFreshness({ packageName: pkg?.name ?? basename(packPath), packageRoot: packPath, manifest })
|
|
113
|
+
: null;
|
|
114
|
+
const signatureStaleness = !freshness
|
|
115
|
+
? 'unknown'
|
|
116
|
+
: freshness.signature.state === 'unsigned'
|
|
117
|
+
? 'missing'
|
|
118
|
+
: freshness.signature.state === 'diverged'
|
|
119
|
+
? 'stale'
|
|
120
|
+
: freshness.signature.state === 'unrecorded'
|
|
121
|
+
? 'unknown'
|
|
122
|
+
: 'fresh';
|
|
123
|
+
if (freshness) {
|
|
124
|
+
const said = describePackAssetFreshness(freshness);
|
|
125
|
+
if (said.signature)
|
|
126
|
+
warnings.push(said.signature);
|
|
127
|
+
if (said.build)
|
|
128
|
+
warnings.push(said.build);
|
|
129
|
+
if (freshness.signature.state === 'unsigned') {
|
|
130
|
+
warnings.push('No signed manifest found. Run `shrk packs sign` before publishing.');
|
|
147
131
|
}
|
|
148
|
-
else {
|
|
149
|
-
signatureStaleness = 'fresh';
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
signatureStaleness = 'missing';
|
|
154
|
-
warnings.push('No signed manifest found. Run `shrk packs sign` before publishing.');
|
|
155
132
|
}
|
|
133
|
+
const staleArtifacts = freshness
|
|
134
|
+
? freshness.build.artifacts.filter((a) => a.state === 'stale').map((a) => a.artifact)
|
|
135
|
+
: [];
|
|
156
136
|
const consumerPath = input.consumerPath ? resolve(input.consumerPath) : undefined;
|
|
157
137
|
const consumerSeesPackFrom = consumerPath
|
|
158
138
|
? detectConsumerSource(packPath, consumerPath)
|
|
159
139
|
: 'not-installed';
|
|
140
|
+
const nextCommandHint = freshness?.build.state === 'stale'
|
|
141
|
+
? freshness.build.rebuildCommand
|
|
142
|
+
? `(cd ${packPath} && ${freshness.build.rebuildCommand})`
|
|
143
|
+
: `rebuild ${packPath}`
|
|
144
|
+
: signatureStaleness === 'stale' || signatureStaleness === 'unknown'
|
|
145
|
+
? `shrk packs sign ${packPath}`
|
|
146
|
+
: `shrk packs doctor --release --cwd ${packPath}`;
|
|
160
147
|
return {
|
|
161
148
|
schema: 'sharkcraft.pack-dev-status/v1',
|
|
162
149
|
packPath,
|
|
163
150
|
consumerPath: consumerPath ?? undefined,
|
|
164
151
|
packExists: true,
|
|
165
|
-
manifestPath
|
|
166
|
-
signedManifestPath
|
|
152
|
+
manifestPath,
|
|
153
|
+
signedManifestPath,
|
|
167
154
|
packVersion: pkg?.version ?? null,
|
|
168
155
|
consumerSeesPackFrom,
|
|
169
156
|
signatureStaleness,
|
|
170
|
-
staleAssets,
|
|
157
|
+
staleAssets: freshness?.signature.diverged ?? [],
|
|
158
|
+
buildStaleness: freshness?.build.state ?? 'unknown',
|
|
159
|
+
staleArtifacts,
|
|
171
160
|
contributionCounts,
|
|
161
|
+
freshness,
|
|
172
162
|
warnings,
|
|
173
|
-
nextCommandHint
|
|
174
|
-
? `shrk packs sign --pack ${packPath.split(sep).pop()}`
|
|
175
|
-
: `shrk packs doctor --release --cwd ${packPath}`,
|
|
163
|
+
nextCommandHint,
|
|
176
164
|
};
|
|
177
165
|
}
|
|
178
166
|
export function planPackWatchCommand(input) {
|
|
@@ -196,14 +184,20 @@ export function renderPackDevStatusText(status) {
|
|
|
196
184
|
lines.push(` consumer ${status.consumerPath}`);
|
|
197
185
|
lines.push(` version ${status.packVersion ?? '(unknown)'}`);
|
|
198
186
|
lines.push(` seen as ${status.consumerSeesPackFrom}`);
|
|
199
|
-
lines.push(` signature ${status.signatureStaleness}`);
|
|
187
|
+
lines.push(` signature ${status.signatureStaleness}${status.signatureStaleness === 'unknown' ? ' (NOT verified)' : ''}`);
|
|
200
188
|
if (status.staleAssets.length > 0) {
|
|
201
|
-
lines.push(`
|
|
189
|
+
lines.push(` changed since signing ${status.staleAssets.length}`);
|
|
202
190
|
for (const a of status.staleAssets.slice(0, 8))
|
|
203
191
|
lines.push(` • ${a}`);
|
|
204
192
|
}
|
|
193
|
+
lines.push(` build ${status.buildStaleness}${status.buildStaleness === 'unrecorded' ? ' (NOT verified)' : ''}`);
|
|
194
|
+
if (status.staleArtifacts.length > 0) {
|
|
195
|
+
lines.push(` stale artifacts ${status.staleArtifacts.length}`);
|
|
196
|
+
for (const a of status.staleArtifacts.slice(0, 8))
|
|
197
|
+
lines.push(` • ${a}`);
|
|
198
|
+
}
|
|
205
199
|
lines.push('');
|
|
206
|
-
lines.push('
|
|
200
|
+
lines.push('Contribution files (declared in the manifest):');
|
|
207
201
|
for (const [k, v] of Object.entries(status.contributionCounts)) {
|
|
208
202
|
lines.push(` ${k.padEnd(12)} ${v}`);
|
|
209
203
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
|
|
2
|
+
import { ContributionKind } from './contribution-kind.js';
|
|
3
|
+
import type { IContributionEntryRejection } from './i-contribution-entry-rejection.js';
|
|
4
|
+
export { ContributionKind } from './contribution-kind.js';
|
|
2
5
|
export declare const PACK_CONTRIBUTIONS_INVENTORY_SCHEMA = "sharkcraft.pack-contributions-inventory/v1";
|
|
3
6
|
export declare enum ContributionSource {
|
|
4
7
|
Builtin = "builtin",
|
|
@@ -6,36 +9,12 @@ export declare enum ContributionSource {
|
|
|
6
9
|
Pack = "pack",
|
|
7
10
|
Fixture = "fixture"
|
|
8
11
|
}
|
|
9
|
-
export declare enum ContributionKind {
|
|
10
|
-
Knowledge = "knowledge",
|
|
11
|
-
Rule = "rule",
|
|
12
|
-
Path = "path",
|
|
13
|
-
PathConvention = "path-convention",
|
|
14
|
-
Template = "template",
|
|
15
|
-
Pipeline = "pipeline",
|
|
16
|
-
Preset = "preset",
|
|
17
|
-
Boundary = "boundary",
|
|
18
|
-
ScaffoldPattern = "scaffold-pattern",
|
|
19
|
-
Policy = "policy",
|
|
20
|
-
Construct = "construct",
|
|
21
|
-
Playbook = "playbook",
|
|
22
|
-
SearchTuning = "search-tuning",
|
|
23
|
-
FeedbackRule = "feedback-rule",
|
|
24
|
-
Decision = "decision",
|
|
25
|
-
ContractTemplate = "contract-template",
|
|
26
|
-
MigrationProfile = "migration-profile",
|
|
27
|
-
ContextTest = "context-test",
|
|
28
|
-
AgentTest = "agent-test",
|
|
29
|
-
Helper = "helper",
|
|
30
|
-
TaskRoutingHint = "task-routing-hint",
|
|
31
|
-
Convention = "convention",
|
|
32
|
-
Docs = "docs"
|
|
33
|
-
}
|
|
34
12
|
/**
|
|
35
13
|
* How the inventory derived this entry's id.
|
|
36
14
|
* - `structural` — authoritative ids from the loader for this kind.
|
|
37
15
|
* - `regex-fallback` — id extracted by regex from the raw source file;
|
|
38
|
-
* nested `id:` fields may produce false positives
|
|
16
|
+
* nested `id:` fields may produce false positives, and
|
|
17
|
+
* nothing proves the id takes effect (unverified).
|
|
39
18
|
* - `file-only` — file exists but no id could be extracted; entry
|
|
40
19
|
* represents the file itself, not a contribution id.
|
|
41
20
|
*/
|
|
@@ -94,27 +73,88 @@ export interface IPackContributionsInventory {
|
|
|
94
73
|
root: string;
|
|
95
74
|
signaturePresent: boolean;
|
|
96
75
|
}[];
|
|
76
|
+
/**
|
|
77
|
+
* How every entry's id was derived. `regexFallback` ids are unverified —
|
|
78
|
+
* nothing proved they take effect; `structural` ones came from the loader.
|
|
79
|
+
* `rejected` counts the declared entries a loader refused (round 12).
|
|
80
|
+
*/
|
|
81
|
+
readonly extractionTotals: {
|
|
82
|
+
readonly structural: number;
|
|
83
|
+
readonly regexFallback: number;
|
|
84
|
+
readonly fileOnly: number;
|
|
85
|
+
readonly rejected: number;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Every contribution file that failed to load, with the ids the regex
|
|
89
|
+
* scraped from it (which do NOT take effect). Project-relative paths.
|
|
90
|
+
*/
|
|
91
|
+
readonly loadFailures: readonly {
|
|
92
|
+
readonly file: string;
|
|
93
|
+
readonly kind: string;
|
|
94
|
+
readonly packageName?: string;
|
|
95
|
+
readonly message: string;
|
|
96
|
+
readonly scrapedIds: readonly string[];
|
|
97
|
+
}[];
|
|
98
|
+
/**
|
|
99
|
+
* Every declared entry a loader REFUSED (round 12, 12.1) — THE rejection
|
|
100
|
+
* channel (`collectContributionRejections`), project-relative. None of them
|
|
101
|
+
* takes effect; a scraped id matching one is `validation: 'error'`.
|
|
102
|
+
*/
|
|
103
|
+
readonly rejections: readonly {
|
|
104
|
+
readonly file: string;
|
|
105
|
+
readonly kind: ContributionKind;
|
|
106
|
+
readonly packageName?: string;
|
|
107
|
+
readonly index: number;
|
|
108
|
+
readonly exportName?: string;
|
|
109
|
+
readonly entryId?: string;
|
|
110
|
+
readonly reasons: readonly string[];
|
|
111
|
+
readonly cause: IContributionEntryRejection['cause'];
|
|
112
|
+
}[];
|
|
113
|
+
/**
|
|
114
|
+
* `async` — built by {@link buildPackContributionsInventoryAsync} (loaders
|
|
115
|
+
* consulted); `sync` — the regex-only compatibility wrapper, whose regex ids
|
|
116
|
+
* are marked unverified.
|
|
117
|
+
*/
|
|
118
|
+
readonly mode: 'async' | 'sync';
|
|
97
119
|
}
|
|
98
120
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
121
|
+
* THE contribution kind → manifest slot table. A `Record` over the enum: a kind
|
|
122
|
+
* without a slot is a compile error, and the r76 census holds every
|
|
123
|
+
* loader-backed `CONTRIBUTION_FILE_KEYS` slot to exactly one kind here.
|
|
124
|
+
*/
|
|
125
|
+
export declare const CONTRIBUTION_KIND_SLOT: Readonly<Record<ContributionKind, string>>;
|
|
126
|
+
/** The contribution kind a manifest slot's files are loaded as, or `undefined` for a slot no loader reads. */
|
|
127
|
+
export declare function contributionKindForSlot(slot: string): ContributionKind | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Build the inventory WITHOUT consulting the structural loaders — a regex-only
|
|
130
|
+
* compatibility wrapper. Every regex id is marked `warning`
|
|
131
|
+
* ("unverified: loader not consulted") unless the inspection-time loader
|
|
132
|
+
* already imported that file cleanly; known load failures are still `error`.
|
|
133
|
+
* Prefer {@link buildPackContributionsInventoryAsync}.
|
|
107
134
|
*/
|
|
108
135
|
export declare function buildPackContributionsInventory(inspection: ISharkcraftInspection): IPackContributionsInventory;
|
|
109
136
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* Production callers should prefer this over the sync wrapper since it
|
|
113
|
-
* provides the noise-free output. The sync wrapper exists for backward
|
|
114
|
-
* compatibility with callers that haven't been awaited yet.
|
|
137
|
+
* The inventory with structural per-kind entries loaded first — the
|
|
138
|
+
* noise-free, honest variant every surface should use.
|
|
115
139
|
*/
|
|
116
140
|
export declare function buildPackContributionsInventoryAsync(inspection: ISharkcraftInspection): Promise<IPackContributionsInventory>;
|
|
117
141
|
export declare function renderInventoryText(inv: IPackContributionsInventory): string;
|
|
118
142
|
export declare function renderInventoryMarkdown(inv: IPackContributionsInventory): string;
|
|
119
143
|
export declare function selectConflicts(inv: IPackContributionsInventory): readonly IContributionConflict[];
|
|
144
|
+
/**
|
|
145
|
+
* Per contribution kind, a pack's declared FILES, ACCEPTED entries and
|
|
146
|
+
* REJECTED entries — THE projection of this inventory that `packs list`,
|
|
147
|
+
* `packs get` and MCP `list_packs` / `get_pack` print (round 12, 12.1b), so
|
|
148
|
+
* a partially-loaded file never looks like a fully-loaded one and every
|
|
149
|
+
* surface counts what `packs contributions` counts. A kind with nothing
|
|
150
|
+
* declared, accepted or rejected is absent.
|
|
151
|
+
*/
|
|
152
|
+
export declare function packEntryCounts(inv: IPackContributionsInventory | null, pack: {
|
|
153
|
+
readonly packageName: string;
|
|
154
|
+
readonly contributionCounts: Readonly<Record<string, number | undefined>>;
|
|
155
|
+
}): Record<string, {
|
|
156
|
+
files: number;
|
|
157
|
+
accepted: number;
|
|
158
|
+
rejected: number;
|
|
159
|
+
}>;
|
|
120
160
|
//# sourceMappingURL=pack-contributions-inventory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack-contributions-inventory.d.ts","sourceRoot":"","sources":["../src/pack-contributions-inventory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pack-contributions-inventory.d.ts","sourceRoot":"","sources":["../src/pack-contributions-inventory.ts"],"names":[],"mappings":"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"}
|