@shrkcrft/inspector 0.1.0-alpha.30 → 0.1.0-alpha.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acceptance-replay.js +1 -1
- package/dist/agent-contract-templates.js +6 -6
- package/dist/agent-contract.d.ts.map +1 -1
- package/dist/agent-contract.js +13 -8
- package/dist/agent-orchestration.js +2 -2
- package/dist/agent-task-prep.d.ts +16 -0
- package/dist/agent-task-prep.d.ts.map +1 -1
- package/dist/agent-task-prep.js +51 -4
- package/dist/ai-readiness.d.ts.map +1 -1
- package/dist/ai-readiness.js +21 -3
- package/dist/architecture-map.d.ts +16 -0
- package/dist/architecture-map.d.ts.map +1 -1
- package/dist/architecture-map.js +42 -26
- package/dist/area-explore.d.ts +2 -2
- package/dist/area-explore.d.ts.map +1 -1
- package/dist/area-explore.js +36 -16
- package/dist/area-map.d.ts +56 -11
- package/dist/area-map.d.ts.map +1 -1
- package/dist/area-map.js +106 -25
- package/dist/asset-doctor-proposed-exit.d.ts +21 -0
- package/dist/asset-doctor-proposed-exit.d.ts.map +1 -0
- package/dist/asset-doctor-proposed-exit.js +22 -0
- package/dist/asset-provenance.js +1 -1
- package/dist/boundaries-changed-only.d.ts +24 -1
- package/dist/boundaries-changed-only.d.ts.map +1 -1
- package/dist/boundaries-changed-only.js +12 -2
- package/dist/boundary-check-options.model.d.ts +40 -0
- package/dist/boundary-check-options.model.d.ts.map +1 -0
- package/dist/boundary-check-options.model.js +1 -0
- package/dist/boundary-check-result.model.d.ts +89 -0
- package/dist/boundary-check-result.model.d.ts.map +1 -0
- package/dist/boundary-check-result.model.js +1 -0
- package/dist/boundary-configuration-status.d.ts +38 -0
- package/dist/boundary-configuration-status.d.ts.map +1 -0
- package/dist/boundary-configuration-status.js +118 -0
- package/dist/boundary-configuration-status.model.d.ts +37 -0
- package/dist/boundary-configuration-status.model.d.ts.map +1 -0
- package/dist/boundary-configuration-status.model.js +1 -0
- package/dist/boundary-load-issue.model.d.ts +30 -0
- package/dist/boundary-load-issue.model.d.ts.map +1 -0
- package/dist/boundary-load-issue.model.js +1 -0
- package/dist/boundary-rule-check.model.d.ts +44 -0
- package/dist/boundary-rule-check.model.d.ts.map +1 -0
- package/dist/boundary-rule-check.model.js +1 -0
- package/dist/boundary-rule-invalidation.model.d.ts +31 -0
- package/dist/boundary-rule-invalidation.model.d.ts.map +1 -0
- package/dist/boundary-rule-invalidation.model.js +1 -0
- package/dist/boundary-rule-set-diff.model.d.ts +75 -0
- package/dist/boundary-rule-set-diff.model.d.ts.map +1 -0
- package/dist/boundary-rule-set-diff.model.js +1 -0
- package/dist/boundary-rule-sources.d.ts +28 -0
- package/dist/boundary-rule-sources.d.ts.map +1 -0
- package/dist/boundary-rule-sources.js +110 -0
- package/dist/boundary-stale-exception-finding.model.d.ts +12 -0
- package/dist/boundary-stale-exception-finding.model.d.ts.map +1 -0
- package/dist/boundary-stale-exception-finding.model.js +1 -0
- package/dist/boundary-unit-liveness.d.ts +35 -0
- package/dist/boundary-unit-liveness.d.ts.map +1 -0
- package/dist/boundary-unit-liveness.js +71 -0
- package/dist/change-intent.d.ts +3 -0
- package/dist/change-intent.d.ts.map +1 -1
- package/dist/change-intent.js +61 -27
- package/dist/changes-summary.d.ts.map +1 -1
- package/dist/changes-summary.js +19 -9
- package/dist/ci-integrity-report.js +1 -1
- package/dist/ci-predict.d.ts.map +1 -1
- package/dist/ci-predict.js +38 -5
- package/dist/code-intelligence-doctor.d.ts +6 -0
- package/dist/code-intelligence-doctor.d.ts.map +1 -1
- package/dist/code-intelligence-doctor.js +22 -7
- package/dist/command-recommender.d.ts +45 -2
- package/dist/command-recommender.d.ts.map +1 -1
- package/dist/command-recommender.js +41 -263
- package/dist/command-resolution-status.d.ts +44 -0
- package/dist/command-resolution-status.d.ts.map +1 -0
- package/dist/command-resolution-status.js +44 -0
- package/dist/command-safety-level.d.ts +15 -0
- package/dist/command-safety-level.d.ts.map +1 -0
- package/dist/command-safety-level.js +43 -0
- package/dist/command-taxonomy.js +1 -1
- package/dist/compliance-evidence.js +1 -1
- package/dist/compliance-profiles.js +1 -1
- package/dist/construct-registry.d.ts +40 -0
- package/dist/construct-registry.d.ts.map +1 -1
- package/dist/construct-registry.js +186 -82
- package/dist/context-tuning.d.ts +4 -0
- package/dist/context-tuning.d.ts.map +1 -1
- package/dist/context-tuning.js +10 -7
- package/dist/contract-template-registry.d.ts +10 -0
- package/dist/contract-template-registry.d.ts.map +1 -1
- package/dist/contract-template-registry.js +59 -33
- package/dist/contribution-kind.d.ts +52 -0
- package/dist/contribution-kind.d.ts.map +1 -0
- package/dist/contribution-kind.js +52 -0
- package/dist/contribution-load-failures.d.ts +106 -0
- package/dist/contribution-load-failures.d.ts.map +1 -0
- package/dist/contribution-load-failures.js +575 -0
- package/dist/contributions-report.d.ts +28 -0
- package/dist/contributions-report.d.ts.map +1 -0
- package/dist/contributions-report.js +242 -0
- package/dist/convention-registry.d.ts +22 -0
- package/dist/convention-registry.d.ts.map +1 -1
- package/dist/convention-registry.js +79 -39
- package/dist/coverage-report.d.ts.map +1 -1
- package/dist/coverage-report.js +6 -6
- package/dist/custom-checks.d.ts +60 -1
- package/dist/custom-checks.d.ts.map +1 -1
- package/dist/custom-checks.js +159 -6
- package/dist/dashboard/dashboard-data.d.ts +6 -0
- package/dist/dashboard/dashboard-data.d.ts.map +1 -1
- package/dist/dashboard/dashboard-data.js +99 -8
- package/dist/dashboard/dashboard-knowledge.d.ts.map +1 -1
- package/dist/dashboard/dashboard-knowledge.js +14 -2
- package/dist/decision-records.d.ts +20 -0
- package/dist/decision-records.d.ts.map +1 -1
- package/dist/decision-records.js +68 -20
- package/dist/declared-cross-references.d.ts +61 -0
- package/dist/declared-cross-references.d.ts.map +1 -0
- package/dist/declared-cross-references.js +550 -0
- package/dist/declared-gate-plane-rules.d.ts +24 -0
- package/dist/declared-gate-plane-rules.d.ts.map +1 -0
- package/dist/declared-gate-plane-rules.js +39 -0
- package/dist/declared-reference-coverage.d.ts +27 -0
- package/dist/declared-reference-coverage.d.ts.map +1 -0
- package/dist/declared-reference-coverage.js +50 -0
- package/dist/declared-xref-status.d.ts +19 -0
- package/dist/declared-xref-status.d.ts.map +1 -0
- package/dist/declared-xref-status.js +19 -0
- package/dist/delegate-pack-recipes.d.ts +13 -2
- package/dist/delegate-pack-recipes.d.ts.map +1 -1
- package/dist/delegate-pack-recipes.js +45 -14
- package/dist/demo-package.js +2 -2
- package/dist/demo-script.js +2 -2
- package/dist/demo-workflow.js +3 -3
- package/dist/dev-cycle.js +1 -1
- package/dist/dev-session.js +1 -1
- package/dist/doc-references.d.ts +23 -2
- package/dist/doc-references.d.ts.map +1 -1
- package/dist/doc-references.js +96 -17
- package/dist/doctor-result.d.ts +8 -0
- package/dist/doctor-result.d.ts.map +1 -1
- package/dist/doctor-verdict-kind.d.ts +19 -0
- package/dist/doctor-verdict-kind.d.ts.map +1 -0
- package/dist/doctor-verdict-kind.js +19 -0
- package/dist/doctor-verdict.d.ts +18 -0
- package/dist/doctor-verdict.d.ts.map +1 -0
- package/dist/doctor-verdict.js +28 -0
- package/dist/drift.d.ts +17 -0
- package/dist/drift.d.ts.map +1 -1
- package/dist/drift.js +40 -10
- package/dist/entrypoint-matrix.d.ts.map +1 -1
- package/dist/entrypoint-matrix.js +4 -1
- package/dist/feedback-ingestion.d.ts +28 -2
- package/dist/feedback-ingestion.d.ts.map +1 -1
- package/dist/feedback-ingestion.js +68 -19
- package/dist/fix-preview.d.ts.map +1 -1
- package/dist/fix-preview.js +9 -5
- package/dist/framework-extractor-outcomes.d.ts +27 -0
- package/dist/framework-extractor-outcomes.d.ts.map +1 -0
- package/dist/framework-extractor-outcomes.js +83 -0
- package/dist/fuzzy-impact.js +1 -1
- package/dist/healing-plan.d.ts.map +1 -1
- package/dist/healing-plan.js +3 -4
- package/dist/helper-catalog.d.ts +25 -0
- package/dist/helper-catalog.d.ts.map +1 -0
- package/dist/helper-catalog.js +91 -0
- package/dist/helper-registry.d.ts.map +1 -1
- package/dist/helper-registry.js +17 -1
- package/dist/helper-view.d.ts +33 -0
- package/dist/helper-view.d.ts.map +1 -0
- package/dist/helper-view.js +1 -0
- package/dist/i-asset-doctor-flags.d.ts +16 -0
- package/dist/i-asset-doctor-flags.d.ts.map +1 -0
- package/dist/i-asset-doctor-flags.js +1 -0
- package/dist/i-command-resolution.d.ts +22 -0
- package/dist/i-command-resolution.d.ts.map +1 -0
- package/dist/i-command-resolution.js +1 -0
- package/dist/i-command-resolve-options.d.ts +24 -0
- package/dist/i-command-resolve-options.d.ts.map +1 -0
- package/dist/i-command-resolve-options.js +1 -0
- package/dist/i-command-safety.d.ts +13 -0
- package/dist/i-command-safety.d.ts.map +1 -0
- package/dist/i-command-safety.js +1 -0
- package/dist/i-contribution-accepted-entry.d.ts +18 -0
- package/dist/i-contribution-accepted-entry.d.ts.map +1 -0
- package/dist/i-contribution-accepted-entry.js +1 -0
- package/dist/i-contribution-entry-rejection.d.ts +21 -0
- package/dist/i-contribution-entry-rejection.d.ts.map +1 -0
- package/dist/i-contribution-entry-rejection.js +1 -0
- package/dist/i-contribution-file-issue.d.ts +18 -0
- package/dist/i-contribution-file-issue.d.ts.map +1 -0
- package/dist/i-contribution-file-issue.js +1 -0
- package/dist/i-contribution-file-report.d.ts +40 -0
- package/dist/i-contribution-file-report.d.ts.map +1 -0
- package/dist/i-contribution-file-report.js +1 -0
- package/dist/i-contribution-file-validation.d.ts +24 -0
- package/dist/i-contribution-file-validation.d.ts.map +1 -0
- package/dist/i-contribution-file-validation.js +1 -0
- package/dist/i-contributions-report.d.ts +31 -0
- package/dist/i-contributions-report.d.ts.map +1 -0
- package/dist/i-contributions-report.js +1 -0
- package/dist/i-declared-xref-field.d.ts +25 -0
- package/dist/i-declared-xref-field.d.ts.map +1 -0
- package/dist/i-declared-xref-field.js +1 -0
- package/dist/i-declared-xref-issue.d.ts +25 -0
- package/dist/i-declared-xref-issue.d.ts.map +1 -0
- package/dist/i-declared-xref-issue.js +1 -0
- package/dist/i-declared-xref-report.d.ts +48 -0
- package/dist/i-declared-xref-report.d.ts.map +1 -0
- package/dist/i-declared-xref-report.js +1 -0
- package/dist/i-declared-xref-row.d.ts +29 -0
- package/dist/i-declared-xref-row.d.ts.map +1 -0
- package/dist/i-declared-xref-row.js +1 -0
- package/dist/i-doctor-verdict.d.ts +10 -0
- package/dist/i-doctor-verdict.d.ts.map +1 -0
- package/dist/i-doctor-verdict.js +1 -0
- package/dist/i-kind-outcomes.d.ts +13 -0
- package/dist/i-kind-outcomes.d.ts.map +1 -0
- package/dist/i-kind-outcomes.js +1 -0
- package/dist/i-pack-doctor-verdict.d.ts +15 -0
- package/dist/i-pack-doctor-verdict.d.ts.map +1 -0
- package/dist/i-pack-doctor-verdict.js +1 -0
- package/dist/i-probed-id-field.d.ts +17 -0
- package/dist/i-probed-id-field.d.ts.map +1 -0
- package/dist/i-probed-id-field.js +1 -0
- package/dist/i-reference-kind-declaration.d.ts +38 -0
- package/dist/i-reference-kind-declaration.d.ts.map +1 -0
- package/dist/i-reference-kind-declaration.js +1 -0
- package/dist/i-reference-warm-options.d.ts +21 -0
- package/dist/i-reference-warm-options.d.ts.map +1 -0
- package/dist/i-reference-warm-options.js +1 -0
- package/dist/i-registry-outcomes.d.ts +16 -0
- package/dist/i-registry-outcomes.d.ts.map +1 -0
- package/dist/i-registry-outcomes.js +1 -0
- package/dist/i-scaffold-pattern-doctor-report.d.ts +35 -0
- package/dist/i-scaffold-pattern-doctor-report.d.ts.map +1 -0
- package/dist/i-scaffold-pattern-doctor-report.js +1 -0
- package/dist/i-search-tuning-key-probe.d.ts +30 -0
- package/dist/i-search-tuning-key-probe.d.ts.map +1 -0
- package/dist/i-search-tuning-key-probe.js +1 -0
- package/dist/i-search-tuning-lint-issue.d.ts +61 -0
- package/dist/i-search-tuning-lint-issue.d.ts.map +1 -0
- package/dist/i-search-tuning-lint-issue.js +1 -0
- package/dist/i-search-tuning-lint-report.d.ts +38 -0
- package/dist/i-search-tuning-lint-report.d.ts.map +1 -0
- package/dist/i-search-tuning-lint-report.js +1 -0
- package/dist/i-unresolvable-reference-scan.d.ts +14 -0
- package/dist/i-unresolvable-reference-scan.d.ts.map +1 -0
- package/dist/i-unresolvable-reference-scan.js +1 -0
- package/dist/i-unresolvable-reference.d.ts +29 -0
- package/dist/i-unresolvable-reference.d.ts.map +1 -0
- package/dist/i-unresolvable-reference.js +1 -0
- package/dist/i-workspace-profile-payload.d.ts +12 -0
- package/dist/i-workspace-profile-payload.d.ts.map +1 -0
- package/dist/i-workspace-profile-payload.js +1 -0
- package/dist/impact-analysis.d.ts +15 -0
- package/dist/impact-analysis.d.ts.map +1 -1
- package/dist/impact-analysis.js +58 -13
- package/dist/impact-render.d.ts.map +1 -1
- package/dist/impact-render.js +22 -0
- package/dist/import-hygiene.d.ts +35 -1
- package/dist/import-hygiene.d.ts.map +1 -1
- package/dist/import-hygiene.js +107 -13
- package/dist/index.d.ts +141 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +172 -0
- package/dist/inspection-discovery.d.ts +45 -0
- package/dist/inspection-discovery.d.ts.map +1 -0
- package/dist/inspection-discovery.js +70 -0
- package/dist/knowledge-advisory-code.d.ts +17 -0
- package/dist/knowledge-advisory-code.d.ts.map +1 -0
- package/dist/knowledge-advisory-code.js +17 -0
- package/dist/knowledge-aged-entry.d.ts +10 -0
- package/dist/knowledge-aged-entry.d.ts.map +1 -0
- package/dist/knowledge-aged-entry.js +1 -0
- package/dist/knowledge-authoring.d.ts +24 -1
- package/dist/knowledge-authoring.d.ts.map +1 -1
- package/dist/knowledge-authoring.js +46 -7
- package/dist/knowledge-entry-verdict-record.d.ts +22 -0
- package/dist/knowledge-entry-verdict-record.d.ts.map +1 -0
- package/dist/knowledge-entry-verdict-record.js +1 -0
- package/dist/knowledge-entry-verdict.d.ts +17 -0
- package/dist/knowledge-entry-verdict.d.ts.map +1 -0
- package/dist/knowledge-entry-verdict.js +17 -0
- package/dist/knowledge-graph.d.ts +6 -0
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +18 -7
- package/dist/knowledge-kind-bucket.d.ts +19 -0
- package/dist/knowledge-kind-bucket.d.ts.map +1 -0
- package/dist/knowledge-kind-bucket.js +1 -0
- package/dist/knowledge-load-failure.d.ts +23 -0
- package/dist/knowledge-load-failure.d.ts.map +1 -0
- package/dist/knowledge-load-failure.js +1 -0
- package/dist/knowledge-reference-kind-bucket.d.ts +11 -0
- package/dist/knowledge-reference-kind-bucket.d.ts.map +1 -0
- package/dist/knowledge-reference-kind-bucket.js +1 -0
- package/dist/knowledge-stale-advisory.d.ts +14 -0
- package/dist/knowledge-stale-advisory.d.ts.map +1 -0
- package/dist/knowledge-stale-advisory.js +1 -0
- package/dist/knowledge-stale-coverage.d.ts +19 -0
- package/dist/knowledge-stale-coverage.d.ts.map +1 -0
- package/dist/knowledge-stale-coverage.js +1 -0
- package/dist/knowledge-stale-gate-flags.d.ts +33 -0
- package/dist/knowledge-stale-gate-flags.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-flags.js +1 -0
- package/dist/knowledge-stale-gate-input.d.ts +46 -0
- package/dist/knowledge-stale-gate-input.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-input.js +1 -0
- package/dist/knowledge-stale-gate-result.d.ts +33 -0
- package/dist/knowledge-stale-gate-result.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-result.js +1 -0
- package/dist/knowledge-stale-gate-rule.d.ts +33 -0
- package/dist/knowledge-stale-gate-rule.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-rule.js +1 -0
- package/dist/knowledge-stale-gate-violation.d.ts +13 -0
- package/dist/knowledge-stale-gate-violation.d.ts.map +1 -0
- package/dist/knowledge-stale-gate-violation.js +1 -0
- package/dist/knowledge-stale-gate.d.ts +83 -0
- package/dist/knowledge-stale-gate.d.ts.map +1 -0
- package/dist/knowledge-stale-gate.js +429 -0
- package/dist/knowledge-stale-quality-gate.d.ts +26 -0
- package/dist/knowledge-stale-quality-gate.d.ts.map +1 -0
- package/dist/knowledge-stale-quality-gate.js +110 -0
- package/dist/knowledge-stale.d.ts +122 -9
- package/dist/knowledge-stale.d.ts.map +1 -1
- package/dist/knowledge-stale.js +996 -291
- package/dist/knowledge-unverifiable-reason.d.ts +12 -0
- package/dist/knowledge-unverifiable-reason.d.ts.map +1 -0
- package/dist/knowledge-unverifiable-reason.js +12 -0
- package/dist/loader-diagnostics.d.ts +14 -2
- package/dist/loader-diagnostics.d.ts.map +1 -1
- package/dist/match-terms.d.ts +48 -0
- package/dist/match-terms.d.ts.map +1 -0
- package/dist/match-terms.js +155 -0
- package/dist/migration-profile-registry.d.ts +10 -0
- package/dist/migration-profile-registry.d.ts.map +1 -1
- package/dist/migration-profile-registry.js +57 -34
- package/dist/migration-readiness.d.ts.map +1 -1
- package/dist/migration-readiness.js +1 -3
- package/dist/nearest-id.d.ts +10 -26
- package/dist/nearest-id.d.ts.map +1 -1
- package/dist/nearest-id.js +9 -59
- package/dist/pack-asset-freshness.d.ts +65 -0
- package/dist/pack-asset-freshness.d.ts.map +1 -0
- package/dist/pack-asset-freshness.js +340 -0
- package/dist/pack-author-ux.d.ts +24 -3
- package/dist/pack-author-ux.d.ts.map +1 -1
- package/dist/pack-author-ux.js +87 -93
- package/dist/pack-contributions-inventory.d.ts +79 -39
- package/dist/pack-contributions-inventory.d.ts.map +1 -1
- package/dist/pack-contributions-inventory.js +443 -286
- package/dist/pack-doctor-verdict.d.ts +29 -0
- package/dist/pack-doctor-verdict.d.ts.map +1 -0
- package/dist/pack-doctor-verdict.js +45 -0
- package/dist/pack-doctor.d.ts +74 -1
- package/dist/pack-doctor.d.ts.map +1 -1
- package/dist/pack-doctor.js +281 -1
- package/dist/pack-helper-plan.d.ts +24 -0
- package/dist/pack-helper-plan.d.ts.map +1 -0
- package/dist/pack-helper-plan.js +77 -0
- package/dist/pack-helper-registry.d.ts +14 -0
- package/dist/pack-helper-registry.d.ts.map +1 -1
- package/dist/pack-helper-registry.js +76 -37
- package/dist/pack-manifest-reader.d.ts +8 -0
- package/dist/pack-manifest-reader.d.ts.map +1 -0
- package/dist/pack-manifest-reader.js +79 -0
- package/dist/pack-release-check.d.ts +14 -1
- package/dist/pack-release-check.d.ts.map +1 -1
- package/dist/pack-release-check.js +23 -1
- package/dist/pack-signature-status.d.ts +18 -6
- package/dist/pack-signature-status.d.ts.map +1 -1
- package/dist/pack-signature-status.js +59 -105
- package/dist/pack-test-runner.d.ts +27 -5
- package/dist/pack-test-runner.d.ts.map +1 -1
- package/dist/pack-test-runner.js +91 -35
- package/dist/pack-typecheck.d.ts +8 -0
- package/dist/pack-typecheck.d.ts.map +1 -0
- package/dist/pack-typecheck.js +76 -0
- package/dist/plan-review.d.ts +2 -0
- package/dist/plan-review.d.ts.map +1 -1
- package/dist/plan-review.js +17 -5
- package/dist/plan-simulation.d.ts.map +1 -1
- package/dist/plan-simulation.js +16 -5
- package/dist/playbook-load-issue.d.ts +16 -0
- package/dist/playbook-load-issue.d.ts.map +1 -0
- package/dist/playbook-load-issue.js +1 -0
- package/dist/playbook-registry.d.ts +32 -1
- package/dist/playbook-registry.d.ts.map +1 -1
- package/dist/playbook-registry.js +144 -55
- package/dist/policy-declaration.d.ts +18 -0
- package/dist/policy-declaration.d.ts.map +1 -0
- package/dist/policy-declaration.js +1 -0
- package/dist/policy-engine.d.ts +8 -0
- package/dist/policy-engine.d.ts.map +1 -1
- package/dist/policy-engine.js +26 -9
- package/dist/policy-overrides.d.ts.map +1 -1
- package/dist/policy-overrides.js +4 -4
- package/dist/policy-registry.d.ts +27 -0
- package/dist/policy-registry.d.ts.map +1 -1
- package/dist/policy-registry.js +87 -20
- package/dist/probed-id-fields.d.ts +21 -0
- package/dist/probed-id-fields.d.ts.map +1 -0
- package/dist/probed-id-fields.js +25 -0
- package/dist/probed-id-source.d.ts +11 -0
- package/dist/probed-id-source.d.ts.map +1 -0
- package/dist/probed-id-source.js +11 -0
- package/dist/profile-registry.d.ts +25 -2
- package/dist/profile-registry.d.ts.map +1 -1
- package/dist/profile-registry.js +59 -6
- package/dist/quality-gate-examination.d.ts +15 -0
- package/dist/quality-gate-examination.d.ts.map +1 -0
- package/dist/quality-gate-examination.js +15 -0
- package/dist/quality-gate-row-status.d.ts +19 -0
- package/dist/quality-gate-row-status.d.ts.map +1 -0
- package/dist/quality-gate-row-status.js +28 -0
- package/dist/quality-gate-status.d.ts +16 -0
- package/dist/quality-gate-status.d.ts.map +1 -0
- package/dist/quality-gate-status.js +16 -0
- package/dist/quality-html.d.ts.map +1 -1
- package/dist/quality-html.js +14 -3
- package/dist/quality-report-coverage.d.ts +26 -0
- package/dist/quality-report-coverage.d.ts.map +1 -0
- package/dist/quality-report-coverage.js +48 -0
- package/dist/quality-report.d.ts +28 -1
- package/dist/quality-report.d.ts.map +1 -1
- package/dist/quality-report.js +263 -35
- package/dist/query-intent-kind.d.ts +18 -0
- package/dist/query-intent-kind.d.ts.map +1 -0
- package/dist/query-intent-kind.js +18 -0
- package/dist/query-intent-result.d.ts +23 -0
- package/dist/query-intent-result.d.ts.map +1 -0
- package/dist/query-intent-result.js +1 -0
- package/dist/query-intent.d.ts +18 -0
- package/dist/query-intent.d.ts.map +1 -0
- package/dist/query-intent.js +336 -0
- package/dist/query-resolver.d.ts +18 -0
- package/dist/query-resolver.d.ts.map +1 -1
- package/dist/query-resolver.js +7 -4
- package/dist/ranked-recommendations.d.ts +36 -0
- package/dist/ranked-recommendations.d.ts.map +1 -0
- package/dist/ranked-recommendations.js +1 -0
- package/dist/ranker-explainability.d.ts.map +1 -1
- package/dist/ranker-explainability.js +38 -10
- package/dist/recommend-recipe.d.ts +17 -0
- package/dist/recommend-recipe.d.ts.map +1 -0
- package/dist/recommend-recipe.js +1 -0
- package/dist/recommend-recipes.d.ts +9 -0
- package/dist/recommend-recipes.d.ts.map +1 -0
- package/dist/recommend-recipes.js +106 -0
- package/dist/recommendation-candidate.d.ts +30 -0
- package/dist/recommendation-candidate.d.ts.map +1 -0
- package/dist/recommendation-candidate.js +1 -0
- package/dist/recommendation-confidence.d.ts +27 -0
- package/dist/recommendation-confidence.d.ts.map +1 -0
- package/dist/recommendation-confidence.js +1 -0
- package/dist/recommendation-ranking-options.d.ts +24 -0
- package/dist/recommendation-ranking-options.d.ts.map +1 -0
- package/dist/recommendation-ranking-options.js +1 -0
- package/dist/recommendation-ranking.d.ts +50 -0
- package/dist/recommendation-ranking.d.ts.map +1 -0
- package/dist/recommendation-ranking.js +527 -0
- package/dist/recommendation-source.d.ts +23 -0
- package/dist/recommendation-source.d.ts.map +1 -0
- package/dist/recommendation-source.js +23 -0
- package/dist/recommendation-suppression.d.ts +14 -0
- package/dist/recommendation-suppression.d.ts.map +1 -0
- package/dist/recommendation-suppression.js +14 -0
- package/dist/reference-asset-kind.d.ts +14 -0
- package/dist/reference-asset-kind.d.ts.map +1 -0
- package/dist/reference-asset-kind.js +14 -0
- package/dist/reference-content-check.d.ts +32 -0
- package/dist/reference-content-check.d.ts.map +1 -0
- package/dist/reference-content-check.js +143 -0
- package/dist/reference-failure.d.ts +31 -0
- package/dist/reference-failure.d.ts.map +1 -0
- package/dist/reference-failure.js +31 -0
- package/dist/reference-id-status.d.ts +15 -0
- package/dist/reference-id-status.d.ts.map +1 -0
- package/dist/reference-id-status.js +15 -0
- package/dist/reference-kind-declarations.d.ts +42 -0
- package/dist/reference-kind-declarations.d.ts.map +1 -0
- package/dist/reference-kind-declarations.js +142 -0
- package/dist/reference-lookup.d.ts +6 -0
- package/dist/reference-lookup.d.ts.map +1 -1
- package/dist/reference-lookup.js +13 -5
- package/dist/reference-registry.d.ts +109 -11
- package/dist/reference-registry.d.ts.map +1 -1
- package/dist/reference-registry.js +186 -30
- package/dist/reference-subject.d.ts +20 -0
- package/dist/reference-subject.d.ts.map +1 -0
- package/dist/reference-subject.js +1 -0
- package/dist/registration-hint-discovery-status.d.ts +25 -0
- package/dist/registration-hint-discovery-status.d.ts.map +1 -0
- package/dist/registration-hint-discovery-status.js +25 -0
- package/dist/registration-hint-registry.d.ts +80 -0
- package/dist/registration-hint-registry.d.ts.map +1 -1
- package/dist/registration-hint-registry.js +356 -138
- package/dist/registry-lifecycle.d.ts +200 -19
- package/dist/registry-lifecycle.d.ts.map +1 -1
- package/dist/registry-lifecycle.js +526 -136
- package/dist/release-readiness.d.ts.map +1 -1
- package/dist/release-readiness.js +10 -7
- package/dist/release-smoke.d.ts.map +1 -1
- package/dist/release-smoke.js +11 -7
- package/dist/report-site.d.ts.map +1 -1
- package/dist/report-site.js +25 -7
- package/dist/repository-intelligence.d.ts.map +1 -1
- package/dist/repository-intelligence.js +3 -2
- package/dist/repository-knowledge-model.d.ts.map +1 -1
- package/dist/repository-knowledge-model.js +18 -5
- package/dist/resolve-project-config.d.ts +64 -0
- package/dist/resolve-project-config.d.ts.map +1 -1
- package/dist/resolve-project-config.js +240 -32
- package/dist/reuse/compute-reuse-coverage.d.ts +29 -0
- package/dist/reuse/compute-reuse-coverage.d.ts.map +1 -0
- package/dist/reuse/compute-reuse-coverage.js +198 -0
- package/dist/reuse/rank-reuse-candidates.d.ts +38 -0
- package/dist/reuse/rank-reuse-candidates.d.ts.map +1 -0
- package/dist/reuse/rank-reuse-candidates.js +212 -0
- package/dist/reuse/rank-reuse-options.d.ts +20 -0
- package/dist/reuse/rank-reuse-options.d.ts.map +1 -0
- package/dist/reuse/rank-reuse-options.js +1 -0
- package/dist/reuse/rank-reuse-suggestions.d.ts +15 -0
- package/dist/reuse/rank-reuse-suggestions.d.ts.map +1 -0
- package/dist/reuse/rank-reuse-suggestions.js +31 -0
- package/dist/reuse/resolve-curated-reuse.d.ts +43 -0
- package/dist/reuse/resolve-curated-reuse.d.ts.map +1 -0
- package/dist/reuse/resolve-curated-reuse.js +115 -0
- package/dist/reuse/reuse-candidate.d.ts +29 -0
- package/dist/reuse/reuse-candidate.d.ts.map +1 -0
- package/dist/reuse/reuse-candidate.js +1 -0
- package/dist/reuse/reuse-coverage-report.d.ts +74 -0
- package/dist/reuse/reuse-coverage-report.d.ts.map +1 -0
- package/dist/reuse/reuse-coverage-report.js +1 -0
- package/dist/reuse/reuse-curated-coverage.d.ts +36 -0
- package/dist/reuse/reuse-curated-coverage.d.ts.map +1 -0
- package/dist/reuse/reuse-curated-coverage.js +1 -0
- package/dist/reuse/reuse-curated-resolution.d.ts +36 -0
- package/dist/reuse/reuse-curated-resolution.d.ts.map +1 -0
- package/dist/reuse/reuse-curated-resolution.js +1 -0
- package/dist/reuse/reuse-curated-status.d.ts +21 -0
- package/dist/reuse/reuse-curated-status.d.ts.map +1 -0
- package/dist/reuse/reuse-curated-status.js +21 -0
- package/dist/reuse/reuse-match-detail.d.ts +15 -0
- package/dist/reuse/reuse-match-detail.d.ts.map +1 -0
- package/dist/reuse/reuse-match-detail.js +1 -0
- package/dist/reuse/reuse-ranking.d.ts +37 -0
- package/dist/reuse/reuse-ranking.d.ts.map +1 -0
- package/dist/reuse/reuse-ranking.js +1 -0
- package/dist/reuse/reuse-suggestion.d.ts +19 -0
- package/dist/reuse/reuse-suggestion.d.ts.map +1 -0
- package/dist/reuse/reuse-suggestion.js +1 -0
- package/dist/reuse/reuse-symbol-lookup.d.ts +28 -0
- package/dist/reuse/reuse-symbol-lookup.d.ts.map +1 -0
- package/dist/reuse/reuse-symbol-lookup.js +1 -0
- package/dist/reuse/reuse-tokenize.d.ts +11 -0
- package/dist/reuse/reuse-tokenize.d.ts.map +1 -0
- package/dist/reuse/reuse-tokenize.js +26 -0
- package/dist/reuse/score-reuse-name.d.ts +16 -0
- package/dist/reuse/score-reuse-name.d.ts.map +1 -0
- package/dist/reuse/score-reuse-name.js +35 -0
- package/dist/reuse/score-reuse-primitive.d.ts +33 -0
- package/dist/reuse/score-reuse-primitive.d.ts.map +1 -0
- package/dist/reuse/score-reuse-primitive.js +92 -0
- package/dist/review-packet.d.ts +2 -0
- package/dist/review-packet.d.ts.map +1 -1
- package/dist/review-packet.js +13 -6
- package/dist/role-views.d.ts.map +1 -1
- package/dist/role-views.js +16 -16
- package/dist/routing-recommends-channels.d.ts +24 -0
- package/dist/routing-recommends-channels.d.ts.map +1 -0
- package/dist/routing-recommends-channels.js +19 -0
- package/dist/run-boundary-check.d.ts +118 -0
- package/dist/run-boundary-check.d.ts.map +1 -0
- package/dist/run-boundary-check.js +592 -0
- package/dist/safety-audit.js +1 -1
- package/dist/scaffold-coverage.js +1 -1
- package/dist/scaffold-pattern-doctor-report.d.ts +19 -0
- package/dist/scaffold-pattern-doctor-report.d.ts.map +1 -0
- package/dist/scaffold-pattern-doctor-report.js +54 -0
- package/dist/scaffold-patterns.d.ts +75 -1
- package/dist/scaffold-patterns.d.ts.map +1 -1
- package/dist/scaffold-patterns.js +375 -84
- package/dist/schema-inventory.d.ts.map +1 -1
- package/dist/schema-inventory.js +4 -3
- package/dist/search-document-id.d.ts +52 -0
- package/dist/search-document-id.d.ts.map +1 -0
- package/dist/search-document-id.js +72 -0
- package/dist/search-document-prefix.d.ts +7 -0
- package/dist/search-document-prefix.d.ts.map +1 -0
- package/dist/search-document-prefix.js +1 -0
- package/dist/search-index.d.ts.map +1 -1
- package/dist/search-index.js +20 -23
- package/dist/search-tuning-explain.d.ts +6 -0
- package/dist/search-tuning-explain.d.ts.map +1 -1
- package/dist/search-tuning-explain.js +19 -17
- package/dist/search-tuning-key-probes.d.ts +16 -0
- package/dist/search-tuning-key-probes.d.ts.map +1 -0
- package/dist/search-tuning-key-probes.js +65 -0
- package/dist/search-tuning-key-resolution.d.ts +25 -0
- package/dist/search-tuning-key-resolution.d.ts.map +1 -0
- package/dist/search-tuning-key-resolution.js +1 -0
- package/dist/search-tuning-key-resolver.d.ts +4 -0
- package/dist/search-tuning-key-resolver.d.ts.map +1 -0
- package/dist/search-tuning-key-resolver.js +107 -0
- package/dist/search-tuning-key-status.d.ts +24 -0
- package/dist/search-tuning-key-status.d.ts.map +1 -0
- package/dist/search-tuning-key-status.js +24 -0
- package/dist/search-tuning-lint.d.ts +9 -0
- package/dist/search-tuning-lint.d.ts.map +1 -0
- package/dist/search-tuning-lint.js +468 -0
- package/dist/search-tuning-registry.d.ts +43 -0
- package/dist/search-tuning-registry.d.ts.map +1 -1
- package/dist/search-tuning-registry.js +214 -49
- package/dist/self-audit.d.ts +12 -0
- package/dist/self-audit.d.ts.map +1 -1
- package/dist/self-audit.js +36 -10
- package/dist/self-config-doctor-v2.d.ts +145 -3
- package/dist/self-config-doctor-v2.d.ts.map +1 -1
- package/dist/self-config-doctor-v2.js +1304 -181
- package/dist/self-config-doctor.d.ts +20 -1
- package/dist/self-config-doctor.d.ts.map +1 -1
- package/dist/self-config-doctor.js +53 -280
- package/dist/settled-unit-states.d.ts +9 -0
- package/dist/settled-unit-states.d.ts.map +1 -0
- package/dist/settled-unit-states.js +14 -0
- package/dist/sharkcraft-inspector.d.ts +34 -0
- package/dist/sharkcraft-inspector.d.ts.map +1 -1
- package/dist/sharkcraft-inspector.js +273 -26
- package/dist/spec/spec-evidence.d.ts.map +1 -1
- package/dist/spec/spec-evidence.js +14 -20
- package/dist/split-identifier.d.ts +21 -0
- package/dist/split-identifier.d.ts.map +1 -0
- package/dist/split-identifier.js +27 -0
- package/dist/start-here.d.ts.map +1 -1
- package/dist/start-here.js +1 -2
- package/dist/substitute-placeholders.d.ts +8 -0
- package/dist/substitute-placeholders.d.ts.map +1 -0
- package/dist/substitute-placeholders.js +9 -0
- package/dist/symbol-index.d.ts +33 -0
- package/dist/symbol-index.d.ts.map +1 -1
- package/dist/symbol-index.js +241 -3
- package/dist/symbol-member-entry.d.ts +26 -0
- package/dist/symbol-member-entry.d.ts.map +1 -0
- package/dist/symbol-member-entry.js +1 -0
- package/dist/symbol-member-kind.d.ts +14 -0
- package/dist/symbol-member-kind.d.ts.map +1 -0
- package/dist/symbol-member-kind.js +14 -0
- package/dist/task-packet.d.ts.map +1 -1
- package/dist/task-packet.js +52 -9
- package/dist/task-ranker.d.ts +8 -0
- package/dist/task-ranker.d.ts.map +1 -1
- package/dist/task-ranker.js +25 -13
- package/dist/task-risk.js +1 -1
- package/dist/task-routing-hint-registry.d.ts +20 -1
- package/dist/task-routing-hint-registry.d.ts.map +1 -1
- package/dist/task-routing-hint-registry.js +186 -42
- package/dist/template-drift.d.ts.map +1 -1
- package/dist/template-drift.js +30 -9
- package/dist/template-lint.d.ts.map +1 -1
- package/dist/template-lint.js +160 -2
- package/dist/term-query.d.ts +10 -0
- package/dist/term-query.d.ts.map +1 -0
- package/dist/term-query.js +1 -0
- package/dist/test-definitions.d.ts +6 -3
- package/dist/test-definitions.d.ts.map +1 -1
- package/dist/test-runner.d.ts +95 -10
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +309 -308
- package/dist/tuning-query-tokens.d.ts +29 -0
- package/dist/tuning-query-tokens.d.ts.map +1 -0
- package/dist/tuning-query-tokens.js +51 -0
- package/dist/typecheck-files.d.ts +36 -0
- package/dist/typecheck-files.d.ts.map +1 -0
- package/dist/typecheck-files.js +158 -0
- package/dist/uncertainty.js +1 -1
- package/dist/universal-search.d.ts.map +1 -1
- package/dist/universal-search.js +5 -3
- package/dist/unregistered-exports.d.ts +19 -0
- package/dist/unregistered-exports.d.ts.map +1 -0
- package/dist/unregistered-exports.js +141 -0
- package/dist/unresolvable-reason.d.ts +11 -0
- package/dist/unresolvable-reason.d.ts.map +1 -0
- package/dist/unresolvable-reason.js +11 -0
- package/dist/upgrade-advisor.d.ts.map +1 -1
- package/dist/upgrade-advisor.js +16 -9
- package/dist/validate-contribution-file.d.ts +4 -0
- package/dist/validate-contribution-file.d.ts.map +1 -0
- package/dist/validate-contribution-file.js +228 -0
- package/dist/why-file.d.ts +3 -0
- package/dist/why-file.d.ts.map +1 -1
- package/dist/why-file.js +7 -3
- package/package.json +17 -17
package/dist/start-here.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-here.d.ts","sourceRoot":"","sources":["../src/start-here.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,aAAa,GACb,OAAO,GACP,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,eAAe,CAAC;AAE1E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,iBAAiB,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,SAAS,cAAc,EAAE,CAAC;IACxC,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IACzC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;CACrC;
|
|
1
|
+
{"version":3,"file":"start-here.d.ts","sourceRoot":"","sources":["../src/start-here.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,aAAa,GACb,OAAO,GACP,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,eAAe,CAAC;AAE1E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,iBAAiB,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,SAAS,cAAc,EAAE,CAAC;IACxC,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IACzC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;CACrC;AAuMD,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,gBAAgB,CAiBlF;AAED,wBAAgB,0BAA0B,IAAI,sBAAsB,CAEnE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAkCpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAQhF"}
|
package/dist/start-here.js
CHANGED
|
@@ -64,7 +64,7 @@ const FLOWS_PRIMARY = [
|
|
|
64
64
|
'shrk dev start "<task>" --brief',
|
|
65
65
|
'shrk dev status <id>',
|
|
66
66
|
'shrk dev report <id>',
|
|
67
|
-
'shrk
|
|
67
|
+
'shrk brief "<task>" --session <id> --mode handoff',
|
|
68
68
|
],
|
|
69
69
|
safety: 'writes-drafts',
|
|
70
70
|
docsLink: 'docs/dev-workflow.md',
|
|
@@ -121,7 +121,6 @@ const FLOWS_OPTIONAL = [
|
|
|
121
121
|
whenToUse: 'You are about to tag.',
|
|
122
122
|
commands: [
|
|
123
123
|
'shrk release readiness',
|
|
124
|
-
'shrk demo package --validate',
|
|
125
124
|
'shrk release smoke',
|
|
126
125
|
'bun run release:preflight',
|
|
127
126
|
'shrk release readiness --strict --preflight auto',
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE `{{var}}` placeholder substitution for declarative snippets — used by
|
|
3
|
+
* registration-hint previews and pack-helper plans. An unknown placeholder is
|
|
4
|
+
* left verbatim (never blanked), so a missing variable is visible in the
|
|
5
|
+
* rendered snippet instead of silently producing an empty string.
|
|
6
|
+
*/
|
|
7
|
+
export declare function substitutePlaceholders(snippet: string, vars: Readonly<Record<string, string>>): string;
|
|
8
|
+
//# sourceMappingURL=substitute-placeholders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substitute-placeholders.d.ts","sourceRoot":"","sources":["../src/substitute-placeholders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAItG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE `{{var}}` placeholder substitution for declarative snippets — used by
|
|
3
|
+
* registration-hint previews and pack-helper plans. An unknown placeholder is
|
|
4
|
+
* left verbatim (never blanked), so a missing variable is visible in the
|
|
5
|
+
* rendered snippet instead of silently producing an empty string.
|
|
6
|
+
*/
|
|
7
|
+
export function substitutePlaceholders(snippet, vars) {
|
|
8
|
+
return snippet.replace(/\{\{\s*([A-Za-z0-9_]+)\s*\}\}/g, (_m, key) => vars[key] !== undefined ? vars[key] : `{{${key}}}`);
|
|
9
|
+
}
|
package/dist/symbol-index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ISymbolMemberEntry } from './symbol-member-entry.js';
|
|
1
2
|
export declare const SYMBOL_INDEX_SCHEMA = "sharkcraft.symbol-index/v1";
|
|
2
3
|
export declare enum SymbolDeclarationKind {
|
|
3
4
|
Class = "class",
|
|
@@ -22,6 +23,10 @@ export declare enum SymbolResolution {
|
|
|
22
23
|
ExactExport = "exact-export",
|
|
23
24
|
ExactLocal = "exact-local",
|
|
24
25
|
ExactReExport = "exact-reexport",
|
|
26
|
+
/** `Owner.member` where the owner is exported from this file. */
|
|
27
|
+
ExactMember = "exact-member",
|
|
28
|
+
/** `Owner.member` where the owner is declared here but not exported. */
|
|
29
|
+
ExactLocalMember = "exact-local-member",
|
|
25
30
|
ProbableText = "probable-text",
|
|
26
31
|
Missing = "missing",
|
|
27
32
|
Unknown = "unknown"
|
|
@@ -32,6 +37,13 @@ export interface ISymbolEntry {
|
|
|
32
37
|
visibility: SymbolVisibility;
|
|
33
38
|
/** Line (1-based) where the declaration starts. */
|
|
34
39
|
line: number;
|
|
40
|
+
/**
|
|
41
|
+
* Character span of the declaration, when it is one (a bare `export { x }`
|
|
42
|
+
* has none). A reference's `contains` / `matches` reads this span, so a claim
|
|
43
|
+
* about a function is checked against the function, not the whole file.
|
|
44
|
+
*/
|
|
45
|
+
start?: number;
|
|
46
|
+
end?: number;
|
|
35
47
|
}
|
|
36
48
|
export interface IReExportEntry {
|
|
37
49
|
/** Symbol name as exposed (the "name" half of `export { foo } from`). */
|
|
@@ -49,6 +61,12 @@ export interface IReExportEntry {
|
|
|
49
61
|
from: string;
|
|
50
62
|
/** If true, this is `export * from "..."`. */
|
|
51
63
|
star: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* If true, this is a NAMESPACE re-export, `export * as ns from "..."`: `name`
|
|
66
|
+
* (`ns`) binds the whole target module, not a declaration inside it. `star`
|
|
67
|
+
* is false — the target's names are NOT forwarded one by one.
|
|
68
|
+
*/
|
|
69
|
+
namespace?: boolean;
|
|
52
70
|
line: number;
|
|
53
71
|
}
|
|
54
72
|
export interface ISymbolIndex {
|
|
@@ -59,6 +77,12 @@ export interface ISymbolIndex {
|
|
|
59
77
|
exports: readonly ISymbolEntry[];
|
|
60
78
|
locals: readonly ISymbolEntry[];
|
|
61
79
|
reExports: readonly IReExportEntry[];
|
|
80
|
+
/**
|
|
81
|
+
* Members of top-level declarations, one level deep (class / interface / enum
|
|
82
|
+
* / namespace / `const x = { … }`). Additive and optional: the graph indexer
|
|
83
|
+
* reads only `exports` / `locals` / `reExports`, so its node set is unchanged.
|
|
84
|
+
*/
|
|
85
|
+
members?: readonly ISymbolMemberEntry[];
|
|
62
86
|
/** True when a default export exists. */
|
|
63
87
|
hasDefaultExport: boolean;
|
|
64
88
|
/** Default export name where identifiable (`export default function foo()` → "foo"). */
|
|
@@ -77,6 +101,15 @@ export declare function resolveSymbolInFile(fileAbsPath: string, symbol: string)
|
|
|
77
101
|
resolution: SymbolResolution;
|
|
78
102
|
message: string;
|
|
79
103
|
entry?: ISymbolEntry;
|
|
104
|
+
/** Set for an `Owner.member` resolution. */
|
|
105
|
+
member?: ISymbolMemberEntry;
|
|
106
|
+
/** A qualified spelling that WOULD resolve — `Foo.bar` for a bare member name. */
|
|
107
|
+
suggestedSymbol?: string;
|
|
108
|
+
/** The resolved declaration's character span, for content assertions. */
|
|
109
|
+
span?: {
|
|
110
|
+
start: number;
|
|
111
|
+
end: number;
|
|
112
|
+
};
|
|
80
113
|
};
|
|
81
114
|
export interface ISymbolMatch {
|
|
82
115
|
/** Absolute file path. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-index.d.ts","sourceRoot":"","sources":["../src/symbol-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"symbol-index.d.ts","sourceRoot":"","sources":["../src/symbol-index.ts"],"names":[],"mappings":"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"}
|
package/dist/symbol-index.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import { existsSync, readFileSync } from 'node:fs';
|
|
15
15
|
import * as nodePath from 'node:path';
|
|
16
16
|
import * as ts from 'typescript';
|
|
17
|
+
import { SymbolMemberKind } from "./symbol-member-kind.js";
|
|
17
18
|
export const SYMBOL_INDEX_SCHEMA = 'sharkcraft.symbol-index/v1';
|
|
18
19
|
export var SymbolDeclarationKind;
|
|
19
20
|
(function (SymbolDeclarationKind) {
|
|
@@ -41,10 +42,139 @@ export var SymbolResolution;
|
|
|
41
42
|
SymbolResolution["ExactExport"] = "exact-export";
|
|
42
43
|
SymbolResolution["ExactLocal"] = "exact-local";
|
|
43
44
|
SymbolResolution["ExactReExport"] = "exact-reexport";
|
|
45
|
+
/** `Owner.member` where the owner is exported from this file. */
|
|
46
|
+
SymbolResolution["ExactMember"] = "exact-member";
|
|
47
|
+
/** `Owner.member` where the owner is declared here but not exported. */
|
|
48
|
+
SymbolResolution["ExactLocalMember"] = "exact-local-member";
|
|
44
49
|
SymbolResolution["ProbableText"] = "probable-text";
|
|
45
50
|
SymbolResolution["Missing"] = "missing";
|
|
46
51
|
SymbolResolution["Unknown"] = "unknown";
|
|
47
52
|
})(SymbolResolution || (SymbolResolution = {}));
|
|
53
|
+
/** A name that can address a member statically (computed names cannot). */
|
|
54
|
+
function staticMemberName(name) {
|
|
55
|
+
if (!name)
|
|
56
|
+
return undefined;
|
|
57
|
+
if (ts.isIdentifier(name) ||
|
|
58
|
+
ts.isPrivateIdentifier(name) ||
|
|
59
|
+
ts.isStringLiteral(name) ||
|
|
60
|
+
ts.isNumericLiteral(name)) {
|
|
61
|
+
return name.text;
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
function hasStaticModifier(node) {
|
|
66
|
+
if (!ts.canHaveModifiers(node))
|
|
67
|
+
return false;
|
|
68
|
+
return !!ts.getModifiers(node)?.some((m) => m.kind === ts.SyntaxKind.StaticKeyword);
|
|
69
|
+
}
|
|
70
|
+
/** Strip `as const` / `satisfies X` / parentheses around an initializer. */
|
|
71
|
+
function unwrapInitializer(e) {
|
|
72
|
+
let cur = e;
|
|
73
|
+
while (ts.isAsExpression(cur) ||
|
|
74
|
+
ts.isSatisfiesExpression(cur) ||
|
|
75
|
+
ts.isParenthesizedExpression(cur) ||
|
|
76
|
+
ts.isTypeAssertionExpression(cur)) {
|
|
77
|
+
cur = cur.expression;
|
|
78
|
+
}
|
|
79
|
+
return cur;
|
|
80
|
+
}
|
|
81
|
+
/** Collect the one-level members of a top-level statement into `out`. */
|
|
82
|
+
function collectMembers(sf, stmt, out) {
|
|
83
|
+
const push = (owner, node, name, kind, isStatic = false) => {
|
|
84
|
+
if (!name)
|
|
85
|
+
return;
|
|
86
|
+
out.push({
|
|
87
|
+
owner,
|
|
88
|
+
name,
|
|
89
|
+
kind,
|
|
90
|
+
static: isStatic,
|
|
91
|
+
line: sf.getLineAndCharacterOfPosition(node.getStart(sf)).line + 1,
|
|
92
|
+
start: node.getStart(sf),
|
|
93
|
+
end: node.getEnd(),
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
if (ts.isClassDeclaration(stmt) && stmt.name) {
|
|
97
|
+
const owner = stmt.name.text;
|
|
98
|
+
for (const m of stmt.members) {
|
|
99
|
+
if (ts.isMethodDeclaration(m)) {
|
|
100
|
+
push(owner, m, staticMemberName(m.name), SymbolMemberKind.Method, hasStaticModifier(m));
|
|
101
|
+
}
|
|
102
|
+
else if (ts.isPropertyDeclaration(m)) {
|
|
103
|
+
push(owner, m, staticMemberName(m.name), SymbolMemberKind.Property, hasStaticModifier(m));
|
|
104
|
+
}
|
|
105
|
+
else if (ts.isGetAccessorDeclaration(m) || ts.isSetAccessorDeclaration(m)) {
|
|
106
|
+
push(owner, m, staticMemberName(m.name), SymbolMemberKind.Accessor, hasStaticModifier(m));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (ts.isInterfaceDeclaration(stmt)) {
|
|
112
|
+
for (const m of stmt.members) {
|
|
113
|
+
if (ts.isPropertySignature(m) || ts.isMethodSignature(m)) {
|
|
114
|
+
push(stmt.name.text, m, staticMemberName(m.name), SymbolMemberKind.InterfaceMember);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (ts.isEnumDeclaration(stmt)) {
|
|
120
|
+
for (const m of stmt.members) {
|
|
121
|
+
push(stmt.name.text, m, staticMemberName(m.name), SymbolMemberKind.EnumMember);
|
|
122
|
+
}
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (ts.isModuleDeclaration(stmt) &&
|
|
126
|
+
ts.isIdentifier(stmt.name) &&
|
|
127
|
+
stmt.body !== undefined &&
|
|
128
|
+
ts.isModuleBlock(stmt.body)) {
|
|
129
|
+
const owner = stmt.name.text;
|
|
130
|
+
for (const s of stmt.body.statements) {
|
|
131
|
+
if (ts.isVariableStatement(s)) {
|
|
132
|
+
for (const d of s.declarationList.declarations) {
|
|
133
|
+
if (ts.isIdentifier(d.name))
|
|
134
|
+
push(owner, d, d.name.text, SymbolMemberKind.NamespaceMember);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else if ((ts.isFunctionDeclaration(s) ||
|
|
138
|
+
ts.isClassDeclaration(s) ||
|
|
139
|
+
ts.isInterfaceDeclaration(s) ||
|
|
140
|
+
ts.isTypeAliasDeclaration(s) ||
|
|
141
|
+
ts.isEnumDeclaration(s)) &&
|
|
142
|
+
s.name) {
|
|
143
|
+
push(owner, s, s.name.text, SymbolMemberKind.NamespaceMember);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (ts.isVariableStatement(stmt)) {
|
|
149
|
+
for (const d of stmt.declarationList.declarations) {
|
|
150
|
+
if (!ts.isIdentifier(d.name) || !d.initializer)
|
|
151
|
+
continue;
|
|
152
|
+
const init = unwrapInitializer(d.initializer);
|
|
153
|
+
if (!ts.isObjectLiteralExpression(init))
|
|
154
|
+
continue;
|
|
155
|
+
for (const p of init.properties) {
|
|
156
|
+
if (ts.isPropertyAssignment(p) ||
|
|
157
|
+
ts.isShorthandPropertyAssignment(p) ||
|
|
158
|
+
ts.isMethodDeclaration(p) ||
|
|
159
|
+
ts.isGetAccessorDeclaration(p) ||
|
|
160
|
+
ts.isSetAccessorDeclaration(p)) {
|
|
161
|
+
push(d.name.text, p, staticMemberName(p.name), SymbolMemberKind.ObjectKey);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/** `Owner.member` → its halves (`.prototype.` is stripped); null for a bare name. */
|
|
168
|
+
function splitQualifiedSymbol(symbol) {
|
|
169
|
+
const cleaned = symbol.replace(/\.prototype\./g, '.');
|
|
170
|
+
const dot = cleaned.indexOf('.');
|
|
171
|
+
if (dot <= 0 || dot === cleaned.length - 1)
|
|
172
|
+
return null;
|
|
173
|
+
return { owner: cleaned.slice(0, dot), member: cleaned.slice(dot + 1) };
|
|
174
|
+
}
|
|
175
|
+
function spanOf(e) {
|
|
176
|
+
return e.start !== undefined && e.end !== undefined ? { start: e.start, end: e.end } : undefined;
|
|
177
|
+
}
|
|
48
178
|
function pickKindFromNode(node) {
|
|
49
179
|
if (ts.isClassDeclaration(node))
|
|
50
180
|
return SymbolDeclarationKind.Class;
|
|
@@ -144,7 +274,11 @@ export function buildSymbolIndex(fileAbsPath, content, options = {}) {
|
|
|
144
274
|
const reExportsList = [];
|
|
145
275
|
let hasDefaultExport = false;
|
|
146
276
|
let defaultExportName;
|
|
277
|
+
const membersList = [];
|
|
147
278
|
for (const stmt of sf.statements) {
|
|
279
|
+
// One level of members under each top-level owner — additive; nothing
|
|
280
|
+
// below reads them, so the export/local/re-export sets are unchanged.
|
|
281
|
+
collectMembers(sf, stmt, membersList);
|
|
148
282
|
// export { foo, bar } from "./mod" / export * from "./mod"
|
|
149
283
|
if (ts.isExportDeclaration(stmt)) {
|
|
150
284
|
const fromSpec = stmt.moduleSpecifier && ts.isStringLiteral(stmt.moduleSpecifier)
|
|
@@ -160,6 +294,18 @@ export function buildSymbolIndex(fileAbsPath, content, options = {}) {
|
|
|
160
294
|
});
|
|
161
295
|
continue;
|
|
162
296
|
}
|
|
297
|
+
// `export * as ns from "./mod"` — one name bound to the whole module.
|
|
298
|
+
// Recorded (it used to fall through silently, so `ns` was on no surface).
|
|
299
|
+
if (stmt.exportClause && ts.isNamespaceExport(stmt.exportClause) && fromSpec) {
|
|
300
|
+
reExportsList.push({
|
|
301
|
+
name: stmt.exportClause.name.text,
|
|
302
|
+
from: fromSpec,
|
|
303
|
+
star: false,
|
|
304
|
+
namespace: true,
|
|
305
|
+
line: lineOf(sf, stmt),
|
|
306
|
+
});
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
163
309
|
if (stmt.exportClause && ts.isNamedExports(stmt.exportClause)) {
|
|
164
310
|
for (const spec of stmt.exportClause.elements) {
|
|
165
311
|
const name = spec.name.text;
|
|
@@ -212,6 +358,8 @@ export function buildSymbolIndex(fileAbsPath, content, options = {}) {
|
|
|
212
358
|
kind: pickKindFromNode(stmt),
|
|
213
359
|
visibility: SymbolVisibility.Default,
|
|
214
360
|
line: lineOf(sf, stmt),
|
|
361
|
+
start: stmt.getStart(sf),
|
|
362
|
+
end: stmt.getEnd(),
|
|
215
363
|
});
|
|
216
364
|
}
|
|
217
365
|
continue;
|
|
@@ -228,6 +376,8 @@ export function buildSymbolIndex(fileAbsPath, content, options = {}) {
|
|
|
228
376
|
kind,
|
|
229
377
|
visibility: exported ? SymbolVisibility.Export : SymbolVisibility.Local,
|
|
230
378
|
line: lineOf(sf, d),
|
|
379
|
+
start: d.getStart(sf),
|
|
380
|
+
end: d.getEnd(),
|
|
231
381
|
};
|
|
232
382
|
(exported ? exportsList : localsList).push(entry);
|
|
233
383
|
}
|
|
@@ -246,6 +396,8 @@ export function buildSymbolIndex(fileAbsPath, content, options = {}) {
|
|
|
246
396
|
kind: pickKindFromNode(stmt),
|
|
247
397
|
visibility: exported ? SymbolVisibility.Export : SymbolVisibility.Local,
|
|
248
398
|
line: lineOf(sf, stmt),
|
|
399
|
+
start: stmt.getStart(sf),
|
|
400
|
+
end: stmt.getEnd(),
|
|
249
401
|
};
|
|
250
402
|
(exported ? exportsList : localsList).push(entry);
|
|
251
403
|
continue;
|
|
@@ -256,6 +408,8 @@ export function buildSymbolIndex(fileAbsPath, content, options = {}) {
|
|
|
256
408
|
kind: pickKindFromNode(stmt),
|
|
257
409
|
visibility: exported ? SymbolVisibility.Export : SymbolVisibility.Local,
|
|
258
410
|
line: lineOf(sf, stmt),
|
|
411
|
+
start: stmt.getStart(sf),
|
|
412
|
+
end: stmt.getEnd(),
|
|
259
413
|
};
|
|
260
414
|
(exported ? exportsList : localsList).push(entry);
|
|
261
415
|
}
|
|
@@ -267,6 +421,7 @@ export function buildSymbolIndex(fileAbsPath, content, options = {}) {
|
|
|
267
421
|
exports: exportsList,
|
|
268
422
|
locals: localsList,
|
|
269
423
|
reExports: reExportsList,
|
|
424
|
+
members: membersList,
|
|
270
425
|
hasDefaultExport,
|
|
271
426
|
...(defaultExportName ? { defaultExportName } : {}),
|
|
272
427
|
};
|
|
@@ -294,11 +449,14 @@ export function resolveSymbolInFile(fileAbsPath, symbol) {
|
|
|
294
449
|
return { resolution: SymbolResolution.Unknown, message: 'No symbol provided.' };
|
|
295
450
|
}
|
|
296
451
|
const idx = buildSymbolIndex(fileAbsPath);
|
|
452
|
+
const qualified = splitQualifiedSymbol(symbol);
|
|
297
453
|
if (!idx.parsed) {
|
|
298
|
-
// Text-scan fallback.
|
|
454
|
+
// Text-scan fallback. A qualified name rarely appears literally, so look
|
|
455
|
+
// for the member token.
|
|
456
|
+
const token = qualified ? qualified.member : symbol;
|
|
299
457
|
try {
|
|
300
458
|
const text = readFileSync(fileAbsPath, 'utf8');
|
|
301
|
-
if (text.includes(
|
|
459
|
+
if (text.includes(token)) {
|
|
302
460
|
return {
|
|
303
461
|
resolution: SymbolResolution.ProbableText,
|
|
304
462
|
message: `\`${symbol}\` appears in the file text but the AST could not be parsed.`,
|
|
@@ -310,27 +468,57 @@ export function resolveSymbolInFile(fileAbsPath, symbol) {
|
|
|
310
468
|
return { resolution: SymbolResolution.Unknown, message: 'Could not read file.' };
|
|
311
469
|
}
|
|
312
470
|
}
|
|
471
|
+
if (qualified)
|
|
472
|
+
return resolveMemberInIndex(idx, qualified.owner, qualified.member, symbol);
|
|
313
473
|
const exp = idx.exports.find((e) => e.name === symbol);
|
|
314
474
|
if (exp) {
|
|
475
|
+
const span = spanOf(exp);
|
|
315
476
|
return {
|
|
316
477
|
resolution: SymbolResolution.ExactExport,
|
|
317
478
|
message: `Exact exported declaration of \`${symbol}\` (${exp.kind}) at line ${exp.line}.`,
|
|
318
479
|
entry: exp,
|
|
480
|
+
...(span ? { span } : {}),
|
|
319
481
|
};
|
|
320
482
|
}
|
|
321
483
|
const local = idx.locals.find((e) => e.name === symbol);
|
|
322
484
|
if (local) {
|
|
485
|
+
const span = spanOf(local);
|
|
323
486
|
return {
|
|
324
487
|
resolution: SymbolResolution.ExactLocal,
|
|
325
488
|
message: `Local (non-exported) declaration of \`${symbol}\` (${local.kind}) at line ${local.line}.`,
|
|
326
489
|
entry: local,
|
|
490
|
+
...(span ? { span } : {}),
|
|
327
491
|
};
|
|
328
492
|
}
|
|
329
493
|
const re = idx.reExports.find((r) => r.name === symbol || (r.star && r.from.length > 0));
|
|
330
494
|
if (re) {
|
|
331
495
|
return {
|
|
332
496
|
resolution: SymbolResolution.ExactReExport,
|
|
333
|
-
message: `Re-exported via \`export${re.star ? ' *' : ` { ${symbol} }`} from "${re.from}"\` at line ${re.line}.`,
|
|
497
|
+
message: `Re-exported via \`export${re.star ? ' *' : re.namespace ? ` * as ${symbol}` : ` { ${symbol} }`} from "${re.from}"\` at line ${re.line}.`,
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
// Not a top-level name — but it may be a MEMBER. That stays Missing (a bare
|
|
501
|
+
// name never silently widens to members), but with a route forward instead
|
|
502
|
+
// of telling the author a true statement is false.
|
|
503
|
+
const asMember = (idx.members ?? []).filter((m) => m.name === symbol);
|
|
504
|
+
if (asMember.length > 0) {
|
|
505
|
+
const owners = [...new Set(asMember.map((m) => m.owner))];
|
|
506
|
+
if (owners.length === 1) {
|
|
507
|
+
const m = asMember[0];
|
|
508
|
+
// `object-key` → "an object key" (the article follows the word, not the enum spelling).
|
|
509
|
+
const kindWords = String(m.kind).replace(/-/g, ' ');
|
|
510
|
+
const article = /^[aeiou]/i.test(kindWords) ? 'an' : 'a';
|
|
511
|
+
return {
|
|
512
|
+
resolution: SymbolResolution.Missing,
|
|
513
|
+
message: `\`${symbol}\` is ${article} ${kindWords} of \`${m.owner}\` (line ${m.line}), not a top-level declaration — pin it as \`${m.owner}.${symbol}\`.`,
|
|
514
|
+
suggestedSymbol: `${m.owner}.${symbol}`,
|
|
515
|
+
};
|
|
516
|
+
}
|
|
517
|
+
return {
|
|
518
|
+
resolution: SymbolResolution.Missing,
|
|
519
|
+
message: `\`${symbol}\` is not a top-level declaration; it is a member of ${owners
|
|
520
|
+
.map((o) => `\`${o}\``)
|
|
521
|
+
.join(', ')} — pin it as \`<Owner>.${symbol}\`.`,
|
|
334
522
|
};
|
|
335
523
|
}
|
|
336
524
|
return {
|
|
@@ -338,6 +526,56 @@ export function resolveSymbolInFile(fileAbsPath, symbol) {
|
|
|
338
526
|
message: `Symbol \`${symbol}\` not declared or re-exported in this file.`,
|
|
339
527
|
};
|
|
340
528
|
}
|
|
529
|
+
/** Resolve `owner.member` against one parsed file's index. */
|
|
530
|
+
function resolveMemberInIndex(idx, owner, member, original) {
|
|
531
|
+
const ownerExp = idx.exports.find((e) => e.name === owner);
|
|
532
|
+
const ownerEntry = ownerExp ?? idx.locals.find((e) => e.name === owner);
|
|
533
|
+
if (!ownerEntry) {
|
|
534
|
+
const re = idx.reExports.find((r) => r.name === owner || r.star);
|
|
535
|
+
if (re) {
|
|
536
|
+
// Its members are declared in another file — never a false Ok.
|
|
537
|
+
return {
|
|
538
|
+
resolution: SymbolResolution.Unknown,
|
|
539
|
+
message: `\`${owner}\` is re-exported here from "${re.from}", so its members live elsewhere — pin the declaring file to check \`${original}\`.`,
|
|
540
|
+
};
|
|
541
|
+
}
|
|
542
|
+
return {
|
|
543
|
+
resolution: SymbolResolution.Missing,
|
|
544
|
+
message: `Owner \`${owner}\` of \`${original}\` is not declared in this file.`,
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
if (member.includes('.')) {
|
|
548
|
+
return {
|
|
549
|
+
resolution: SymbolResolution.Unknown,
|
|
550
|
+
message: `\`${original}\` is nested more than one level; only direct members (\`${owner}.<member>\`) are indexed.`,
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
const members = (idx.members ?? []).filter((m) => m.owner === owner);
|
|
554
|
+
const hit = members.find((m) => m.name === member);
|
|
555
|
+
if (hit) {
|
|
556
|
+
return {
|
|
557
|
+
resolution: ownerExp ? SymbolResolution.ExactMember : SymbolResolution.ExactLocalMember,
|
|
558
|
+
message: `\`${original}\` resolves to the ${hit.kind} \`${member}\` of \`${owner}\` at line ${hit.line}.`,
|
|
559
|
+
entry: ownerEntry,
|
|
560
|
+
member: hit,
|
|
561
|
+
span: { start: hit.start, end: hit.end },
|
|
562
|
+
};
|
|
563
|
+
}
|
|
564
|
+
if (ownerEntry.kind === SymbolDeclarationKind.Unknown && members.length === 0) {
|
|
565
|
+
// `export { Foo }` of an imported name — declared in another file.
|
|
566
|
+
return {
|
|
567
|
+
resolution: SymbolResolution.Unknown,
|
|
568
|
+
message: `\`${owner}\` is only re-exported here (\`export { ${owner} }\`) — pin its declaring file to check \`${original}\`.`,
|
|
569
|
+
};
|
|
570
|
+
}
|
|
571
|
+
const shown = members.slice(0, 12).map((m) => m.name);
|
|
572
|
+
const more = members.length > shown.length ? `, … (+${members.length - shown.length})` : '';
|
|
573
|
+
return {
|
|
574
|
+
resolution: SymbolResolution.Missing,
|
|
575
|
+
message: `\`${owner}\` (${ownerEntry.kind}, line ${ownerEntry.line}) has no member \`${member}\`` +
|
|
576
|
+
(shown.length > 0 ? ` — its members: ${shown.join(', ')}${more}.` : ' — it declares no indexed members.'),
|
|
577
|
+
};
|
|
578
|
+
}
|
|
341
579
|
// ── Project-wide symbol resolution ──────────────────────────────────────
|
|
342
580
|
import { readdirSync, statSync } from 'node:fs';
|
|
343
581
|
const DEFAULT_SKIP_DIRS = new Set([
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SymbolMemberKind } from './symbol-member-kind.js';
|
|
2
|
+
/**
|
|
3
|
+
* One member of a top-level declaration: a class method / property / accessor,
|
|
4
|
+
* an interface member, an enum member, a namespace declaration, or a key of a
|
|
5
|
+
* `const x = { … }` object literal.
|
|
6
|
+
*
|
|
7
|
+
* The symbol index used to walk top-level statements only, so a reference to a
|
|
8
|
+
* method that plainly exists reported "not declared" forever and the only
|
|
9
|
+
* escape was coarsening it to the whole file — losing exactly the precision a
|
|
10
|
+
* symbol reference exists for. Members make `Owner.member` addressable.
|
|
11
|
+
*/
|
|
12
|
+
export interface ISymbolMemberEntry {
|
|
13
|
+
/** The enclosing top-level declaration's name (`Foo` for `Foo.bar`). */
|
|
14
|
+
owner: string;
|
|
15
|
+
name: string;
|
|
16
|
+
kind: SymbolMemberKind;
|
|
17
|
+
/** True for a `static` class member. */
|
|
18
|
+
static: boolean;
|
|
19
|
+
/** Line (1-based) where the member starts. */
|
|
20
|
+
line: number;
|
|
21
|
+
/** Character offset of the member's first token. */
|
|
22
|
+
start: number;
|
|
23
|
+
/** Character offset just past the member's last token. */
|
|
24
|
+
end: number;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=symbol-member-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-member-entry.d.ts","sourceRoot":"","sources":["../src/symbol-member-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What kind of member {@link ISymbolMemberEntry} indexes — one level deep
|
|
3
|
+
* under a top-level owner.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum SymbolMemberKind {
|
|
6
|
+
Method = "method",
|
|
7
|
+
Property = "property",
|
|
8
|
+
Accessor = "accessor",
|
|
9
|
+
EnumMember = "enum-member",
|
|
10
|
+
InterfaceMember = "interface-member",
|
|
11
|
+
NamespaceMember = "namespace-member",
|
|
12
|
+
ObjectKey = "object-key"
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=symbol-member-kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-member-kind.d.ts","sourceRoot":"","sources":["../src/symbol-member-kind.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,SAAS,eAAe;CACzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What kind of member {@link ISymbolMemberEntry} indexes — one level deep
|
|
3
|
+
* under a top-level owner.
|
|
4
|
+
*/
|
|
5
|
+
export var SymbolMemberKind;
|
|
6
|
+
(function (SymbolMemberKind) {
|
|
7
|
+
SymbolMemberKind["Method"] = "method";
|
|
8
|
+
SymbolMemberKind["Property"] = "property";
|
|
9
|
+
SymbolMemberKind["Accessor"] = "accessor";
|
|
10
|
+
SymbolMemberKind["EnumMember"] = "enum-member";
|
|
11
|
+
SymbolMemberKind["InterfaceMember"] = "interface-member";
|
|
12
|
+
SymbolMemberKind["NamespaceMember"] = "namespace-member";
|
|
13
|
+
SymbolMemberKind["ObjectKey"] = "object-key";
|
|
14
|
+
})(SymbolMemberKind || (SymbolMemberKind = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-packet.d.ts","sourceRoot":"","sources":["../src/task-packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"task-packet.d.ts","sourceRoot":"","sources":["../src/task-packet.ts"],"names":[],"mappings":"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"}
|