@shrkcrft/inspector 0.1.0-alpha.30 → 0.1.0-alpha.32
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 +60 -5
- 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/codemod-assist.d.ts.map +1 -1
- package/dist/codemod-assist.js +3 -1
- 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/comment-syntax.d.ts +15 -0
- package/dist/comment-syntax.d.ts.map +1 -0
- package/dist/comment-syntax.js +15 -0
- 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 +122 -0
- package/dist/contribution-load-failures.d.ts.map +1 -0
- package/dist/contribution-load-failures.js +592 -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-applicability.d.ts +46 -0
- package/dist/convention-applicability.d.ts.map +1 -0
- package/dist/convention-applicability.js +247 -0
- package/dist/convention-filter-level.d.ts +13 -0
- package/dist/convention-filter-level.d.ts.map +1 -0
- package/dist/convention-filter-level.js +13 -0
- package/dist/convention-registry.d.ts +51 -4
- package/dist/convention-registry.d.ts.map +1 -1
- package/dist/convention-registry.js +135 -60
- 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 +161 -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 +24 -0
- package/dist/decision-records.d.ts.map +1 -1
- package/dist/decision-records.js +231 -84
- 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 +55 -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 +75 -20
- package/dist/file-languages.d.ts +9 -0
- package/dist/file-languages.d.ts.map +1 -0
- package/dist/file-languages.js +91 -0
- package/dist/fix-preview.d.ts.map +1 -1
- package/dist/fix-preview.js +87 -22
- 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.d.ts.map +1 -1
- package/dist/fuzzy-impact.js +3 -2
- package/dist/git-helpers.d.ts +29 -4
- package/dist/git-helpers.d.ts.map +1 -1
- package/dist/git-helpers.js +69 -10
- 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 +32 -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-convention-applicability-reason.d.ts +29 -0
- package/dist/i-convention-applicability-reason.d.ts.map +1 -0
- package/dist/i-convention-applicability-reason.js +1 -0
- package/dist/i-convention-applicability.d.ts +9 -0
- package/dist/i-convention-applicability.d.ts.map +1 -0
- package/dist/i-convention-applicability.js +1 -0
- package/dist/i-convention-scope.d.ts +19 -0
- package/dist/i-convention-scope.d.ts.map +1 -0
- package/dist/i-convention-scope.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-file-language.d.ts +11 -0
- package/dist/i-file-language.d.ts.map +1 -0
- package/dist/i-file-language.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-not-applicable-convention.d.ts +17 -0
- package/dist/i-not-applicable-convention.d.ts.map +1 -0
- package/dist/i-not-applicable-convention.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-pack-origin.d.ts +13 -0
- package/dist/i-reference-pack-origin.d.ts.map +1 -0
- package/dist/i-reference-pack-origin.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-stale-path-hint-input.d.ts +18 -0
- package/dist/i-stale-path-hint-input.d.ts.map +1 -0
- package/dist/i-stale-path-hint-input.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-unverifiable-remedy-group.d.ts +10 -0
- package/dist/i-unverifiable-remedy-group.d.ts.map +1 -0
- package/dist/i-unverifiable-remedy-group.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 +158 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +197 -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 +25 -2
- package/dist/knowledge-authoring.d.ts.map +1 -1
- package/dist/knowledge-authoring.js +53 -13
- package/dist/knowledge-contribution-slots.d.ts +18 -0
- package/dist/knowledge-contribution-slots.d.ts.map +1 -0
- package/dist/knowledge-contribution-slots.js +25 -0
- package/dist/knowledge-entry-rejections.d.ts +17 -0
- package/dist/knowledge-entry-rejections.d.ts.map +1 -0
- package/dist/knowledge-entry-rejections.js +79 -0
- package/dist/knowledge-entry-verdict-record.d.ts +34 -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-min-referenced-valve.d.ts +12 -0
- package/dist/knowledge-min-referenced-valve.d.ts.map +1 -0
- package/dist/knowledge-min-referenced-valve.js +12 -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-rejected-entry.d.ts +28 -0
- package/dist/knowledge-rejected-entry.d.ts.map +1 -0
- package/dist/knowledge-rejected-entry.js +1 -0
- package/dist/knowledge-rename-command.d.ts +20 -0
- package/dist/knowledge-rename-command.d.ts.map +1 -0
- package/dist/knowledge-rename-command.js +34 -0
- package/dist/knowledge-rename-verb.d.ts +11 -0
- package/dist/knowledge-rename-verb.d.ts.map +1 -0
- package/dist/knowledge-rename-verb.js +11 -0
- package/dist/knowledge-rename.d.ts +1 -1
- package/dist/knowledge-rename.d.ts.map +1 -1
- package/dist/knowledge-rename.js +6 -5
- 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 +85 -0
- package/dist/knowledge-stale-gate.d.ts.map +1 -0
- package/dist/knowledge-stale-gate.js +501 -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 +140 -0
- package/dist/knowledge-stale.d.ts +132 -9
- package/dist/knowledge-stale.d.ts.map +1 -1
- package/dist/knowledge-stale.js +1193 -294
- 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/knowledge-unverifiable-remedy.d.ts +56 -0
- package/dist/knowledge-unverifiable-remedy.d.ts.map +1 -0
- package/dist/knowledge-unverifiable-remedy.js +0 -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 +445 -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/propose-knowledge.js +3 -2
- 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-pack-origin.d.ts +18 -0
- package/dist/reference-pack-origin.d.ts.map +1 -0
- package/dist/reference-pack-origin.js +38 -0
- 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/repository-stats.d.ts.map +1 -1
- package/dist/repository-stats.js +3 -77
- 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 +250 -33
- 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 +1369 -182
- 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 +55 -281
- 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 +314 -27
- 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/stale-path-hint.d.ts +3 -0
- package/dist/stale-path-hint.d.ts.map +1 -0
- package/dist/stale-path-hint.js +47 -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-authoring.d.ts +1 -1
- package/dist/template-authoring.d.ts.map +1 -1
- package/dist/template-authoring.js +2 -1
- 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 +233 -0
- package/dist/why-file.d.ts +3 -0
- package/dist/why-file.d.ts.map +1 -1
- package/dist/why-file.js +12 -7
- package/package.json +17 -17
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Why an entry landed in the `unverifiable` bucket. */
|
|
2
|
+
export declare enum KnowledgeUnverifiableReason {
|
|
3
|
+
/** It declares no `references[]` and no `anchors[]`. */
|
|
4
|
+
NoReferences = "no-references",
|
|
5
|
+
/**
|
|
6
|
+
* It declares some, but none can be checked: every one is a `url`, an
|
|
7
|
+
* unpinned symbol, a reference missing its required field, or an id whose
|
|
8
|
+
* registry is empty / was not loaded.
|
|
9
|
+
*/
|
|
10
|
+
OnlyUnverifiableReferences = "only-unverifiable-references"
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=knowledge-unverifiable-reason.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-unverifiable-reason.d.ts","sourceRoot":"","sources":["../src/knowledge-unverifiable-reason.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,oBAAY,2BAA2B;IACrC,wDAAwD;IACxD,YAAY,kBAAkB;IAC9B;;;;OAIG;IACH,0BAA0B,iCAAiC;CAC5D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Why an entry landed in the `unverifiable` bucket. */
|
|
2
|
+
export var KnowledgeUnverifiableReason;
|
|
3
|
+
(function (KnowledgeUnverifiableReason) {
|
|
4
|
+
/** It declares no `references[]` and no `anchors[]`. */
|
|
5
|
+
KnowledgeUnverifiableReason["NoReferences"] = "no-references";
|
|
6
|
+
/**
|
|
7
|
+
* It declares some, but none can be checked: every one is a `url`, an
|
|
8
|
+
* unpinned symbol, a reference missing its required field, or an id whose
|
|
9
|
+
* registry is empty / was not loaded.
|
|
10
|
+
*/
|
|
11
|
+
KnowledgeUnverifiableReason["OnlyUnverifiableReferences"] = "only-unverifiable-references";
|
|
12
|
+
})(KnowledgeUnverifiableReason || (KnowledgeUnverifiableReason = {}));
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { IKnowledgeEntryVerdictRecord } from './knowledge-entry-verdict-record.js';
|
|
2
|
+
import { KnowledgeMinReferencedValve } from './knowledge-min-referenced-valve.js';
|
|
3
|
+
import type { IUnverifiableRemedyGroup } from './i-unverifiable-remedy-group.js';
|
|
4
|
+
/** The channel sentence: both formats can declare references. */
|
|
5
|
+
export declare const DECLARE_REFERENCES_REMEDY = "Declare references[] (TypeScript) or a references: frontmatter list (Markdown)";
|
|
6
|
+
/** The valve a surface names (the verb takes the flag; `quality` refuses it). */
|
|
7
|
+
export declare function minReferencedValveText(valve: KnowledgeMinReferencedValve): string;
|
|
8
|
+
/**
|
|
9
|
+
* The fix for ONE unverifiable entry — `undefined` only for a local TypeScript
|
|
10
|
+
* (or other non-Markdown) entry that declares NOTHING (the heading names
|
|
11
|
+
* `references[]`). It branches on the verdict REASON (round 15 closing, A4): an
|
|
12
|
+
* entry that declares references, none checkable (a malformed item — a
|
|
13
|
+
* non-boolean `required`, an unknown kind or `root` — or only `url:`s), is told
|
|
14
|
+
* to fix what it declared, never to "add a references: frontmatter list" /
|
|
15
|
+
* "declare references[]" it already has. A pack's entries are fixed upstream;
|
|
16
|
+
* their `file:` / `directory:` paths resolve against the CONSUMER's root unless
|
|
17
|
+
* the reference declares `root: pack` (round 15 follow-up, F7 — then against
|
|
18
|
+
* the pack's own directory), and `package:` reads the consumer's root
|
|
19
|
+
* package.json plus the pack's own name.
|
|
20
|
+
*/
|
|
21
|
+
export declare function unverifiableFileRemedy(v: Pick<IKnowledgeEntryVerdictRecord, 'sourceFormat' | 'pack' | 'reason'>): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* {@link unverifiableFileRemedy} for EVERY entry — what a per-entry row (the
|
|
24
|
+
* `--require-references` violation) prints: a local TypeScript entry that
|
|
25
|
+
* declares nothing is told to declare `references[]`, one whose references are
|
|
26
|
+
* all uncheckable to fix them (it read "declare references[]").
|
|
27
|
+
*/
|
|
28
|
+
export declare function unverifiableEntryRemedy(v: Pick<IKnowledgeEntryVerdictRecord, 'sourceFormat' | 'pack' | 'reason'>): string;
|
|
29
|
+
/**
|
|
30
|
+
* The heading of the unverifiable list, after `UNVERIFIABLE (N) — never
|
|
31
|
+
* checked; ` — by reason (round 15 closing, A4): it told every entry to
|
|
32
|
+
* "declare references[] …, a references: frontmatter list (Markdown) or
|
|
33
|
+
* anchors[]", over entries whose references exist and are malformed.
|
|
34
|
+
*/
|
|
35
|
+
export declare function unverifiableListHeading(verdicts: readonly Pick<IKnowledgeEntryVerdictRecord, 'verdict' | 'reason'>[]): string;
|
|
36
|
+
/**
|
|
37
|
+
* The remedy sentence for a run with unverifiable entries: the channel (or,
|
|
38
|
+
* for entries that declare references none of which is checkable, the fix to
|
|
39
|
+
* them — round 15 closing, A4), the valve this surface can name, and — when a
|
|
40
|
+
* pack contributed any of them — the pack that fixes them upstream.
|
|
41
|
+
*/
|
|
42
|
+
export declare function unverifiableRemedy(verdicts: readonly Pick<IKnowledgeEntryVerdictRecord, 'verdict' | 'pack' | 'reason'>[], valve: KnowledgeMinReferencedValve): string;
|
|
43
|
+
/**
|
|
44
|
+
* Unverifiable entries grouped by declaring file AND remedy, in report order —
|
|
45
|
+
* THE grouping the stale-check's per-file lines and `quality`'s notes read. A
|
|
46
|
+
* file whose entries need different fixes gets one group per fix: the first
|
|
47
|
+
* entry's remedy used to speak for its whole file (round 15 closing, A4).
|
|
48
|
+
*/
|
|
49
|
+
export declare function unverifiableRemedyGroups(verdicts: readonly Pick<IKnowledgeEntryVerdictRecord, 'entryId' | 'verdict' | 'source' | 'sourceFormat' | 'pack' | 'reason'>[]): IUnverifiableRemedyGroup[];
|
|
50
|
+
/**
|
|
51
|
+
* `<file>: <remedy>` for each file whose unverifiable entries need more than
|
|
52
|
+
* `references[]`, capped — `<file> (<ids>): <remedy>` when that file's entries
|
|
53
|
+
* need different fixes ({@link unverifiableRemedyGroups}).
|
|
54
|
+
*/
|
|
55
|
+
export declare function unverifiableFileRemedies(verdicts: readonly Pick<IKnowledgeEntryVerdictRecord, 'entryId' | 'verdict' | 'source' | 'sourceFormat' | 'pack' | 'reason'>[]): string[];
|
|
56
|
+
//# sourceMappingURL=knowledge-unverifiable-remedy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-unverifiable-remedy.d.ts","sourceRoot":"","sources":["../src/knowledge-unverifiable-remedy.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,mFAC4C,CAAC;AAKnF,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,MAAM,CAIjF;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC,GACxE,MAAM,GAAG,SAAS,CAyBpB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC,GACxE,MAAM,CAER;AAiBD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,4BAA4B,EAAE,SAAS,GAAG,QAAQ,CAAC,EAAE,GAAG,MAAM,CAK7H;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,IAAI,CAAC,4BAA4B,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,EACtF,KAAK,EAAE,2BAA2B,GACjC,MAAM,CAmBR;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,IAAI,CAAC,4BAA4B,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,GAC7H,wBAAwB,EAAE,CAc5B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,IAAI,CAAC,4BAA4B,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,GAC7H,MAAM,EAAE,CAUV"}
|
|
Binary file
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IRejectedEntry } from '@shrkcrft/core';
|
|
1
2
|
import type { LoaderAssetKind, LoaderAssetStatus } from './inspector-cache.js';
|
|
2
3
|
export type LoaderOrigin = 'local-config' | 'pack-manifest';
|
|
3
4
|
export interface ILoaderDiagnostic {
|
|
@@ -6,9 +7,20 @@ export interface ILoaderDiagnostic {
|
|
|
6
7
|
origin: LoaderOrigin;
|
|
7
8
|
packName?: string;
|
|
8
9
|
elapsedMs: number;
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* `missing` — a file the local config DECLARES (e.g. `knowledgeFiles`) does
|
|
12
|
+
* not exist, so nothing was loaded from it. Recorded so a corpus check can
|
|
13
|
+
* refuse to pass over a source it was told about and never read.
|
|
14
|
+
*/
|
|
15
|
+
status: LoaderAssetStatus | 'cached-skip' | 'missing';
|
|
16
|
+
/** Number of items extracted (entries/templates/etc) — the loader's ACCEPTED count. */
|
|
11
17
|
count: number;
|
|
18
|
+
/**
|
|
19
|
+
* Entries the file declared that the loader refused (round 12, 12.1), so
|
|
20
|
+
* `count + rejected.length === declared`. Absent when none were refused.
|
|
21
|
+
* Lifted into THE rejection channel by `collectContributionRejections`.
|
|
22
|
+
*/
|
|
23
|
+
rejected?: readonly IRejectedEntry[];
|
|
12
24
|
warningCount: number;
|
|
13
25
|
errorMessage?: string;
|
|
14
26
|
/** When status === 'cached-skip', this is the cached pre-existing status. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-diagnostics.d.ts","sourceRoot":"","sources":["../src/loader-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,eAAe,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"loader-diagnostics.d.ts","sourceRoot":"","sources":["../src/loader-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,eAAe,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAAC;IACtD,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,gCAAgC,OAAO,CAAC;AACrD,eAAO,MAAM,0BAA0B,QAAa,CAAC;AAErD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAQvE;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,GAAG;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CA2BA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE term matcher — the one answer to "does this trigger word appear in this
|
|
3
|
+
* task?" for routing hints, playbooks, the recommender's built-in recipes, the
|
|
4
|
+
* change-intent domain keywords and the ranker's distinct-term evidence.
|
|
5
|
+
*
|
|
6
|
+
* Every one of those used raw `task.toLowerCase().includes(needle)`, so a
|
|
7
|
+
* two-letter keyword fired inside unrelated words (`ci` in `pricing`, `pr` in
|
|
8
|
+
* `pricing`, `gate` in `investigate`, `pack` in `package`) and a hyphenated
|
|
9
|
+
* tag could never match the same words typed with spaces (`capability-pack`
|
|
10
|
+
* vs "capability pack").
|
|
11
|
+
*
|
|
12
|
+
* Terms come from THE identifier tokenizer (`split-identifier.ts`) over the
|
|
13
|
+
* LOWERCASED text — so camelCase splitting is inert and both sides split the
|
|
14
|
+
* same way on hyphens, underscores, whitespace and punctuation. Never write a
|
|
15
|
+
* second tokenizer.
|
|
16
|
+
*/
|
|
17
|
+
import { TermMatchMode } from '@shrkcrft/plugin-api';
|
|
18
|
+
import type { ITermQuery } from './term-query.js';
|
|
19
|
+
/** Function words dropped by {@link contentTerms}. Small and fixed on purpose. */
|
|
20
|
+
export declare const TERM_STOPWORDS: ReadonlySet<string>;
|
|
21
|
+
/** Lowercase, then split with THE identifier tokenizer. Order and duplicates are kept. */
|
|
22
|
+
export declare function normaliseTerms(text: string): string[];
|
|
23
|
+
/** {@link normaliseTerms} minus {@link TERM_STOPWORDS}, distinct, first-seen order. */
|
|
24
|
+
export declare function contentTerms(text: string): string[];
|
|
25
|
+
/** Prepare a task once for any number of {@link matchTerm} calls. */
|
|
26
|
+
export declare function prepareTermQuery(text: string): ITermQuery;
|
|
27
|
+
/** Two terms agree when equal, or one plain inflection apart (either direction). */
|
|
28
|
+
export declare function termsAgree(a: string, b: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Does `needle` occur in the query?
|
|
31
|
+
*
|
|
32
|
+
* - {@link TermMatchMode.Tokens} (default): the needle's terms must appear
|
|
33
|
+
* contiguously in the query's terms, each agreeing ({@link termsAgree}). A
|
|
34
|
+
* needle with no terms (empty, or punctuation only) never matches.
|
|
35
|
+
* - {@link TermMatchMode.Substring}: the legacy `lower.includes(needle)`,
|
|
36
|
+
* reproduced exactly (an empty needle matches everything — the routing-hint
|
|
37
|
+
* load lint errors on it).
|
|
38
|
+
*/
|
|
39
|
+
export declare function matchTerm(query: ITermQuery, needle: string, mode?: TermMatchMode | `${TermMatchMode}`): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The DISTINCT `queryTerms` that agree with some term of `corpus` — the
|
|
42
|
+
* evidence count "how many different words of the task does this item
|
|
43
|
+
* mention?". Repeats inside the corpus never count twice.
|
|
44
|
+
*/
|
|
45
|
+
export declare function matchedQueryTerms(queryTerms: readonly string[], corpus: readonly (string | undefined)[]): string[];
|
|
46
|
+
/** Jaccard similarity of two term lists, as sets (0 when both are empty). */
|
|
47
|
+
export declare function termJaccard(a: readonly string[], b: readonly string[]): number;
|
|
48
|
+
//# sourceMappingURL=match-terms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"match-terms.d.ts","sourceRoot":"","sources":["../src/match-terms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAmB7C,CAAC;AAgBH,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAErD;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CASnD;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEzD;AAaD,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,aAAa,GAAG,GAAG,aAAa,EAAyB,GAC9D,OAAO,CAeT;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACtC,MAAM,EAAE,CAcV;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAO9E"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE term matcher — the one answer to "does this trigger word appear in this
|
|
3
|
+
* task?" for routing hints, playbooks, the recommender's built-in recipes, the
|
|
4
|
+
* change-intent domain keywords and the ranker's distinct-term evidence.
|
|
5
|
+
*
|
|
6
|
+
* Every one of those used raw `task.toLowerCase().includes(needle)`, so a
|
|
7
|
+
* two-letter keyword fired inside unrelated words (`ci` in `pricing`, `pr` in
|
|
8
|
+
* `pricing`, `gate` in `investigate`, `pack` in `package`) and a hyphenated
|
|
9
|
+
* tag could never match the same words typed with spaces (`capability-pack`
|
|
10
|
+
* vs "capability pack").
|
|
11
|
+
*
|
|
12
|
+
* Terms come from THE identifier tokenizer (`split-identifier.ts`) over the
|
|
13
|
+
* LOWERCASED text — so camelCase splitting is inert and both sides split the
|
|
14
|
+
* same way on hyphens, underscores, whitespace and punctuation. Never write a
|
|
15
|
+
* second tokenizer.
|
|
16
|
+
*/
|
|
17
|
+
import { TermMatchMode } from '@shrkcrft/plugin-api';
|
|
18
|
+
import { splitIdentifierTokens } from "./split-identifier.js";
|
|
19
|
+
/** Function words dropped by {@link contentTerms}. Small and fixed on purpose. */
|
|
20
|
+
export const TERM_STOPWORDS = new Set([
|
|
21
|
+
'a',
|
|
22
|
+
'an',
|
|
23
|
+
'the',
|
|
24
|
+
'to',
|
|
25
|
+
'for',
|
|
26
|
+
'of',
|
|
27
|
+
'in',
|
|
28
|
+
'on',
|
|
29
|
+
'and',
|
|
30
|
+
'or',
|
|
31
|
+
'with',
|
|
32
|
+
'my',
|
|
33
|
+
'our',
|
|
34
|
+
'please',
|
|
35
|
+
'i',
|
|
36
|
+
'we',
|
|
37
|
+
'it',
|
|
38
|
+
'is',
|
|
39
|
+
]);
|
|
40
|
+
/**
|
|
41
|
+
* Plain inflections one term may differ by. Agent-noun suffixes (`er`, `ers`)
|
|
42
|
+
* are deliberately absent: `block` → `blocker`, `build` → `builder` change the
|
|
43
|
+
* meaning, and `block` firing on "the blocker in billing" was one of the
|
|
44
|
+
* reproduced false positives.
|
|
45
|
+
*/
|
|
46
|
+
const INFLECTION_SUFFIXES = ['s', 'es', 'ed', 'ing'];
|
|
47
|
+
/** A term shorter than this matches only itself — `ci`, `pr`, `go` never inflect. */
|
|
48
|
+
const MIN_INFLECTABLE_LENGTH = 3;
|
|
49
|
+
/** Final consonants that double before `-ing` / `-ed` (`plan` → `planning`). */
|
|
50
|
+
const DOUBLING_CONSONANT = /[bdgklmnprtz]$/;
|
|
51
|
+
/** Lowercase, then split with THE identifier tokenizer. Order and duplicates are kept. */
|
|
52
|
+
export function normaliseTerms(text) {
|
|
53
|
+
return splitIdentifierTokens(text.toLowerCase());
|
|
54
|
+
}
|
|
55
|
+
/** {@link normaliseTerms} minus {@link TERM_STOPWORDS}, distinct, first-seen order. */
|
|
56
|
+
export function contentTerms(text) {
|
|
57
|
+
const out = [];
|
|
58
|
+
const seen = new Set();
|
|
59
|
+
for (const t of normaliseTerms(text)) {
|
|
60
|
+
if (TERM_STOPWORDS.has(t) || seen.has(t))
|
|
61
|
+
continue;
|
|
62
|
+
seen.add(t);
|
|
63
|
+
out.push(t);
|
|
64
|
+
}
|
|
65
|
+
return out;
|
|
66
|
+
}
|
|
67
|
+
/** Prepare a task once for any number of {@link matchTerm} calls. */
|
|
68
|
+
export function prepareTermQuery(text) {
|
|
69
|
+
return { lower: text.toLowerCase(), terms: normaliseTerms(text) };
|
|
70
|
+
}
|
|
71
|
+
function inflects(base, word) {
|
|
72
|
+
if (base.length < MIN_INFLECTABLE_LENGTH || word.length <= base.length)
|
|
73
|
+
return false;
|
|
74
|
+
for (const suffix of INFLECTION_SUFFIXES)
|
|
75
|
+
if (word === base + suffix)
|
|
76
|
+
return true;
|
|
77
|
+
const last = base[base.length - 1];
|
|
78
|
+
const stem = base.slice(0, -1);
|
|
79
|
+
if (last === 'e' && (word === `${base}d` || word === `${stem}ing`))
|
|
80
|
+
return true;
|
|
81
|
+
if (last === 'y' && (word === `${stem}ies` || word === `${stem}ied`))
|
|
82
|
+
return true;
|
|
83
|
+
if (DOUBLING_CONSONANT.test(base) && (word === `${base}${last}ing` || word === `${base}${last}ed`))
|
|
84
|
+
return true;
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
/** Two terms agree when equal, or one plain inflection apart (either direction). */
|
|
88
|
+
export function termsAgree(a, b) {
|
|
89
|
+
return a === b || inflects(a, b) || inflects(b, a);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Does `needle` occur in the query?
|
|
93
|
+
*
|
|
94
|
+
* - {@link TermMatchMode.Tokens} (default): the needle's terms must appear
|
|
95
|
+
* contiguously in the query's terms, each agreeing ({@link termsAgree}). A
|
|
96
|
+
* needle with no terms (empty, or punctuation only) never matches.
|
|
97
|
+
* - {@link TermMatchMode.Substring}: the legacy `lower.includes(needle)`,
|
|
98
|
+
* reproduced exactly (an empty needle matches everything — the routing-hint
|
|
99
|
+
* load lint errors on it).
|
|
100
|
+
*/
|
|
101
|
+
export function matchTerm(query, needle, mode = TermMatchMode.Tokens) {
|
|
102
|
+
if (mode === TermMatchMode.Substring)
|
|
103
|
+
return query.lower.includes(needle.toLowerCase());
|
|
104
|
+
const seq = normaliseTerms(needle);
|
|
105
|
+
if (seq.length === 0 || seq.length > query.terms.length)
|
|
106
|
+
return false;
|
|
107
|
+
for (let i = 0; i + seq.length <= query.terms.length; i++) {
|
|
108
|
+
let all = true;
|
|
109
|
+
for (let j = 0; j < seq.length; j++) {
|
|
110
|
+
if (!termsAgree(seq[j], query.terms[i + j])) {
|
|
111
|
+
all = false;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (all)
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* The DISTINCT `queryTerms` that agree with some term of `corpus` — the
|
|
122
|
+
* evidence count "how many different words of the task does this item
|
|
123
|
+
* mention?". Repeats inside the corpus never count twice.
|
|
124
|
+
*/
|
|
125
|
+
export function matchedQueryTerms(queryTerms, corpus) {
|
|
126
|
+
const corpusTerms = new Set();
|
|
127
|
+
for (const c of corpus)
|
|
128
|
+
if (c)
|
|
129
|
+
for (const t of normaliseTerms(c))
|
|
130
|
+
corpusTerms.add(t);
|
|
131
|
+
const out = [];
|
|
132
|
+
for (const q of queryTerms) {
|
|
133
|
+
if (out.includes(q))
|
|
134
|
+
continue;
|
|
135
|
+
for (const t of corpusTerms) {
|
|
136
|
+
if (termsAgree(q, t)) {
|
|
137
|
+
out.push(q);
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return out;
|
|
143
|
+
}
|
|
144
|
+
/** Jaccard similarity of two term lists, as sets (0 when both are empty). */
|
|
145
|
+
export function termJaccard(a, b) {
|
|
146
|
+
const sa = new Set(a);
|
|
147
|
+
const sb = new Set(b);
|
|
148
|
+
if (sa.size === 0 && sb.size === 0)
|
|
149
|
+
return 0;
|
|
150
|
+
let inter = 0;
|
|
151
|
+
for (const t of sa)
|
|
152
|
+
if (sb.has(t))
|
|
153
|
+
inter += 1;
|
|
154
|
+
return inter / (sa.size + sb.size - inter);
|
|
155
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type IMigrationProfile } from './migration-readiness.js';
|
|
2
2
|
import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
|
|
3
|
+
import { type IRejectedEntry } from '@shrkcrft/core';
|
|
3
4
|
export declare const MIGRATION_PROFILE_REGISTRY_SCHEMA = "sharkcraft.migration-profile-registry/v1";
|
|
4
5
|
export declare enum MigrationProfileSource {
|
|
5
6
|
Local = "local",
|
|
@@ -18,9 +19,18 @@ export interface IMigrationProfileRegistryIssue {
|
|
|
18
19
|
readonly profileId?: string;
|
|
19
20
|
readonly source?: string;
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* THE migration-profile acceptance predicate (round 12, 12.1): one
|
|
24
|
+
* `<field>: <message>` per failing field — `[]` means accepted. A refused
|
|
25
|
+
* profile used to read `Invalid migration profile at <file>; skipped.`
|
|
26
|
+
* with no id and no field.
|
|
27
|
+
*/
|
|
28
|
+
export declare function migrationProfileRejectionReasons(raw: unknown): readonly string[];
|
|
21
29
|
export declare function loadMigrationProfiles(inspection: ISharkcraftInspection): Promise<{
|
|
22
30
|
entries: readonly IMigrationProfileEntry[];
|
|
23
31
|
issues: readonly IMigrationProfileRegistryIssue[];
|
|
32
|
+
/** Every declared profile the loader refused — invalid or a duplicate id (round 12, 12.1). */
|
|
33
|
+
rejected: readonly IRejectedEntry[];
|
|
24
34
|
}>;
|
|
25
35
|
export declare function listMigrationProfilesFromPacks(inspection: ISharkcraftInspection): Promise<readonly IMigrationProfile[]>;
|
|
26
36
|
//# sourceMappingURL=migration-profile-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-profile-registry.d.ts","sourceRoot":"","sources":["../src/migration-profile-registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-profile-registry.d.ts","sourceRoot":"","sources":["../src/migration-profile-registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAE5F,oBAAY,sBAAsB;IAChC,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAoBD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAQhF;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC;IACT,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,MAAM,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAClD,8FAA8F;IAC9F,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CACrC,CAAC,CA+GD;AAED,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAGvC"}
|
|
@@ -4,22 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { existsSync } from 'node:fs';
|
|
6
6
|
import * as nodePath from 'node:path';
|
|
7
|
-
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
7
|
+
import { importModuleViaLoader, readContributionExport, RejectionCause, } from '@shrkcrft/core';
|
|
8
8
|
export const MIGRATION_PROFILE_REGISTRY_SCHEMA = 'sharkcraft.migration-profile-registry/v1';
|
|
9
9
|
export var MigrationProfileSource;
|
|
10
10
|
(function (MigrationProfileSource) {
|
|
11
11
|
MigrationProfileSource["Local"] = "local";
|
|
12
12
|
MigrationProfileSource["Pack"] = "pack";
|
|
13
13
|
})(MigrationProfileSource || (MigrationProfileSource = {}));
|
|
14
|
-
async function
|
|
15
|
-
|
|
16
|
-
if (Array.isArray(mod.default))
|
|
17
|
-
return mod.default;
|
|
18
|
-
if (mod.default && typeof mod.default === 'object')
|
|
19
|
-
return [mod.default];
|
|
20
|
-
if (Array.isArray(mod.migrationProfiles))
|
|
21
|
-
return mod.migrationProfiles;
|
|
22
|
-
return [];
|
|
14
|
+
async function importProfiles(file) {
|
|
15
|
+
return readContributionExport(await importModuleViaLoader(file), { namedKeys: ['migrationProfiles'] });
|
|
23
16
|
}
|
|
24
17
|
function localFiles(inspection) {
|
|
25
18
|
const out = [];
|
|
@@ -31,56 +24,88 @@ function localFiles(inspection) {
|
|
|
31
24
|
if (existsSync(full))
|
|
32
25
|
out.push(full);
|
|
33
26
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
27
|
+
// More profile files come from pack manifests (`migrationProfileFiles`,
|
|
28
|
+
// loaded below) — there is no local-config key for them; the strict config
|
|
29
|
+
// schema rejects one, so a local read here could never be reached.
|
|
38
30
|
return out;
|
|
39
31
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
/**
|
|
33
|
+
* THE migration-profile acceptance predicate (round 12, 12.1): one
|
|
34
|
+
* `<field>: <message>` per failing field — `[]` means accepted. A refused
|
|
35
|
+
* profile used to read `Invalid migration profile at <file>; skipped.`
|
|
36
|
+
* with no id and no field.
|
|
37
|
+
*/
|
|
38
|
+
export function migrationProfileRejectionReasons(raw) {
|
|
39
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
40
|
+
return ['(entry): must be an object'];
|
|
43
41
|
const o = raw;
|
|
44
|
-
|
|
42
|
+
const out = [];
|
|
43
|
+
if (typeof o.id !== 'string')
|
|
44
|
+
out.push('id: must be a string');
|
|
45
|
+
if (typeof o.title !== 'string')
|
|
46
|
+
out.push('title: must be a string');
|
|
47
|
+
if (!Array.isArray(o.checks))
|
|
48
|
+
out.push('checks: must be an array');
|
|
49
|
+
return out;
|
|
45
50
|
}
|
|
46
51
|
export async function loadMigrationProfiles(inspection) {
|
|
47
52
|
const entries = [];
|
|
48
53
|
const issues = [];
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
|
|
54
|
+
const rejected = [];
|
|
55
|
+
const seen = new Map();
|
|
56
|
+
const ingest = (raw, source, packageName, sourceFile, at) => {
|
|
57
|
+
const rawId = raw && typeof raw === 'object' ? raw.id : undefined;
|
|
58
|
+
const id = typeof rawId === 'string' ? rawId : undefined;
|
|
59
|
+
const reasons = migrationProfileRejectionReasons(raw);
|
|
60
|
+
if (reasons.length > 0) {
|
|
52
61
|
issues.push({
|
|
53
62
|
severity: 'warning',
|
|
54
63
|
code: 'invalid-profile',
|
|
55
|
-
message: `Invalid migration profile at ${sourceFile}; skipped.`,
|
|
64
|
+
message: `Invalid migration profile${id ? ` "${id}"` : ''} at ${sourceFile} (${at.exportName ?? 'default'}[${at.index}]); skipped — ${reasons.join('; ')}.`,
|
|
65
|
+
...(id ? { profileId: id } : {}),
|
|
56
66
|
source: sourceFile,
|
|
57
67
|
});
|
|
68
|
+
rejected.push({ ...at, ...(id ? { entryId: id } : {}), reasons, cause: RejectionCause.Invalid });
|
|
58
69
|
return;
|
|
59
70
|
}
|
|
60
|
-
|
|
71
|
+
const profile = raw;
|
|
72
|
+
const prev = seen.get(profile.id);
|
|
73
|
+
if (prev !== undefined) {
|
|
61
74
|
issues.push({
|
|
62
75
|
severity: 'error',
|
|
63
76
|
code: 'duplicate-id',
|
|
64
|
-
message: `Migration profile id "${
|
|
65
|
-
profileId:
|
|
77
|
+
message: `Migration profile id "${profile.id}" already loaded; skipping ${sourceFile}.`,
|
|
78
|
+
profileId: profile.id,
|
|
66
79
|
source: sourceFile,
|
|
67
80
|
});
|
|
81
|
+
rejected.push({
|
|
82
|
+
...at,
|
|
83
|
+
entryId: profile.id,
|
|
84
|
+
reasons: [`id: "${profile.id}" is already declared in ${prev}`],
|
|
85
|
+
cause: RejectionCause.DuplicateId,
|
|
86
|
+
});
|
|
68
87
|
return;
|
|
69
88
|
}
|
|
70
|
-
seen.
|
|
89
|
+
seen.set(profile.id, sourceFile);
|
|
71
90
|
entries.push({
|
|
72
|
-
profile
|
|
91
|
+
profile,
|
|
73
92
|
source,
|
|
74
93
|
...(packageName ? { packageName } : {}),
|
|
75
94
|
sourceFile,
|
|
76
95
|
});
|
|
77
96
|
};
|
|
97
|
+
const ingestAll = (exp, file, source, packageName, sourceFile) => {
|
|
98
|
+
exp.items.forEach((raw, i) => ingest(raw, source, packageName, sourceFile, {
|
|
99
|
+
file,
|
|
100
|
+
index: exp.single ? -1 : i,
|
|
101
|
+
...(exp.exportName ? { exportName: exp.exportName } : {}),
|
|
102
|
+
}));
|
|
103
|
+
};
|
|
78
104
|
for (const file of localFiles(inspection)) {
|
|
79
105
|
try {
|
|
80
|
-
const
|
|
106
|
+
const exp = await importProfiles(file);
|
|
81
107
|
const rel = nodePath.relative(inspection.projectRoot, file) || file;
|
|
82
|
-
|
|
83
|
-
ingest(raw, MigrationProfileSource.Local, undefined, rel);
|
|
108
|
+
ingestAll(exp, file, MigrationProfileSource.Local, undefined, rel);
|
|
84
109
|
}
|
|
85
110
|
catch (e) {
|
|
86
111
|
issues.push({
|
|
@@ -105,9 +130,7 @@ export async function loadMigrationProfiles(inspection) {
|
|
|
105
130
|
continue;
|
|
106
131
|
}
|
|
107
132
|
try {
|
|
108
|
-
|
|
109
|
-
for (const raw of list)
|
|
110
|
-
ingest(raw, MigrationProfileSource.Pack, pack.packageName, rel);
|
|
133
|
+
ingestAll(await importProfiles(file), file, MigrationProfileSource.Pack, pack.packageName, rel);
|
|
111
134
|
}
|
|
112
135
|
catch (e) {
|
|
113
136
|
issues.push({
|
|
@@ -119,7 +142,7 @@ export async function loadMigrationProfiles(inspection) {
|
|
|
119
142
|
}
|
|
120
143
|
}
|
|
121
144
|
}
|
|
122
|
-
return { entries, issues };
|
|
145
|
+
return { entries, issues, rejected };
|
|
123
146
|
}
|
|
124
147
|
export async function listMigrationProfilesFromPacks(inspection) {
|
|
125
148
|
const { entries } = await loadMigrationProfiles(inspection);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-readiness.d.ts","sourceRoot":"","sources":["../src/migration-readiness.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migration-readiness.d.ts","sourceRoot":"","sources":["../src/migration-readiness.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,kBAAkB,yBAAyB;IAC3C,mBAAmB,0BAA0B;IAC7C,iBAAiB,wBAAwB;IACzC,uBAAuB,+BAA+B;IACtD,gBAAgB,uBAAuB;IACvC,aAAa,oBAAoB;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,8IAA8I;IAC9I,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;IAC9G,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,cAAc,EAAE,gBAAgB,CAAC;IACjC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,mCAAmC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACzC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAID,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,SAAS,iBAAiB,EAAO,GAChD,gCAAgC,CAWlC;AAED,wBAAgB,qBAAqB,CACnC,cAAc,GAAE,SAAS,iBAAiB,EAAO,GAChD,SAAS,iBAAiB,EAAE,CAE9B;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,qBAAqB,CA8CpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,GAAG,yBAAyB,CAiFtG;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,CA6BtF;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,CA8B1F;AAGD,eAAO,MAAM,SAAS;;;CAGrB,CAAC"}
|
|
@@ -159,9 +159,7 @@ export function buildMigrationReadiness(options) {
|
|
|
159
159
|
`Profile: ${profile.title} (${profile.id})`,
|
|
160
160
|
`Verdict: ${verdict}`,
|
|
161
161
|
`Passed: ${passed.length}, Warnings: ${warnings.length}, Blockers: ${blockers.length}`,
|
|
162
|
-
|
|
163
|
-
profile.id +
|
|
164
|
-
'`.',
|
|
162
|
+
`Next: review blockers (if any), then re-run the readiness check for ${profile.id}.`,
|
|
165
163
|
];
|
|
166
164
|
return {
|
|
167
165
|
schema: 'sharkcraft.migration-readiness/v1',
|
package/dist/nearest-id.d.ts
CHANGED
|
@@ -1,30 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Nearest-id "did you mean" over an arbitrary id set
|
|
2
|
+
* Nearest-id "did you mean" over an arbitrary id set — `levenshtein` (THE edit
|
|
3
|
+
* distance) and `nearestIds` (the length-scaled, affinity-aware cutoff).
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* A suggestion is only offered when it is actually close. Printing the
|
|
12
|
-
* alphabetically-first id next to every typo trains people to ignore the line.
|
|
13
|
-
*/
|
|
14
|
-
/** Levenshtein edit distance. Iterative, one row of state. */
|
|
15
|
-
export declare function levenshtein(a: string, b: string): number;
|
|
16
|
-
/** One candidate the query might have meant. */
|
|
17
|
-
export interface INearestId {
|
|
18
|
-
readonly id: string;
|
|
19
|
-
readonly distance: number;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* The closest ids to `query`, nearest first.
|
|
23
|
-
*
|
|
24
|
-
* The cutoff scales with the query's length — one edit is a lot in `foo` and
|
|
25
|
-
* very little in `nge.angular-renderer` — and is capped so a long id cannot
|
|
26
|
-
* drag in something unrelated. Ties break lexically so the output is stable
|
|
27
|
-
* across runs, which matters when it lands in a committed diff.
|
|
5
|
+
* Round 13: both moved to `@shrkcrft/core` so the lowest layer — the
|
|
6
|
+
* `expectEmpty` marker parser (`normalizeUnitList`) — can offer a did-you-mean
|
|
7
|
+
* for a misspelled marker key without importing upward. This module re-exports
|
|
8
|
+
* them unchanged, so every existing `@shrkcrft/inspector` import keeps working
|
|
9
|
+
* and there is still ONE scorer: the CLI's `editDistance` IS this `levenshtein`
|
|
10
|
+
* (r75-did-you-mean-one-scorer), and a second implementation would drift.
|
|
28
11
|
*/
|
|
29
|
-
export
|
|
12
|
+
export { levenshtein, nearestIds } from '@shrkcrft/core';
|
|
13
|
+
export type { INearestId } from '@shrkcrft/core';
|
|
30
14
|
//# sourceMappingURL=nearest-id.d.ts.map
|
package/dist/nearest-id.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nearest-id.d.ts","sourceRoot":"","sources":["../src/nearest-id.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"nearest-id.d.ts","sourceRoot":"","sources":["../src/nearest-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|