@herbertgao/pi-extensions 2026.9.0 → 2026.9.1
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/node_modules/@czottmann/pi-automode/CHANGELOG.md +13 -1
- package/node_modules/@czottmann/pi-automode/README.md +20 -0
- package/node_modules/@czottmann/pi-automode/docs/GLOSSARY.md +1 -1
- package/node_modules/@czottmann/pi-automode/docs/automode-classifier-flow.md +2 -1
- package/node_modules/@czottmann/pi-automode/docs/defaults.md +3 -2
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/classifier.ts +38 -2
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/constants.ts +5 -3
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/extension.ts +11 -3
- package/node_modules/@czottmann/pi-automode/package.json +1 -1
- package/node_modules/@pi-plugins/fast-mode/README.md +5 -3
- package/node_modules/@pi-plugins/fast-mode/dist/index.d.mts.map +1 -1
- package/node_modules/@pi-plugins/fast-mode/dist/index.mjs +20 -55
- package/node_modules/@pi-plugins/fast-mode/dist/index.mjs.map +1 -1
- package/node_modules/@pi-plugins/fast-mode/package.json +1 -1
- package/node_modules/pi-lens/CHANGELOG.md +988 -0
- package/node_modules/pi-lens/README.md +3 -0
- package/node_modules/pi-lens/config/biome/core.jsonc +11 -2
- package/node_modules/pi-lens/config/dependency-cruiser-eager-allowlist.json +13 -1
- package/node_modules/pi-lens/dist/clients/actionable-warnings-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/actionable-warnings.js +927 -80
- package/node_modules/pi-lens/dist/clients/agent-behavior-client.js +13 -4
- package/node_modules/pi-lens/dist/clients/ast-grep-client.js +123 -3
- package/node_modules/pi-lens/dist/clients/ast-grep-rule-manager.js +60 -5
- package/node_modules/pi-lens/dist/clients/ast-grep-tool-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/bash-file-access.js +1 -3
- package/node_modules/pi-lens/dist/clients/biome-client.js +9 -2
- package/node_modules/pi-lens/dist/clients/blocker-freshness.js +14 -0
- package/node_modules/pi-lens/dist/clients/bootstrap.js +509 -73
- package/node_modules/pi-lens/dist/clients/bounded-cache.js +152 -12
- package/node_modules/pi-lens/dist/clients/bounded-telemetry.js +59 -4
- package/node_modules/pi-lens/dist/clients/bundled-resource-health.js +113 -0
- package/node_modules/pi-lens/dist/clients/bus-events-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/cache/rule-cache.js +31 -4
- package/node_modules/pi-lens/dist/clients/cache-manager.js +105 -6
- package/node_modules/pi-lens/dist/clients/cache-observability.js +44 -18
- package/node_modules/pi-lens/dist/clients/cargo-manifest.js +422 -0
- package/node_modules/pi-lens/dist/clients/cascade-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/code-quality-warnings.js +13 -3
- package/node_modules/pi-lens/dist/clients/complexity-client.js +16 -5
- package/node_modules/pi-lens/dist/clients/config-core/deny.js +221 -0
- package/node_modules/pi-lens/dist/clients/config-core/index.js +47 -0
- package/node_modules/pi-lens/dist/clients/config-core/merge.js +357 -0
- package/node_modules/pi-lens/dist/clients/config-core/normalize.js +340 -0
- package/node_modules/pi-lens/dist/clients/config-core/process-spec.js +248 -0
- package/node_modules/pi-lens/dist/clients/config-core/provenance.js +171 -0
- package/node_modules/pi-lens/dist/clients/config-core/records.js +218 -0
- package/node_modules/pi-lens/dist/clients/config-core/resolve.js +125 -0
- package/node_modules/pi-lens/dist/clients/config-core/safe-object.js +78 -0
- package/node_modules/pi-lens/dist/clients/config-core/schema.js +167 -0
- package/node_modules/pi-lens/dist/clients/config-diagnostic-codes.js +281 -0
- package/node_modules/pi-lens/dist/clients/config-locations.js +160 -0
- package/node_modules/pi-lens/dist/clients/config-resolve.js +789 -0
- package/node_modules/pi-lens/dist/clients/config-schema.js +197 -0
- package/node_modules/pi-lens/dist/clients/config-warn.js +407 -0
- package/node_modules/pi-lens/dist/clients/dead-code-client.js +19 -14
- package/node_modules/pi-lens/dist/clients/dead-code-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/deadline-utils.js +178 -0
- package/node_modules/pi-lens/dist/clients/debug-handles.js +2 -2
- package/node_modules/pi-lens/dist/clients/debug-heap.js +3 -3
- package/node_modules/pi-lens/dist/clients/deferred-lsp-work.js +106 -0
- package/node_modules/pi-lens/dist/clients/degradation-ledger.js +113 -7
- package/node_modules/pi-lens/dist/clients/dependency-checker.js +8 -19
- package/node_modules/pi-lens/dist/clients/diagnostic-line-freshness.js +12 -9
- package/node_modules/pi-lens/dist/clients/diagnostic-logger.js +14 -4
- package/node_modules/pi-lens/dist/clients/dispatch/dispatcher.js +162 -18
- package/node_modules/pi-lens/dist/clients/dispatch/fact-store.js +97 -0
- package/node_modules/pi-lens/dist/clients/dispatch/integration.js +9 -7
- package/node_modules/pi-lens/dist/clients/dispatch/runners/actionlint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/ast-grep-napi.js +380 -26
- package/node_modules/pi-lens/dist/clients/dispatch/runners/biome-check.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/cpp-check.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/credo.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/cue-vet.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/dart-analyze.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/detekt.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/dotnet-build.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/elixir-check.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/eslint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/fact-rules.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/fish-indent.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/gleam-check.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/go-vet.js +1 -3
- package/node_modules/pi-lens/dist/clients/dispatch/runners/golangci-lint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/hadolint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/helm-lint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/helm-render.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/htmlhint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/javac.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/ktlint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/lsp.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/markdownlint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/mypy.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/oxlint.js +13 -18
- package/node_modules/pi-lens/dist/clients/dispatch/runners/php-lint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/phpstan.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/prisma-validate.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/psscriptanalyzer.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/pyright.js +7 -4
- package/node_modules/pi-lens/dist/clients/dispatch/runners/rubocop.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/ruff.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/rust-clippy.js +1 -3
- package/node_modules/pi-lens/dist/clients/dispatch/runners/shellcheck.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/shfmt.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/spellcheck.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/spotbugs.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/sqlfluff.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/stylelint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/swiftlint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/taplo.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/terragrunt.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/tflint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/tree-sitter.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/trivy-config.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/availability-policy.js +3 -0
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/diagnostic-parsers.js +3 -4
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/runner-helpers.js +194 -80
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/toolchain-availability.js +84 -15
- package/node_modules/pi-lens/dist/clients/dispatch/runners/vale.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/yamllint.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/zig-check.js +0 -1
- package/node_modules/pi-lens/dist/clients/disposition-logger.js +3 -3
- package/node_modules/pi-lens/dist/clients/effective-config.js +403 -0
- package/node_modules/pi-lens/dist/clients/error-class.js +23 -0
- package/node_modules/pi-lens/dist/clients/event-loop-hold.js +274 -0
- package/node_modules/pi-lens/dist/clients/extension-log.js +2 -2
- package/node_modules/pi-lens/dist/clients/feature-hints.js +2 -1
- package/node_modules/pi-lens/dist/clients/file-time.js +6 -1
- package/node_modules/pi-lens/dist/clients/file-utils.js +112 -9
- package/node_modules/pi-lens/dist/clients/finding-delivery-gate.js +50 -13
- package/node_modules/pi-lens/dist/clients/format-service.js +6 -1
- package/node_modules/pi-lens/dist/clients/formatters.js +276 -102
- package/node_modules/pi-lens/dist/clients/freshness-cadence.js +17 -0
- package/node_modules/pi-lens/dist/clients/generated-artifacts.js +114 -19
- package/node_modules/pi-lens/dist/clients/generation-guard.js +4 -9
- package/node_modules/pi-lens/dist/clients/git-guard.js +1 -1
- package/node_modules/pi-lens/dist/clients/go-client.js +39 -0
- package/node_modules/pi-lens/dist/clients/gradle-ktfmt-style.js +252 -0
- package/node_modules/pi-lens/dist/clients/hashline-anchor.js +424 -0
- package/node_modules/pi-lens/dist/clients/hook-budgets.js +76 -0
- package/node_modules/pi-lens/dist/clients/host-edit-normalize.js +5 -2
- package/node_modules/pi-lens/dist/clients/host-ports.js +1 -1
- package/node_modules/pi-lens/dist/clients/installer/index.js +71 -52
- package/node_modules/pi-lens/dist/clients/instance-reaper.js +104 -230
- package/node_modules/pi-lens/dist/clients/instance-registry.js +6 -3
- package/node_modules/pi-lens/dist/clients/language-registry.js +595 -0
- package/node_modules/pi-lens/dist/clients/latency-logger.js +160 -2
- package/node_modules/pi-lens/dist/clients/ledger-bounds.js +13 -0
- package/node_modules/pi-lens/dist/clients/lens-config.js +141 -30
- package/node_modules/pi-lens/dist/clients/lens-engine.js +30 -37
- package/node_modules/pi-lens/dist/clients/lens-flag-registry.js +59 -6
- package/node_modules/pi-lens/dist/clients/log-cleanup.js +2 -2
- package/node_modules/pi-lens/dist/clients/lsp/aggregation.js +3 -1
- package/node_modules/pi-lens/dist/clients/lsp/client.js +168 -30
- package/node_modules/pi-lens/dist/clients/lsp/config.js +483 -158
- package/node_modules/pi-lens/dist/clients/lsp/diagnostic-binding.js +1 -1
- package/node_modules/pi-lens/dist/clients/lsp/edits.js +15 -2
- package/node_modules/pi-lens/dist/clients/lsp/index.js +676 -71
- package/node_modules/pi-lens/dist/clients/lsp/language.js +18 -169
- package/node_modules/pi-lens/dist/clients/lsp/launch.js +2 -1
- package/node_modules/pi-lens/dist/clients/lsp/pending-aux-coverage.js +5 -16
- package/node_modules/pi-lens/dist/clients/lsp/server.js +284 -147
- package/node_modules/pi-lens/dist/clients/lsp/session-roots.js +116 -23
- package/node_modules/pi-lens/dist/clients/lsp/spawn-history.js +2 -7
- package/node_modules/pi-lens/dist/clients/lsp/tsserver-sync.js +9 -2
- package/node_modules/pi-lens/dist/clients/lsp/workspace-diagnostics-cache.js +1 -1
- package/node_modules/pi-lens/dist/clients/lsp-mutation.js +163 -21
- package/node_modules/pi-lens/dist/clients/map-with-concurrency.js +36 -0
- package/node_modules/pi-lens/dist/clients/mcp/analyze.js +33 -4
- package/node_modules/pi-lens/dist/clients/mcp/session.js +5 -16
- package/node_modules/pi-lens/dist/clients/memory-sampler.js +8 -3
- package/node_modules/pi-lens/dist/clients/middle-man-analysis.js +2 -4
- package/node_modules/pi-lens/dist/clients/module-report.js +20 -45
- package/node_modules/pi-lens/dist/clients/mutating-tool.js +651 -0
- package/node_modules/pi-lens/dist/clients/mutation-attribution.js +368 -0
- package/node_modules/pi-lens/dist/clients/mutation-bridge.js +240 -0
- package/node_modules/pi-lens/dist/clients/ndjson-logger.js +247 -20
- package/node_modules/pi-lens/dist/clients/observed-mutation-sources.js +101 -0
- package/node_modules/pi-lens/dist/clients/observed-mutation.js +1215 -0
- package/node_modules/pi-lens/dist/clients/opaque-mutation-scan.js +68 -22
- package/node_modules/pi-lens/dist/clients/opengrep-config.js +4 -0
- package/node_modules/pi-lens/dist/clients/package-manager.js +195 -26
- package/node_modules/pi-lens/dist/clients/partial-edit-apply.js +359 -80
- package/node_modules/pi-lens/dist/clients/path-attribution-telemetry.js +23 -7
- package/node_modules/pi-lens/dist/clients/path-keyed-map.js +21 -2
- package/node_modules/pi-lens/dist/clients/path-utils.js +428 -13
- package/node_modules/pi-lens/dist/clients/persist-debounce.js +8 -1
- package/node_modules/pi-lens/dist/clients/php-cs-fixer-config.js +114 -0
- package/node_modules/pi-lens/dist/clients/pipeline.js +77 -16
- package/node_modules/pi-lens/dist/clients/probe-home-state.js +228 -0
- package/node_modules/pi-lens/dist/clients/process-bridge.js +66 -0
- package/node_modules/pi-lens/dist/clients/process-snapshot.js +68 -0
- package/node_modules/pi-lens/dist/clients/project-diagnostics/fresh-fetch.js +4 -3
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/runner-findings.js +27 -3
- package/node_modules/pi-lens/dist/clients/project-diagnostics/scanner.js +51 -20
- package/node_modules/pi-lens/dist/clients/project-lens-config.js +393 -122
- package/node_modules/pi-lens/dist/clients/project-snapshot.js +52 -24
- package/node_modules/pi-lens/dist/clients/python-environment.js +217 -0
- package/node_modules/pi-lens/dist/clients/python-provenance.js +639 -0
- package/node_modules/pi-lens/dist/clients/quiet-window.js +6 -1
- package/node_modules/pi-lens/dist/clients/read-bridge.js +13 -21
- package/node_modules/pi-lens/dist/clients/read-expansion.js +9 -46
- package/node_modules/pi-lens/dist/clients/read-guard-logger.js +15 -4
- package/node_modules/pi-lens/dist/clients/read-guard-tool-lines.js +364 -212
- package/node_modules/pi-lens/dist/clients/read-guard.js +21 -0
- package/node_modules/pi-lens/dist/clients/resource-sampler.js +195 -96
- package/node_modules/pi-lens/dist/clients/review-graph/builder.js +152 -109
- package/node_modules/pi-lens/dist/clients/review-graph/service.js +55 -3
- package/node_modules/pi-lens/dist/clients/review-graph/shared-extraction-ir.js +7 -15
- package/node_modules/pi-lens/dist/clients/review-graph/workspace-modules.js +10 -74
- package/node_modules/pi-lens/dist/clients/review-graph-logger.js +9 -3
- package/node_modules/pi-lens/dist/clients/runtime-agent-end.js +18 -2
- package/node_modules/pi-lens/dist/clients/runtime-context.js +49 -16
- package/node_modules/pi-lens/dist/clients/runtime-coordinator.js +25 -6
- package/node_modules/pi-lens/dist/clients/runtime-session.js +139 -22
- package/node_modules/pi-lens/dist/clients/runtime-tool-call.js +168 -35
- package/node_modules/pi-lens/dist/clients/runtime-tool-result.js +797 -243
- package/node_modules/pi-lens/dist/clients/runtime-turn.js +1028 -53
- package/node_modules/pi-lens/dist/clients/rust-client.js +31 -0
- package/node_modules/pi-lens/dist/clients/safe-spawn.js +33 -10
- package/node_modules/pi-lens/dist/clients/sanitize.js +7 -1
- package/node_modules/pi-lens/dist/clients/scratch-tree-policy.js +1 -3
- package/node_modules/pi-lens/dist/clients/security-scan-client.js +3 -0
- package/node_modules/pi-lens/dist/clients/session-lifecycle.js +1 -1
- package/node_modules/pi-lens/dist/clients/session-start-observability.js +79 -0
- package/node_modules/pi-lens/dist/clients/sessionstart-logger.js +12 -3
- package/node_modules/pi-lens/dist/clients/sgconfig.js +6 -1
- package/node_modules/pi-lens/dist/clients/skills-resolver.js +105 -0
- package/node_modules/pi-lens/dist/clients/smells-rollup.js +2 -2
- package/node_modules/pi-lens/dist/clients/string-utils.js +13 -0
- package/node_modules/pi-lens/dist/clients/subagent-mode.js +17 -4
- package/node_modules/pi-lens/dist/clients/test-runner-client.js +176 -39
- package/node_modules/pi-lens/dist/clients/test-runner-delivery.js +239 -0
- package/node_modules/pi-lens/dist/clients/tool-definition.js +41 -1
- package/node_modules/pi-lens/dist/clients/tool-policy.js +91 -21
- package/node_modules/pi-lens/dist/clients/tree-sitter-cache.js +40 -40
- package/node_modules/pi-lens/dist/clients/tree-sitter-client.js +86 -48
- package/node_modules/pi-lens/dist/clients/tree-sitter-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/tree-sitter-query-loader.js +81 -1
- package/node_modules/pi-lens/dist/clients/tree-sitter-shared.js +51 -46
- package/node_modules/pi-lens/dist/clients/tree-sitter-symbol-extractor.js +28 -0
- package/node_modules/pi-lens/dist/clients/typos-config.js +5 -0
- package/node_modules/pi-lens/dist/clients/user-notify.js +6 -2
- package/node_modules/pi-lens/dist/clients/widget-state.js +191 -26
- package/node_modules/pi-lens/dist/clients/word-index-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/word-index-store.js +20 -5
- package/node_modules/pi-lens/dist/clients/word-index.js +243 -31
- package/node_modules/pi-lens/dist/clients/workspace-topology.js +8 -1
- package/node_modules/pi-lens/dist/clients/zizmor-config.js +3 -0
- package/node_modules/pi-lens/dist/index.js +64335 -54300
- package/node_modules/pi-lens/dist/mcp/analyze-cli.js +3 -1
- package/node_modules/pi-lens/dist/mcp/server.js +127 -5
- package/node_modules/pi-lens/dist/scripts/lib/process-scan.mjs +583 -0
- package/node_modules/pi-lens/dist/scripts/lib/skills-predicate.mjs +129 -0
- package/node_modules/pi-lens/dist/tools/effective-config.js +89 -0
- package/node_modules/pi-lens/dist/tools/lens-diagnostics.js +95 -24
- package/node_modules/pi-lens/dist/tools/lsp-diagnostics.js +67 -80
- package/node_modules/pi-lens/dist/tools/lsp-navigation.js +37 -16
- package/node_modules/pi-lens/dist/tools/shared.js +0 -1
- package/node_modules/pi-lens/docs/agent-guide.md +64 -1
- package/node_modules/pi-lens/docs/configuration.md +222 -0
- package/node_modules/pi-lens/docs/dependencies.md +3 -3
- package/node_modules/pi-lens/docs/features.md +44 -5
- package/node_modules/pi-lens/docs/language-coverage.md +2 -2
- package/node_modules/pi-lens/docs/pi-lens-fixer.md +25 -0
- package/node_modules/pi-lens/docs/pi-lens-investigator.md +25 -0
- package/node_modules/pi-lens/docs/pi-lens-reviewer.md +27 -0
- package/node_modules/pi-lens/docs/pi-lens-subagent.md +38 -0
- package/node_modules/pi-lens/docs/pi-lens-warden.md +55 -0
- package/node_modules/pi-lens/docs/public-api-stability.md +359 -0
- package/node_modules/pi-lens/docs/release-qa-baseline.md +182 -0
- package/node_modules/pi-lens/docs/subagent-compat.md +110 -30
- package/node_modules/pi-lens/docs/tree-sitter_rules_catalog.md +2 -2
- package/node_modules/pi-lens/package.json +15 -23
- package/node_modules/pi-lens/rules/tree-sitter-queries/python/python-cross-language-method.yml +3 -3
- package/node_modules/pi-lens/rules/tree-sitter-queries/python/python-hallucinated-import.yml +2 -2
- package/node_modules/pi-lens/rules/tree-sitter-queries/python/python-sql-injection.yml +12 -2
- package/node_modules/pi-lens/scripts/analyze-pi-lens-logs.mjs +192 -1
- package/node_modules/pi-lens/scripts/install-selftest.mjs +58 -2
- package/node_modules/pi-lens/scripts/lib/skills-predicate.mjs +129 -0
- package/node_modules/pi-lens/scripts/rpc-load-check.mjs +3 -1
- package/node_modules/pi-web-access/CHANGELOG.md +28 -0
- package/node_modules/pi-web-access/README.md +62 -15
- package/node_modules/pi-web-access/curator-page.ts +3 -1
- package/node_modules/pi-web-access/curator-server.ts +5 -1
- package/node_modules/pi-web-access/gemini-search.ts +8 -4
- package/node_modules/pi-web-access/github-extract.ts +242 -1
- package/node_modules/pi-web-access/index.ts +118 -64
- package/node_modules/pi-web-access/mistral-search.ts +281 -0
- package/node_modules/pi-web-access/package.json +2 -2
- package/node_modules/pi-web-access/perplexity.ts +14 -1
- package/node_modules/pi-web-access/utils.ts +23 -6
- package/node_modules/pi-web-access/xai-search.ts +96 -33
- package/package.json +5 -5
|
@@ -1,185 +1,34 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { getLanguageId as getKindLanguageId,
|
|
2
|
+
import { getLanguageId as getKindLanguageId, SPECIAL_FILENAMES, } from "../file-kinds.js";
|
|
3
3
|
import { getLspCapableKinds } from "../language-policy.js";
|
|
4
|
+
import { EXTENSION_TO_LSP_ID } from "../language-registry.js";
|
|
4
5
|
/**
|
|
5
6
|
* Language ID Mappings for LSP
|
|
6
7
|
*
|
|
7
8
|
* Maps file extensions to LSP language identifiers.
|
|
8
9
|
*/
|
|
9
|
-
// Hand-curated ids, finer-grained than the per-kind registry id: one FileKind
|
|
10
|
-
// can span several language ids (jsts covers typescript/typescriptreact/vue,
|
|
11
|
-
// cxx covers c and cpp), and some servers want a spelling the registry doesn't
|
|
12
|
-
// use ("shellscript", not "shell"). These win over the derived fill-in below.
|
|
13
|
-
const CURATED_LANGUAGE_EXTENSIONS = {
|
|
14
|
-
// JavaScript/TypeScript
|
|
15
|
-
".ts": "typescript",
|
|
16
|
-
".tsx": "typescriptreact",
|
|
17
|
-
".mts": "typescript",
|
|
18
|
-
".cts": "typescript",
|
|
19
|
-
".js": "javascript",
|
|
20
|
-
".jsx": "javascriptreact",
|
|
21
|
-
".mjs": "javascript",
|
|
22
|
-
".cjs": "javascript",
|
|
23
|
-
".svelte": "svelte",
|
|
24
|
-
".vue": "vue",
|
|
25
|
-
".astro": "astro",
|
|
26
|
-
// Python
|
|
27
|
-
".py": "python",
|
|
28
|
-
".pyi": "python",
|
|
29
|
-
// Go
|
|
30
|
-
".go": "go",
|
|
31
|
-
".mod": "go",
|
|
32
|
-
".sum": "go",
|
|
33
|
-
// Rust
|
|
34
|
-
".rs": "rust",
|
|
35
|
-
".ron": "rust",
|
|
36
|
-
// C/C++
|
|
37
|
-
".c": "c",
|
|
38
|
-
".cpp": "cpp",
|
|
39
|
-
".cc": "cpp",
|
|
40
|
-
".cxx": "cpp",
|
|
41
|
-
".h": "c",
|
|
42
|
-
".hpp": "cpp",
|
|
43
|
-
".hh": "cpp",
|
|
44
|
-
// Java
|
|
45
|
-
".java": "java",
|
|
46
|
-
// Kotlin
|
|
47
|
-
".kt": "kotlin",
|
|
48
|
-
".kts": "kotlin",
|
|
49
|
-
// Ruby
|
|
50
|
-
".rb": "ruby",
|
|
51
|
-
".rake": "ruby",
|
|
52
|
-
".gemspec": "ruby",
|
|
53
|
-
".ru": "ruby",
|
|
54
|
-
// PHP
|
|
55
|
-
".php": "php",
|
|
56
|
-
// C#
|
|
57
|
-
".cs": "csharp",
|
|
58
|
-
// F#
|
|
59
|
-
".fs": "fsharp",
|
|
60
|
-
".fsi": "fsharp",
|
|
61
|
-
".fsx": "fsharp",
|
|
62
|
-
// Swift
|
|
63
|
-
".swift": "swift",
|
|
64
|
-
// Dart
|
|
65
|
-
".dart": "dart",
|
|
66
|
-
// Lua
|
|
67
|
-
".lua": "lua",
|
|
68
|
-
// Shell
|
|
69
|
-
".sh": "shellscript",
|
|
70
|
-
".bash": "shellscript",
|
|
71
|
-
".zsh": "shellscript",
|
|
72
|
-
".fish": "fish",
|
|
73
|
-
// CMake
|
|
74
|
-
".cmake": "cmake",
|
|
75
|
-
// JSON/YAML
|
|
76
|
-
".json": "json",
|
|
77
|
-
".jsonc": "jsonc",
|
|
78
|
-
".yaml": "yaml",
|
|
79
|
-
".yml": "yaml",
|
|
80
|
-
// Markdown
|
|
81
|
-
".md": "markdown",
|
|
82
|
-
".mdx": "markdown",
|
|
83
|
-
// CSS
|
|
84
|
-
".css": "css",
|
|
85
|
-
".scss": "scss",
|
|
86
|
-
".sass": "sass",
|
|
87
|
-
".less": "less",
|
|
88
|
-
// HTML
|
|
89
|
-
".html": "html",
|
|
90
|
-
".htm": "html",
|
|
91
|
-
// SQL
|
|
92
|
-
".sql": "sql",
|
|
93
|
-
// Docker
|
|
94
|
-
".dockerfile": "dockerfile",
|
|
95
|
-
// Terraform
|
|
96
|
-
".tf": "terraform",
|
|
97
|
-
".tfvars": "terraform",
|
|
98
|
-
// Nix
|
|
99
|
-
".nix": "nix",
|
|
100
|
-
// Elixir
|
|
101
|
-
".ex": "elixir",
|
|
102
|
-
".exs": "elixir",
|
|
103
|
-
// Haskell
|
|
104
|
-
".hs": "haskell",
|
|
105
|
-
".lhs": "haskell",
|
|
106
|
-
// OCaml
|
|
107
|
-
".ml": "ocaml",
|
|
108
|
-
".mli": "ocaml",
|
|
109
|
-
// Zig
|
|
110
|
-
".zig": "zig",
|
|
111
|
-
".zon": "zig",
|
|
112
|
-
// Gleam
|
|
113
|
-
".gleam": "gleam",
|
|
114
|
-
// Clojure
|
|
115
|
-
".clj": "clojure",
|
|
116
|
-
".cljs": "clojure",
|
|
117
|
-
".cljc": "clojure",
|
|
118
|
-
".edn": "clojure",
|
|
119
|
-
// Scala
|
|
120
|
-
".scala": "scala",
|
|
121
|
-
".sc": "scala",
|
|
122
|
-
// R
|
|
123
|
-
".r": "r",
|
|
124
|
-
".R": "r",
|
|
125
|
-
// Julia
|
|
126
|
-
".jl": "julia",
|
|
127
|
-
// Perl
|
|
128
|
-
".pl": "perl",
|
|
129
|
-
".pm": "perl",
|
|
130
|
-
// Erlang
|
|
131
|
-
".erl": "erlang",
|
|
132
|
-
".hrl": "erlang",
|
|
133
|
-
// Fortran
|
|
134
|
-
".f": "fortran",
|
|
135
|
-
".f90": "fortran",
|
|
136
|
-
".f95": "fortran",
|
|
137
|
-
// COBOL
|
|
138
|
-
".cob": "cobol",
|
|
139
|
-
".cbl": "cobol",
|
|
140
|
-
// Pascal
|
|
141
|
-
".pas": "pascal",
|
|
142
|
-
".pp": "pascal",
|
|
143
|
-
// Ada
|
|
144
|
-
".adb": "ada",
|
|
145
|
-
".ads": "ada",
|
|
146
|
-
// VHDL/Verilog
|
|
147
|
-
".vhd": "vhdl",
|
|
148
|
-
".vhdl": "vhdl",
|
|
149
|
-
".v": "verilog",
|
|
150
|
-
".sv": "systemverilog",
|
|
151
|
-
// GraphQL
|
|
152
|
-
".graphql": "graphql",
|
|
153
|
-
".gql": "graphql",
|
|
154
|
-
// Protocol Buffers
|
|
155
|
-
".proto": "proto",
|
|
156
|
-
// TOML
|
|
157
|
-
".toml": "toml",
|
|
158
|
-
// Prisma
|
|
159
|
-
".prisma": "prisma",
|
|
160
|
-
// Typst
|
|
161
|
-
".typ": "typst",
|
|
162
|
-
".typc": "typst",
|
|
163
|
-
};
|
|
164
10
|
/**
|
|
165
|
-
*
|
|
166
|
-
*
|
|
11
|
+
* Extension -> LSP `languageId`, projected from the canonical language registry
|
|
12
|
+
* (clients/language-registry.ts, #2424). One FileKind can span several LSP ids
|
|
13
|
+
* (jsts covers typescript/typescriptreact/vue, cxx covers c and cpp) and the
|
|
14
|
+
* protocol spells some of them differently from the canonical id
|
|
15
|
+
* ("shellscript", not "shell"), so the registry carries an `lspId` column and
|
|
16
|
+
* this map is a pure projection of it — `Readonly` because the projection is
|
|
17
|
+
* `Object.freeze`d at the source (#2424 review, S4).
|
|
18
|
+
*
|
|
19
|
+
* #1545 added a derived per-kind fill-in on top of the then-hand-curated table:
|
|
167
20
|
* powershell had no entry at all and cxx covered a third of its extensions, so
|
|
168
21
|
* `didOpen` announced those files as "plaintext". Tolerance for that varies by
|
|
169
22
|
* server — json/yaml/clangd answer the same either way, a DocumentSelector
|
|
170
23
|
* server may not handle the document at all — so the id is sent correctly
|
|
171
|
-
* rather than relied on being ignored.
|
|
172
|
-
*
|
|
24
|
+
* rather than relied on being ignored. The registry now owns every extension of
|
|
25
|
+
* every lspCapable kind, so that fill-in contributed ZERO entries and is gone
|
|
26
|
+
* (#2424 review, named output a). The net it provided is now a test, not a
|
|
27
|
+
* runtime `??=`: lsp-capable-seam-coverage's "maps every lspCapable kind's
|
|
28
|
+
* extensions to an LSP language id" fails the moment the registry misses one,
|
|
29
|
+
* which is the fix a silent per-kind fallback would have hidden.
|
|
173
30
|
*/
|
|
174
|
-
export const LANGUAGE_EXTENSIONS =
|
|
175
|
-
const map = { ...CURATED_LANGUAGE_EXTENSIONS };
|
|
176
|
-
for (const kind of getLspCapableKinds()) {
|
|
177
|
-
for (const extension of KIND_EXTENSIONS[kind]) {
|
|
178
|
-
map[extension] ??= getKindLanguageId(kind);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
return map;
|
|
182
|
-
})();
|
|
31
|
+
export const LANGUAGE_EXTENSIONS = EXTENSION_TO_LSP_ID;
|
|
183
32
|
/**
|
|
184
33
|
* file-kinds.ts's basename classifier (Makefile, Dockerfile.<suffix>,
|
|
185
34
|
* CMakeLists.txt, …) matches by regex, not literal filename, so it can't be
|
|
@@ -12,6 +12,7 @@ import os from "node:os";
|
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
import { isTestMode } from "../env-utils.js";
|
|
14
14
|
import { getGlobalPiLensDir } from "../file-utils.js";
|
|
15
|
+
import { getGlobalPiLensLogDir } from "../probe-home-state.js";
|
|
15
16
|
import { isFullyQualified } from "../path-utils.js";
|
|
16
17
|
import { findGlobalBinary } from "../package-manager.js";
|
|
17
18
|
import { redactSecrets } from "../redact/secrets.js";
|
|
@@ -31,7 +32,7 @@ function computeNeedsShell(resolvedCommand) {
|
|
|
31
32
|
}
|
|
32
33
|
const DEFAULT_STARTUP_FAILURE_WINDOW_MS = 50;
|
|
33
34
|
const WINDOWS_NAV_STARTUP_FAILURE_WINDOW_MS = 500;
|
|
34
|
-
const SESSIONSTART_LOG_DIR =
|
|
35
|
+
const SESSIONSTART_LOG_DIR = getGlobalPiLensLogDir();
|
|
35
36
|
const SESSIONSTART_LOG = path.join(SESSIONSTART_LOG_DIR, "sessionstart.log");
|
|
36
37
|
const PI_LENS_BIN_DIR = path.join(getGlobalPiLensDir(), "bin");
|
|
37
38
|
const PI_LENS_TOOLS_BIN_DIR = path.join(getGlobalPiLensDir(), "tools", "node_modules", ".bin");
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
* LEFTOVER pair from an EARLIER touch once napi has fresh evaluated findings
|
|
53
53
|
* to supersede it.
|
|
54
54
|
*/
|
|
55
|
+
import { BoundedFifoMap } from "../bounded-cache.js";
|
|
55
56
|
import { normalizeEphemeralMapKey } from "../path-utils.js";
|
|
56
57
|
/** Maximum pending (filePath, serverId) pairs; oldest evicted beyond this. */
|
|
57
58
|
export const MAX_PENDING_AUX_ENTRIES = 50;
|
|
@@ -88,7 +89,7 @@ export function isPendingAuxiliaryPastRearmTtl(pair, nowMs = Date.now()) {
|
|
|
88
89
|
const anchor = pair.lastRearmedAtMs ?? pair.markedAtMs;
|
|
89
90
|
return nowMs - anchor >= readLateAuxRearmTtlMs();
|
|
90
91
|
}
|
|
91
|
-
const pending = new
|
|
92
|
+
const pending = new BoundedFifoMap(MAX_PENDING_AUX_ENTRIES);
|
|
92
93
|
/**
|
|
93
94
|
* #2168: pairs evicted at the cap have no other retirement record — the
|
|
94
95
|
* drain-time reconciliation in `runtime-turn.ts` never sees them because
|
|
@@ -135,7 +136,7 @@ export function markPendingAuxiliaryCoverage(filePath, serverIds, markedAtMs = D
|
|
|
135
136
|
});
|
|
136
137
|
continue;
|
|
137
138
|
}
|
|
138
|
-
pending.set(key, rearmedAtMs === undefined
|
|
139
|
+
const evicted = pending.set(key, rearmedAtMs === undefined
|
|
139
140
|
? { filePath, serverId, markedAtMs }
|
|
140
141
|
: {
|
|
141
142
|
filePath,
|
|
@@ -144,13 +145,7 @@ export function markPendingAuxiliaryCoverage(filePath, serverIds, markedAtMs = D
|
|
|
144
145
|
lastRearmedAtMs: rearmedAtMs,
|
|
145
146
|
rearmCount: rearmCount ?? 1,
|
|
146
147
|
});
|
|
147
|
-
|
|
148
|
-
const oldest = pending.keys().next().value;
|
|
149
|
-
if (oldest === undefined)
|
|
150
|
-
break;
|
|
151
|
-
pending.delete(oldest);
|
|
152
|
-
capEvictedCount += 1;
|
|
153
|
-
}
|
|
148
|
+
capEvictedCount += evicted.length;
|
|
154
149
|
}
|
|
155
150
|
}
|
|
156
151
|
/** Re-arm a drained pair while carrying its ceiling count across the drain. */
|
|
@@ -225,19 +220,13 @@ export function drainPendingAuxCapEvictedCount() {
|
|
|
225
220
|
*
|
|
226
221
|
* Bounded like the pending-pair store itself; oldest evicted first.
|
|
227
222
|
*/
|
|
228
|
-
const napiFallbackCoverage = new Map();
|
|
229
223
|
export const MAX_NAPI_COVERAGE_ENTRIES = 50;
|
|
224
|
+
const napiFallbackCoverage = new BoundedFifoMap(MAX_NAPI_COVERAGE_ENTRIES);
|
|
230
225
|
/** Record that napi actually evaluated rules for `filePath` at `atMs`. */
|
|
231
226
|
export function recordNapiFallbackCoverage(filePath, atMs = Date.now()) {
|
|
232
227
|
const key = normalizeEphemeralMapKey(filePath);
|
|
233
228
|
napiFallbackCoverage.delete(key);
|
|
234
229
|
napiFallbackCoverage.set(key, atMs);
|
|
235
|
-
while (napiFallbackCoverage.size > MAX_NAPI_COVERAGE_ENTRIES) {
|
|
236
|
-
const oldest = napiFallbackCoverage.keys().next().value;
|
|
237
|
-
if (oldest === undefined)
|
|
238
|
-
break;
|
|
239
|
-
napiFallbackCoverage.delete(oldest);
|
|
240
|
-
}
|
|
241
230
|
}
|
|
242
231
|
/**
|
|
243
232
|
* Did napi cover `filePath` at or after `sinceMs`? The aux-grace wait passes
|