@herbertgao/pi-extensions 2026.8.15 → 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/README.md +4 -1
- package/THIRD_PARTY_NOTICES.md +26 -0
- 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/@herbertgao/pi-cc-extensions/extensions/config/config.ts +20 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/config/panel.ts +46 -3
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/interaction.ts +55 -17
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/packets.ts +6 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/scroll.ts +5 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/result.ts +34 -30
- package/node_modules/@herbertgao/pi-cc-extensions/package.json +3 -3
- package/node_modules/@juicesharp/rpiv-ask-user-question/package.json +2 -2
- package/node_modules/@narumitw/pi-btw/README.md +5 -1
- package/node_modules/@narumitw/pi-btw/dist/index.ts +143 -14
- package/node_modules/@narumitw/pi-btw/dist/index.ts.map +3 -3
- package/node_modules/@narumitw/pi-btw/package.json +4 -4
- package/node_modules/@narumitw/pi-btw/src/fullscreen-ui.ts +158 -7
- package/node_modules/@narumitw/pi-btw/src/text.ts +18 -0
- package/node_modules/@narumitw/pi-btw/src/transcript-pager.ts +5 -16
- package/node_modules/@narumitw/pi-caffeinate/LICENSE +21 -0
- package/node_modules/@narumitw/pi-caffeinate/README.md +224 -0
- package/node_modules/@narumitw/pi-caffeinate/dist/index.ts +1112 -0
- package/node_modules/@narumitw/pi-caffeinate/dist/index.ts.map +7 -0
- package/node_modules/@narumitw/pi-caffeinate/package.json +53 -0
- package/node_modules/@narumitw/pi-caffeinate/src/caffeinate.ts +811 -0
- package/node_modules/@narumitw/pi-caffeinate/src/dbus-inhibit.ts +153 -0
- package/node_modules/@narumitw/pi-caffeinate/src/index.ts +1 -0
- package/node_modules/@narumitw/pi-caffeinate/src/inhibitor-process.ts +43 -0
- package/node_modules/@narumitw/pi-caffeinate/src/inhibitors.ts +167 -0
- package/node_modules/@narumitw/pi-caffeinate/src/settings.ts +202 -0
- 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/@tifan/pi-handoff/README.md +6 -3
- package/node_modules/@tifan/pi-handoff/package.json +1 -1
- package/node_modules/@tifan/pi-handoff/src/index.ts +8 -3
- 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-mcp-adapter/CHANGELOG.md +27 -0
- package/node_modules/pi-mcp-adapter/README.md +13 -13
- package/node_modules/pi-mcp-adapter/commands.ts +58 -21
- package/node_modules/pi-mcp-adapter/config.ts +18 -4
- package/node_modules/pi-mcp-adapter/direct-tools.ts +26 -6
- package/node_modules/pi-mcp-adapter/dist/config.d.ts +4 -0
- package/node_modules/pi-mcp-adapter/dist/config.js +13 -4
- package/node_modules/pi-mcp-adapter/dist/config.js.map +1 -1
- package/node_modules/pi-mcp-adapter/dist/types.d.ts +11 -3
- package/node_modules/pi-mcp-adapter/dist/types.js.map +1 -1
- package/node_modules/pi-mcp-adapter/error-signal.ts +15 -4
- package/node_modules/pi-mcp-adapter/errors.ts +141 -0
- package/node_modules/pi-mcp-adapter/host-html-template.ts +58 -5
- package/node_modules/pi-mcp-adapter/index.ts +2 -3
- package/node_modules/pi-mcp-adapter/init.ts +5 -0
- package/node_modules/pi-mcp-adapter/mcp-panel.ts +30 -9
- package/node_modules/pi-mcp-adapter/mcp-setup-panel.ts +66 -28
- package/node_modules/pi-mcp-adapter/mcp-status.ts +2 -0
- package/node_modules/pi-mcp-adapter/package.json +2 -1
- package/node_modules/pi-mcp-adapter/proxy-modes.ts +66 -13
- package/node_modules/pi-mcp-adapter/sandbox-proxy-template.ts +217 -0
- package/node_modules/pi-mcp-adapter/server-manager.ts +337 -6
- package/node_modules/pi-mcp-adapter/skills/mcp-scripting/SKILL.md +1 -0
- package/node_modules/pi-mcp-adapter/types.ts +18 -3
- package/node_modules/pi-mcp-adapter/ui-resource-handler.ts +18 -2
- package/node_modules/pi-mcp-adapter/ui-server.ts +179 -54
- package/node_modules/pi-mcp-adapter/ui-session.ts +28 -8
- 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 +15 -11
|
@@ -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
|