@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
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* - Remove always reports reverse references and refuses by default if any
|
|
15
15
|
* remain.
|
|
16
16
|
*/
|
|
17
|
+
import { knowledgeAnchors, knowledgeReferences, } from '@shrkcrft/knowledge';
|
|
18
|
+
import { KNOWLEDGE_BACKED_KINDS, reverseXrefs } from "./declared-cross-references.js";
|
|
17
19
|
export const KNOWLEDGE_AUTHORING_SCHEMA = 'sharkcraft.knowledge-authoring/v1';
|
|
18
20
|
export var KnowledgeAuthoringOperation;
|
|
19
21
|
(function (KnowledgeAuthoringOperation) {
|
|
@@ -55,29 +57,58 @@ function tsObject(value, indent) {
|
|
|
55
57
|
.map((line, idx) => (idx === 0 ? line : indent + line))
|
|
56
58
|
.join('\n'));
|
|
57
59
|
}
|
|
58
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Everything that points at `targetId`. The structured `references[].id` and
|
|
62
|
+
* `anchors[].targetId` are scanned here; every DECLARED cross-reference field
|
|
63
|
+
* (knowledge `related` / `seeAlso` / `supersededBy` / action hints, construct
|
|
64
|
+
* `related*` + declared facets, boundary `related*`, template `related`) comes
|
|
65
|
+
* from THE collector when the caller supplied it — this used to be a private
|
|
66
|
+
* knowledge-only `related` loop, so an entry a construct relied on could be
|
|
67
|
+
* removed without a word.
|
|
68
|
+
*/
|
|
69
|
+
function findReverseReferences(entries, targetId, declaredXrefs) {
|
|
59
70
|
const out = [];
|
|
60
71
|
for (const e of entries) {
|
|
61
72
|
if (e.id === targetId)
|
|
62
73
|
continue;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
74
|
+
if (!declaredXrefs) {
|
|
75
|
+
for (const r of e.related ?? []) {
|
|
76
|
+
if (r === targetId) {
|
|
77
|
+
out.push({ fromEntryId: e.id, field: 'related' });
|
|
78
|
+
}
|
|
66
79
|
}
|
|
67
80
|
}
|
|
68
|
-
for (const ref of e
|
|
81
|
+
for (const ref of knowledgeReferences(e)) {
|
|
69
82
|
if (ref.id === targetId) {
|
|
70
83
|
out.push({ fromEntryId: e.id, field: 'reference.id', note: ref.note });
|
|
71
84
|
}
|
|
72
85
|
}
|
|
73
|
-
for (const a of e
|
|
86
|
+
for (const a of knowledgeAnchors(e)) {
|
|
74
87
|
if (a.targetId === targetId) {
|
|
75
88
|
out.push({ fromEntryId: e.id, field: 'anchor.targetId', note: a.description });
|
|
76
89
|
}
|
|
77
90
|
}
|
|
78
91
|
}
|
|
92
|
+
if (declaredXrefs) {
|
|
93
|
+
// Only fields that could mean THIS entry: a construct's
|
|
94
|
+
// `relatedTemplates: ['x']` is not a reference to a knowledge entry `x`.
|
|
95
|
+
for (const row of reverseXrefs(declaredXrefs, targetId, KNOWLEDGE_BACKED_KINDS)) {
|
|
96
|
+
if (row.sourceKind === 'knowledge' && row.sourceId === targetId)
|
|
97
|
+
continue;
|
|
98
|
+
out.push({
|
|
99
|
+
fromEntryId: row.sourceId,
|
|
100
|
+
...(row.sourceKind !== 'knowledge' ? { sourceKind: row.sourceKind } : {}),
|
|
101
|
+
field: row.field,
|
|
102
|
+
...(row.facetId ? { note: `facet value ${row.facetId}` } : {}),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
79
106
|
return out;
|
|
80
107
|
}
|
|
108
|
+
/** `construct:fx-construct` — or the bare id for a knowledge entry (the shape it always had). */
|
|
109
|
+
export function reverseReferenceLabel(rr) {
|
|
110
|
+
return rr.sourceKind && rr.sourceKind !== 'knowledge' ? `${rr.sourceKind}:${rr.fromEntryId}` : rr.fromEntryId;
|
|
111
|
+
}
|
|
81
112
|
function buildEntryFromAdd(input) {
|
|
82
113
|
return {
|
|
83
114
|
id: input.id,
|
|
@@ -135,7 +166,7 @@ function applyUpdateOps(current, ops, changes) {
|
|
|
135
166
|
}
|
|
136
167
|
}
|
|
137
168
|
if (ops.addReferences && ops.addReferences.length > 0) {
|
|
138
|
-
const merged = [...(next
|
|
169
|
+
const merged = [...knowledgeReferences(next)];
|
|
139
170
|
const added = [];
|
|
140
171
|
for (const r of ops.addReferences) {
|
|
141
172
|
const dup = merged.find((m) => m.kind === r.kind &&
|
|
@@ -153,7 +184,7 @@ function applyUpdateOps(current, ops, changes) {
|
|
|
153
184
|
}
|
|
154
185
|
}
|
|
155
186
|
if (ops.removeReferences && ops.removeReferences.length > 0) {
|
|
156
|
-
const before = next
|
|
187
|
+
const before = knowledgeReferences(next);
|
|
157
188
|
const keep = before.filter((m) => {
|
|
158
189
|
return !ops.removeReferences.some((rm) => m.kind === rm.kind &&
|
|
159
190
|
(m.id ?? '') === (rm.id ?? '') &&
|
|
@@ -167,7 +198,7 @@ function applyUpdateOps(current, ops, changes) {
|
|
|
167
198
|
}
|
|
168
199
|
}
|
|
169
200
|
if (ops.addAnchors && ops.addAnchors.length > 0) {
|
|
170
|
-
const merged = [...(next
|
|
201
|
+
const merged = [...knowledgeAnchors(next)];
|
|
171
202
|
const added = [];
|
|
172
203
|
for (const a of ops.addAnchors) {
|
|
173
204
|
if (!merged.some((m) => m.id === a.id)) {
|
|
@@ -181,7 +212,7 @@ function applyUpdateOps(current, ops, changes) {
|
|
|
181
212
|
}
|
|
182
213
|
}
|
|
183
214
|
if (ops.removeAnchorIds && ops.removeAnchorIds.length > 0) {
|
|
184
|
-
const before = next
|
|
215
|
+
const before = knowledgeAnchors(next);
|
|
185
216
|
const keep = before.filter((a) => !ops.removeAnchorIds.includes(a.id));
|
|
186
217
|
const removed = before.filter((a) => ops.removeAnchorIds.includes(a.id));
|
|
187
218
|
next.anchors = keep;
|
|
@@ -266,7 +297,7 @@ function buildExplainer(input, result) {
|
|
|
266
297
|
lines.push(`## Reverse references`);
|
|
267
298
|
lines.push('');
|
|
268
299
|
for (const rr of result.reverseReferences) {
|
|
269
|
-
lines.push(`- \`${rr
|
|
300
|
+
lines.push(`- \`${reverseReferenceLabel(rr)}\` → \`${rr.field}\`${rr.note ? ` — ${rr.note}` : ''}`);
|
|
270
301
|
}
|
|
271
302
|
lines.push('');
|
|
272
303
|
}
|
|
@@ -453,15 +484,24 @@ export function buildKnowledgeAuthoringPreview(input, context) {
|
|
|
453
484
|
refused.explainer = files.explainer;
|
|
454
485
|
return refused;
|
|
455
486
|
}
|
|
456
|
-
const reverseReferences = findReverseReferences(context.entries, input.id);
|
|
487
|
+
const reverseReferences = findReverseReferences(context.entries, input.id, context.declaredXrefs);
|
|
488
|
+
if (!context.declaredXrefs) {
|
|
489
|
+
// An unmeasured "no references" must not read as a clean one.
|
|
490
|
+
warnings.push('reverse references checked in knowledge only — constructs / boundaries / templates were not consulted (pass declaredXrefs from buildDeclaredXrefReport).');
|
|
491
|
+
}
|
|
492
|
+
const fromOtherKinds = reverseReferences.filter((r) => r.sourceKind !== undefined && r.sourceKind !== 'knowledge').length;
|
|
457
493
|
if (reverseReferences.length > 0 && !input.forcePreview) {
|
|
494
|
+
const n = reverseReferences.length;
|
|
495
|
+
const refusal = fromOtherKinds === 0
|
|
496
|
+
? `Refused: ${n} other entr${n === 1 ? 'y references' : 'ies reference'} "${input.id}".`
|
|
497
|
+
: `Refused: ${n} declared reference${n === 1 ? '' : 's'} point${n === 1 ? 's' : ''} at "${input.id}" — ${n - fromOtherKinds} from knowledge, ${fromOtherKinds} from constructs / boundary rules / templates.`;
|
|
458
498
|
const refused = {
|
|
459
499
|
schema: KNOWLEDGE_AUTHORING_SCHEMA,
|
|
460
500
|
generatedAt: nowIso(),
|
|
461
501
|
operation: input.operation,
|
|
462
502
|
entryId: input.id,
|
|
463
503
|
ok: false,
|
|
464
|
-
refusal:
|
|
504
|
+
refusal: `${refusal} Pass --force-preview to preview removal anyway, or prefer deprecation via \`shrk knowledge update ${input.id} --mark-deprecated\`.`,
|
|
465
505
|
tsDraft: emptyDraftFile(input.id, input.operation, 'typescript'),
|
|
466
506
|
jsonManifest: emptyDraftFile(input.id, input.operation, 'json'),
|
|
467
507
|
explainer: emptyDraftFile(input.id, input.operation, 'markdown'),
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pack manifest slots whose files the KNOWLEDGE loaders read — THE answer
|
|
3
|
+
* to "is this contribution file knowledge?" (round 15 follow-up, F11).
|
|
4
|
+
*
|
|
5
|
+
* The inspection reads every file of these slots with the knowledge loaders (a
|
|
6
|
+
* TypeScript / JavaScript module, or a Markdown document), and every other
|
|
7
|
+
* slot's files with an importing loader. `packs test --load` used to decide
|
|
8
|
+
* "Markdown knowledge" by the `.md` extension instead: a `.md` declared under
|
|
9
|
+
* `templateFiles` was validated as if it were knowledge (while the consumer
|
|
10
|
+
* imports it as a template module), and a knowledge-slot file no knowledge
|
|
11
|
+
* loader reads passed in silence (while the consumer skips it as an
|
|
12
|
+
* "unsupported contribution file"). The slot decides now; which knowledge loader
|
|
13
|
+
* reads the file stays the runtime's own choice (`validateContributionFile`).
|
|
14
|
+
*/
|
|
15
|
+
export declare const KNOWLEDGE_CONTRIBUTION_SLOTS: readonly string[];
|
|
16
|
+
/** Does the manifest slot `slot` feed the knowledge loaders? */
|
|
17
|
+
export declare function isKnowledgeContributionSlot(slot: string): boolean;
|
|
18
|
+
//# sourceMappingURL=knowledge-contribution-slots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-contribution-slots.d.ts","sourceRoot":"","sources":["../src/knowledge-contribution-slots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAMzD,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pack manifest slots whose files the KNOWLEDGE loaders read — THE answer
|
|
3
|
+
* to "is this contribution file knowledge?" (round 15 follow-up, F11).
|
|
4
|
+
*
|
|
5
|
+
* The inspection reads every file of these slots with the knowledge loaders (a
|
|
6
|
+
* TypeScript / JavaScript module, or a Markdown document), and every other
|
|
7
|
+
* slot's files with an importing loader. `packs test --load` used to decide
|
|
8
|
+
* "Markdown knowledge" by the `.md` extension instead: a `.md` declared under
|
|
9
|
+
* `templateFiles` was validated as if it were knowledge (while the consumer
|
|
10
|
+
* imports it as a template module), and a knowledge-slot file no knowledge
|
|
11
|
+
* loader reads passed in silence (while the consumer skips it as an
|
|
12
|
+
* "unsupported contribution file"). The slot decides now; which knowledge loader
|
|
13
|
+
* reads the file stays the runtime's own choice (`validateContributionFile`).
|
|
14
|
+
*/
|
|
15
|
+
export const KNOWLEDGE_CONTRIBUTION_SLOTS = [
|
|
16
|
+
'knowledgeFiles',
|
|
17
|
+
'ruleFiles',
|
|
18
|
+
'pathFiles',
|
|
19
|
+
'pathConventionFiles',
|
|
20
|
+
'docsFiles',
|
|
21
|
+
];
|
|
22
|
+
/** Does the manifest slot `slot` feed the knowledge loaders? */
|
|
23
|
+
export function isKnowledgeContributionSlot(slot) {
|
|
24
|
+
return KNOWLEDGE_CONTRIBUTION_SLOTS.includes(slot);
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ContributionKind } from './contribution-kind.js';
|
|
2
|
+
import type { IKnowledgeRejectedEntry } from './knowledge-rejected-entry.js';
|
|
3
|
+
import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
|
|
4
|
+
/** Every contribution kind the knowledge loaders read (knowledge, rules, paths, path conventions, docs). */
|
|
5
|
+
export declare const KNOWLEDGE_CONTRIBUTION_KINDS: readonly ContributionKind[];
|
|
6
|
+
/** The label every surface prints before a refused entry's reasons. */
|
|
7
|
+
export declare const REJECTED_AT_LOAD = "rejected at load \u2014 not checked";
|
|
8
|
+
/** `rejected at load — not checked: <reason>; <reason>` — THE row wording. */
|
|
9
|
+
export declare function rejectedAtLoadMessage(reasons: readonly string[]): string;
|
|
10
|
+
/**
|
|
11
|
+
* Every knowledge-family entry the loaders refused, in THE channel's order
|
|
12
|
+
* (file, then position), each with the file to edit and the owning pack.
|
|
13
|
+
* Synchronous: the knowledge loaders run at inspection time, so their
|
|
14
|
+
* rejections are already on `inspection.loaderDiagnostics`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function knowledgeRejectedEntries(inspection: ISharkcraftInspection): readonly IKnowledgeRejectedEntry[];
|
|
17
|
+
//# sourceMappingURL=knowledge-entry-rejections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-entry-rejections.d.ts","sourceRoot":"","sources":["../src/knowledge-entry-rejections.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,4GAA4G;AAC5G,eAAO,MAAM,4BAA4B,EAAE,SAAS,gBAAgB,EAMnE,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,wCAAmC,CAAC;AAEjE,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,uBAAuB,EAAE,CAiC9G"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE knowledge-family reading of the round-12 rejection channel (round 15
|
|
3
|
+
* follow-up, F3): every knowledge / rule / path / docs entry an inspection-time
|
|
4
|
+
* loader REFUSED — a TypeScript entry missing its `content`, a Markdown file
|
|
5
|
+
* whose frontmatter cannot be read as declared.
|
|
6
|
+
*
|
|
7
|
+
* A refused entry never reaches `inspection.knowledgeEntries`, so the
|
|
8
|
+
* stale-check swept the survivors and printed "N of N entries verified ✓" at
|
|
9
|
+
* exit 0 over a corpus it had not fully read, and `quality` and `shrk doctor`
|
|
10
|
+
* agreed — only `self-config doctor` and `knowledge list` named it. The
|
|
11
|
+
* stale-check (an INVALID-class row), `quality`'s knowledge item and `shrk
|
|
12
|
+
* doctor` now read this ONE list, and each counts every entry on it as
|
|
13
|
+
* UNEXAMINED: exit 2 by default (`--fail-on invalid` makes it 1), never a pass.
|
|
14
|
+
*
|
|
15
|
+
* The list is never narrowed by a changeset: a refused entry's references were
|
|
16
|
+
* never read, so no scope can prove it untouched (the load-failure precedent).
|
|
17
|
+
*
|
|
18
|
+
* A `duplicate-id` rejection is NOT listed: the id it collided with belongs to
|
|
19
|
+
* an entry that IS checked (the first one wins), and the validator reports the
|
|
20
|
+
* duplicate — the precedent `seamRejectedRules` set for gate rules.
|
|
21
|
+
*/
|
|
22
|
+
import { RejectionCause } from '@shrkcrft/core';
|
|
23
|
+
import { ContributionKind } from "./contribution-kind.js";
|
|
24
|
+
import { collectContributionRejections, contributionFileLabel } from "./contribution-load-failures.js";
|
|
25
|
+
/** Every contribution kind the knowledge loaders read (knowledge, rules, paths, path conventions, docs). */
|
|
26
|
+
export const KNOWLEDGE_CONTRIBUTION_KINDS = [
|
|
27
|
+
ContributionKind.Knowledge,
|
|
28
|
+
ContributionKind.Rule,
|
|
29
|
+
ContributionKind.Path,
|
|
30
|
+
ContributionKind.PathConvention,
|
|
31
|
+
ContributionKind.Docs,
|
|
32
|
+
];
|
|
33
|
+
/** The label every surface prints before a refused entry's reasons. */
|
|
34
|
+
export const REJECTED_AT_LOAD = 'rejected at load — not checked';
|
|
35
|
+
/** `rejected at load — not checked: <reason>; <reason>` — THE row wording. */
|
|
36
|
+
export function rejectedAtLoadMessage(reasons) {
|
|
37
|
+
return `${REJECTED_AT_LOAD}: ${reasons.join('; ')}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Every knowledge-family entry the loaders refused, in THE channel's order
|
|
41
|
+
* (file, then position), each with the file to edit and the owning pack.
|
|
42
|
+
* Synchronous: the knowledge loaders run at inspection time, so their
|
|
43
|
+
* rejections are already on `inspection.loaderDiagnostics`.
|
|
44
|
+
*/
|
|
45
|
+
export function knowledgeRejectedEntries(inspection) {
|
|
46
|
+
const out = [];
|
|
47
|
+
// A label names ONE refused declaration (the conventions-check precedent,
|
|
48
|
+
// round 15 follow-up F2): an id a loaded entry, or an earlier refused
|
|
49
|
+
// declaration, already holds is qualified by its declaration site — two
|
|
50
|
+
// refused `k.bad`s (a local one and a pack's) read `k.bad, k.bad` in every
|
|
51
|
+
// coverage list and shared one doctor check id.
|
|
52
|
+
const loaded = new Set(inspection.knowledgeEntries.map((e) => e.id));
|
|
53
|
+
const refusedIds = new Set();
|
|
54
|
+
for (const r of collectContributionRejections(inspection)) {
|
|
55
|
+
if (!KNOWLEDGE_CONTRIBUTION_KINDS.includes(r.kind) || r.cause === RejectionCause.DuplicateId)
|
|
56
|
+
continue;
|
|
57
|
+
const source = contributionFileLabel(inspection.projectRoot, r.file);
|
|
58
|
+
const at = r.index >= 0 ? `${r.exportName ?? 'default'}[${r.index}]` : r.exportName;
|
|
59
|
+
const site = at !== undefined ? `${source} ${at}` : source;
|
|
60
|
+
const label = r.entryId === undefined
|
|
61
|
+
? site
|
|
62
|
+
: loaded.has(r.entryId) || refusedIds.has(r.entryId)
|
|
63
|
+
? `${r.entryId} (${site})`
|
|
64
|
+
: r.entryId;
|
|
65
|
+
if (r.entryId !== undefined)
|
|
66
|
+
refusedIds.add(r.entryId);
|
|
67
|
+
out.push({
|
|
68
|
+
...(r.entryId !== undefined ? { entryId: r.entryId } : {}),
|
|
69
|
+
label,
|
|
70
|
+
source,
|
|
71
|
+
...(at !== undefined ? { at } : {}),
|
|
72
|
+
kind: r.kind,
|
|
73
|
+
...(r.packageName !== undefined ? { pack: r.packageName } : {}),
|
|
74
|
+
reasons: r.reasons,
|
|
75
|
+
message: rejectedAtLoadMessage(r.reasons),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { KnowledgeSourceFormat } from '@shrkcrft/knowledge';
|
|
2
|
+
import type { KnowledgeEntryVerdict } from './knowledge-entry-verdict.js';
|
|
3
|
+
import type { KnowledgeUnverifiableReason } from './knowledge-unverifiable-reason.js';
|
|
4
|
+
/** One entry in scope, classified — the unit the stale-check's coverage counts. */
|
|
5
|
+
export interface IKnowledgeEntryVerdictRecord {
|
|
6
|
+
readonly entryId: string;
|
|
7
|
+
readonly verdict: KnowledgeEntryVerdict;
|
|
8
|
+
/** Set when {@link verdict} is `unverifiable`. */
|
|
9
|
+
readonly reason?: KnowledgeUnverifiableReason;
|
|
10
|
+
/**
|
|
11
|
+
* Where the entry is declared, relative to the project root
|
|
12
|
+
* (`sharkcraft/rules.ts`) — so the fix for an unverifiable entry names the
|
|
13
|
+
* file to edit. `(unknown source)` when the loader recorded none.
|
|
14
|
+
*/
|
|
15
|
+
readonly source: string;
|
|
16
|
+
/**
|
|
17
|
+
* The format the entry is declared in (round 15) — what the remedy for an
|
|
18
|
+
* unverifiable entry names: `references[]` in TypeScript, a `references:`
|
|
19
|
+
* frontmatter list in Markdown.
|
|
20
|
+
*/
|
|
21
|
+
readonly sourceFormat: KnowledgeSourceFormat;
|
|
22
|
+
/**
|
|
23
|
+
* The pack that contributed the entry (its package name) — absent for a
|
|
24
|
+
* local one. A pack entry is fixed upstream, or accepted locally.
|
|
25
|
+
*/
|
|
26
|
+
readonly pack?: string;
|
|
27
|
+
/** The entry's knowledge `type` (`rule`, `path`, `technical`, …). */
|
|
28
|
+
readonly type: string;
|
|
29
|
+
/** References + anchors whose outcome was a real check (ok / stale / missing). */
|
|
30
|
+
readonly checkable: number;
|
|
31
|
+
/** Of {@link checkable}, how many did not resolve (stale / missing). */
|
|
32
|
+
readonly failing: number;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=knowledge-entry-verdict-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-entry-verdict-record.d.ts","sourceRoot":"","sources":["../src/knowledge-entry-verdict-record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEtF,mFAAmF;AACnF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAC9C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One entry's verdict in the staleness sweep — three buckets, never one.
|
|
3
|
+
*
|
|
4
|
+
* The sweep used to report only reference-level counts, so an entry that
|
|
5
|
+
* declared NO references contributed nothing and was folded into the healthy
|
|
6
|
+
* total: the less verifiable a corpus was, the healthier it looked. An entry
|
|
7
|
+
* the check could not examine is its own bucket, reported with its id.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum KnowledgeEntryVerdict {
|
|
10
|
+
/** At least one reference / anchor was checked, and every checked one resolved. */
|
|
11
|
+
Verified = "verified",
|
|
12
|
+
/** At least one checked reference / anchor did not resolve. */
|
|
13
|
+
Stale = "stale",
|
|
14
|
+
/** Nothing about this entry could be checked — see its reason. */
|
|
15
|
+
Unverifiable = "unverifiable"
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=knowledge-entry-verdict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-entry-verdict.d.ts","sourceRoot":"","sources":["../src/knowledge-entry-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,oBAAY,qBAAqB;IAC/B,mFAAmF;IACnF,QAAQ,aAAa;IACrB,+DAA+D;IAC/D,KAAK,UAAU;IACf,kEAAkE;IAClE,YAAY,iBAAiB;CAC9B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One entry's verdict in the staleness sweep — three buckets, never one.
|
|
3
|
+
*
|
|
4
|
+
* The sweep used to report only reference-level counts, so an entry that
|
|
5
|
+
* declared NO references contributed nothing and was folded into the healthy
|
|
6
|
+
* total: the less verifiable a corpus was, the healthier it looked. An entry
|
|
7
|
+
* the check could not examine is its own bucket, reported with its id.
|
|
8
|
+
*/
|
|
9
|
+
export var KnowledgeEntryVerdict;
|
|
10
|
+
(function (KnowledgeEntryVerdict) {
|
|
11
|
+
/** At least one reference / anchor was checked, and every checked one resolved. */
|
|
12
|
+
KnowledgeEntryVerdict["Verified"] = "verified";
|
|
13
|
+
/** At least one checked reference / anchor did not resolve. */
|
|
14
|
+
KnowledgeEntryVerdict["Stale"] = "stale";
|
|
15
|
+
/** Nothing about this entry could be checked — see its reason. */
|
|
16
|
+
KnowledgeEntryVerdict["Unverifiable"] = "unverifiable";
|
|
17
|
+
})(KnowledgeEntryVerdict || (KnowledgeEntryVerdict = {}));
|
|
@@ -22,6 +22,12 @@ export interface IKnowledgeGraph {
|
|
|
22
22
|
edges: IGraphEdge[];
|
|
23
23
|
/** Convenience: lookup by composite id (kind:id). */
|
|
24
24
|
byId: ReadonlyMap<string, IGraphNode>;
|
|
25
|
+
/**
|
|
26
|
+
* Declared edges NOT drawn because an endpoint is not a node of this graph
|
|
27
|
+
* (a dangling id, or a kind the graph does not model). A shrunken graph says
|
|
28
|
+
* it shrank — `shrk self-config xrefs --dangling-only` lists the ids.
|
|
29
|
+
*/
|
|
30
|
+
droppedEdges?: number;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* Build the full SharkCraft knowledge graph for the current inspection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,MAAM,GACN,MAAM,GACN,UAAU,GACV,UAAU,GACV,QAAQ,GACR,MAAM,GACN,UAAU,GACV,KAAK,CAAC;AAEV,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,0BAA0B,GAC1B,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,UAAU,CAAC;AAEf,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,qDAAqD;IACrD,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,MAAM,GACN,MAAM,GACN,UAAU,GACV,UAAU,GACV,QAAQ,GACR,MAAM,GACN,UAAU,GACV,KAAK,CAAC;AAEV,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,0BAA0B,GAC1B,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,UAAU,CAAC;AAEf,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,qDAAqD;IACrD,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,CA0RtF;AAED,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,CAAC,EAAE;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAC7C,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C,UAAU,CA+DZ;AAgDD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACxC;IACD,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,GAAG,IAAI,CA+BP"}
|
package/dist/knowledge-graph.js
CHANGED
|
@@ -9,6 +9,7 @@ export function buildKnowledgeGraph(inspection) {
|
|
|
9
9
|
const nodes = [];
|
|
10
10
|
const edges = [];
|
|
11
11
|
const byId = new Map();
|
|
12
|
+
let droppedEdges = 0;
|
|
12
13
|
function addNode(n) {
|
|
13
14
|
const key = nodeKey(n.kind, n.id);
|
|
14
15
|
if (byId.has(key))
|
|
@@ -19,10 +20,12 @@ export function buildKnowledgeGraph(inspection) {
|
|
|
19
20
|
function addEdge(from, to, relation, why) {
|
|
20
21
|
const fromKey = nodeKey(from.kind, from.id);
|
|
21
22
|
const toKey = nodeKey(to.kind, to.id);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!byId.has(fromKey))
|
|
23
|
+
// An edge to a node we didn't see is not drawn — but it is COUNTED, so the
|
|
24
|
+
// graph never reads as complete while it silently lost edges.
|
|
25
|
+
if (!byId.has(toKey) || !byId.has(fromKey)) {
|
|
26
|
+
droppedEdges += 1;
|
|
25
27
|
return;
|
|
28
|
+
}
|
|
26
29
|
edges.push({ from: fromKey, to: toKey, relation, why });
|
|
27
30
|
}
|
|
28
31
|
function sourceOf(map, id) {
|
|
@@ -142,8 +145,10 @@ export function buildKnowledgeGraph(inspection) {
|
|
|
142
145
|
: byId.has(kKey)
|
|
143
146
|
? 'knowledge'
|
|
144
147
|
: null;
|
|
145
|
-
if (!targetKind)
|
|
148
|
+
if (!targetKind) {
|
|
149
|
+
droppedEdges += 1;
|
|
146
150
|
continue;
|
|
151
|
+
}
|
|
147
152
|
addEdge({ kind: 'pipeline', id: pipeline.id }, { kind: targetKind, id: ref }, 'pipeline-step-references', `step ${step.id} references`);
|
|
148
153
|
}
|
|
149
154
|
}
|
|
@@ -157,11 +162,17 @@ export function buildKnowledgeGraph(inspection) {
|
|
|
157
162
|
addEdge({ kind: 'boundary', id: r.id }, { kind: 'path', id }, 'boundary-related-path', 'relatedPathConventions');
|
|
158
163
|
}
|
|
159
164
|
}
|
|
160
|
-
// Pack contributions: pack → its contributed items.
|
|
165
|
+
// Pack contributions: pack → its contributed items. A contributed rule or
|
|
166
|
+
// path convention is a `rule:` / `path:` node, not a `knowledge:` one — the
|
|
167
|
+
// edge used to target `knowledge:<id>` and was silently dropped for both.
|
|
168
|
+
const entryKinds = new Map();
|
|
169
|
+
for (const e of inspection.knowledgeEntries) {
|
|
170
|
+
entryKinds.set(e.id, String(e.type) === 'rule' ? 'rule' : String(e.type) === 'path' ? 'path' : 'knowledge');
|
|
171
|
+
}
|
|
161
172
|
for (const [id, src] of inspection.entrySources) {
|
|
162
173
|
if (src.type !== 'pack' || !src.packageName)
|
|
163
174
|
continue;
|
|
164
|
-
addEdge({ kind: 'pack', id: src.packageName }, { kind: 'knowledge', id }, 'pack-contributes', 'knowledge entry');
|
|
175
|
+
addEdge({ kind: 'pack', id: src.packageName }, { kind: entryKinds.get(id) ?? 'knowledge', id }, 'pack-contributes', 'knowledge entry');
|
|
165
176
|
}
|
|
166
177
|
for (const [id, src] of inspection.templateSources) {
|
|
167
178
|
if (src.type !== 'pack' || !src.packageName)
|
|
@@ -183,7 +194,7 @@ export function buildKnowledgeGraph(inspection) {
|
|
|
183
194
|
continue;
|
|
184
195
|
addEdge({ kind: 'pack', id: src.packageName }, { kind: 'boundary', id }, 'pack-contributes', 'boundary rule');
|
|
185
196
|
}
|
|
186
|
-
return { nodes, edges, byId };
|
|
197
|
+
return { nodes, edges, byId, droppedEdges };
|
|
187
198
|
}
|
|
188
199
|
/**
|
|
189
200
|
* Find the shortest directed path (BFS) between two graph nodes. Edges are
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-kind counts of a staleness sweep — by asset kind (knowledge / boundary
|
|
3
|
+
* rule / policy) and by knowledge entry `type`.
|
|
4
|
+
*
|
|
5
|
+
* `scanned: 0` means the kind was NOT IN THE SWEEP, which a renderer must say
|
|
6
|
+
* in words — a row of zeros cannot tell "clean" from "never looked".
|
|
7
|
+
*/
|
|
8
|
+
export interface IKnowledgeKindBucket {
|
|
9
|
+
/** Subjects of this kind the sweep visited. */
|
|
10
|
+
scanned: number;
|
|
11
|
+
/** Of those, how many declare no references / anchors at all. */
|
|
12
|
+
zeroReferences: number;
|
|
13
|
+
/** References + anchors checked for this kind. */
|
|
14
|
+
referencesChecked: number;
|
|
15
|
+
verified: number;
|
|
16
|
+
stale: number;
|
|
17
|
+
unverifiable: number;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=knowledge-kind-bucket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-kind-bucket.d.ts","sourceRoot":"","sources":["../src/knowledge-kind-bucket.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One knowledge-bearing file (`knowledgeFiles` / `ruleFiles` / `pathFiles` /
|
|
3
|
+
* `docsFiles`, local or pack-contributed) whose entries never reached the
|
|
4
|
+
* corpus — it failed to import, timed out, was skipped as a cached failure, or
|
|
5
|
+
* is declared by the config and does not exist.
|
|
6
|
+
*
|
|
7
|
+
* Read off `inspection.loaderDiagnostics` (the ONE record of what each loader
|
|
8
|
+
* did) by `describeInspectionDiscovery`. A corpus verdict over a load failure
|
|
9
|
+
* examined part of what it was told to, so it is never a pass.
|
|
10
|
+
*/
|
|
11
|
+
export interface IKnowledgeLoadFailure {
|
|
12
|
+
/** Project-relative when inside the project, else absolute. */
|
|
13
|
+
readonly file: string;
|
|
14
|
+
/** The loader slot (`knowledge` / `rules` / `paths` / `docs`). */
|
|
15
|
+
readonly kind: string;
|
|
16
|
+
/** `failed` / `timeout` / `cached-failed` / `missing`. */
|
|
17
|
+
readonly status: string;
|
|
18
|
+
/** The loader's message (the import error), or why nothing was read. */
|
|
19
|
+
readonly message: string;
|
|
20
|
+
/** Set for a pack-contributed file. */
|
|
21
|
+
readonly packName?: string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=knowledge-load-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-load-failure.d.ts","sourceRoot":"","sources":["../src/knowledge-load-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which `minReferenced` valve a surface can name. `shrk knowledge stale-check`
|
|
3
|
+
* takes the flag; `shrk quality` refuses `--min-referenced` (exit 3) and reads
|
|
4
|
+
* the config block only — so its remedy names `knowledgeCheck.minReferenced`.
|
|
5
|
+
*/
|
|
6
|
+
export declare enum KnowledgeMinReferencedValve {
|
|
7
|
+
/** `--min-referenced <ratio>` on the verb (the config key works there too). */
|
|
8
|
+
Flag = "flag",
|
|
9
|
+
/** `knowledgeCheck.minReferenced` in `sharkcraft.config.ts` — the only valve `quality` reads. */
|
|
10
|
+
Config = "config"
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=knowledge-min-referenced-valve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-min-referenced-valve.d.ts","sourceRoot":"","sources":["../src/knowledge-min-referenced-valve.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,2BAA2B;IACrC,+EAA+E;IAC/E,IAAI,SAAS;IACb,iGAAiG;IACjG,MAAM,WAAW;CAClB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which `minReferenced` valve a surface can name. `shrk knowledge stale-check`
|
|
3
|
+
* takes the flag; `shrk quality` refuses `--min-referenced` (exit 3) and reads
|
|
4
|
+
* the config block only — so its remedy names `knowledgeCheck.minReferenced`.
|
|
5
|
+
*/
|
|
6
|
+
export var KnowledgeMinReferencedValve;
|
|
7
|
+
(function (KnowledgeMinReferencedValve) {
|
|
8
|
+
/** `--min-referenced <ratio>` on the verb (the config key works there too). */
|
|
9
|
+
KnowledgeMinReferencedValve["Flag"] = "flag";
|
|
10
|
+
/** `knowledgeCheck.minReferenced` in `sharkcraft.config.ts` — the only valve `quality` reads. */
|
|
11
|
+
KnowledgeMinReferencedValve["Config"] = "config";
|
|
12
|
+
})(KnowledgeMinReferencedValve || (KnowledgeMinReferencedValve = {}));
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Per-reference-kind outcome counts of a staleness sweep (`file`, `symbol`, `template`, …). */
|
|
2
|
+
export interface IKnowledgeReferenceKindBucket {
|
|
3
|
+
checked: number;
|
|
4
|
+
ok: number;
|
|
5
|
+
stale: number;
|
|
6
|
+
missing: number;
|
|
7
|
+
unknown: number;
|
|
8
|
+
/** Malformed references of this kind (a missing required field) — never checked. */
|
|
9
|
+
invalid: number;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=knowledge-reference-kind-bucket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-reference-kind-bucket.d.ts","sourceRoot":"","sources":["../src/knowledge-reference-kind-bucket.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ContributionKind } from './contribution-kind.js';
|
|
2
|
+
/**
|
|
3
|
+
* One knowledge-family entry (knowledge / rule / path / docs) its loader
|
|
4
|
+
* REFUSED — read off THE rejection channel by `knowledgeRejectedEntries`
|
|
5
|
+
* (round 15 follow-up, F3). The entry never reached the corpus, so nothing it
|
|
6
|
+
* claims was checked: the stale-check prints it as an INVALID-class row, the
|
|
7
|
+
* `quality` knowledge item and `shrk doctor` name it, and every one of them
|
|
8
|
+
* counts it UNEXAMINED — never a clean pass.
|
|
9
|
+
*/
|
|
10
|
+
export interface IKnowledgeRejectedEntry {
|
|
11
|
+
/** The id the entry declared, when it declared one. */
|
|
12
|
+
readonly entryId?: string;
|
|
13
|
+
/** What a row names it by: the id, else `<file> <where>` (or the file alone). */
|
|
14
|
+
readonly label: string;
|
|
15
|
+
/** The declaring file — project-relative (POSIX), absolute outside the project. */
|
|
16
|
+
readonly source: string;
|
|
17
|
+
/** Where in the file (`default[1]`, a named export), when the loader recorded a position. */
|
|
18
|
+
readonly at?: string;
|
|
19
|
+
/** The contribution kind whose loader refused it. */
|
|
20
|
+
readonly kind: ContributionKind;
|
|
21
|
+
/** The pack that contributed the file — absent for a local one. */
|
|
22
|
+
readonly pack?: string;
|
|
23
|
+
/** Why the loader refused it, as the loader said. */
|
|
24
|
+
readonly reasons: readonly string[];
|
|
25
|
+
/** THE row wording: `rejected at load — not checked: <reasons>`. */
|
|
26
|
+
readonly message: string;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=knowledge-rejected-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-rejected-entry.d.ts","sourceRoot":"","sources":["../src/knowledge-rejected-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|